@edugate/ai-agent 0.1.1 → 0.1.2

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.js CHANGED
@@ -1,7 +1,7 @@
1
- "use strict";var to=Object.create;var ce=Object.defineProperty;var ao=Object.getOwnPropertyDescriptor;var no=Object.getOwnPropertyNames;var io=Object.getPrototypeOf,ro=Object.prototype.hasOwnProperty;var y=(i,r)=>()=>{try{return r||i((r={exports:{}}).exports,r),r.exports}catch(n){throw r=0,n}},co=(i,r)=>{for(var n in r)ce(i,n,{get:r[n],enumerable:!0})},Ae=(i,r,n,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of no(r))!ro.call(i,s)&&s!==n&&ce(i,s,{get:()=>r[s],enumerable:!(l=ao(r,s))||l.enumerable});return i};var Ie=(i,r,n)=>(n=i!=null?to(io(i)):{},Ae(r||!i||!i.__esModule?ce(n,"default",{value:i,enumerable:!0}):n,i)),lo=i=>Ae(ce({},"__esModule",{value:!0}),i);var be=y(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.BlockTypeSchema=Z.BLOCK_TYPES=void 0;var yo=require("zod");Z.BLOCK_TYPES=["Quiz","Editor","Hotpoint","Embed","Media","DragAndDrop","Anagram","Dice","Crossword","WordSearch","Puzzle","Memory","Flashcard","SpinningWheel","Chart","MatchPairs","Shape","Arrow","Cloze","CardDeck"];Z.BlockTypeSchema=yo.z.enum(Z.BLOCK_TYPES)});var q=y(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.MediaRefSchema=b.MediaItemSchema=b.VideoSettingsSchema=b.CropDataSchema=b.MediaSourceSchema=b.MediaTypeSchema=b.GridSizeSchema=b.SizeSchema=b.PositionSchema=void 0;var h=require("zod");b.PositionSchema=h.z.object({x:h.z.number(),y:h.z.number(),z:h.z.number().optional()});b.SizeSchema=h.z.object({width:h.z.number().optional(),height:h.z.number().optional()});b.GridSizeSchema=h.z.object({rows:h.z.number(),cols:h.z.number()});b.MediaTypeSchema=h.z.enum(["image","color","gif","shape","illustration","video","audio"]);b.MediaSourceSchema=h.z.enum(["unsplash","pexels","upload","url","library","tenor"]);b.CropDataSchema=h.z.object({x:h.z.number(),y:h.z.number(),width:h.z.number(),height:h.z.number(),zoom:h.z.number().optional(),rotation:h.z.number().optional(),aspect:h.z.number().optional()});b.VideoSettingsSchema=h.z.object({autoplay:h.z.boolean().optional(),loop:h.z.boolean().optional(),muted:h.z.boolean().optional(),controls:h.z.boolean().optional(),poster:h.z.string().optional(),volume:h.z.number().optional()});b.MediaItemSchema=h.z.object({id:h.z.string().optional(),url:h.z.string().optional(),title:h.z.string().optional(),type:b.MediaTypeSchema,source:b.MediaSourceSchema.optional(),alt:h.z.string().optional(),width:h.z.number().optional(),height:h.z.number().optional(),format:h.z.enum(["cover","contain"]).optional(),color:h.z.string().optional(),cropData:b.CropDataSchema.optional(),duration:h.z.number().optional(),videoSettings:b.VideoSettingsSchema.optional()});b.MediaRefSchema=b.MediaItemSchema});var se=y(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});c.ShapeBlockThemeSchema=c.MatchPairsBlockThemeSchema=c.FlashcardBlockThemeSchema=c.CardDeckBlockThemeSchema=c.ClozeBlockThemeSchema=c.SpinningWheelBlockThemeSchema=c.MemoryBlockThemeSchema=c.WordSearchBlockThemeSchema=c.CrosswordBlockThemeSchema=c.DiceBlockThemeSchema=c.AnagramBlockThemeSchema=c.EditorBlockThemeSchema=c.DragAndDropBlockThemeSchema=c.QuizBlockThemeSchema=c.HotpointBlockThemeSchema=c.BlockThemeSchema=c.TextStylesSchema=c.BoxStylesSchema=c.RadiusSchema=c.BoxSideSchema=c.AnimationSchema=void 0;var t=require("zod"),ge=q();c.AnimationSchema=t.z.object({type:t.z.union([t.z.enum(["none","fade","direction","bounce","scale","rotate"]),t.z.string()]),duration:t.z.number().optional(),delay:t.z.number().optional(),phase:t.z.enum(["in","both","out"]).optional(),direction:t.z.enum(["up","right","down","left"]).optional()});c.BoxSideSchema=t.z.object({top:t.z.union([t.z.string(),t.z.number()]).optional(),right:t.z.union([t.z.string(),t.z.number()]).optional(),bottom:t.z.union([t.z.string(),t.z.number()]).optional(),left:t.z.union([t.z.string(),t.z.number()]).optional()});c.RadiusSchema=t.z.object({topLeft:t.z.union([t.z.string(),t.z.number()]).optional(),topRight:t.z.union([t.z.string(),t.z.number()]).optional(),bottomRight:t.z.union([t.z.string(),t.z.number()]).optional(),bottomLeft:t.z.union([t.z.string(),t.z.number()]).optional()});c.BoxStylesSchema=t.z.object({background:t.z.boolean().optional(),backgroundColor:t.z.string().optional(),backgroundOpacity:t.z.number().optional(),backgroundMedia:ge.MediaItemSchema.optional(),border:t.z.boolean().optional(),borderColor:t.z.string().optional(),borderWidth:c.BoxSideSchema.optional(),borderRadius:c.RadiusSchema.optional(),padding:t.z.union([t.z.string(),t.z.number(),c.BoxSideSchema]).optional()});c.TextStylesSchema=t.z.object({color:t.z.string().optional(),fontSize:t.z.number().optional(),fontFamily:t.z.string().optional(),fontStyle:t.z.string().optional(),fontWeight:t.z.union([t.z.string(),t.z.number()]).optional(),textAlign:t.z.enum(["left","center","right","justify"]).optional()});var N=c.BoxStylesSchema.merge(c.TextStylesSchema);c.BlockThemeSchema=t.z.object({spacing:t.z.enum(["no-spacing","small","medium","large"]).optional(),animation:c.AnimationSchema.optional(),styles:t.z.record(t.z.record(t.z.any())).optional()});c.HotpointBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({hotpoint:t.z.object({icon:t.z.string().optional(),iconPosition:t.z.enum(["left","right"]).optional(),iconSize:t.z.string().optional(),iconColor:t.z.string().optional(),image:ge.MediaItemSchema.optional(),imageFormat:t.z.enum(["circle","square","custom"]).optional(),border:t.z.boolean().optional(),borderColor:t.z.string().optional(),borderWidth:t.z.string().optional(),borderRadius:t.z.string().optional(),glow:t.z.boolean().optional(),glowColor:t.z.string().optional(),background:t.z.boolean().optional(),backgroundColor:t.z.string().optional(),fontSize:t.z.number().optional(),fontFamily:t.z.string().optional(),fontStyle:t.z.string().optional(),textColor:t.z.string().optional()}).optional()}).optional()});c.QuizBlockThemeSchema=c.BlockThemeSchema.extend({layout:t.z.enum(["horizontal","vertical","grid"]),gridColumns:t.z.number().optional(),preset:t.z.enum(["default","modern","trivia","custom"]),styles:t.z.object({general:N,question:N,answers:N.extend({customStyles:t.z.array(t.z.object({color:t.z.string().optional(),backgroundColor:t.z.string().optional(),targets:t.z.string().optional()})).optional(),hover:N.optional()}),button:N.extend({variant:t.z.enum(["default","outline","ghost"]).optional(),hover:N.optional()})}).optional()});c.DragAndDropBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),splitRatio:t.z.number().optional(),gridColumns:t.z.number().optional(),gridGap:t.z.number().optional().describe("Gap in pixels between auto-laid items (list/grid)."),pool:t.z.object({x:t.z.number().optional(),y:t.z.number().optional(),width:t.z.number().optional(),height:t.z.number().optional()}).optional().describe("Movable/resizable frame for the list/grid item pool (sandbox px)."),styles:t.z.object({title:c.TextStylesSchema.optional(),sandbox:c.BoxStylesSchema.optional(),item:N.optional(),group:c.BoxStylesSchema.optional(),container:c.BoxStylesSchema.extend({url:t.z.string().optional(),type:ge.MediaTypeSchema.optional()}).optional(),groups:N.optional(),feedback:t.z.object({correct:t.z.string().optional(),incorrect:t.z.string().optional(),active:t.z.string().optional()}).optional(),referenceSize:t.z.object({width:t.z.number(),height:t.z.number()}).optional()}).optional()});c.EditorBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({editor:c.BoxStylesSchema.optional()}).optional()});c.AnagramBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({letter:c.BoxStylesSchema.optional(),letterText:c.TextStylesSchema.optional(),slot:c.BoxStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.DiceBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({button:c.BoxStylesSchema.extend({hover:N.optional()}).optional(),buttonText:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.CrosswordBlockThemeSchema=c.BlockThemeSchema.extend({primaryColor:t.z.string().optional(),layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),splitRatio:t.z.number().optional(),styles:t.z.object({text:c.TextStylesSchema.optional(),cell:c.BoxStylesSchema.optional(),grid:c.BoxStylesSchema.optional(),clueContainer:c.BoxStylesSchema.optional(),clueText:c.TextStylesSchema.optional(),clueTitle:c.TextStylesSchema.optional()}).optional()});c.WordSearchBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),splitRatio:t.z.number().optional(),styles:t.z.object({wordSearch:t.z.object({primaryColor:t.z.string().optional(),highlightColor:t.z.string().optional(),fontSize:t.z.number().optional(),fontFamily:t.z.string().optional(),textColor:t.z.string().optional(),cellBackgroundColor:t.z.string().optional()}).optional(),text:c.TextStylesSchema.optional(),cell:c.BoxStylesSchema.optional(),grid:c.BoxStylesSchema.optional(),wordListContainer:c.BoxStylesSchema.optional(),wordListText:c.TextStylesSchema.optional(),wordListTitle:c.TextStylesSchema.optional()}).optional()});c.MemoryBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({text:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional(),infoContainer:c.BoxStylesSchema.optional(),infoText:c.TextStylesSchema.optional(),card:c.BoxStylesSchema.optional()}).optional()});c.SpinningWheelBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({wheelText:c.TextStylesSchema.optional()}).optional()});c.ClozeBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),styles:t.z.object({text:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional(),wordBank:c.BoxStylesSchema.optional(),word:c.BoxStylesSchema.optional(),blank:c.BoxStylesSchema.optional()}).optional()});c.CardDeckBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({card:c.BoxStylesSchema.optional(),cardText:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.FlashcardBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({cardFront:c.BoxStylesSchema.optional(),cardBack:c.BoxStylesSchema.optional(),frontText:c.TextStylesSchema.optional(),backText:c.TextStylesSchema.optional(),navigation:c.BoxStylesSchema.optional(),navigationText:c.TextStylesSchema.optional()}).optional()});c.MatchPairsBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),styles:t.z.object({text:c.TextStylesSchema.optional(),card:c.BoxStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.ShapeBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({shape:N.extend({fillColor:t.z.string().optional(),textColor:t.z.string().optional(),borderStyle:t.z.enum(["solid","dashed","dotted"]).optional(),padding:t.z.number().optional()}).optional()}).optional()})});var Pe=y(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.UNSTYLEABLE_BLOCKS=w.BLOCK_STYLE_KEYS=w.STYLE_TARGET_MAP=void 0;w.realStyleKeysFor=fo;w.styleTargetsHelpFor=ko;w.mapLogicalThemeStyles=ye;w.mergeTheme=Bo;w.STYLE_TARGET_MAP={quiz:{title:["question"],answers:["answers"],button:["button"],general:["general"]},poll:{title:["question"],answers:["answers"],button:["button"],general:["general"]},flashcard:{title:["frontText","backText"],answers:["cardFront","cardBack"],general:["cardFront","cardBack"]},memory:{title:["text"],answers:["card"],general:["container"]},matchpairs:{title:["text"],answers:["card"],general:["container"]},cloze:{title:["text"],answers:["word","blank"],general:["container"]},carddeck:{title:["cardText"],answers:["card"],general:["container"]},anagram:{title:["letterText"],answers:["letter","slot"],general:["container"]},dice:{title:["buttonText"],answers:["button"],button:["button"],general:["container"]},crossword:{title:["clueTitle","text"],answers:["cell"],general:["grid"]},wordsearch:{title:["wordListTitle","text"],answers:["cell"],general:["grid"]},spinningwheel:{title:["wheelText"],answers:["wheelText"],general:["wheelText"]},shape:{title:["shape"],answers:["shape"],general:["shape"]},hotpoint:{title:["hotpoint"],answers:["hotpoint"],general:["hotpoint"]},editor:{title:["editor"],answers:["editor"],general:["editor"]},draganddrop:{title:["title"],answers:["item"],general:["container"]}};function fo(i){let r=w.STYLE_TARGET_MAP[i.toLowerCase()];if(!r)return[];let n=new Set;for(let l of Object.values(r))for(let s of l??[])n.add(s);return[...n]}w.BLOCK_STYLE_KEYS={quiz:["general","question","answers","button"],poll:["general","question","answers","button"],flashcard:["cardFront","cardBack","frontText","backText","navigation","navigationText"],memory:["container","card","text","infoContainer","infoText"],matchpairs:["container","card","text"],cloze:["container","text","wordBank","word","blank"],carddeck:["container","card","cardText"],anagram:["container","letter","letterText","slot"],dice:["container","button","buttonText"],crossword:["grid","cell","text","clueContainer","clueTitle","clueText"],wordsearch:["grid","cell","text","wordListContainer","wordListTitle","wordListText"],spinningwheel:["wheelText"],shape:["shape"],editor:["editor"],hotpoint:["hotpoint"],draganddrop:["container","title","sandbox","groups","item","group"]};w.UNSTYLEABLE_BLOCKS=new Set(["chart","media","image","puzzle"]);function ko(i){if(!i)return"";let r=i.toLowerCase();if(w.UNSTYLEABLE_BLOCKS.has(r))return`
2
- [STYLE TARGETS] Il blocco "${i}" non ha sotto-elementi tematizzabili: NON puoi cambiarne colori/bordi via update_block_theme. Puoi solo cambiare lo sfondo della SCENA \u2014 sii onesto col l'utente.`;let n=w.BLOCK_STYLE_KEYS[r];if(!n||n.length===0)return"";let l=w.STYLE_TARGET_MAP[r]??{},s=["general","title","answers","button"].filter(S=>l[S]).map(S=>`${S}\u2192${l[S].join("/")}`).join(", ");return`
3
- [STYLE TARGETS for ${i}] Logical targets (update_block_theme): ${s}. Real sub-element keys (update_block_style 'target'): ${n.join(", ")}.`}function ye(i,r){if(!i)return i;let n={...i};for(let[J,R]of Object.entries(n))if(R&&typeof R=="object"){let E={...R},B=!1;E.backgroundColor!==void 0&&E.background===void 0&&(E.background=!0,B=!0),E.borderColor!==void 0&&E.border===void 0&&(E.border=!0,B=!0),B&&(n[J]=E)}if(!r)return n;let l=w.STYLE_TARGET_MAP[r.toLowerCase()];if(!l)return n;let s=(J,R)=>{R&&(n[J]={...n[J]||{},...R})},S=["title","answers","button","general"],u={title:n.title,answers:n.answers,button:n.button??n.buttons,general:n.general};for(let J of S){let R=u[J],E=l[J];if(R&&E)for(let B of E)s(B,R)}return n}function Bo(i,r,n){if(!i){let u={...r};return u.styles&&(u.styles=ye(u.styles,n)),u}if(!r)return i;let l={...i,...r},s=ye(r.styles,n),S=i.styles||{};if(i.styles||s){l.styles={...S,...s};for(let u of Object.keys(l.styles))S[u]&&s?.[u]&&(l.styles[u]={...S[u],...s[u]})}return l}});var fe=y(d=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});d.BlockEventSchema=d.ActivityVariableSchema=d.ActionSchema=d.ActionVariableSchema=d.ActionTypeSchema=d.MathOperationSchema=d.ActionConditionSchema=d.KeyPressConditionSchema=d.ClickConditionSchema=d.TimerConditionSchema=d.QuizConditionSchema=d.ConditionOperatorSchema=d.BlockEventTypeSchema=void 0;var m=require("zod");d.BlockEventTypeSchema=m.z.enum(["quiz_submit","timer_complete","click","scored","keypress","variable","custom","item_dropped","item_removed","group_filled","media_ended"]);d.ConditionOperatorSchema=m.z.enum(["equals","not_equals","greater_than","less_than","greater_than_or_equal","less_than_or_equal","contains"]);d.QuizConditionSchema=m.z.enum(["all_correct","incorrect","all_wrong","score_perfect","score_above_75","score_above_50","failed"]);d.TimerConditionSchema=m.z.enum(["completed","half_way"]);d.ClickConditionSchema=m.z.enum(["single_click","double_click"]);d.KeyPressConditionSchema=m.z.literal("key_pressed");d.ActionConditionSchema=m.z.object({event:d.BlockEventTypeSchema.optional(),variableName:m.z.string().optional(),operator:d.ConditionOperatorSchema.optional(),value:m.z.any()});d.MathOperationSchema=m.z.enum(["set","add","subtract","multiply","divide"]);d.ActionTypeSchema=m.z.enum(["navigate","modal","audio","reveal","hide","toggle_visibility","link","refresh","complete","set_variable","math_variable","move"]);d.ActionVariableSchema=m.z.object({name:m.z.string(),value:m.z.union([m.z.number(),m.z.string(),m.z.boolean()]),operation:d.MathOperationSchema.optional()});d.ActionSchema=m.z.object({id:m.z.string(),type:d.ActionTypeSchema,condition:d.ActionConditionSchema.optional(),conditions:m.z.array(d.ActionConditionSchema).optional(),conditionsOperator:m.z.enum(["and","or"]).optional(),modalContent:m.z.string().optional(),audioUrl:m.z.string().optional(),linkUrl:m.z.string().optional(),targetSceneId:m.z.string().optional(),targetBlockId:m.z.string().optional(),direction:m.z.enum(["up","down","left","right"]).optional(),distance:m.z.number().optional(),variable:d.ActionVariableSchema.optional()});d.ActivityVariableSchema=m.z.object({name:m.z.string(),defaultValue:m.z.union([m.z.string(),m.z.number(),m.z.boolean()])});d.BlockEventSchema=m.z.object({type:d.BlockEventTypeSchema,blockId:m.z.string(),data:m.z.record(m.z.any()).optional()})});var me=y(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});z.QuestionSchema=z.TextQuestionSchema=z.TrueFalseQuestionSchema=z.ChoiceQuestionSchema=z.QuestionOptionSchema=z.ImageSizeSchema=z.ImageAlignSchema=z.QuestionTypeSchema=void 0;var g=require("zod"),Ee=q();z.QuestionTypeSchema=g.z.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]);z.ImageAlignSchema=g.z.enum(["left","right","center"]);z.ImageSizeSchema=g.z.object({width:g.z.number().optional(),height:g.z.number().optional()});z.QuestionOptionSchema=g.z.object({id:g.z.string(),text:g.z.string(),isCorrect:g.z.boolean(),image:Ee.MediaItemSchema.optional(),imageAlign:z.ImageAlignSchema.optional(),imageSize:z.ImageSizeSchema.optional()});var ke={id:g.z.string(),text:g.z.string(),score:g.z.number().optional(),image:Ee.MediaItemSchema.optional(),imageAlign:z.ImageAlignSchema.optional(),imageSize:z.ImageSizeSchema.optional()};z.ChoiceQuestionSchema=g.z.object({...ke,type:g.z.enum(["single-choice","multiple-choice"]),options:g.z.array(z.QuestionOptionSchema)});z.TrueFalseQuestionSchema=g.z.object({...ke,type:g.z.literal("true-false"),correctAnswer:g.z.boolean()});z.TextQuestionSchema=g.z.object({...ke,type:g.z.enum(["short-answers","long-answers"]),minCharacters:g.z.number().optional(),maxCharacters:g.z.number().optional()});z.QuestionSchema=g.z.discriminatedUnion("type",[z.ChoiceQuestionSchema,z.TrueFalseQuestionSchema,z.TextQuestionSchema])});var Be=y(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.PuzzleContentSchema=H.PuzzleTypeSchema=H.PuzzleGameModeSchema=void 0;var K=require("zod"),To=q();H.PuzzleGameModeSchema=K.z.enum(["scattered","rotated","scattered_rotated"]);H.PuzzleTypeSchema=K.z.enum(["swap","slide"]);H.PuzzleContentSchema=K.z.object({image:K.z.union([K.z.string(),To.MediaItemSchema]).optional().describe("Image URL or MediaItem for puzzle."),pieces:K.z.number().int().optional().describe("Number of pieces (e.g. 9, 16, 25)."),gameMode:H.PuzzleGameModeSchema.optional(),puzzleType:H.PuzzleTypeSchema.optional(),showNumbers:K.z.union([K.z.boolean(),K.z.string()]).optional().describe("Show helper numbers on puzzle pieces."),seed:K.z.string().optional().describe("Deterministic seed for piece placement.")})});var qe=y(a=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.CanvasDragItemSchema=a.ActivityContentSchema=a.SceneSchema=a.BlockGroupSchema=a.BlockSchema=a.ArrowBlockSchema=a.ShapeBlockSchema=a.CardDeckBlockSchema=a.ClozeBlockSchema=a.MatchPairsBlockSchema=a.ChartBlockSchema=a.SpinningWheelBlockSchema=a.FlashcardBlockSchema=a.MemoryBlockSchema=a.WordSearchBlockSchema=a.WordSearchDifficultySchema=a.CrosswordBlockSchema=a.PuzzleBlockSchema=a.DiceBlockSchema=a.AnagramBlockSchema=a.DragAndDropBlockSchema=a.EmbedBlockSchema=a.MediaBlockSchema=a.EditorBlockSchema=a.HotpointBlockSchema=a.QuizBlockSchema=a.ArrowLabelSchema=a.ArrowHeadTypeSchema=a.ShapeTypeSchema=a.MatchPairsPairSchema=a.CardItemSchema=a.FlashcardItemSchema=a.FlashcardContentSchema=a.WheelSliceSchema=a.MemoryPairSchema=a.WordSearchDataSchema=a.CrosswordLayoutOutputSchema=a.CrosswordLayoutWordSchema=a.CrosswordCellSchema=a.DiceTypeSchema=a.DragAndDropGroupSchema=a.DragAndDropItemSchema=a.ActionBlockSchema=a.SceneTypeSchema=void 0;var o=require("zod"),Co=be(),T=q(),f=se(),xo=me(),wo=fe(),_o=Be();a.SceneTypeSchema=o.z.enum(["2D","360\xB0"]);var re={id:o.z.string(),type:Co.BlockTypeSchema,title:o.z.string(),showTitle:o.z.boolean().optional(),locked:o.z.boolean().optional(),groupId:o.z.string().optional(),position:T.PositionSchema.optional(),rotation:o.z.number(),hidden:o.z.boolean().optional(),draggable:o.z.boolean().optional(),size:T.SizeSchema.optional(),minSize:T.SizeSchema.optional(),maxSize:T.SizeSchema.optional(),theme:f.BlockThemeSchema.optional()},_={...re,actions:o.z.array(wo.ActionSchema).optional(),score:o.z.number().optional()};a.ActionBlockSchema=o.z.object(_);a.DragAndDropItemSchema=o.z.object({id:o.z.string(),text:o.z.string(),background:T.MediaItemSchema.optional(),opacity:o.z.number().optional(),x:o.z.number().optional(),y:o.z.number().optional(),width:o.z.number().optional(),height:o.z.number().optional(),styles:f.BoxStylesSchema.optional(),textStyles:f.TextStylesSchema.optional()});a.DragAndDropGroupSchema=o.z.object({id:o.z.string(),name:o.z.string(),background:T.MediaItemSchema.optional(),x:o.z.number().optional(),y:o.z.number().optional(),width:o.z.number().optional(),height:o.z.number().optional(),singleItem:o.z.boolean().optional(),opacity:o.z.number().optional(),styles:f.BoxStylesSchema.optional(),textStyles:f.TextStylesSchema.optional(),items:o.z.array(a.DragAndDropItemSchema)});a.DiceTypeSchema=o.z.enum(["d4","d6","d8","d10","d12","d20"]);a.CrosswordCellSchema=o.z.object({char:o.z.string(),isBlack:o.z.boolean(),number:o.z.number().optional(),row:o.z.number(),col:o.z.number()});a.CrosswordLayoutWordSchema=o.z.object({answer:o.z.string(),clue:o.z.string(),image:T.MediaItemSchema.optional(),startx:o.z.number(),starty:o.z.number(),orientation:o.z.enum(["across","down","none"]),position:o.z.number()});a.CrosswordLayoutOutputSchema=o.z.object({grid:o.z.array(o.z.array(a.CrosswordCellSchema)),rows:o.z.number(),cols:o.z.number(),words:o.z.array(a.CrosswordLayoutWordSchema)});a.WordSearchDataSchema=o.z.object({grid:o.z.array(o.z.array(o.z.string())),placedWords:o.z.array(o.z.object({word:o.z.string(),clean:o.z.string(),path:o.z.array(o.z.object({x:o.z.number(),y:o.z.number()}))}))});a.MemoryPairSchema=o.z.object({id:o.z.string(),type:o.z.enum(["img-img","img-word","word-word"]),content:o.z.tuple([o.z.string(),o.z.string()])});a.WheelSliceSchema=o.z.object({id:o.z.string(),text:o.z.string(),color:o.z.string().optional(),image:T.MediaItemSchema.optional()});a.FlashcardContentSchema=o.z.object({type:o.z.enum(["text","image"]),content:o.z.any()});a.FlashcardItemSchema=o.z.object({id:o.z.string(),front:a.FlashcardContentSchema,back:a.FlashcardContentSchema});a.CardItemSchema=o.z.object({id:o.z.string(),frontImage:T.MediaItemSchema.optional(),frontText:o.z.string().optional()});a.MatchPairsPairSchema=o.z.object({id:o.z.string(),leftLabel:o.z.string(),rightLabel:o.z.string(),leftImage:o.z.any().optional(),rightImage:o.z.any().optional()});a.ShapeTypeSchema=o.z.enum(["rectangle","rounded-rectangle","circle","triangle","triangle-inverted","pentagon","hexagon","heptagon","octagon","decagon","star","star-4","star-5","star-6","star-8","star-12","star-24","arrow-block-right","arrow-block-left","arrow-block-up","arrow-block-down","arrow-block-left-right","flow-process","flow-decision","flow-data","flow-document","flow-start-stop","callout-rect","callout-round","callout-cloud","cloud","heart","banner","tear","gear","asterisk"]);a.ArrowHeadTypeSchema=o.z.enum(["none","arrow","circle","square"]);a.ArrowLabelSchema=o.z.object({id:o.z.string(),text:o.z.string(),t:o.z.number(),offsetX:o.z.number().optional(),offsetY:o.z.number().optional(),fontSize:o.z.number().optional(),color:o.z.string().optional(),backgroundColor:o.z.string().optional()});a.QuizBlockSchema=o.z.object({..._,type:o.z.literal("Quiz"),questions:o.z.array(xo.QuestionSchema).optional(),previewIndex:o.z.number().optional(),required:o.z.boolean().optional(),showResults:o.z.boolean().optional(),allowRetry:o.z.boolean().optional(),maxRetry:o.z.string().optional(),submitText:o.z.string().optional(),timer:o.z.string().optional(),showQuestionCount:o.z.boolean().optional(),theme:f.QuizBlockThemeSchema});a.HotpointBlockSchema=o.z.object({..._,type:o.z.literal("Hotpoint"),showIcon:o.z.boolean().optional(),element:o.z.enum(["image","button"]),theme:f.HotpointBlockThemeSchema.optional()});a.EditorBlockSchema=o.z.object({..._,type:o.z.literal("Editor"),content:o.z.any().optional(),readonly:o.z.boolean().optional(),theme:f.EditorBlockThemeSchema.optional()});a.MediaBlockSchema=o.z.object({...re,type:o.z.literal("Media"),media:T.MediaItemSchema.optional()});a.EmbedBlockSchema=o.z.object({...re,type:o.z.literal("Embed"),url:o.z.string().optional(),readOnly:o.z.boolean().optional()});a.DragAndDropBlockSchema=o.z.object({..._,type:o.z.literal("DragAndDrop"),groups:o.z.array(a.DragAndDropGroupSchema),theme:f.DragAndDropBlockThemeSchema.optional(),showResults:o.z.boolean().optional(),layout:o.z.enum(["manual","split"]).optional(),itemArrangement:o.z.enum(["random","list","grid"]).optional(),groupBackground:T.MediaItemSchema.optional(),enableWrongAnswers:o.z.boolean().optional(),itemBackground:T.MediaItemSchema.optional(),groupBackgroundOpacity:o.z.number().optional(),itemBackgroundOpacity:o.z.number().optional(),splitRatio:o.z.number().optional()});a.AnagramBlockSchema=o.z.object({..._,type:o.z.literal("Anagram"),letters:o.z.array(o.z.string()),correctWord:o.z.string(),theme:f.AnagramBlockThemeSchema.optional(),clue:o.z.string().optional(),allowRetry:o.z.boolean().optional(),maxRetry:o.z.string().optional()});a.DiceBlockSchema=o.z.object({..._,type:o.z.literal("Dice"),rollHistory:o.z.array(o.z.number()).optional(),diceType:a.DiceTypeSchema.optional(),faceOverrides:o.z.any().optional(),color:o.z.string().optional(),showNumber:o.z.boolean().optional(),diceCount:o.z.number().optional(),dicePool:o.z.record(o.z.number()).optional(),persistent:o.z.boolean().optional(),theme:f.DiceBlockThemeSchema.optional()});a.PuzzleBlockSchema=o.z.object({..._,type:o.z.literal("Puzzle"),image:T.MediaItemSchema.optional(),pieces:o.z.number().optional(),gameMode:_o.PuzzleGameModeSchema.optional(),puzzleType:o.z.enum(["swap","slide"]).optional(),showNumbers:o.z.union([o.z.boolean(),o.z.string()]).optional(),seed:o.z.string().optional()});a.CrosswordBlockSchema=o.z.object({..._,type:o.z.literal("Crossword"),words:o.z.array(o.z.object({answer:o.z.string(),clue:o.z.string(),image:T.MediaItemSchema.optional()})).optional(),layout:a.CrosswordLayoutOutputSchema.optional(),theme:f.CrosswordBlockThemeSchema.optional()});a.WordSearchDifficultySchema=o.z.enum(["easy","medium","hard"]);a.WordSearchBlockSchema=o.z.object({..._,type:o.z.literal("WordSearch"),words:o.z.array(o.z.string()).optional(),gridSize:T.GridSizeSchema.optional(),difficulty:a.WordSearchDifficultySchema.optional(),data:a.WordSearchDataSchema.optional(),theme:f.WordSearchBlockThemeSchema.optional()});a.MemoryBlockSchema=o.z.object({..._,type:o.z.literal("Memory"),pairs:o.z.array(a.MemoryPairSchema),gridSize:T.GridSizeSchema.optional(),hideScore:o.z.boolean().optional(),theme:f.MemoryBlockThemeSchema.optional()});a.FlashcardBlockSchema=o.z.object({..._,type:o.z.literal("Flashcard"),cards:o.z.array(a.FlashcardItemSchema),theme:f.FlashcardBlockThemeSchema.optional()});a.SpinningWheelBlockSchema=o.z.object({..._,type:o.z.literal("SpinningWheel"),slices:o.z.array(a.WheelSliceSchema),spinDuration:o.z.number().optional(),theme:f.SpinningWheelBlockThemeSchema.optional()});a.ChartBlockSchema=o.z.object({..._,type:o.z.literal("Chart"),chartType:o.z.enum(["line","bar","pie","doughnut","radar","area","scatter"]),chartData:o.z.array(o.z.any()),chartConfig:o.z.object({colors:o.z.array(o.z.string()).optional(),xAxisLabel:o.z.string().optional(),yAxisLabel:o.z.string().optional(),showLegend:o.z.boolean().optional(),showTooltip:o.z.boolean().optional(),stacked:o.z.boolean().optional(),seriesNames:o.z.record(o.z.string()).optional()})});a.MatchPairsBlockSchema=o.z.object({..._,type:o.z.literal("MatchPairs"),instructions:o.z.string().optional(),pairs:o.z.array(a.MatchPairsPairSchema),theme:f.MatchPairsBlockThemeSchema.optional()});a.ClozeBlockSchema=o.z.object({..._,type:o.z.literal("Cloze"),templateText:o.z.string().optional(),theme:f.ClozeBlockThemeSchema.optional(),mode:o.z.enum(["write","drag-drop"]).optional()});a.CardDeckBlockSchema=o.z.object({..._,type:o.z.literal("CardDeck"),cards:o.z.array(a.CardItemSchema),backImage:T.MediaItemSchema.optional(),discardLogic:o.z.enum(["delete","return"]),theme:f.CardDeckBlockThemeSchema.optional()});a.ShapeBlockSchema=o.z.object({...re,type:o.z.literal("Shape"),shapeType:a.ShapeTypeSchema.optional(),text:o.z.string().optional(),theme:f.ShapeBlockThemeSchema.optional()});a.ArrowBlockSchema=o.z.object({...re,type:o.z.literal("Arrow"),startBlockId:o.z.string(),endBlockId:o.z.string().optional(),endPos:o.z.object({x:o.z.number(),y:o.z.number()}).optional(),startHandle:o.z.enum(["top","right","bottom","left"]),endHandle:o.z.enum(["top","right","bottom","left"]).optional(),connectionType:o.z.enum(["straight","orthogonal","curved"]),strokeColor:o.z.string().optional(),strokeWidth:o.z.number().optional(),strokeStyle:o.z.enum(["solid","dashed","dotted"]).optional(),showHead:o.z.boolean().optional(),startHead:a.ArrowHeadTypeSchema.optional(),endHead:a.ArrowHeadTypeSchema.optional(),bendOffsetX:o.z.number().optional(),bendOffsetY:o.z.number().optional(),segmentCount:o.z.number().optional(),bendOffsets:o.z.array(o.z.number()).optional(),labels:o.z.array(a.ArrowLabelSchema).optional()});a.BlockSchema=o.z.discriminatedUnion("type",[a.QuizBlockSchema,a.HotpointBlockSchema,a.EditorBlockSchema,a.EmbedBlockSchema,a.MediaBlockSchema,a.DragAndDropBlockSchema,a.AnagramBlockSchema,a.DiceBlockSchema,a.PuzzleBlockSchema,a.CrosswordBlockSchema,a.WordSearchBlockSchema,a.MemoryBlockSchema,a.FlashcardBlockSchema,a.SpinningWheelBlockSchema,a.ChartBlockSchema,a.MatchPairsBlockSchema,a.ShapeBlockSchema,a.ArrowBlockSchema,a.ClozeBlockSchema,a.CardDeckBlockSchema]);a.BlockGroupSchema=o.z.object({id:o.z.string(),name:o.z.string(),locked:o.z.boolean().optional()});a.SceneSchema=o.z.object({id:o.z.string(),title:o.z.string(),type:a.SceneTypeSchema,background:o.z.union([o.z.string(),o.z.array(o.z.string()),T.MediaItemSchema]).optional(),backgroundColor:o.z.string().optional(),backgroundAutoplay:o.z.boolean().optional(),backgroundLoop:o.z.boolean().optional(),secretCode:o.z.string().optional(),hidden:o.z.boolean().optional(),blocks:o.z.array(a.BlockSchema),groups:o.z.array(a.BlockGroupSchema).optional(),canvas:o.z.object({width:o.z.number().optional(),height:o.z.number().optional(),preset:o.z.enum(["landscape","mobile","infographics","square","custom"]).optional()}).optional()});a.ActivityContentSchema=o.z.object({id:o.z.string(),title:o.z.string(),hasTimer:o.z.boolean(),timer:o.z.string().optional(),allowNavigation:o.z.boolean(),scenes:o.z.array(a.SceneSchema),variables:o.z.array(o.z.object({name:o.z.string(),defaultValue:o.z.union([o.z.string(),o.z.number(),o.z.boolean()])})).optional(),audio:o.z.array(o.z.object({id:o.z.string(),media:T.MediaItemSchema.optional(),scenes:o.z.string().optional(),autoplay:o.z.boolean().optional(),loop:o.z.boolean().optional()})).optional()});a.CanvasDragItemSchema=o.z.object({id:o.z.string(),type:o.z.literal("BLOCK"),sceneId:o.z.string(),blockData:a.BlockSchema})});var Le=y(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.ActivityContextSchema=Y.SceneSummarySchema=Y.SceneBlockRefSchema=void 0;var A=require("zod");Y.SceneBlockRefSchema=A.z.object({id:A.z.string(),type:A.z.string(),title:A.z.string()});Y.SceneSummarySchema=A.z.object({id:A.z.string(),title:A.z.string(),position:A.z.number(),blocks:A.z.array(Y.SceneBlockRefSchema).default([])});Y.ActivityContextSchema=A.z.object({activity:A.z.object({id:A.z.string(),title:A.z.string(),scenes:A.z.array(Y.SceneSummarySchema).default([])}),activeSceneId:A.z.string().nullable().optional()})});var Qe=y(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.QuizContentSchema=O.QuizQuestionSchema=O.QuizOptionSchema=O.QuizQuestionTypeSchema=void 0;var k=require("zod"),Fe=q(),he=me();O.QuizQuestionTypeSchema=k.z.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]);O.QuizOptionSchema=k.z.object({id:k.z.string().optional(),text:k.z.string(),isCorrect:k.z.boolean(),image:Fe.MediaItemSchema.optional().describe("Option image."),imageAlign:he.ImageAlignSchema.optional().describe("Option image alignment."),imageSize:he.ImageSizeSchema.optional().describe("Option image size.")});O.QuizQuestionSchema=k.z.object({id:k.z.string().optional().describe("Question ID. Auto-generated if omitted."),type:O.QuizQuestionTypeSchema,text:k.z.string().describe("The question text."),score:k.z.number().optional(),options:k.z.array(O.QuizOptionSchema).optional().describe("Required for single-choice and multiple-choice."),correctAnswer:k.z.boolean().optional().describe("Required for true-false."),image:Fe.MediaItemSchema.optional().describe("Question image."),imageAlign:he.ImageAlignSchema.optional().describe("Question image alignment."),imageSize:he.ImageSizeSchema.optional().describe("Question image size.")});O.QuizContentSchema=k.z.object({questions:k.z.array(O.QuizQuestionSchema).describe("Array of question objects."),showResults:k.z.boolean().optional(),allowRetry:k.z.boolean().optional(),maxRetry:k.z.string().optional(),required:k.z.boolean().optional(),submitText:k.z.string().optional().describe("Label for submit button."),timer:k.z.string().optional().describe("Timer duration in seconds as a string."),showQuestionCount:k.z.boolean().optional().describe("Show current/total questions count.")})});var Re=y(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.ClozeContentSchema=ee.ClozeModeSchema=void 0;var Te=require("zod");ee.ClozeModeSchema=Te.z.enum(["write","drag-drop"]);ee.ClozeContentSchema=Te.z.object({templateText:Te.z.string().describe('Template text with blanks in [brackets]. E.g. "The capital of Italy is [Rome]."'),mode:ee.ClozeModeSchema.optional().describe("Input mode. Default: write.")})});var Ge=y(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.AnagramContentSchema=D.WordSearchContentSchema=D.CrosswordContentSchema=D.CrosswordWordSchema=D.WordGameBlockTypeSchema=void 0;var I=require("zod"),We=q();D.WordGameBlockTypeSchema=I.z.enum(["Crossword","WordSearch","Anagram"]);D.CrosswordWordSchema=I.z.object({answer:I.z.string(),clue:I.z.string(),image:We.MediaItemSchema.optional().describe("Clue image.")});D.CrosswordContentSchema=I.z.object({words:I.z.array(D.CrosswordWordSchema)});D.WordSearchContentSchema=I.z.object({words:I.z.array(I.z.string()),gridSize:We.GridSizeSchema.optional().describe("Grid dimensions."),difficulty:I.z.enum(["easy","medium","hard"]).optional()});D.AnagramContentSchema=I.z.object({correctWord:I.z.string().describe("The correct word."),letters:I.z.array(I.z.string()).optional(),clue:I.z.string().optional().describe("A hint.")})});var Ne=y(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.PairGameContentSchema=L.PairSchema=L.MemoryPairTypeSchema=L.PairGameBlockTypeSchema=void 0;var W=require("zod"),Ce=q();L.PairGameBlockTypeSchema=W.z.enum(["Memory","MatchPairs"]);L.MemoryPairTypeSchema=W.z.enum(["img-img","img-word","word-word"]);L.PairSchema=W.z.object({id:W.z.string().optional(),type:L.MemoryPairTypeSchema.optional().describe("For Memory: pair type."),content:W.z.array(W.z.string()).optional().describe("For Memory: [item1, item2]."),leftLabel:W.z.string().optional().describe("For MatchPairs: left side text."),rightLabel:W.z.string().optional().describe("For MatchPairs: right side text."),leftImage:Ce.MediaItemSchema.optional().describe("For MatchPairs: left side image."),rightImage:Ce.MediaItemSchema.optional().describe("For MatchPairs: right side image.")});L.PairGameContentSchema=W.z.object({pairs:W.z.array(L.PairSchema).describe("Array of pair objects."),gridSize:Ce.GridSizeSchema.optional().describe("For Memory: grid dimensions."),instructions:W.z.string().optional().describe("For MatchPairs: instruction text.")})});var Ke=y(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.DeckContentSchema=P.CardSchema=P.CardFaceSchema=P.DeckBlockTypeSchema=void 0;var F=require("zod");P.DeckBlockTypeSchema=F.z.enum(["Flashcard","CardDeck"]);P.CardFaceSchema=F.z.object({type:F.z.enum(["text","image"]),content:F.z.any()});P.CardSchema=F.z.object({id:F.z.string().optional(),front:P.CardFaceSchema.optional().describe("For Flashcard: front side."),back:P.CardFaceSchema.optional().describe("For Flashcard: back side."),frontText:F.z.string().optional().describe("For CardDeck: front text."),frontImage:F.z.any().optional().describe("For CardDeck: front image.")});P.DeckContentSchema=F.z.object({cards:F.z.array(P.CardSchema).describe("Array of card objects."),backImage:F.z.any().optional().describe("For CardDeck: shared back image."),discardLogic:F.z.enum(["delete","return"]).optional().describe("For CardDeck.")})});var He=y(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.DiceContentSchema=oe.DieTypeSchema=void 0;var ne=require("zod");oe.DieTypeSchema=ne.z.enum(["d4","d6","d8","d10","d12","d20"]);oe.DiceContentSchema=ne.z.object({diceType:oe.DieTypeSchema.optional(),diceCount:ne.z.number().int().min(1).max(10).optional(),color:ne.z.string().optional().describe("CSS color for dice."),showNumber:ne.z.boolean().optional(),persistent:ne.z.boolean().optional().describe("Keep dice visible after roll.")})});var Ye=y(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.SpinnerContentSchema=ae.SpinnerSliceSchema=void 0;var te=require("zod"),jo=q();ae.SpinnerSliceSchema=te.z.object({id:te.z.string().optional(),text:te.z.string(),color:te.z.string().optional().describe("CSS color for slice."),image:jo.MediaItemSchema.optional().describe("Slice image.")});ae.SpinnerContentSchema=te.z.object({slices:te.z.array(ae.SpinnerSliceSchema).min(2).describe("Wheel slices (min 2)."),spinDuration:te.z.number().optional().describe("Spin duration in seconds.")})});var Ve=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.DragAndDropContentSchema=V.DragGroupSchema=V.DragItemSchema=void 0;var p=require("zod"),de=q(),pe=se();V.DragItemSchema=p.z.object({id:p.z.string().optional(),text:p.z.string(),background:de.MediaItemSchema.optional().describe("Background image/color for item."),opacity:p.z.number().optional().describe("Opacity of the item (0-1)."),x:p.z.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:p.z.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:p.z.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:p.z.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:p.z.number().optional().describe("Manual width in pixels."),height:p.z.number().optional().describe("Manual height in pixels."),styles:pe.BoxStylesSchema.optional().describe("Box custom styling styles."),textStyles:pe.TextStylesSchema.optional().describe("Text custom styling styles.")});V.DragGroupSchema=p.z.object({id:p.z.string().optional(),name:p.z.string().describe("Group/dropzone name."),singleItem:p.z.boolean().optional().describe("Accept only one item inside."),background:de.MediaItemSchema.optional().describe("Background image/color for group."),x:p.z.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:p.z.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:p.z.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:p.z.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:p.z.number().optional().describe("Manual width in pixels."),height:p.z.number().optional().describe("Manual height in pixels."),opacity:p.z.number().optional().describe("Opacity of the group (0-1)."),styles:pe.BoxStylesSchema.optional().describe("Box custom styling styles."),textStyles:pe.TextStylesSchema.optional().describe("Text custom styling styles."),items:p.z.array(V.DragItemSchema).describe("Items that belong in this group.")});V.DragAndDropContentSchema=p.z.object({groups:p.z.array(V.DragGroupSchema).min(1).describe("Drag-and-drop groups."),layout:p.z.enum(["manual","split"]).optional().describe("Layout mode: manual placements or split areas."),itemArrangement:p.z.enum(["random","list","grid"]).optional().describe("Initial item arrangement inside sandbox."),showResults:p.z.boolean().optional().describe("Show result feedback immediately."),requireSubmit:p.z.boolean().optional().describe("Require an explicit 'Check' button to grade instead of auto-grading when all items are placed."),enableWrongAnswers:p.z.boolean().optional().describe("Allow placing items in incorrect groups."),groupBackground:de.MediaItemSchema.optional().describe("Shared background image/color for all groups."),itemBackground:de.MediaItemSchema.optional().describe("Shared background image/color for all items."),groupBackgroundOpacity:p.z.number().optional().describe("Shared group background opacity (0-1)."),itemBackgroundOpacity:p.z.number().optional().describe("Shared item background opacity (0-1)."),splitRatio:p.z.number().optional().describe("Proportion ratio for split layout.")})});var $e=y($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.ChartContentSchema=$.ChartConfigSchema=$.ChartTypeSchema=void 0;var v=require("zod");$.ChartTypeSchema=v.z.enum(["line","bar","pie","doughnut","radar","area","scatter"]);$.ChartConfigSchema=v.z.object({colors:v.z.array(v.z.string()).optional(),xAxisLabel:v.z.string().optional(),yAxisLabel:v.z.string().optional(),showLegend:v.z.boolean().optional(),showTooltip:v.z.boolean().optional(),stacked:v.z.boolean().optional(),seriesNames:v.z.record(v.z.string()).optional().describe("Dictionary mapping series keys to custom labels.")});$.ChartContentSchema=v.z.object({chartType:$.ChartTypeSchema.optional(),chartData:v.z.array(v.z.record(v.z.any())).optional().describe("Data array, e.g. [{name:'A', value:10}]."),chartConfig:$.ChartConfigSchema.optional()})});var Ue=y(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.BasicContentSchema=void 0;var ue=require("zod"),Mo=q();Se.BasicContentSchema=ue.z.object({content:ue.z.any().optional().describe("For Editor: Plate JSON content array."),url:ue.z.string().optional().describe("For Media or Embed: content URL."),text:ue.z.string().optional().describe("For Shape: text inside shape."),mediaType:Mo.MediaTypeSchema.optional().describe("For Media: media type.")})});var xe=y(j=>{"use strict";var Ao=j&&j.__createBinding||(Object.create?(function(i,r,n,l){l===void 0&&(l=n);var s=Object.getOwnPropertyDescriptor(r,n);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return r[n]}}),Object.defineProperty(i,l,s)}):(function(i,r,n,l){l===void 0&&(l=n),i[l]=r[n]})),G=j&&j.__exportStar||function(i,r){for(var n in i)n!=="default"&&!Object.prototype.hasOwnProperty.call(r,n)&&Ao(r,i,n)};Object.defineProperty(j,"__esModule",{value:!0});G(Qe(),j);G(Re(),j);G(Ge(),j);G(Ne(),j);G(Ke(),j);G(He(),j);G(Ye(),j);G(Ve(),j);G($e(),j);G(Be(),j);G(Ue(),j)});var Je=y(Q=>{"use strict";var Io=Q&&Q.__createBinding||(Object.create?(function(i,r,n,l){l===void 0&&(l=n);var s=Object.getOwnPropertyDescriptor(r,n);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return r[n]}}),Object.defineProperty(i,l,s)}):(function(i,r,n,l){l===void 0&&(l=n),i[l]=r[n]})),vo=Q&&Q.__setModuleDefault||(Object.create?(function(i,r){Object.defineProperty(i,"default",{enumerable:!0,value:r})}):function(i,r){i.default=r}),Oo=Q&&Q.__importStar||(function(){var i=function(r){return i=Object.getOwnPropertyNames||function(n){var l=[];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(l[l.length]=s);return l},i(r)};return function(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var l=i(r),s=0;s<l.length;s++)l[s]!=="default"&&Io(n,r,l[s]);return vo(n,r),n}})();Object.defineProperty(Q,"__esModule",{value:!0});Q.BLOCK_CONTENT_SCHEMAS=void 0;Q.generateBlockReference=qo;var Do=Oo(require("zod-to-json-schema")),Po=Do.zodToJsonSchema,C=xe();Q.BLOCK_CONTENT_SCHEMAS={Quiz:C.QuizContentSchema,Cloze:C.ClozeContentSchema,Crossword:C.CrosswordContentSchema,WordSearch:C.WordSearchContentSchema,Anagram:C.AnagramContentSchema,Memory:C.PairGameContentSchema,MatchPairs:C.PairGameContentSchema,Flashcard:C.DeckContentSchema,CardDeck:C.DeckContentSchema,Dice:C.DiceContentSchema,SpinningWheel:C.SpinnerContentSchema,DragAndDrop:C.DragAndDropContentSchema,Chart:C.ChartContentSchema,Puzzle:C.PuzzleContentSchema,Editor:C.BasicContentSchema,Media:C.BasicContentSchema,Embed:C.BasicContentSchema,Shape:C.BasicContentSchema};function Eo(i,r,n,l){let s=n?"*required*":"optional",S=we(r),u=r.description?` \u2014 ${r.description}`:"";return`${l}- \`${i}\` (${S}, ${s})${u}`}function we(i){return i.enum?`enum: ${i.enum.map(r=>JSON.stringify(r)).join(" | ")}`:i.anyOf||i.oneOf?(i.anyOf||i.oneOf).map(we).join(" | "):Array.isArray(i.type)?i.type.join(" | "):i.type==="array"&&i.items?`array<${we(i.items)}>`:i.type==="object"?"object":i.type??"any"}function _e(i,r){let n=[],l=new Set(i.required??[]),s=i.properties??{};for(let[S,u]of Object.entries(s))n.push(Eo(S,u,l.has(S),r)),u.type==="object"&&u.properties?n.push(_e(u,r+" ")):u.type==="array"&&u.items?.type==="object"&&n.push(_e(u.items,r+" "));return n.join(`
4
- `)}function qo(){let i=[],r=new Map;for(let[n,l]of Object.entries(Q.BLOCK_CONTENT_SCHEMAS)){let s=r.get(l)??[];s.push(n),r.set(l,s)}for(let[n,l]of r.entries()){let s=l.join(" / "),S=Po(n,{target:"jsonSchema7"}),u=_e(S,"");i.push(`### ${s}
5
- ${u||"_(no configurable fields)_"}`)}return i.join(`
1
+ "use strict";var Mt=Object.create;var V=Object.defineProperty;var Pt=Object.getOwnPropertyDescriptor;var Ot=Object.getOwnPropertyNames;var vt=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty;var Qt=(t,r)=>{for(var n in r)V(t,n,{get:r[n],enumerable:!0})},tt=(t,r,n,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of Ot(r))!Et.call(t,a)&&a!==n&&V(t,a,{get:()=>r[a],enumerable:!(i=Pt(r,a))||i.enumerable});return t};var Lt=(t,r,n)=>(n=t!=null?Mt(vt(t)):{},tt(r||!t||!t.__esModule?V(n,"default",{value:t,enumerable:!0}):n,t)),_t=t=>tt(V({},"__esModule",{value:!0}),t);var Ut={};Qt(Ut,{ActionBlockSchema:()=>bt,ActionConditionSchema:()=>ye,ActionSchema:()=>Se,ActionTypeSchema:()=>He,ActionVariableSchema:()=>Ke,ActivityContentSchema:()=>ft,ActivityContextSchema:()=>kt,ActivityVariableSchema:()=>yt,AnagramBlockSchema:()=>ko,AnagramBlockThemeSchema:()=>ne,AnagramContentSchema:()=>je,AnimationSchema:()=>Re,ArrowBlockSchema:()=>Eo,ArrowHeadTypeSchema:()=>ke,ArrowLabelSchema:()=>uo,BLOCK_CONTENT_SCHEMAS:()=>F,BLOCK_STYLE_KEYS:()=>We,BLOCK_TYPES:()=>Ee,BasicContentSchema:()=>_,BlockEventSchema:()=>gt,BlockEventTypeSchema:()=>ge,BlockGroupSchema:()=>Qo,BlockSchema:()=>ze,BlockThemeSchema:()=>b,BlockTypeSchema:()=>Y,BoxSideSchema:()=>Z,BoxStylesSchema:()=>s,CANVAS_OP_NAMES:()=>Rt,CANVAS_OP_REQUIRED:()=>$,CanvasDragItemSchema:()=>xt,CardDeckBlockSchema:()=>Oo,CardDeckBlockThemeSchema:()=>se,CardFaceSchema:()=>Ie,CardItemSchema:()=>so,CardSchema:()=>Jo,ChartBlockSchema:()=>Do,ChartConfigSchema:()=>Xo,ChartContentSchema:()=>Oe,ChartTypeSchema:()=>Zo,ChoiceQuestionSchema:()=>$e,ClickConditionSchema:()=>ht,ClozeBlockSchema:()=>Po,ClozeBlockThemeSchema:()=>pe,ClozeContentSchema:()=>Te,ClozeModeSchema:()=>No,ConditionOperatorSchema:()=>Ne,CropDataSchema:()=>Le,CrosswordBlockSchema:()=>Bo,CrosswordBlockThemeSchema:()=>ae,CrosswordCellSchema:()=>no,CrosswordContentSchema:()=>we,CrosswordLayoutOutputSchema:()=>ao,CrosswordLayoutWordSchema:()=>ro,CrosswordWordSchema:()=>qo,DeckBlockTypeSchema:()=>Bt,DeckContentSchema:()=>K,DiceBlockSchema:()=>zo,DiceBlockThemeSchema:()=>re,DiceContentSchema:()=>De,DiceTypeSchema:()=>to,DieTypeSchema:()=>Vo,DragAndDropBlockSchema:()=>xo,DragAndDropBlockThemeSchema:()=>oe,DragAndDropContentSchema:()=>Pe,DragAndDropGroupSchema:()=>oo,DragAndDropItemSchema:()=>eo,DragGroupSchema:()=>Uo,DragItemSchema:()=>Yo,EditorBlockSchema:()=>So,EditorBlockThemeSchema:()=>te,EmbedBlockSchema:()=>fo,FlashcardBlockSchema:()=>jo,FlashcardBlockThemeSchema:()=>me,FlashcardContentSchema:()=>xe,FlashcardItemSchema:()=>po,GridSizeSchema:()=>M,HotpointBlockSchema:()=>go,HotpointBlockThemeSchema:()=>X,ImageAlignSchema:()=>E,ImageSizeSchema:()=>Q,KeyPressConditionSchema:()=>ut,MatchPairsBlockSchema:()=>Mo,MatchPairsBlockThemeSchema:()=>de,MatchPairsPairSchema:()=>mo,MathOperationSchema:()=>qe,MediaBlockSchema:()=>bo,MediaItemSchema:()=>c,MediaRefSchema:()=>ct,MediaSourceSchema:()=>Qe,MediaTypeSchema:()=>v,MemoryBlockSchema:()=>Ao,MemoryBlockThemeSchema:()=>ce,MemoryPairSchema:()=>co,MemoryPairTypeSchema:()=>Ho,PairGameBlockTypeSchema:()=>Ct,PairGameContentSchema:()=>H,PairSchema:()=>Ko,PositionSchema:()=>U,PuzzleBlockSchema:()=>Co,PuzzleContentSchema:()=>fe,PuzzleGameModeSchema:()=>N,PuzzleTypeSchema:()=>Ze,QuestionOptionSchema:()=>Je,QuestionSchema:()=>be,QuestionTypeSchema:()=>St,QuizBlockSchema:()=>yo,QuizBlockThemeSchema:()=>ee,QuizConditionSchema:()=>mt,QuizContentSchema:()=>Ce,QuizOptionSchema:()=>Wo,QuizQuestionSchema:()=>Go,QuizQuestionTypeSchema:()=>Fo,RadiusSchema:()=>Fe,STYLE_TARGET_MAP:()=>G,SceneBlockRefSchema:()=>_o,SceneSchema:()=>Lo,SceneSummarySchema:()=>Ro,SceneTypeSchema:()=>Xe,ShapeBlockSchema:()=>vo,ShapeBlockThemeSchema:()=>he,ShapeTypeSchema:()=>ho,SizeSchema:()=>R,SpinnerContentSchema:()=>Me,SpinnerSliceSchema:()=>$o,SpinningWheelBlockSchema:()=>Io,SpinningWheelBlockThemeSchema:()=>le,TextQuestionSchema:()=>Ue,TextStylesSchema:()=>u,TimerConditionSchema:()=>dt,TrueFalseQuestionSchema:()=>Ye,UNSTYLEABLE_BLOCKS:()=>Ge,VideoSettingsSchema:()=>_e,WheelSliceSchema:()=>lo,WordGameBlockTypeSchema:()=>zt,WordSearchBlockSchema:()=>wo,WordSearchBlockThemeSchema:()=>ie,WordSearchContentSchema:()=>Ae,WordSearchDataSchema:()=>io,WordSearchDifficultySchema:()=>To,applyItemPatch:()=>Wt,detectConflict:()=>qt,entitySignature:()=>at,generateBlockReference:()=>wt,getAllBlockJsonSchemas:()=>Yt,getBlockJsonSchema:()=>It,isKnownCanvasOp:()=>nt,listBlockTypes:()=>jt,mapLogicalThemeStyles:()=>ue,mergeTheme:()=>st,opConflictStamp:()=>Ht,opTarget:()=>rt,parseMentions:()=>Kt,realStyleKeysFor:()=>lt,resolveMentions:()=>Jt,stableStringify:()=>W,styleTargetsHelpFor:()=>pt,validateCanvasOp:()=>Ft});module.exports=_t(Ut);var $={createScene:[],deleteScene:["sceneId"],addBlock:["sceneId","block"],updateScene:["sceneId"],deleteBlock:["sceneId","blockId"],updateBlock:["sceneId","blockId","updates"],duplicateBlock:["sceneId","blockId"],groupBlocks:["blockIds"],updateBlockTheme:["sceneId","blockId","theme"],updateBlockElementStyle:["sceneId","blockId","elementId","customStyle"],addAction:["sceneId","blockId","action"],removeAction:["sceneId","blockId","actionId"],manageVariables:["operation","name"],configureTimer:[],reorderScenes:["sceneId","newIndex"],insertItem:["blockId","collection","item"],updateItem:["blockId","collection","itemId","item"],deleteItem:["blockId","collection","itemId"]},Rt=Object.keys($);function nt(t){return Object.prototype.hasOwnProperty.call($,t)}function Ft(t,r){if(!nt(t))return{ok:!1,code:"UNKNOWN_OP",errors:[`unknown op "${t}"`]};if(typeof r!="object"||r===null||Array.isArray(r))return{ok:!1,code:"NOT_OBJECT",errors:["op data must be an object"]};let n=r,i=$[t].filter(a=>n[a]===void 0||n[a]===null);return i.length>0?{ok:!1,code:"MISSING_FIELDS",errors:i.map(a=>`missing field: ${a}`)}:t==="groupBlocks"&&(!Array.isArray(n.blockIds)||n.blockIds.length<2)?{ok:!1,code:"MISSING_FIELDS",errors:["groupBlocks requires a blockIds array with >= 2 ids"]}:{ok:!0}}function Wt(t,r,n){let i=Array.isArray(t)?[...t]:[];if(r==="insertItem"){if(n.item===void 0||n.item===null)return i;let a=typeof n.at=="number"?n.at:i.length;return i.splice(Math.max(0,Math.min(a,i.length)),0,n.item),i}return r==="updateItem"?i.map(a=>a&&typeof a=="object"&&a.id===n.itemId?{...a,...n.item??{}}:a):i.filter(a=>!(a&&typeof a=="object"&&a.id===n.itemId))}var Gt=new Set(["position","size","rotation","zIndex","z"]);function W(t){return t===null||typeof t!="object"?JSON.stringify(t)??"null":Array.isArray(t)?"["+t.map(W).join(",")+"]":"{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+W(t[n])).join(",")+"}"}function rt(t,r){let n=r??{};switch(t){case"updateBlock":case"updateBlockTheme":case"updateBlockElementStyle":case"deleteBlock":case"duplicateBlock":case"removeAction":return n.blockId?{kind:"block",blockId:n.blockId}:{kind:"untracked"};case"updateItem":case"deleteItem":return n.blockId&&n.collection&&n.itemId?{kind:"item",blockId:n.blockId,collection:n.collection,itemId:n.itemId}:{kind:"untracked"};default:return{kind:"untracked"}}}function Nt(t,r){if(Array.isArray(t))for(let n of t){let i=n?.blocks?.find?.(a=>a&&a.id===r);if(i)return i}}function at(t,r){if(r.kind==="untracked")return null;let n=r.blockId?Nt(t,r.blockId):void 0;if(!n)return null;if(r.kind==="block"){let h={};for(let d of Object.keys(n))Gt.has(d)||(h[d]=n[d]);return W(h)}let i=n[r.collection];if(!Array.isArray(i))return null;let a=i.find(h=>h&&h.id===r.itemId);return a?W(a):null}function qt(t,r){return t==null?"apply":r==null?"missing":t===r?"apply":"stale"}function Ht(t,r,n){let i=rt(t,r);return{target:i,baseSignature:at(n,i)}}var ve=/@\[([^\]|]+)\|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})\]/g;function Kt(t){let r=[];for(let n of(t??"").matchAll(ve))r.push({name:n[1].trim(),id:n[2]});return r}function Jt(t,r){let n=new Map,i=new Map;for(let S of r?.scenes??[]){S?.id&&n.set(S.id,S);for(let f of S?.blocks??[])f?.id&&i.set(f.id,{block:f,sceneId:S.id})}let a=[],h=new Set,d=S=>i.has(S)?"il blocco selezionato":n.has(S)?"la scena selezionata":"l'elemento selezionato",D=(S,f)=>{if(!h.has(f))if(i.has(f)){let{block:O,sceneId:Dt}=i.get(f);a.push({id:f,name:S,kind:"block",blockType:O?.type,sceneId:Dt}),h.add(f)}else n.has(f)&&(a.push({id:f,name:S,kind:"scene"}),h.add(f))},A=(t??"").replace(ve,(S,f,O)=>(D(f.trim(),O),f.trim())),T=(t??"").replace(ve,(S,f,O)=>i.has(O)||n.has(O)?d(O):f.trim());return{cleanedText:A,agentText:T,entities:a}}var At=require("zod-to-json-schema");var it=require("zod"),Ee=["Quiz","Editor","Hotpoint","Embed","Media","DragAndDrop","Anagram","Dice","Crossword","WordSearch","Puzzle","Memory","Flashcard","SpinningWheel","Chart","MatchPairs","Shape","Arrow","Cloze","CardDeck"],Y=it.z.enum(Ee);var p=require("zod"),U=p.z.object({x:p.z.number(),y:p.z.number(),z:p.z.number().optional()}),R=p.z.object({width:p.z.number().optional(),height:p.z.number().optional()}),M=p.z.object({rows:p.z.number(),cols:p.z.number()}),v=p.z.enum(["image","color","gif","shape","illustration","video","audio"]),Qe=p.z.enum(["unsplash","pexels","upload","url","library","tenor"]),Le=p.z.object({x:p.z.number(),y:p.z.number(),width:p.z.number(),height:p.z.number(),zoom:p.z.number().optional(),rotation:p.z.number().optional(),aspect:p.z.number().optional()}),_e=p.z.object({autoplay:p.z.boolean().optional(),loop:p.z.boolean().optional(),muted:p.z.boolean().optional(),controls:p.z.boolean().optional(),poster:p.z.string().optional(),volume:p.z.number().optional()}),c=p.z.object({id:p.z.string().optional(),url:p.z.string().optional(),title:p.z.string().optional(),type:v,source:Qe.optional(),alt:p.z.string().optional(),width:p.z.number().optional(),height:p.z.number().optional(),format:p.z.enum(["cover","contain"]).optional(),color:p.z.string().optional(),cropData:Le.optional(),duration:p.z.number().optional(),videoSettings:_e.optional()}),ct=c;var o=require("zod");var Re=o.z.object({type:o.z.union([o.z.enum(["none","fade","direction","bounce","scale","rotate"]),o.z.string()]),duration:o.z.number().optional(),delay:o.z.number().optional(),phase:o.z.enum(["in","both","out"]).optional(),direction:o.z.enum(["up","right","down","left"]).optional()}),Z=o.z.object({top:o.z.union([o.z.string(),o.z.number()]).optional(),right:o.z.union([o.z.string(),o.z.number()]).optional(),bottom:o.z.union([o.z.string(),o.z.number()]).optional(),left:o.z.union([o.z.string(),o.z.number()]).optional()}),Fe=o.z.object({topLeft:o.z.union([o.z.string(),o.z.number()]).optional(),topRight:o.z.union([o.z.string(),o.z.number()]).optional(),bottomRight:o.z.union([o.z.string(),o.z.number()]).optional(),bottomLeft:o.z.union([o.z.string(),o.z.number()]).optional()}),s=o.z.object({background:o.z.boolean().optional(),backgroundColor:o.z.string().optional(),backgroundOpacity:o.z.number().optional(),backgroundMedia:c.optional(),border:o.z.boolean().optional(),borderColor:o.z.string().optional(),borderWidth:Z.optional(),borderRadius:Fe.optional(),padding:o.z.union([o.z.string(),o.z.number(),Z]).optional()}),u=o.z.object({color:o.z.string().optional(),fontSize:o.z.number().optional(),fontFamily:o.z.string().optional(),fontStyle:o.z.string().optional(),fontWeight:o.z.union([o.z.string(),o.z.number()]).optional(),textAlign:o.z.enum(["left","center","right","justify"]).optional()}),I=s.merge(u),b=o.z.object({spacing:o.z.enum(["no-spacing","small","medium","large"]).optional(),animation:Re.optional(),styles:o.z.record(o.z.record(o.z.any())).optional()}),X=b.extend({styles:o.z.object({hotpoint:o.z.object({icon:o.z.string().optional(),iconPosition:o.z.enum(["left","right"]).optional(),iconSize:o.z.string().optional(),iconColor:o.z.string().optional(),image:c.optional(),imageFormat:o.z.enum(["circle","square","custom"]).optional(),border:o.z.boolean().optional(),borderColor:o.z.string().optional(),borderWidth:o.z.string().optional(),borderRadius:o.z.string().optional(),glow:o.z.boolean().optional(),glowColor:o.z.string().optional(),background:o.z.boolean().optional(),backgroundColor:o.z.string().optional(),fontSize:o.z.number().optional(),fontFamily:o.z.string().optional(),fontStyle:o.z.string().optional(),textColor:o.z.string().optional()}).optional()}).optional()}),ee=b.extend({layout:o.z.enum(["horizontal","vertical","grid"]),gridColumns:o.z.number().optional(),preset:o.z.enum(["default","modern","trivia","custom"]),styles:o.z.object({general:I,question:I,answers:I.extend({customStyles:o.z.array(o.z.object({color:o.z.string().optional(),backgroundColor:o.z.string().optional(),targets:o.z.string().optional()})).optional(),hover:I.optional()}),button:I.extend({variant:o.z.enum(["default","outline","ghost"]).optional(),hover:I.optional()})}).optional()}),oe=b.extend({layoutPosition:o.z.enum(["left","right","top","bottom"]).optional(),splitRatio:o.z.number().optional(),gridColumns:o.z.number().optional(),gridGap:o.z.number().optional().describe("Gap in pixels between auto-laid items (list/grid)."),pool:o.z.object({x:o.z.number().optional(),y:o.z.number().optional(),width:o.z.number().optional(),height:o.z.number().optional()}).optional().describe("Movable/resizable frame for the list/grid item pool (sandbox px)."),styles:o.z.object({title:u.optional(),sandbox:s.optional(),item:I.optional(),group:s.optional(),container:s.extend({url:o.z.string().optional(),type:v.optional()}).optional(),groups:I.optional(),feedback:o.z.object({correct:o.z.string().optional(),incorrect:o.z.string().optional(),active:o.z.string().optional()}).optional(),referenceSize:o.z.object({width:o.z.number(),height:o.z.number()}).optional()}).optional()}),te=b.extend({styles:o.z.object({editor:s.optional()}).optional()}),ne=b.extend({styles:o.z.object({letter:s.optional(),letterText:u.optional(),slot:s.optional(),container:s.optional()}).optional()}),re=b.extend({styles:o.z.object({button:s.extend({hover:I.optional()}).optional(),buttonText:u.optional(),container:s.optional()}).optional()}),ae=b.extend({primaryColor:o.z.string().optional(),layoutPosition:o.z.enum(["left","right","top","bottom"]).optional(),splitRatio:o.z.number().optional(),styles:o.z.object({text:u.optional(),cell:s.optional(),grid:s.optional(),clueContainer:s.optional(),clueText:u.optional(),clueTitle:u.optional()}).optional()}),ie=b.extend({layoutPosition:o.z.enum(["left","right","top","bottom"]).optional(),splitRatio:o.z.number().optional(),styles:o.z.object({wordSearch:o.z.object({primaryColor:o.z.string().optional(),highlightColor:o.z.string().optional(),fontSize:o.z.number().optional(),fontFamily:o.z.string().optional(),textColor:o.z.string().optional(),cellBackgroundColor:o.z.string().optional()}).optional(),text:u.optional(),cell:s.optional(),grid:s.optional(),wordListContainer:s.optional(),wordListText:u.optional(),wordListTitle:u.optional()}).optional()}),ce=b.extend({styles:o.z.object({text:u.optional(),container:s.optional(),infoContainer:s.optional(),infoText:u.optional(),card:s.optional()}).optional()}),le=b.extend({styles:o.z.object({wheelText:u.optional()}).optional()}),pe=b.extend({layoutPosition:o.z.enum(["left","right","top","bottom"]).optional(),styles:o.z.object({text:u.optional(),container:s.optional(),wordBank:s.optional(),word:s.optional(),blank:s.optional()}).optional()}),se=b.extend({styles:o.z.object({card:s.optional(),cardText:u.optional(),container:s.optional()}).optional()}),me=b.extend({styles:o.z.object({cardFront:s.optional(),cardBack:s.optional(),frontText:u.optional(),backText:u.optional(),navigation:s.optional(),navigationText:u.optional()}).optional()}),de=b.extend({layoutPosition:o.z.enum(["left","right","top","bottom"]).optional(),styles:o.z.object({text:u.optional(),card:s.optional(),container:s.optional()}).optional()}),he=b.extend({styles:o.z.object({shape:I.extend({fillColor:o.z.string().optional(),textColor:o.z.string().optional(),borderStyle:o.z.enum(["solid","dashed","dotted"]).optional(),padding:o.z.number().optional()}).optional()}).optional()});var G={quiz:{title:["question"],answers:["answers"],button:["button"],general:["general"]},poll:{title:["question"],answers:["answers"],button:["button"],general:["general"]},flashcard:{title:["frontText","backText"],answers:["cardFront","cardBack"],general:["cardFront","cardBack"]},memory:{title:["text"],answers:["card"],general:["container"]},matchpairs:{title:["text"],answers:["card"],general:["container"]},cloze:{title:["text"],answers:["word","blank"],general:["container"]},carddeck:{title:["cardText"],answers:["card"],general:["container"]},anagram:{title:["letterText"],answers:["letter","slot"],general:["container"]},dice:{title:["buttonText"],answers:["button"],button:["button"],general:["container"]},crossword:{title:["clueTitle","text"],answers:["cell"],general:["grid"]},wordsearch:{title:["wordListTitle","text"],answers:["cell"],general:["grid"]},spinningwheel:{title:["wheelText"],answers:["wheelText"],general:["wheelText"]},shape:{title:["shape"],answers:["shape"],general:["shape"]},hotpoint:{title:["hotpoint"],answers:["hotpoint"],general:["hotpoint"]},editor:{title:["editor"],answers:["editor"],general:["editor"]},draganddrop:{title:["title"],answers:["item"],general:["container"]}};function lt(t){let r=G[t.toLowerCase()];if(!r)return[];let n=new Set;for(let i of Object.values(r))for(let a of i??[])n.add(a);return[...n]}var We={quiz:["general","question","answers","button"],poll:["general","question","answers","button"],flashcard:["cardFront","cardBack","frontText","backText","navigation","navigationText"],memory:["container","card","text","infoContainer","infoText"],matchpairs:["container","card","text"],cloze:["container","text","wordBank","word","blank"],carddeck:["container","card","cardText"],anagram:["container","letter","letterText","slot"],dice:["container","button","buttonText"],crossword:["grid","cell","text","clueContainer","clueTitle","clueText"],wordsearch:["grid","cell","text","wordListContainer","wordListTitle","wordListText"],spinningwheel:["wheelText"],shape:["shape"],editor:["editor"],hotpoint:["hotpoint"],draganddrop:["container","title","sandbox","groups","item","group"]},Ge=new Set(["chart","media","image","puzzle"]);function pt(t){if(!t)return"";let r=t.toLowerCase();if(Ge.has(r))return`
2
+ [STYLE TARGETS] Il blocco "${t}" non ha sotto-elementi tematizzabili: NON puoi cambiarne colori/bordi via update_block_theme. Puoi solo cambiare lo sfondo della SCENA \u2014 sii onesto col l'utente.`;let n=We[r];if(!n||n.length===0)return"";let i=G[r]??{},a=["general","title","answers","button"].filter(h=>i[h]).map(h=>`${h}\u2192${i[h].join("/")}`).join(", ");return`
3
+ [STYLE TARGETS for ${t}] Logical targets (update_block_theme): ${a}. Real sub-element keys (update_block_style 'target'): ${n.join(", ")}.`}function ue(t,r){if(!t)return t;let n={...t};for(let[D,A]of Object.entries(n))if(A&&typeof A=="object"){let T={...A},S=!1;T.backgroundColor!==void 0&&T.background===void 0&&(T.background=!0,S=!0),T.borderColor!==void 0&&T.border===void 0&&(T.border=!0,S=!0),S&&(n[D]=T)}if(!r)return n;let i=G[r.toLowerCase()];if(!i)return n;let a=(D,A)=>{A&&(n[D]={...n[D]||{},...A})},h=["title","answers","button","general"],d={title:n.title,answers:n.answers,button:n.button??n.buttons,general:n.general};for(let D of h){let A=d[D],T=i[D];if(A&&T)for(let S of T)a(S,A)}return n}function st(t,r,n){if(!t){let d={...r};return d.styles&&(d.styles=ue(d.styles,n)),d}if(!r)return t;let i={...t,...r},a=ue(r.styles,n),h=t.styles||{};if(t.styles||a){i.styles={...h,...a};for(let d of Object.keys(i.styles))h[d]&&a?.[d]&&(i.styles[d]={...h[d],...a[d]})}return i}var l=require("zod"),ge=l.z.enum(["quiz_submit","timer_complete","click","scored","keypress","variable","custom","item_dropped","item_removed","group_filled","media_ended"]),Ne=l.z.enum(["equals","not_equals","greater_than","less_than","greater_than_or_equal","less_than_or_equal","contains"]),mt=l.z.enum(["all_correct","incorrect","all_wrong","score_perfect","score_above_75","score_above_50","failed"]),dt=l.z.enum(["completed","half_way"]),ht=l.z.enum(["single_click","double_click"]),ut=l.z.literal("key_pressed"),ye=l.z.object({event:ge.optional(),variableName:l.z.string().optional(),operator:Ne.optional(),value:l.z.any()}),qe=l.z.enum(["set","add","subtract","multiply","divide"]),He=l.z.enum(["navigate","modal","audio","reveal","hide","toggle_visibility","link","refresh","complete","set_variable","math_variable","move"]),Ke=l.z.object({name:l.z.string(),value:l.z.union([l.z.number(),l.z.string(),l.z.boolean()]),operation:qe.optional()}),Se=l.z.object({id:l.z.string(),type:He,condition:ye.optional(),conditions:l.z.array(ye).optional(),conditionsOperator:l.z.enum(["and","or"]).optional(),modalContent:l.z.string().optional(),audioUrl:l.z.string().optional(),linkUrl:l.z.string().optional(),targetSceneId:l.z.string().optional(),targetBlockId:l.z.string().optional(),direction:l.z.enum(["up","down","left","right"]).optional(),distance:l.z.number().optional(),variable:Ke.optional()}),yt=l.z.object({name:l.z.string(),defaultValue:l.z.union([l.z.string(),l.z.number(),l.z.boolean()])}),gt=l.z.object({type:ge,blockId:l.z.string(),data:l.z.record(l.z.any()).optional()});var y=require("zod");var St=y.z.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]),E=y.z.enum(["left","right","center"]),Q=y.z.object({width:y.z.number().optional(),height:y.z.number().optional()}),Je=y.z.object({id:y.z.string(),text:y.z.string(),isCorrect:y.z.boolean(),image:c.optional(),imageAlign:E.optional(),imageSize:Q.optional()}),Ve={id:y.z.string(),text:y.z.string(),score:y.z.number().optional(),image:c.optional(),imageAlign:E.optional(),imageSize:Q.optional()},$e=y.z.object({...Ve,type:y.z.enum(["single-choice","multiple-choice"]),options:y.z.array(Je)}),Ye=y.z.object({...Ve,type:y.z.literal("true-false"),correctAnswer:y.z.boolean()}),Ue=y.z.object({...Ve,type:y.z.enum(["short-answers","long-answers"]),minCharacters:y.z.number().optional(),maxCharacters:y.z.number().optional()}),be=y.z.discriminatedUnion("type",[$e,Ye,Ue]);var e=require("zod");var j=require("zod");var N=j.z.enum(["scattered","rotated","scattered_rotated"]),Ze=j.z.enum(["swap","slide"]),fe=j.z.object({image:j.z.union([j.z.string(),c]).optional().describe("Image URL or MediaItem for puzzle."),pieces:j.z.number().int().optional().describe("Number of pieces (e.g. 9, 16, 25)."),gameMode:N.optional(),puzzleType:Ze.optional(),showNumbers:j.z.union([j.z.boolean(),j.z.string()]).optional().describe("Show helper numbers on puzzle pieces."),seed:j.z.string().optional().describe("Deterministic seed for piece placement.")});var Xe=e.z.enum(["2D","360\xB0"]),q={id:e.z.string(),type:Y,title:e.z.string(),showTitle:e.z.boolean().optional(),locked:e.z.boolean().optional(),groupId:e.z.string().optional(),position:U.optional(),rotation:e.z.number(),hidden:e.z.boolean().optional(),draggable:e.z.boolean().optional(),size:R.optional(),minSize:R.optional(),maxSize:R.optional(),theme:b.optional()},x={...q,actions:e.z.array(Se).optional(),score:e.z.number().optional()},bt=e.z.object(x),eo=e.z.object({id:e.z.string(),text:e.z.string(),background:c.optional(),opacity:e.z.number().optional(),x:e.z.number().optional(),y:e.z.number().optional(),width:e.z.number().optional(),height:e.z.number().optional(),styles:s.optional(),textStyles:u.optional()}),oo=e.z.object({id:e.z.string(),name:e.z.string(),background:c.optional(),x:e.z.number().optional(),y:e.z.number().optional(),width:e.z.number().optional(),height:e.z.number().optional(),singleItem:e.z.boolean().optional(),opacity:e.z.number().optional(),styles:s.optional(),textStyles:u.optional(),items:e.z.array(eo)}),to=e.z.enum(["d4","d6","d8","d10","d12","d20"]),no=e.z.object({char:e.z.string(),isBlack:e.z.boolean(),number:e.z.number().optional(),row:e.z.number(),col:e.z.number()}),ro=e.z.object({answer:e.z.string(),clue:e.z.string(),image:c.optional(),startx:e.z.number(),starty:e.z.number(),orientation:e.z.enum(["across","down","none"]),position:e.z.number()}),ao=e.z.object({grid:e.z.array(e.z.array(no)),rows:e.z.number(),cols:e.z.number(),words:e.z.array(ro)}),io=e.z.object({grid:e.z.array(e.z.array(e.z.string())),placedWords:e.z.array(e.z.object({word:e.z.string(),clean:e.z.string(),path:e.z.array(e.z.object({x:e.z.number(),y:e.z.number()}))}))}),co=e.z.object({id:e.z.string(),type:e.z.enum(["img-img","img-word","word-word"]),content:e.z.tuple([e.z.string(),e.z.string()])}),lo=e.z.object({id:e.z.string(),text:e.z.string(),color:e.z.string().optional(),image:c.optional()}),xe=e.z.object({type:e.z.enum(["text","image"]),content:e.z.any()}),po=e.z.object({id:e.z.string(),front:xe,back:xe}),so=e.z.object({id:e.z.string(),frontImage:c.optional(),frontText:e.z.string().optional()}),mo=e.z.object({id:e.z.string(),leftLabel:e.z.string(),rightLabel:e.z.string(),leftImage:e.z.any().optional(),rightImage:e.z.any().optional()}),ho=e.z.enum(["rectangle","rounded-rectangle","circle","triangle","triangle-inverted","pentagon","hexagon","heptagon","octagon","decagon","star","star-4","star-5","star-6","star-8","star-12","star-24","arrow-block-right","arrow-block-left","arrow-block-up","arrow-block-down","arrow-block-left-right","flow-process","flow-decision","flow-data","flow-document","flow-start-stop","callout-rect","callout-round","callout-cloud","cloud","heart","banner","tear","gear","asterisk"]),ke=e.z.enum(["none","arrow","circle","square"]),uo=e.z.object({id:e.z.string(),text:e.z.string(),t:e.z.number(),offsetX:e.z.number().optional(),offsetY:e.z.number().optional(),fontSize:e.z.number().optional(),color:e.z.string().optional(),backgroundColor:e.z.string().optional()}),yo=e.z.object({...x,type:e.z.literal("Quiz"),questions:e.z.array(be).optional(),previewIndex:e.z.number().optional(),required:e.z.boolean().optional(),showResults:e.z.boolean().optional(),allowRetry:e.z.boolean().optional(),maxRetry:e.z.string().optional(),submitText:e.z.string().optional(),timer:e.z.string().optional(),showQuestionCount:e.z.boolean().optional(),theme:ee}),go=e.z.object({...x,type:e.z.literal("Hotpoint"),showIcon:e.z.boolean().optional(),element:e.z.enum(["image","button"]),theme:X.optional()}),So=e.z.object({...x,type:e.z.literal("Editor"),content:e.z.any().optional(),readonly:e.z.boolean().optional(),theme:te.optional()}),bo=e.z.object({...q,type:e.z.literal("Media"),media:c.optional()}),fo=e.z.object({...q,type:e.z.literal("Embed"),url:e.z.string().optional(),readOnly:e.z.boolean().optional()}),xo=e.z.object({...x,type:e.z.literal("DragAndDrop"),groups:e.z.array(oo),theme:oe.optional(),showResults:e.z.boolean().optional(),layout:e.z.enum(["manual","split"]).optional(),itemArrangement:e.z.enum(["random","list","grid"]).optional(),groupBackground:c.optional(),enableWrongAnswers:e.z.boolean().optional(),itemBackground:c.optional(),groupBackgroundOpacity:e.z.number().optional(),itemBackgroundOpacity:e.z.number().optional(),splitRatio:e.z.number().optional()}),ko=e.z.object({...x,type:e.z.literal("Anagram"),letters:e.z.array(e.z.string()),correctWord:e.z.string(),theme:ne.optional(),clue:e.z.string().optional(),allowRetry:e.z.boolean().optional(),maxRetry:e.z.string().optional()}),zo=e.z.object({...x,type:e.z.literal("Dice"),rollHistory:e.z.array(e.z.number()).optional(),diceType:to.optional(),faceOverrides:e.z.any().optional(),color:e.z.string().optional(),showNumber:e.z.boolean().optional(),diceCount:e.z.number().optional(),dicePool:e.z.record(e.z.number()).optional(),persistent:e.z.boolean().optional(),theme:re.optional()}),Co=e.z.object({...x,type:e.z.literal("Puzzle"),image:c.optional(),pieces:e.z.number().optional(),gameMode:N.optional(),puzzleType:e.z.enum(["swap","slide"]).optional(),showNumbers:e.z.union([e.z.boolean(),e.z.string()]).optional(),seed:e.z.string().optional()}),Bo=e.z.object({...x,type:e.z.literal("Crossword"),words:e.z.array(e.z.object({answer:e.z.string(),clue:e.z.string(),image:c.optional()})).optional(),layout:ao.optional(),theme:ae.optional()}),To=e.z.enum(["easy","medium","hard"]),wo=e.z.object({...x,type:e.z.literal("WordSearch"),words:e.z.array(e.z.string()).optional(),gridSize:M.optional(),difficulty:To.optional(),data:io.optional(),theme:ie.optional()}),Ao=e.z.object({...x,type:e.z.literal("Memory"),pairs:e.z.array(co),gridSize:M.optional(),hideScore:e.z.boolean().optional(),theme:ce.optional()}),jo=e.z.object({...x,type:e.z.literal("Flashcard"),cards:e.z.array(po),theme:me.optional()}),Io=e.z.object({...x,type:e.z.literal("SpinningWheel"),slices:e.z.array(lo),spinDuration:e.z.number().optional(),theme:le.optional()}),Do=e.z.object({...x,type:e.z.literal("Chart"),chartType:e.z.enum(["line","bar","pie","doughnut","radar","area","scatter"]),chartData:e.z.array(e.z.any()),chartConfig:e.z.object({colors:e.z.array(e.z.string()).optional(),xAxisLabel:e.z.string().optional(),yAxisLabel:e.z.string().optional(),showLegend:e.z.boolean().optional(),showTooltip:e.z.boolean().optional(),stacked:e.z.boolean().optional(),seriesNames:e.z.record(e.z.string()).optional()})}),Mo=e.z.object({...x,type:e.z.literal("MatchPairs"),instructions:e.z.string().optional(),pairs:e.z.array(mo),theme:de.optional()}),Po=e.z.object({...x,type:e.z.literal("Cloze"),templateText:e.z.string().optional(),theme:pe.optional(),mode:e.z.enum(["write","drag-drop"]).optional()}),Oo=e.z.object({...x,type:e.z.literal("CardDeck"),cards:e.z.array(so),backImage:c.optional(),discardLogic:e.z.enum(["delete","return"]),theme:se.optional()}),vo=e.z.object({...q,type:e.z.literal("Shape"),shapeType:ho.optional(),text:e.z.string().optional(),theme:he.optional()}),Eo=e.z.object({...q,type:e.z.literal("Arrow"),startBlockId:e.z.string(),endBlockId:e.z.string().optional(),endPos:e.z.object({x:e.z.number(),y:e.z.number()}).optional(),startHandle:e.z.enum(["top","right","bottom","left"]),endHandle:e.z.enum(["top","right","bottom","left"]).optional(),connectionType:e.z.enum(["straight","orthogonal","curved"]),strokeColor:e.z.string().optional(),strokeWidth:e.z.number().optional(),strokeStyle:e.z.enum(["solid","dashed","dotted"]).optional(),showHead:e.z.boolean().optional(),startHead:ke.optional(),endHead:ke.optional(),bendOffsetX:e.z.number().optional(),bendOffsetY:e.z.number().optional(),segmentCount:e.z.number().optional(),bendOffsets:e.z.array(e.z.number()).optional(),labels:e.z.array(uo).optional()}),ze=e.z.discriminatedUnion("type",[yo,go,So,fo,bo,xo,ko,zo,Co,Bo,wo,Ao,jo,Io,Do,Mo,vo,Eo,Po,Oo]),Qo=e.z.object({id:e.z.string(),name:e.z.string(),locked:e.z.boolean().optional()}),Lo=e.z.object({id:e.z.string(),title:e.z.string(),type:Xe,background:e.z.union([e.z.string(),e.z.array(e.z.string()),c]).optional(),backgroundColor:e.z.string().optional(),backgroundAutoplay:e.z.boolean().optional(),backgroundLoop:e.z.boolean().optional(),secretCode:e.z.string().optional(),hidden:e.z.boolean().optional(),blocks:e.z.array(ze),groups:e.z.array(Qo).optional(),canvas:e.z.object({width:e.z.number().optional(),height:e.z.number().optional(),preset:e.z.enum(["landscape","mobile","infographics","square","custom"]).optional()}).optional()}),ft=e.z.object({id:e.z.string(),title:e.z.string(),hasTimer:e.z.boolean(),timer:e.z.string().optional(),allowNavigation:e.z.boolean(),scenes:e.z.array(Lo),variables:e.z.array(e.z.object({name:e.z.string(),defaultValue:e.z.union([e.z.string(),e.z.number(),e.z.boolean()])})).optional(),audio:e.z.array(e.z.object({id:e.z.string(),media:c.optional(),scenes:e.z.string().optional(),autoplay:e.z.boolean().optional(),loop:e.z.boolean().optional()})).optional()}),xt=e.z.object({id:e.z.string(),type:e.z.literal("BLOCK"),sceneId:e.z.string(),blockData:ze});var k=require("zod"),_o=k.z.object({id:k.z.string(),type:k.z.string(),title:k.z.string()}),Ro=k.z.object({id:k.z.string(),title:k.z.string(),position:k.z.number(),blocks:k.z.array(_o).default([])}),kt=k.z.object({activity:k.z.object({id:k.z.string(),title:k.z.string(),scenes:k.z.array(Ro).default([])}),activeSceneId:k.z.string().nullable().optional()});var g=require("zod");var Fo=g.z.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]),Wo=g.z.object({id:g.z.string().optional(),text:g.z.string(),isCorrect:g.z.boolean(),image:c.optional().describe("Option image."),imageAlign:E.optional().describe("Option image alignment."),imageSize:Q.optional().describe("Option image size.")}),Go=g.z.object({id:g.z.string().optional().describe("Question ID. Auto-generated if omitted."),type:Fo,text:g.z.string().describe("The question text."),score:g.z.number().optional(),options:g.z.array(Wo).optional().describe("Required for single-choice and multiple-choice."),correctAnswer:g.z.boolean().optional().describe("Required for true-false."),image:c.optional().describe("Question image."),imageAlign:E.optional().describe("Question image alignment."),imageSize:Q.optional().describe("Question image size.")}),Ce=g.z.object({questions:g.z.array(Go).describe("Array of question objects."),showResults:g.z.boolean().optional(),allowRetry:g.z.boolean().optional(),maxRetry:g.z.string().optional(),required:g.z.boolean().optional(),submitText:g.z.string().optional().describe("Label for submit button."),timer:g.z.string().optional().describe("Timer duration in seconds as a string."),showQuestionCount:g.z.boolean().optional().describe("Show current/total questions count.")});var Be=require("zod"),No=Be.z.enum(["write","drag-drop"]),Te=Be.z.object({templateText:Be.z.string().describe('Template text with blanks in [brackets]. E.g. "The capital of Italy is [Rome]."'),mode:No.optional().describe("Input mode. Default: write.")});var z=require("zod");var zt=z.z.enum(["Crossword","WordSearch","Anagram"]),qo=z.z.object({answer:z.z.string(),clue:z.z.string(),image:c.optional().describe("Clue image.")}),we=z.z.object({words:z.z.array(qo)}),Ae=z.z.object({words:z.z.array(z.z.string()),gridSize:M.optional().describe("Grid dimensions."),difficulty:z.z.enum(["easy","medium","hard"]).optional()}),je=z.z.object({correctWord:z.z.string().describe("The correct word."),letters:z.z.array(z.z.string()).optional(),clue:z.z.string().optional().describe("A hint.")});var w=require("zod");var Ct=w.z.enum(["Memory","MatchPairs"]),Ho=w.z.enum(["img-img","img-word","word-word"]),Ko=w.z.object({id:w.z.string().optional(),type:Ho.optional().describe("For Memory: pair type."),content:w.z.array(w.z.string()).optional().describe("For Memory: [item1, item2]."),leftLabel:w.z.string().optional().describe("For MatchPairs: left side text."),rightLabel:w.z.string().optional().describe("For MatchPairs: right side text."),leftImage:c.optional().describe("For MatchPairs: left side image."),rightImage:c.optional().describe("For MatchPairs: right side image.")}),H=w.z.object({pairs:w.z.array(Ko).describe("Array of pair objects."),gridSize:M.optional().describe("For Memory: grid dimensions."),instructions:w.z.string().optional().describe("For MatchPairs: instruction text.")});var B=require("zod"),Bt=B.z.enum(["Flashcard","CardDeck"]),Ie=B.z.object({type:B.z.enum(["text","image"]),content:B.z.any()}),Jo=B.z.object({id:B.z.string().optional(),front:Ie.optional().describe("For Flashcard: front side."),back:Ie.optional().describe("For Flashcard: back side."),frontText:B.z.string().optional().describe("For CardDeck: front text."),frontImage:B.z.any().optional().describe("For CardDeck: front image.")}),K=B.z.object({cards:B.z.array(Jo).describe("Array of card objects."),backImage:B.z.any().optional().describe("For CardDeck: shared back image."),discardLogic:B.z.enum(["delete","return"]).optional().describe("For CardDeck.")});var L=require("zod"),Vo=L.z.enum(["d4","d6","d8","d10","d12","d20"]),De=L.z.object({diceType:Vo.optional(),diceCount:L.z.number().int().min(1).max(10).optional(),color:L.z.string().optional().describe("CSS color for dice."),showNumber:L.z.boolean().optional(),persistent:L.z.boolean().optional().describe("Keep dice visible after roll.")});var P=require("zod");var $o=P.z.object({id:P.z.string().optional(),text:P.z.string(),color:P.z.string().optional().describe("CSS color for slice."),image:c.optional().describe("Slice image.")}),Me=P.z.object({slices:P.z.array($o).min(2).describe("Wheel slices (min 2)."),spinDuration:P.z.number().optional().describe("Spin duration in seconds.")});var m=require("zod");var Yo=m.z.object({id:m.z.string().optional(),text:m.z.string(),background:c.optional().describe("Background image/color for item."),opacity:m.z.number().optional().describe("Opacity of the item (0-1)."),x:m.z.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:m.z.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:m.z.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:m.z.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:m.z.number().optional().describe("Manual width in pixels."),height:m.z.number().optional().describe("Manual height in pixels."),styles:s.optional().describe("Box custom styling styles."),textStyles:u.optional().describe("Text custom styling styles.")}),Uo=m.z.object({id:m.z.string().optional(),name:m.z.string().describe("Group/dropzone name."),singleItem:m.z.boolean().optional().describe("Accept only one item inside."),background:c.optional().describe("Background image/color for group."),x:m.z.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:m.z.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:m.z.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:m.z.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:m.z.number().optional().describe("Manual width in pixels."),height:m.z.number().optional().describe("Manual height in pixels."),opacity:m.z.number().optional().describe("Opacity of the group (0-1)."),styles:s.optional().describe("Box custom styling styles."),textStyles:u.optional().describe("Text custom styling styles."),items:m.z.array(Yo).describe("Items that belong in this group.")}),Pe=m.z.object({groups:m.z.array(Uo).min(1).describe("Drag-and-drop groups."),layout:m.z.enum(["manual","split"]).optional().describe("Layout mode: manual placements or split areas."),itemArrangement:m.z.enum(["random","list","grid"]).optional().describe("Initial item arrangement inside sandbox."),showResults:m.z.boolean().optional().describe("Show result feedback immediately."),requireSubmit:m.z.boolean().optional().describe("Require an explicit 'Check' button to grade instead of auto-grading when all items are placed."),enableWrongAnswers:m.z.boolean().optional().describe("Allow placing items in incorrect groups."),groupBackground:c.optional().describe("Shared background image/color for all groups."),itemBackground:c.optional().describe("Shared background image/color for all items."),groupBackgroundOpacity:m.z.number().optional().describe("Shared group background opacity (0-1)."),itemBackgroundOpacity:m.z.number().optional().describe("Shared item background opacity (0-1)."),splitRatio:m.z.number().optional().describe("Proportion ratio for split layout.")});var C=require("zod"),Zo=C.z.enum(["line","bar","pie","doughnut","radar","area","scatter"]),Xo=C.z.object({colors:C.z.array(C.z.string()).optional(),xAxisLabel:C.z.string().optional(),yAxisLabel:C.z.string().optional(),showLegend:C.z.boolean().optional(),showTooltip:C.z.boolean().optional(),stacked:C.z.boolean().optional(),seriesNames:C.z.record(C.z.string()).optional().describe("Dictionary mapping series keys to custom labels.")}),Oe=C.z.object({chartType:Zo.optional(),chartData:C.z.array(C.z.record(C.z.any())).optional().describe("Data array, e.g. [{name:'A', value:10}]."),chartConfig:Xo.optional()});var J=require("zod");var _=J.z.object({content:J.z.any().optional().describe("For Editor: Plate JSON content array."),url:J.z.string().optional().describe("For Media or Embed: content URL."),text:J.z.string().optional().describe("For Shape: text inside shape."),mediaType:v.optional().describe("For Media: media type.")});var Tt=Lt(require("zod-to-json-schema"));var Vt=Tt.zodToJsonSchema,F={Quiz:Ce,Cloze:Te,Crossword:we,WordSearch:Ae,Anagram:je,Memory:H,MatchPairs:H,Flashcard:K,CardDeck:K,Dice:De,SpinningWheel:Me,DragAndDrop:Pe,Chart:Oe,Puzzle:fe,Editor:_,Media:_,Embed:_,Shape:_};function $t(t,r,n,i){let a=n?"*required*":"optional",h=et(r),d=r.description?` \u2014 ${r.description}`:"";return`${i}- \`${t}\` (${h}, ${a})${d}`}function et(t){return t.enum?`enum: ${t.enum.map(r=>JSON.stringify(r)).join(" | ")}`:t.anyOf||t.oneOf?(t.anyOf||t.oneOf).map(et).join(" | "):Array.isArray(t.type)?t.type.join(" | "):t.type==="array"&&t.items?`array<${et(t.items)}>`:t.type==="object"?"object":t.type??"any"}function ot(t,r){let n=[],i=new Set(t.required??[]),a=t.properties??{};for(let[h,d]of Object.entries(a))n.push($t(h,d,i.has(h),r)),d.type==="object"&&d.properties?n.push(ot(d,r+" ")):d.type==="array"&&d.items?.type==="object"&&n.push(ot(d.items,r+" "));return n.join(`
4
+ `)}function wt(){let t=[],r=new Map;for(let[n,i]of Object.entries(F)){let a=r.get(i)??[];a.push(n),r.set(i,a)}for(let[n,i]of r.entries()){let a=i.join(" / "),h=Vt(n,{target:"jsonSchema7"}),d=ot(h,"");t.push(`### ${a}
5
+ ${d||"_(no configurable fields)_"}`)}return t.join(`
6
6
 
7
- `)}});var je=y(M=>{"use strict";var Lo=M&&M.__createBinding||(Object.create?(function(i,r,n,l){l===void 0&&(l=n);var s=Object.getOwnPropertyDescriptor(r,n);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return r[n]}}),Object.defineProperty(i,l,s)}):(function(i,r,n,l){l===void 0&&(l=n),i[l]=r[n]})),U=M&&M.__exportStar||function(i,r){for(var n in i)n!=="default"&&!Object.prototype.hasOwnProperty.call(r,n)&&Lo(r,i,n)};Object.defineProperty(M,"__esModule",{value:!0});U(be(),M);U(q(),M);U(se(),M);U(Pe(),M);U(fe(),M);U(me(),M);U(qe(),M);U(Le(),M);U(xe(),M);U(Je(),M)});var Qo={};co(Qo,{ActionBlockSchema:()=>e.ActionBlockSchema,ActionConditionSchema:()=>e.ActionConditionSchema,ActionSchema:()=>e.ActionSchema,ActionTypeSchema:()=>e.ActionTypeSchema,ActionVariableSchema:()=>e.ActionVariableSchema,ActivityContentSchema:()=>e.ActivityContentSchema,ActivityContextSchema:()=>e.ActivityContextSchema,ActivityVariableSchema:()=>e.ActivityVariableSchema,AnagramBlockSchema:()=>e.AnagramBlockSchema,AnagramBlockThemeSchema:()=>e.AnagramBlockThemeSchema,AnagramContentSchema:()=>e.AnagramContentSchema,AnimationSchema:()=>e.AnimationSchema,ArrowBlockSchema:()=>e.ArrowBlockSchema,ArrowHeadTypeSchema:()=>e.ArrowHeadTypeSchema,ArrowLabelSchema:()=>e.ArrowLabelSchema,BLOCK_CONTENT_SCHEMAS:()=>e.BLOCK_CONTENT_SCHEMAS,BLOCK_STYLE_KEYS:()=>e.BLOCK_STYLE_KEYS,BLOCK_TYPES:()=>e.BLOCK_TYPES,BasicContentSchema:()=>e.BasicContentSchema,BlockEventSchema:()=>e.BlockEventSchema,BlockEventTypeSchema:()=>e.BlockEventTypeSchema,BlockGroupSchema:()=>e.BlockGroupSchema,BlockSchema:()=>e.BlockSchema,BlockThemeSchema:()=>e.BlockThemeSchema,BlockTypeSchema:()=>e.BlockTypeSchema,BoxSideSchema:()=>e.BoxSideSchema,BoxStylesSchema:()=>e.BoxStylesSchema,CANVAS_OP_NAMES:()=>so,CANVAS_OP_REQUIRED:()=>le,CanvasDragItemSchema:()=>e.CanvasDragItemSchema,CardDeckBlockSchema:()=>e.CardDeckBlockSchema,CardDeckBlockThemeSchema:()=>e.CardDeckBlockThemeSchema,CardFaceSchema:()=>e.CardFaceSchema,CardItemSchema:()=>e.CardItemSchema,CardSchema:()=>e.CardSchema,ChartBlockSchema:()=>e.ChartBlockSchema,ChartConfigSchema:()=>e.ChartConfigSchema,ChartContentSchema:()=>e.ChartContentSchema,ChartTypeSchema:()=>e.ChartTypeSchema,ChoiceQuestionSchema:()=>e.ChoiceQuestionSchema,ClickConditionSchema:()=>e.ClickConditionSchema,ClozeBlockSchema:()=>e.ClozeBlockSchema,ClozeBlockThemeSchema:()=>e.ClozeBlockThemeSchema,ClozeContentSchema:()=>e.ClozeContentSchema,ClozeModeSchema:()=>e.ClozeModeSchema,ConditionOperatorSchema:()=>e.ConditionOperatorSchema,CropDataSchema:()=>e.CropDataSchema,CrosswordBlockSchema:()=>e.CrosswordBlockSchema,CrosswordBlockThemeSchema:()=>e.CrosswordBlockThemeSchema,CrosswordCellSchema:()=>e.CrosswordCellSchema,CrosswordContentSchema:()=>e.CrosswordContentSchema,CrosswordLayoutOutputSchema:()=>e.CrosswordLayoutOutputSchema,CrosswordLayoutWordSchema:()=>e.CrosswordLayoutWordSchema,CrosswordWordSchema:()=>e.CrosswordWordSchema,DeckBlockTypeSchema:()=>e.DeckBlockTypeSchema,DeckContentSchema:()=>e.DeckContentSchema,DiceBlockSchema:()=>e.DiceBlockSchema,DiceBlockThemeSchema:()=>e.DiceBlockThemeSchema,DiceContentSchema:()=>e.DiceContentSchema,DiceTypeSchema:()=>e.DiceTypeSchema,DieTypeSchema:()=>e.DieTypeSchema,DragAndDropBlockSchema:()=>e.DragAndDropBlockSchema,DragAndDropBlockThemeSchema:()=>e.DragAndDropBlockThemeSchema,DragAndDropContentSchema:()=>e.DragAndDropContentSchema,DragAndDropGroupSchema:()=>e.DragAndDropGroupSchema,DragAndDropItemSchema:()=>e.DragAndDropItemSchema,DragGroupSchema:()=>e.DragGroupSchema,DragItemSchema:()=>e.DragItemSchema,EditorBlockSchema:()=>e.EditorBlockSchema,EditorBlockThemeSchema:()=>e.EditorBlockThemeSchema,EmbedBlockSchema:()=>e.EmbedBlockSchema,FlashcardBlockSchema:()=>e.FlashcardBlockSchema,FlashcardBlockThemeSchema:()=>e.FlashcardBlockThemeSchema,FlashcardContentSchema:()=>e.FlashcardContentSchema,FlashcardItemSchema:()=>e.FlashcardItemSchema,GridSizeSchema:()=>e.GridSizeSchema,HotpointBlockSchema:()=>e.HotpointBlockSchema,HotpointBlockThemeSchema:()=>e.HotpointBlockThemeSchema,ImageAlignSchema:()=>e.ImageAlignSchema,ImageSizeSchema:()=>e.ImageSizeSchema,KeyPressConditionSchema:()=>e.KeyPressConditionSchema,MatchPairsBlockSchema:()=>e.MatchPairsBlockSchema,MatchPairsBlockThemeSchema:()=>e.MatchPairsBlockThemeSchema,MatchPairsPairSchema:()=>e.MatchPairsPairSchema,MathOperationSchema:()=>e.MathOperationSchema,MediaBlockSchema:()=>e.MediaBlockSchema,MediaItemSchema:()=>e.MediaItemSchema,MediaRefSchema:()=>e.MediaRefSchema,MediaSourceSchema:()=>e.MediaSourceSchema,MediaTypeSchema:()=>e.MediaTypeSchema,MemoryBlockSchema:()=>e.MemoryBlockSchema,MemoryBlockThemeSchema:()=>e.MemoryBlockThemeSchema,MemoryPairSchema:()=>e.MemoryPairSchema,MemoryPairTypeSchema:()=>e.MemoryPairTypeSchema,PairGameBlockTypeSchema:()=>e.PairGameBlockTypeSchema,PairGameContentSchema:()=>e.PairGameContentSchema,PairSchema:()=>e.PairSchema,PositionSchema:()=>e.PositionSchema,PuzzleBlockSchema:()=>e.PuzzleBlockSchema,PuzzleContentSchema:()=>e.PuzzleContentSchema,PuzzleGameModeSchema:()=>e.PuzzleGameModeSchema,PuzzleTypeSchema:()=>e.PuzzleTypeSchema,QuestionOptionSchema:()=>e.QuestionOptionSchema,QuestionSchema:()=>e.QuestionSchema,QuestionTypeSchema:()=>e.QuestionTypeSchema,QuizBlockSchema:()=>e.QuizBlockSchema,QuizBlockThemeSchema:()=>e.QuizBlockThemeSchema,QuizConditionSchema:()=>e.QuizConditionSchema,QuizContentSchema:()=>e.QuizContentSchema,QuizOptionSchema:()=>e.QuizOptionSchema,QuizQuestionSchema:()=>e.QuizQuestionSchema,QuizQuestionTypeSchema:()=>e.QuizQuestionTypeSchema,RadiusSchema:()=>e.RadiusSchema,STYLE_TARGET_MAP:()=>e.STYLE_TARGET_MAP,SceneBlockRefSchema:()=>e.SceneBlockRefSchema,SceneSchema:()=>e.SceneSchema,SceneSummarySchema:()=>e.SceneSummarySchema,SceneTypeSchema:()=>e.SceneTypeSchema,ShapeBlockSchema:()=>e.ShapeBlockSchema,ShapeBlockThemeSchema:()=>e.ShapeBlockThemeSchema,ShapeTypeSchema:()=>e.ShapeTypeSchema,SizeSchema:()=>e.SizeSchema,SpinnerContentSchema:()=>e.SpinnerContentSchema,SpinnerSliceSchema:()=>e.SpinnerSliceSchema,SpinningWheelBlockSchema:()=>e.SpinningWheelBlockSchema,SpinningWheelBlockThemeSchema:()=>e.SpinningWheelBlockThemeSchema,TextQuestionSchema:()=>e.TextQuestionSchema,TextStylesSchema:()=>e.TextStylesSchema,TimerConditionSchema:()=>e.TimerConditionSchema,TrueFalseQuestionSchema:()=>e.TrueFalseQuestionSchema,UNSTYLEABLE_BLOCKS:()=>e.UNSTYLEABLE_BLOCKS,VideoSettingsSchema:()=>e.VideoSettingsSchema,WheelSliceSchema:()=>e.WheelSliceSchema,WordGameBlockTypeSchema:()=>e.WordGameBlockTypeSchema,WordSearchBlockSchema:()=>e.WordSearchBlockSchema,WordSearchBlockThemeSchema:()=>e.WordSearchBlockThemeSchema,WordSearchContentSchema:()=>e.WordSearchContentSchema,WordSearchDataSchema:()=>e.WordSearchDataSchema,WordSearchDifficultySchema:()=>e.WordSearchDifficultySchema,applyItemPatch:()=>ho,detectConflict:()=>So,entitySignature:()=>De,generateBlockReference:()=>e.generateBlockReference,getAllBlockJsonSchemas:()=>Fo,getBlockJsonSchema:()=>eo,isKnownCanvasOp:()=>ve,listBlockTypes:()=>Ze,mapLogicalThemeStyles:()=>e.mapLogicalThemeStyles,mergeTheme:()=>e.mergeTheme,opConflictStamp:()=>zo,opTarget:()=>Oe,parseMentions:()=>bo,realStyleKeysFor:()=>e.realStyleKeysFor,resolveMentions:()=>go,stableStringify:()=>ie,styleTargetsHelpFor:()=>e.styleTargetsHelpFor,validateCanvasOp:()=>mo});module.exports=lo(Qo);var le={createScene:[],deleteScene:["sceneId"],addBlock:["sceneId","block"],updateScene:["sceneId"],deleteBlock:["sceneId","blockId"],updateBlock:["sceneId","blockId","updates"],duplicateBlock:["sceneId","blockId"],groupBlocks:["blockIds"],updateBlockTheme:["sceneId","blockId","theme"],updateBlockElementStyle:["sceneId","blockId","elementId","customStyle"],addAction:["sceneId","blockId","action"],removeAction:["sceneId","blockId","actionId"],manageVariables:["operation","name"],configureTimer:[],reorderScenes:["sceneId","newIndex"],insertItem:["blockId","collection","item"],updateItem:["blockId","collection","itemId","item"],deleteItem:["blockId","collection","itemId"]},so=Object.keys(le);function ve(i){return Object.prototype.hasOwnProperty.call(le,i)}function mo(i,r){if(!ve(i))return{ok:!1,code:"UNKNOWN_OP",errors:[`unknown op "${i}"`]};if(typeof r!="object"||r===null||Array.isArray(r))return{ok:!1,code:"NOT_OBJECT",errors:["op data must be an object"]};let n=r,l=le[i].filter(s=>n[s]===void 0||n[s]===null);return l.length>0?{ok:!1,code:"MISSING_FIELDS",errors:l.map(s=>`missing field: ${s}`)}:i==="groupBlocks"&&(!Array.isArray(n.blockIds)||n.blockIds.length<2)?{ok:!1,code:"MISSING_FIELDS",errors:["groupBlocks requires a blockIds array with >= 2 ids"]}:{ok:!0}}function ho(i,r,n){let l=Array.isArray(i)?[...i]:[];if(r==="insertItem"){if(n.item===void 0||n.item===null)return l;let s=typeof n.at=="number"?n.at:l.length;return l.splice(Math.max(0,Math.min(s,l.length)),0,n.item),l}return r==="updateItem"?l.map(s=>s&&typeof s=="object"&&s.id===n.itemId?{...s,...n.item??{}}:s):l.filter(s=>!(s&&typeof s=="object"&&s.id===n.itemId))}var po=new Set(["position","size","rotation","zIndex","z"]);function ie(i){return i===null||typeof i!="object"?JSON.stringify(i)??"null":Array.isArray(i)?"["+i.map(ie).join(",")+"]":"{"+Object.keys(i).sort().map(n=>JSON.stringify(n)+":"+ie(i[n])).join(",")+"}"}function Oe(i,r){let n=r??{};switch(i){case"updateBlock":case"updateBlockTheme":case"updateBlockElementStyle":case"deleteBlock":case"duplicateBlock":case"removeAction":return n.blockId?{kind:"block",blockId:n.blockId}:{kind:"untracked"};case"updateItem":case"deleteItem":return n.blockId&&n.collection&&n.itemId?{kind:"item",blockId:n.blockId,collection:n.collection,itemId:n.itemId}:{kind:"untracked"};default:return{kind:"untracked"}}}function uo(i,r){if(Array.isArray(i))for(let n of i){let l=n?.blocks?.find?.(s=>s&&s.id===r);if(l)return l}}function De(i,r){if(r.kind==="untracked")return null;let n=r.blockId?uo(i,r.blockId):void 0;if(!n)return null;if(r.kind==="block"){let S={};for(let u of Object.keys(n))po.has(u)||(S[u]=n[u]);return ie(S)}let l=n[r.collection];if(!Array.isArray(l))return null;let s=l.find(S=>S&&S.id===r.itemId);return s?ie(s):null}function So(i,r){return i==null?"apply":r==null?"missing":i===r?"apply":"stale"}function zo(i,r,n){let l=Oe(i,r);return{target:l,baseSignature:De(n,l)}}var ze=/@\[([^\]|]+)\|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})\]/g;function bo(i){let r=[];for(let n of(i??"").matchAll(ze))r.push({name:n[1].trim(),id:n[2]});return r}function go(i,r){let n=new Map,l=new Map;for(let B of r?.scenes??[]){B?.id&&n.set(B.id,B);for(let x of B?.blocks??[])x?.id&&l.set(x.id,{block:x,sceneId:B.id})}let s=[],S=new Set,u=B=>l.has(B)?"il blocco selezionato":n.has(B)?"la scena selezionata":"l'elemento selezionato",J=(B,x)=>{if(!S.has(x))if(l.has(x)){let{block:X,sceneId:oo}=l.get(x);s.push({id:x,name:B,kind:"block",blockType:X?.type,sceneId:oo}),S.add(x)}else n.has(x)&&(s.push({id:x,name:B,kind:"scene"}),S.add(x))},R=(i??"").replace(ze,(B,x,X)=>(J(x.trim(),X),x.trim())),E=(i??"").replace(ze,(B,x,X)=>l.has(X)||n.has(X)?u(X):x.trim());return{cleanedText:R,agentText:E,entities:s}}var Xe=require("zod-to-json-schema"),Me=Ie(je()),e=Ie(je());function Ze(){return Object.keys(Me.BLOCK_CONTENT_SCHEMAS)}function eo(i){let r=Me.BLOCK_CONTENT_SCHEMAS[i];if(r)return(0,Xe.zodToJsonSchema)(r,{target:"jsonSchema7",$refStrategy:"none"})}function Fo(){return Object.fromEntries(Ze().map(i=>[i,eo(i)]))}0&&(module.exports={ActionBlockSchema,ActionConditionSchema,ActionSchema,ActionTypeSchema,ActionVariableSchema,ActivityContentSchema,ActivityContextSchema,ActivityVariableSchema,AnagramBlockSchema,AnagramBlockThemeSchema,AnagramContentSchema,AnimationSchema,ArrowBlockSchema,ArrowHeadTypeSchema,ArrowLabelSchema,BLOCK_CONTENT_SCHEMAS,BLOCK_STYLE_KEYS,BLOCK_TYPES,BasicContentSchema,BlockEventSchema,BlockEventTypeSchema,BlockGroupSchema,BlockSchema,BlockThemeSchema,BlockTypeSchema,BoxSideSchema,BoxStylesSchema,CANVAS_OP_NAMES,CANVAS_OP_REQUIRED,CanvasDragItemSchema,CardDeckBlockSchema,CardDeckBlockThemeSchema,CardFaceSchema,CardItemSchema,CardSchema,ChartBlockSchema,ChartConfigSchema,ChartContentSchema,ChartTypeSchema,ChoiceQuestionSchema,ClickConditionSchema,ClozeBlockSchema,ClozeBlockThemeSchema,ClozeContentSchema,ClozeModeSchema,ConditionOperatorSchema,CropDataSchema,CrosswordBlockSchema,CrosswordBlockThemeSchema,CrosswordCellSchema,CrosswordContentSchema,CrosswordLayoutOutputSchema,CrosswordLayoutWordSchema,CrosswordWordSchema,DeckBlockTypeSchema,DeckContentSchema,DiceBlockSchema,DiceBlockThemeSchema,DiceContentSchema,DiceTypeSchema,DieTypeSchema,DragAndDropBlockSchema,DragAndDropBlockThemeSchema,DragAndDropContentSchema,DragAndDropGroupSchema,DragAndDropItemSchema,DragGroupSchema,DragItemSchema,EditorBlockSchema,EditorBlockThemeSchema,EmbedBlockSchema,FlashcardBlockSchema,FlashcardBlockThemeSchema,FlashcardContentSchema,FlashcardItemSchema,GridSizeSchema,HotpointBlockSchema,HotpointBlockThemeSchema,ImageAlignSchema,ImageSizeSchema,KeyPressConditionSchema,MatchPairsBlockSchema,MatchPairsBlockThemeSchema,MatchPairsPairSchema,MathOperationSchema,MediaBlockSchema,MediaItemSchema,MediaRefSchema,MediaSourceSchema,MediaTypeSchema,MemoryBlockSchema,MemoryBlockThemeSchema,MemoryPairSchema,MemoryPairTypeSchema,PairGameBlockTypeSchema,PairGameContentSchema,PairSchema,PositionSchema,PuzzleBlockSchema,PuzzleContentSchema,PuzzleGameModeSchema,PuzzleTypeSchema,QuestionOptionSchema,QuestionSchema,QuestionTypeSchema,QuizBlockSchema,QuizBlockThemeSchema,QuizConditionSchema,QuizContentSchema,QuizOptionSchema,QuizQuestionSchema,QuizQuestionTypeSchema,RadiusSchema,STYLE_TARGET_MAP,SceneBlockRefSchema,SceneSchema,SceneSummarySchema,SceneTypeSchema,ShapeBlockSchema,ShapeBlockThemeSchema,ShapeTypeSchema,SizeSchema,SpinnerContentSchema,SpinnerSliceSchema,SpinningWheelBlockSchema,SpinningWheelBlockThemeSchema,TextQuestionSchema,TextStylesSchema,TimerConditionSchema,TrueFalseQuestionSchema,UNSTYLEABLE_BLOCKS,VideoSettingsSchema,WheelSliceSchema,WordGameBlockTypeSchema,WordSearchBlockSchema,WordSearchBlockThemeSchema,WordSearchContentSchema,WordSearchDataSchema,WordSearchDifficultySchema,applyItemPatch,detectConflict,entitySignature,generateBlockReference,getAllBlockJsonSchemas,getBlockJsonSchema,isKnownCanvasOp,listBlockTypes,mapLogicalThemeStyles,mergeTheme,opConflictStamp,opTarget,parseMentions,realStyleKeysFor,resolveMentions,stableStringify,styleTargetsHelpFor,validateCanvasOp});
7
+ `)}function jt(){return Object.keys(F)}function It(t){let r=F[t];if(r)return(0,At.zodToJsonSchema)(r,{target:"jsonSchema7",$refStrategy:"none"})}function Yt(){return Object.fromEntries(jt().map(t=>[t,It(t)]))}0&&(module.exports={ActionBlockSchema,ActionConditionSchema,ActionSchema,ActionTypeSchema,ActionVariableSchema,ActivityContentSchema,ActivityContextSchema,ActivityVariableSchema,AnagramBlockSchema,AnagramBlockThemeSchema,AnagramContentSchema,AnimationSchema,ArrowBlockSchema,ArrowHeadTypeSchema,ArrowLabelSchema,BLOCK_CONTENT_SCHEMAS,BLOCK_STYLE_KEYS,BLOCK_TYPES,BasicContentSchema,BlockEventSchema,BlockEventTypeSchema,BlockGroupSchema,BlockSchema,BlockThemeSchema,BlockTypeSchema,BoxSideSchema,BoxStylesSchema,CANVAS_OP_NAMES,CANVAS_OP_REQUIRED,CanvasDragItemSchema,CardDeckBlockSchema,CardDeckBlockThemeSchema,CardFaceSchema,CardItemSchema,CardSchema,ChartBlockSchema,ChartConfigSchema,ChartContentSchema,ChartTypeSchema,ChoiceQuestionSchema,ClickConditionSchema,ClozeBlockSchema,ClozeBlockThemeSchema,ClozeContentSchema,ClozeModeSchema,ConditionOperatorSchema,CropDataSchema,CrosswordBlockSchema,CrosswordBlockThemeSchema,CrosswordCellSchema,CrosswordContentSchema,CrosswordLayoutOutputSchema,CrosswordLayoutWordSchema,CrosswordWordSchema,DeckBlockTypeSchema,DeckContentSchema,DiceBlockSchema,DiceBlockThemeSchema,DiceContentSchema,DiceTypeSchema,DieTypeSchema,DragAndDropBlockSchema,DragAndDropBlockThemeSchema,DragAndDropContentSchema,DragAndDropGroupSchema,DragAndDropItemSchema,DragGroupSchema,DragItemSchema,EditorBlockSchema,EditorBlockThemeSchema,EmbedBlockSchema,FlashcardBlockSchema,FlashcardBlockThemeSchema,FlashcardContentSchema,FlashcardItemSchema,GridSizeSchema,HotpointBlockSchema,HotpointBlockThemeSchema,ImageAlignSchema,ImageSizeSchema,KeyPressConditionSchema,MatchPairsBlockSchema,MatchPairsBlockThemeSchema,MatchPairsPairSchema,MathOperationSchema,MediaBlockSchema,MediaItemSchema,MediaRefSchema,MediaSourceSchema,MediaTypeSchema,MemoryBlockSchema,MemoryBlockThemeSchema,MemoryPairSchema,MemoryPairTypeSchema,PairGameBlockTypeSchema,PairGameContentSchema,PairSchema,PositionSchema,PuzzleBlockSchema,PuzzleContentSchema,PuzzleGameModeSchema,PuzzleTypeSchema,QuestionOptionSchema,QuestionSchema,QuestionTypeSchema,QuizBlockSchema,QuizBlockThemeSchema,QuizConditionSchema,QuizContentSchema,QuizOptionSchema,QuizQuestionSchema,QuizQuestionTypeSchema,RadiusSchema,STYLE_TARGET_MAP,SceneBlockRefSchema,SceneSchema,SceneSummarySchema,SceneTypeSchema,ShapeBlockSchema,ShapeBlockThemeSchema,ShapeTypeSchema,SizeSchema,SpinnerContentSchema,SpinnerSliceSchema,SpinningWheelBlockSchema,SpinningWheelBlockThemeSchema,TextQuestionSchema,TextStylesSchema,TimerConditionSchema,TrueFalseQuestionSchema,UNSTYLEABLE_BLOCKS,VideoSettingsSchema,WheelSliceSchema,WordGameBlockTypeSchema,WordSearchBlockSchema,WordSearchBlockThemeSchema,WordSearchContentSchema,WordSearchDataSchema,WordSearchDifficultySchema,applyItemPatch,detectConflict,entitySignature,generateBlockReference,getAllBlockJsonSchemas,getBlockJsonSchema,isKnownCanvasOp,listBlockTypes,mapLogicalThemeStyles,mergeTheme,opConflictStamp,opTarget,parseMentions,realStyleKeysFor,resolveMentions,stableStringify,styleTargetsHelpFor,validateCanvasOp});
package/dist/index.mjs CHANGED
@@ -1,8 +1,7 @@
1
- import { createRequire as __cr } from 'module'; const require = __cr(import.meta.url);
2
- var Ue=Object.create;var Ae=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,eo=Object.prototype.hasOwnProperty;var T=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(r,i)=>(typeof require<"u"?require:r)[i]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var y=(n,r)=>()=>{try{return r||n((r={exports:{}}).exports,r),r.exports}catch(i){throw r=0,i}};var oo=(n,r,i,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Xe(r))!eo.call(n,s)&&s!==i&&Ae(n,s,{get:()=>r[s],enumerable:!(l=Je(r,s))||l.enumerable});return n};var Ie=(n,r,i)=>(i=n!=null?Ue(Ze(n)):{},oo(r||!n||!n.__esModule?Ae(i,"default",{value:n,enumerable:!0}):i,n));var be=y(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.BlockTypeSchema=ee.BLOCK_TYPES=void 0;var co=T("zod");ee.BLOCK_TYPES=["Quiz","Editor","Hotpoint","Embed","Media","DragAndDrop","Anagram","Dice","Crossword","WordSearch","Puzzle","Memory","Flashcard","SpinningWheel","Chart","MatchPairs","Shape","Arrow","Cloze","CardDeck"];ee.BlockTypeSchema=co.z.enum(ee.BLOCK_TYPES)});var L=y(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.MediaRefSchema=b.MediaItemSchema=b.VideoSettingsSchema=b.CropDataSchema=b.MediaSourceSchema=b.MediaTypeSchema=b.GridSizeSchema=b.SizeSchema=b.PositionSchema=void 0;var h=T("zod");b.PositionSchema=h.z.object({x:h.z.number(),y:h.z.number(),z:h.z.number().optional()});b.SizeSchema=h.z.object({width:h.z.number().optional(),height:h.z.number().optional()});b.GridSizeSchema=h.z.object({rows:h.z.number(),cols:h.z.number()});b.MediaTypeSchema=h.z.enum(["image","color","gif","shape","illustration","video","audio"]);b.MediaSourceSchema=h.z.enum(["unsplash","pexels","upload","url","library","tenor"]);b.CropDataSchema=h.z.object({x:h.z.number(),y:h.z.number(),width:h.z.number(),height:h.z.number(),zoom:h.z.number().optional(),rotation:h.z.number().optional(),aspect:h.z.number().optional()});b.VideoSettingsSchema=h.z.object({autoplay:h.z.boolean().optional(),loop:h.z.boolean().optional(),muted:h.z.boolean().optional(),controls:h.z.boolean().optional(),poster:h.z.string().optional(),volume:h.z.number().optional()});b.MediaItemSchema=h.z.object({id:h.z.string().optional(),url:h.z.string().optional(),title:h.z.string().optional(),type:b.MediaTypeSchema,source:b.MediaSourceSchema.optional(),alt:h.z.string().optional(),width:h.z.number().optional(),height:h.z.number().optional(),format:h.z.enum(["cover","contain"]).optional(),color:h.z.string().optional(),cropData:b.CropDataSchema.optional(),duration:h.z.number().optional(),videoSettings:b.VideoSettingsSchema.optional()});b.MediaRefSchema=b.MediaItemSchema});var le=y(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});c.ShapeBlockThemeSchema=c.MatchPairsBlockThemeSchema=c.FlashcardBlockThemeSchema=c.CardDeckBlockThemeSchema=c.ClozeBlockThemeSchema=c.SpinningWheelBlockThemeSchema=c.MemoryBlockThemeSchema=c.WordSearchBlockThemeSchema=c.CrosswordBlockThemeSchema=c.DiceBlockThemeSchema=c.AnagramBlockThemeSchema=c.EditorBlockThemeSchema=c.DragAndDropBlockThemeSchema=c.QuizBlockThemeSchema=c.HotpointBlockThemeSchema=c.BlockThemeSchema=c.TextStylesSchema=c.BoxStylesSchema=c.RadiusSchema=c.BoxSideSchema=c.AnimationSchema=void 0;var t=T("zod"),ge=L();c.AnimationSchema=t.z.object({type:t.z.union([t.z.enum(["none","fade","direction","bounce","scale","rotate"]),t.z.string()]),duration:t.z.number().optional(),delay:t.z.number().optional(),phase:t.z.enum(["in","both","out"]).optional(),direction:t.z.enum(["up","right","down","left"]).optional()});c.BoxSideSchema=t.z.object({top:t.z.union([t.z.string(),t.z.number()]).optional(),right:t.z.union([t.z.string(),t.z.number()]).optional(),bottom:t.z.union([t.z.string(),t.z.number()]).optional(),left:t.z.union([t.z.string(),t.z.number()]).optional()});c.RadiusSchema=t.z.object({topLeft:t.z.union([t.z.string(),t.z.number()]).optional(),topRight:t.z.union([t.z.string(),t.z.number()]).optional(),bottomRight:t.z.union([t.z.string(),t.z.number()]).optional(),bottomLeft:t.z.union([t.z.string(),t.z.number()]).optional()});c.BoxStylesSchema=t.z.object({background:t.z.boolean().optional(),backgroundColor:t.z.string().optional(),backgroundOpacity:t.z.number().optional(),backgroundMedia:ge.MediaItemSchema.optional(),border:t.z.boolean().optional(),borderColor:t.z.string().optional(),borderWidth:c.BoxSideSchema.optional(),borderRadius:c.RadiusSchema.optional(),padding:t.z.union([t.z.string(),t.z.number(),c.BoxSideSchema]).optional()});c.TextStylesSchema=t.z.object({color:t.z.string().optional(),fontSize:t.z.number().optional(),fontFamily:t.z.string().optional(),fontStyle:t.z.string().optional(),fontWeight:t.z.union([t.z.string(),t.z.number()]).optional(),textAlign:t.z.enum(["left","center","right","justify"]).optional()});var K=c.BoxStylesSchema.merge(c.TextStylesSchema);c.BlockThemeSchema=t.z.object({spacing:t.z.enum(["no-spacing","small","medium","large"]).optional(),animation:c.AnimationSchema.optional(),styles:t.z.record(t.z.record(t.z.any())).optional()});c.HotpointBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({hotpoint:t.z.object({icon:t.z.string().optional(),iconPosition:t.z.enum(["left","right"]).optional(),iconSize:t.z.string().optional(),iconColor:t.z.string().optional(),image:ge.MediaItemSchema.optional(),imageFormat:t.z.enum(["circle","square","custom"]).optional(),border:t.z.boolean().optional(),borderColor:t.z.string().optional(),borderWidth:t.z.string().optional(),borderRadius:t.z.string().optional(),glow:t.z.boolean().optional(),glowColor:t.z.string().optional(),background:t.z.boolean().optional(),backgroundColor:t.z.string().optional(),fontSize:t.z.number().optional(),fontFamily:t.z.string().optional(),fontStyle:t.z.string().optional(),textColor:t.z.string().optional()}).optional()}).optional()});c.QuizBlockThemeSchema=c.BlockThemeSchema.extend({layout:t.z.enum(["horizontal","vertical","grid"]),gridColumns:t.z.number().optional(),preset:t.z.enum(["default","modern","trivia","custom"]),styles:t.z.object({general:K,question:K,answers:K.extend({customStyles:t.z.array(t.z.object({color:t.z.string().optional(),backgroundColor:t.z.string().optional(),targets:t.z.string().optional()})).optional(),hover:K.optional()}),button:K.extend({variant:t.z.enum(["default","outline","ghost"]).optional(),hover:K.optional()})}).optional()});c.DragAndDropBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),splitRatio:t.z.number().optional(),gridColumns:t.z.number().optional(),gridGap:t.z.number().optional().describe("Gap in pixels between auto-laid items (list/grid)."),pool:t.z.object({x:t.z.number().optional(),y:t.z.number().optional(),width:t.z.number().optional(),height:t.z.number().optional()}).optional().describe("Movable/resizable frame for the list/grid item pool (sandbox px)."),styles:t.z.object({title:c.TextStylesSchema.optional(),sandbox:c.BoxStylesSchema.optional(),item:K.optional(),group:c.BoxStylesSchema.optional(),container:c.BoxStylesSchema.extend({url:t.z.string().optional(),type:ge.MediaTypeSchema.optional()}).optional(),groups:K.optional(),feedback:t.z.object({correct:t.z.string().optional(),incorrect:t.z.string().optional(),active:t.z.string().optional()}).optional(),referenceSize:t.z.object({width:t.z.number(),height:t.z.number()}).optional()}).optional()});c.EditorBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({editor:c.BoxStylesSchema.optional()}).optional()});c.AnagramBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({letter:c.BoxStylesSchema.optional(),letterText:c.TextStylesSchema.optional(),slot:c.BoxStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.DiceBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({button:c.BoxStylesSchema.extend({hover:K.optional()}).optional(),buttonText:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.CrosswordBlockThemeSchema=c.BlockThemeSchema.extend({primaryColor:t.z.string().optional(),layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),splitRatio:t.z.number().optional(),styles:t.z.object({text:c.TextStylesSchema.optional(),cell:c.BoxStylesSchema.optional(),grid:c.BoxStylesSchema.optional(),clueContainer:c.BoxStylesSchema.optional(),clueText:c.TextStylesSchema.optional(),clueTitle:c.TextStylesSchema.optional()}).optional()});c.WordSearchBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),splitRatio:t.z.number().optional(),styles:t.z.object({wordSearch:t.z.object({primaryColor:t.z.string().optional(),highlightColor:t.z.string().optional(),fontSize:t.z.number().optional(),fontFamily:t.z.string().optional(),textColor:t.z.string().optional(),cellBackgroundColor:t.z.string().optional()}).optional(),text:c.TextStylesSchema.optional(),cell:c.BoxStylesSchema.optional(),grid:c.BoxStylesSchema.optional(),wordListContainer:c.BoxStylesSchema.optional(),wordListText:c.TextStylesSchema.optional(),wordListTitle:c.TextStylesSchema.optional()}).optional()});c.MemoryBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({text:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional(),infoContainer:c.BoxStylesSchema.optional(),infoText:c.TextStylesSchema.optional(),card:c.BoxStylesSchema.optional()}).optional()});c.SpinningWheelBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({wheelText:c.TextStylesSchema.optional()}).optional()});c.ClozeBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),styles:t.z.object({text:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional(),wordBank:c.BoxStylesSchema.optional(),word:c.BoxStylesSchema.optional(),blank:c.BoxStylesSchema.optional()}).optional()});c.CardDeckBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({card:c.BoxStylesSchema.optional(),cardText:c.TextStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.FlashcardBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({cardFront:c.BoxStylesSchema.optional(),cardBack:c.BoxStylesSchema.optional(),frontText:c.TextStylesSchema.optional(),backText:c.TextStylesSchema.optional(),navigation:c.BoxStylesSchema.optional(),navigationText:c.TextStylesSchema.optional()}).optional()});c.MatchPairsBlockThemeSchema=c.BlockThemeSchema.extend({layoutPosition:t.z.enum(["left","right","top","bottom"]).optional(),styles:t.z.object({text:c.TextStylesSchema.optional(),card:c.BoxStylesSchema.optional(),container:c.BoxStylesSchema.optional()}).optional()});c.ShapeBlockThemeSchema=c.BlockThemeSchema.extend({styles:t.z.object({shape:K.extend({fillColor:t.z.string().optional(),textColor:t.z.string().optional(),borderStyle:t.z.enum(["solid","dashed","dotted"]).optional(),padding:t.z.number().optional()}).optional()}).optional()})});var ve=y(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.UNSTYLEABLE_BLOCKS=_.BLOCK_STYLE_KEYS=_.STYLE_TARGET_MAP=void 0;_.realStyleKeysFor=lo;_.styleTargetsHelpFor=so;_.mapLogicalThemeStyles=ye;_.mergeTheme=mo;_.STYLE_TARGET_MAP={quiz:{title:["question"],answers:["answers"],button:["button"],general:["general"]},poll:{title:["question"],answers:["answers"],button:["button"],general:["general"]},flashcard:{title:["frontText","backText"],answers:["cardFront","cardBack"],general:["cardFront","cardBack"]},memory:{title:["text"],answers:["card"],general:["container"]},matchpairs:{title:["text"],answers:["card"],general:["container"]},cloze:{title:["text"],answers:["word","blank"],general:["container"]},carddeck:{title:["cardText"],answers:["card"],general:["container"]},anagram:{title:["letterText"],answers:["letter","slot"],general:["container"]},dice:{title:["buttonText"],answers:["button"],button:["button"],general:["container"]},crossword:{title:["clueTitle","text"],answers:["cell"],general:["grid"]},wordsearch:{title:["wordListTitle","text"],answers:["cell"],general:["grid"]},spinningwheel:{title:["wheelText"],answers:["wheelText"],general:["wheelText"]},shape:{title:["shape"],answers:["shape"],general:["shape"]},hotpoint:{title:["hotpoint"],answers:["hotpoint"],general:["hotpoint"]},editor:{title:["editor"],answers:["editor"],general:["editor"]},draganddrop:{title:["title"],answers:["item"],general:["container"]}};function lo(n){let r=_.STYLE_TARGET_MAP[n.toLowerCase()];if(!r)return[];let i=new Set;for(let l of Object.values(r))for(let s of l??[])i.add(s);return[...i]}_.BLOCK_STYLE_KEYS={quiz:["general","question","answers","button"],poll:["general","question","answers","button"],flashcard:["cardFront","cardBack","frontText","backText","navigation","navigationText"],memory:["container","card","text","infoContainer","infoText"],matchpairs:["container","card","text"],cloze:["container","text","wordBank","word","blank"],carddeck:["container","card","cardText"],anagram:["container","letter","letterText","slot"],dice:["container","button","buttonText"],crossword:["grid","cell","text","clueContainer","clueTitle","clueText"],wordsearch:["grid","cell","text","wordListContainer","wordListTitle","wordListText"],spinningwheel:["wheelText"],shape:["shape"],editor:["editor"],hotpoint:["hotpoint"],draganddrop:["container","title","sandbox","groups","item","group"]};_.UNSTYLEABLE_BLOCKS=new Set(["chart","media","image","puzzle"]);function so(n){if(!n)return"";let r=n.toLowerCase();if(_.UNSTYLEABLE_BLOCKS.has(r))return`
3
- [STYLE TARGETS] Il blocco "${n}" non ha sotto-elementi tematizzabili: NON puoi cambiarne colori/bordi via update_block_theme. Puoi solo cambiare lo sfondo della SCENA \u2014 sii onesto col l'utente.`;let i=_.BLOCK_STYLE_KEYS[r];if(!i||i.length===0)return"";let l=_.STYLE_TARGET_MAP[r]??{},s=["general","title","answers","button"].filter(S=>l[S]).map(S=>`${S}\u2192${l[S].join("/")}`).join(", ");return`
4
- [STYLE TARGETS for ${n}] Logical targets (update_block_theme): ${s}. Real sub-element keys (update_block_style 'target'): ${i.join(", ")}.`}function ye(n,r){if(!n)return n;let i={...n};for(let[X,W]of Object.entries(i))if(W&&typeof W=="object"){let q={...W},B=!1;q.backgroundColor!==void 0&&q.background===void 0&&(q.background=!0,B=!0),q.borderColor!==void 0&&q.border===void 0&&(q.border=!0,B=!0),B&&(i[X]=q)}if(!r)return i;let l=_.STYLE_TARGET_MAP[r.toLowerCase()];if(!l)return i;let s=(X,W)=>{W&&(i[X]={...i[X]||{},...W})},S=["title","answers","button","general"],u={title:i.title,answers:i.answers,button:i.button??i.buttons,general:i.general};for(let X of S){let W=u[X],q=l[X];if(W&&q)for(let B of q)s(B,W)}return i}function mo(n,r,i){if(!n){let u={...r};return u.styles&&(u.styles=ye(u.styles,i)),u}if(!r)return n;let l={...n,...r},s=ye(r.styles,i),S=n.styles||{};if(n.styles||s){l.styles={...S,...s};for(let u of Object.keys(l.styles))S[u]&&s?.[u]&&(l.styles[u]={...S[u],...s[u]})}return l}});var fe=y(d=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});d.BlockEventSchema=d.ActivityVariableSchema=d.ActionSchema=d.ActionVariableSchema=d.ActionTypeSchema=d.MathOperationSchema=d.ActionConditionSchema=d.KeyPressConditionSchema=d.ClickConditionSchema=d.TimerConditionSchema=d.QuizConditionSchema=d.ConditionOperatorSchema=d.BlockEventTypeSchema=void 0;var m=T("zod");d.BlockEventTypeSchema=m.z.enum(["quiz_submit","timer_complete","click","scored","keypress","variable","custom","item_dropped","item_removed","group_filled","media_ended"]);d.ConditionOperatorSchema=m.z.enum(["equals","not_equals","greater_than","less_than","greater_than_or_equal","less_than_or_equal","contains"]);d.QuizConditionSchema=m.z.enum(["all_correct","incorrect","all_wrong","score_perfect","score_above_75","score_above_50","failed"]);d.TimerConditionSchema=m.z.enum(["completed","half_way"]);d.ClickConditionSchema=m.z.enum(["single_click","double_click"]);d.KeyPressConditionSchema=m.z.literal("key_pressed");d.ActionConditionSchema=m.z.object({event:d.BlockEventTypeSchema.optional(),variableName:m.z.string().optional(),operator:d.ConditionOperatorSchema.optional(),value:m.z.any()});d.MathOperationSchema=m.z.enum(["set","add","subtract","multiply","divide"]);d.ActionTypeSchema=m.z.enum(["navigate","modal","audio","reveal","hide","toggle_visibility","link","refresh","complete","set_variable","math_variable","move"]);d.ActionVariableSchema=m.z.object({name:m.z.string(),value:m.z.union([m.z.number(),m.z.string(),m.z.boolean()]),operation:d.MathOperationSchema.optional()});d.ActionSchema=m.z.object({id:m.z.string(),type:d.ActionTypeSchema,condition:d.ActionConditionSchema.optional(),conditions:m.z.array(d.ActionConditionSchema).optional(),conditionsOperator:m.z.enum(["and","or"]).optional(),modalContent:m.z.string().optional(),audioUrl:m.z.string().optional(),linkUrl:m.z.string().optional(),targetSceneId:m.z.string().optional(),targetBlockId:m.z.string().optional(),direction:m.z.enum(["up","down","left","right"]).optional(),distance:m.z.number().optional(),variable:d.ActionVariableSchema.optional()});d.ActivityVariableSchema=m.z.object({name:m.z.string(),defaultValue:m.z.union([m.z.string(),m.z.number(),m.z.boolean()])});d.BlockEventSchema=m.z.object({type:d.BlockEventTypeSchema,blockId:m.z.string(),data:m.z.record(m.z.any()).optional()})});var se=y(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});z.QuestionSchema=z.TextQuestionSchema=z.TrueFalseQuestionSchema=z.ChoiceQuestionSchema=z.QuestionOptionSchema=z.ImageSizeSchema=z.ImageAlignSchema=z.QuestionTypeSchema=void 0;var g=T("zod"),Oe=L();z.QuestionTypeSchema=g.z.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]);z.ImageAlignSchema=g.z.enum(["left","right","center"]);z.ImageSizeSchema=g.z.object({width:g.z.number().optional(),height:g.z.number().optional()});z.QuestionOptionSchema=g.z.object({id:g.z.string(),text:g.z.string(),isCorrect:g.z.boolean(),image:Oe.MediaItemSchema.optional(),imageAlign:z.ImageAlignSchema.optional(),imageSize:z.ImageSizeSchema.optional()});var ke={id:g.z.string(),text:g.z.string(),score:g.z.number().optional(),image:Oe.MediaItemSchema.optional(),imageAlign:z.ImageAlignSchema.optional(),imageSize:z.ImageSizeSchema.optional()};z.ChoiceQuestionSchema=g.z.object({...ke,type:g.z.enum(["single-choice","multiple-choice"]),options:g.z.array(z.QuestionOptionSchema)});z.TrueFalseQuestionSchema=g.z.object({...ke,type:g.z.literal("true-false"),correctAnswer:g.z.boolean()});z.TextQuestionSchema=g.z.object({...ke,type:g.z.enum(["short-answers","long-answers"]),minCharacters:g.z.number().optional(),maxCharacters:g.z.number().optional()});z.QuestionSchema=g.z.discriminatedUnion("type",[z.ChoiceQuestionSchema,z.TrueFalseQuestionSchema,z.TextQuestionSchema])});var Be=y(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.PuzzleContentSchema=Y.PuzzleTypeSchema=Y.PuzzleGameModeSchema=void 0;var H=T("zod"),ho=L();Y.PuzzleGameModeSchema=H.z.enum(["scattered","rotated","scattered_rotated"]);Y.PuzzleTypeSchema=H.z.enum(["swap","slide"]);Y.PuzzleContentSchema=H.z.object({image:H.z.union([H.z.string(),ho.MediaItemSchema]).optional().describe("Image URL or MediaItem for puzzle."),pieces:H.z.number().int().optional().describe("Number of pieces (e.g. 9, 16, 25)."),gameMode:Y.PuzzleGameModeSchema.optional(),puzzleType:Y.PuzzleTypeSchema.optional(),showNumbers:H.z.union([H.z.boolean(),H.z.string()]).optional().describe("Show helper numbers on puzzle pieces."),seed:H.z.string().optional().describe("Deterministic seed for piece placement.")})});var De=y(a=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.CanvasDragItemSchema=a.ActivityContentSchema=a.SceneSchema=a.BlockGroupSchema=a.BlockSchema=a.ArrowBlockSchema=a.ShapeBlockSchema=a.CardDeckBlockSchema=a.ClozeBlockSchema=a.MatchPairsBlockSchema=a.ChartBlockSchema=a.SpinningWheelBlockSchema=a.FlashcardBlockSchema=a.MemoryBlockSchema=a.WordSearchBlockSchema=a.WordSearchDifficultySchema=a.CrosswordBlockSchema=a.PuzzleBlockSchema=a.DiceBlockSchema=a.AnagramBlockSchema=a.DragAndDropBlockSchema=a.EmbedBlockSchema=a.MediaBlockSchema=a.EditorBlockSchema=a.HotpointBlockSchema=a.QuizBlockSchema=a.ArrowLabelSchema=a.ArrowHeadTypeSchema=a.ShapeTypeSchema=a.MatchPairsPairSchema=a.CardItemSchema=a.FlashcardItemSchema=a.FlashcardContentSchema=a.WheelSliceSchema=a.MemoryPairSchema=a.WordSearchDataSchema=a.CrosswordLayoutOutputSchema=a.CrosswordLayoutWordSchema=a.CrosswordCellSchema=a.DiceTypeSchema=a.DragAndDropGroupSchema=a.DragAndDropItemSchema=a.ActionBlockSchema=a.SceneTypeSchema=void 0;var e=T("zod"),po=be(),C=L(),f=le(),uo=se(),So=fe(),zo=Be();a.SceneTypeSchema=e.z.enum(["2D","360\xB0"]);var re={id:e.z.string(),type:po.BlockTypeSchema,title:e.z.string(),showTitle:e.z.boolean().optional(),locked:e.z.boolean().optional(),groupId:e.z.string().optional(),position:C.PositionSchema.optional(),rotation:e.z.number(),hidden:e.z.boolean().optional(),draggable:e.z.boolean().optional(),size:C.SizeSchema.optional(),minSize:C.SizeSchema.optional(),maxSize:C.SizeSchema.optional(),theme:f.BlockThemeSchema.optional()},j={...re,actions:e.z.array(So.ActionSchema).optional(),score:e.z.number().optional()};a.ActionBlockSchema=e.z.object(j);a.DragAndDropItemSchema=e.z.object({id:e.z.string(),text:e.z.string(),background:C.MediaItemSchema.optional(),opacity:e.z.number().optional(),x:e.z.number().optional(),y:e.z.number().optional(),width:e.z.number().optional(),height:e.z.number().optional(),styles:f.BoxStylesSchema.optional(),textStyles:f.TextStylesSchema.optional()});a.DragAndDropGroupSchema=e.z.object({id:e.z.string(),name:e.z.string(),background:C.MediaItemSchema.optional(),x:e.z.number().optional(),y:e.z.number().optional(),width:e.z.number().optional(),height:e.z.number().optional(),singleItem:e.z.boolean().optional(),opacity:e.z.number().optional(),styles:f.BoxStylesSchema.optional(),textStyles:f.TextStylesSchema.optional(),items:e.z.array(a.DragAndDropItemSchema)});a.DiceTypeSchema=e.z.enum(["d4","d6","d8","d10","d12","d20"]);a.CrosswordCellSchema=e.z.object({char:e.z.string(),isBlack:e.z.boolean(),number:e.z.number().optional(),row:e.z.number(),col:e.z.number()});a.CrosswordLayoutWordSchema=e.z.object({answer:e.z.string(),clue:e.z.string(),image:C.MediaItemSchema.optional(),startx:e.z.number(),starty:e.z.number(),orientation:e.z.enum(["across","down","none"]),position:e.z.number()});a.CrosswordLayoutOutputSchema=e.z.object({grid:e.z.array(e.z.array(a.CrosswordCellSchema)),rows:e.z.number(),cols:e.z.number(),words:e.z.array(a.CrosswordLayoutWordSchema)});a.WordSearchDataSchema=e.z.object({grid:e.z.array(e.z.array(e.z.string())),placedWords:e.z.array(e.z.object({word:e.z.string(),clean:e.z.string(),path:e.z.array(e.z.object({x:e.z.number(),y:e.z.number()}))}))});a.MemoryPairSchema=e.z.object({id:e.z.string(),type:e.z.enum(["img-img","img-word","word-word"]),content:e.z.tuple([e.z.string(),e.z.string()])});a.WheelSliceSchema=e.z.object({id:e.z.string(),text:e.z.string(),color:e.z.string().optional(),image:C.MediaItemSchema.optional()});a.FlashcardContentSchema=e.z.object({type:e.z.enum(["text","image"]),content:e.z.any()});a.FlashcardItemSchema=e.z.object({id:e.z.string(),front:a.FlashcardContentSchema,back:a.FlashcardContentSchema});a.CardItemSchema=e.z.object({id:e.z.string(),frontImage:C.MediaItemSchema.optional(),frontText:e.z.string().optional()});a.MatchPairsPairSchema=e.z.object({id:e.z.string(),leftLabel:e.z.string(),rightLabel:e.z.string(),leftImage:e.z.any().optional(),rightImage:e.z.any().optional()});a.ShapeTypeSchema=e.z.enum(["rectangle","rounded-rectangle","circle","triangle","triangle-inverted","pentagon","hexagon","heptagon","octagon","decagon","star","star-4","star-5","star-6","star-8","star-12","star-24","arrow-block-right","arrow-block-left","arrow-block-up","arrow-block-down","arrow-block-left-right","flow-process","flow-decision","flow-data","flow-document","flow-start-stop","callout-rect","callout-round","callout-cloud","cloud","heart","banner","tear","gear","asterisk"]);a.ArrowHeadTypeSchema=e.z.enum(["none","arrow","circle","square"]);a.ArrowLabelSchema=e.z.object({id:e.z.string(),text:e.z.string(),t:e.z.number(),offsetX:e.z.number().optional(),offsetY:e.z.number().optional(),fontSize:e.z.number().optional(),color:e.z.string().optional(),backgroundColor:e.z.string().optional()});a.QuizBlockSchema=e.z.object({...j,type:e.z.literal("Quiz"),questions:e.z.array(uo.QuestionSchema).optional(),previewIndex:e.z.number().optional(),required:e.z.boolean().optional(),showResults:e.z.boolean().optional(),allowRetry:e.z.boolean().optional(),maxRetry:e.z.string().optional(),submitText:e.z.string().optional(),timer:e.z.string().optional(),showQuestionCount:e.z.boolean().optional(),theme:f.QuizBlockThemeSchema});a.HotpointBlockSchema=e.z.object({...j,type:e.z.literal("Hotpoint"),showIcon:e.z.boolean().optional(),element:e.z.enum(["image","button"]),theme:f.HotpointBlockThemeSchema.optional()});a.EditorBlockSchema=e.z.object({...j,type:e.z.literal("Editor"),content:e.z.any().optional(),readonly:e.z.boolean().optional(),theme:f.EditorBlockThemeSchema.optional()});a.MediaBlockSchema=e.z.object({...re,type:e.z.literal("Media"),media:C.MediaItemSchema.optional()});a.EmbedBlockSchema=e.z.object({...re,type:e.z.literal("Embed"),url:e.z.string().optional(),readOnly:e.z.boolean().optional()});a.DragAndDropBlockSchema=e.z.object({...j,type:e.z.literal("DragAndDrop"),groups:e.z.array(a.DragAndDropGroupSchema),theme:f.DragAndDropBlockThemeSchema.optional(),showResults:e.z.boolean().optional(),layout:e.z.enum(["manual","split"]).optional(),itemArrangement:e.z.enum(["random","list","grid"]).optional(),groupBackground:C.MediaItemSchema.optional(),enableWrongAnswers:e.z.boolean().optional(),itemBackground:C.MediaItemSchema.optional(),groupBackgroundOpacity:e.z.number().optional(),itemBackgroundOpacity:e.z.number().optional(),splitRatio:e.z.number().optional()});a.AnagramBlockSchema=e.z.object({...j,type:e.z.literal("Anagram"),letters:e.z.array(e.z.string()),correctWord:e.z.string(),theme:f.AnagramBlockThemeSchema.optional(),clue:e.z.string().optional(),allowRetry:e.z.boolean().optional(),maxRetry:e.z.string().optional()});a.DiceBlockSchema=e.z.object({...j,type:e.z.literal("Dice"),rollHistory:e.z.array(e.z.number()).optional(),diceType:a.DiceTypeSchema.optional(),faceOverrides:e.z.any().optional(),color:e.z.string().optional(),showNumber:e.z.boolean().optional(),diceCount:e.z.number().optional(),dicePool:e.z.record(e.z.number()).optional(),persistent:e.z.boolean().optional(),theme:f.DiceBlockThemeSchema.optional()});a.PuzzleBlockSchema=e.z.object({...j,type:e.z.literal("Puzzle"),image:C.MediaItemSchema.optional(),pieces:e.z.number().optional(),gameMode:zo.PuzzleGameModeSchema.optional(),puzzleType:e.z.enum(["swap","slide"]).optional(),showNumbers:e.z.union([e.z.boolean(),e.z.string()]).optional(),seed:e.z.string().optional()});a.CrosswordBlockSchema=e.z.object({...j,type:e.z.literal("Crossword"),words:e.z.array(e.z.object({answer:e.z.string(),clue:e.z.string(),image:C.MediaItemSchema.optional()})).optional(),layout:a.CrosswordLayoutOutputSchema.optional(),theme:f.CrosswordBlockThemeSchema.optional()});a.WordSearchDifficultySchema=e.z.enum(["easy","medium","hard"]);a.WordSearchBlockSchema=e.z.object({...j,type:e.z.literal("WordSearch"),words:e.z.array(e.z.string()).optional(),gridSize:C.GridSizeSchema.optional(),difficulty:a.WordSearchDifficultySchema.optional(),data:a.WordSearchDataSchema.optional(),theme:f.WordSearchBlockThemeSchema.optional()});a.MemoryBlockSchema=e.z.object({...j,type:e.z.literal("Memory"),pairs:e.z.array(a.MemoryPairSchema),gridSize:C.GridSizeSchema.optional(),hideScore:e.z.boolean().optional(),theme:f.MemoryBlockThemeSchema.optional()});a.FlashcardBlockSchema=e.z.object({...j,type:e.z.literal("Flashcard"),cards:e.z.array(a.FlashcardItemSchema),theme:f.FlashcardBlockThemeSchema.optional()});a.SpinningWheelBlockSchema=e.z.object({...j,type:e.z.literal("SpinningWheel"),slices:e.z.array(a.WheelSliceSchema),spinDuration:e.z.number().optional(),theme:f.SpinningWheelBlockThemeSchema.optional()});a.ChartBlockSchema=e.z.object({...j,type:e.z.literal("Chart"),chartType:e.z.enum(["line","bar","pie","doughnut","radar","area","scatter"]),chartData:e.z.array(e.z.any()),chartConfig:e.z.object({colors:e.z.array(e.z.string()).optional(),xAxisLabel:e.z.string().optional(),yAxisLabel:e.z.string().optional(),showLegend:e.z.boolean().optional(),showTooltip:e.z.boolean().optional(),stacked:e.z.boolean().optional(),seriesNames:e.z.record(e.z.string()).optional()})});a.MatchPairsBlockSchema=e.z.object({...j,type:e.z.literal("MatchPairs"),instructions:e.z.string().optional(),pairs:e.z.array(a.MatchPairsPairSchema),theme:f.MatchPairsBlockThemeSchema.optional()});a.ClozeBlockSchema=e.z.object({...j,type:e.z.literal("Cloze"),templateText:e.z.string().optional(),theme:f.ClozeBlockThemeSchema.optional(),mode:e.z.enum(["write","drag-drop"]).optional()});a.CardDeckBlockSchema=e.z.object({...j,type:e.z.literal("CardDeck"),cards:e.z.array(a.CardItemSchema),backImage:C.MediaItemSchema.optional(),discardLogic:e.z.enum(["delete","return"]),theme:f.CardDeckBlockThemeSchema.optional()});a.ShapeBlockSchema=e.z.object({...re,type:e.z.literal("Shape"),shapeType:a.ShapeTypeSchema.optional(),text:e.z.string().optional(),theme:f.ShapeBlockThemeSchema.optional()});a.ArrowBlockSchema=e.z.object({...re,type:e.z.literal("Arrow"),startBlockId:e.z.string(),endBlockId:e.z.string().optional(),endPos:e.z.object({x:e.z.number(),y:e.z.number()}).optional(),startHandle:e.z.enum(["top","right","bottom","left"]),endHandle:e.z.enum(["top","right","bottom","left"]).optional(),connectionType:e.z.enum(["straight","orthogonal","curved"]),strokeColor:e.z.string().optional(),strokeWidth:e.z.number().optional(),strokeStyle:e.z.enum(["solid","dashed","dotted"]).optional(),showHead:e.z.boolean().optional(),startHead:a.ArrowHeadTypeSchema.optional(),endHead:a.ArrowHeadTypeSchema.optional(),bendOffsetX:e.z.number().optional(),bendOffsetY:e.z.number().optional(),segmentCount:e.z.number().optional(),bendOffsets:e.z.array(e.z.number()).optional(),labels:e.z.array(a.ArrowLabelSchema).optional()});a.BlockSchema=e.z.discriminatedUnion("type",[a.QuizBlockSchema,a.HotpointBlockSchema,a.EditorBlockSchema,a.EmbedBlockSchema,a.MediaBlockSchema,a.DragAndDropBlockSchema,a.AnagramBlockSchema,a.DiceBlockSchema,a.PuzzleBlockSchema,a.CrosswordBlockSchema,a.WordSearchBlockSchema,a.MemoryBlockSchema,a.FlashcardBlockSchema,a.SpinningWheelBlockSchema,a.ChartBlockSchema,a.MatchPairsBlockSchema,a.ShapeBlockSchema,a.ArrowBlockSchema,a.ClozeBlockSchema,a.CardDeckBlockSchema]);a.BlockGroupSchema=e.z.object({id:e.z.string(),name:e.z.string(),locked:e.z.boolean().optional()});a.SceneSchema=e.z.object({id:e.z.string(),title:e.z.string(),type:a.SceneTypeSchema,background:e.z.union([e.z.string(),e.z.array(e.z.string()),C.MediaItemSchema]).optional(),backgroundColor:e.z.string().optional(),backgroundAutoplay:e.z.boolean().optional(),backgroundLoop:e.z.boolean().optional(),secretCode:e.z.string().optional(),hidden:e.z.boolean().optional(),blocks:e.z.array(a.BlockSchema),groups:e.z.array(a.BlockGroupSchema).optional(),canvas:e.z.object({width:e.z.number().optional(),height:e.z.number().optional(),preset:e.z.enum(["landscape","mobile","infographics","square","custom"]).optional()}).optional()});a.ActivityContentSchema=e.z.object({id:e.z.string(),title:e.z.string(),hasTimer:e.z.boolean(),timer:e.z.string().optional(),allowNavigation:e.z.boolean(),scenes:e.z.array(a.SceneSchema),variables:e.z.array(e.z.object({name:e.z.string(),defaultValue:e.z.union([e.z.string(),e.z.number(),e.z.boolean()])})).optional(),audio:e.z.array(e.z.object({id:e.z.string(),media:C.MediaItemSchema.optional(),scenes:e.z.string().optional(),autoplay:e.z.boolean().optional(),loop:e.z.boolean().optional()})).optional()});a.CanvasDragItemSchema=e.z.object({id:e.z.string(),type:e.z.literal("BLOCK"),sceneId:e.z.string(),blockData:a.BlockSchema})});var Pe=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.ActivityContextSchema=V.SceneSummarySchema=V.SceneBlockRefSchema=void 0;var I=T("zod");V.SceneBlockRefSchema=I.z.object({id:I.z.string(),type:I.z.string(),title:I.z.string()});V.SceneSummarySchema=I.z.object({id:I.z.string(),title:I.z.string(),position:I.z.number(),blocks:I.z.array(V.SceneBlockRefSchema).default([])});V.ActivityContextSchema=I.z.object({activity:I.z.object({id:I.z.string(),title:I.z.string(),scenes:I.z.array(V.SceneSummarySchema).default([])}),activeSceneId:I.z.string().nullable().optional()})});var qe=y(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.QuizContentSchema=D.QuizQuestionSchema=D.QuizOptionSchema=D.QuizQuestionTypeSchema=void 0;var k=T("zod"),Ee=L(),me=se();D.QuizQuestionTypeSchema=k.z.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]);D.QuizOptionSchema=k.z.object({id:k.z.string().optional(),text:k.z.string(),isCorrect:k.z.boolean(),image:Ee.MediaItemSchema.optional().describe("Option image."),imageAlign:me.ImageAlignSchema.optional().describe("Option image alignment."),imageSize:me.ImageSizeSchema.optional().describe("Option image size.")});D.QuizQuestionSchema=k.z.object({id:k.z.string().optional().describe("Question ID. Auto-generated if omitted."),type:D.QuizQuestionTypeSchema,text:k.z.string().describe("The question text."),score:k.z.number().optional(),options:k.z.array(D.QuizOptionSchema).optional().describe("Required for single-choice and multiple-choice."),correctAnswer:k.z.boolean().optional().describe("Required for true-false."),image:Ee.MediaItemSchema.optional().describe("Question image."),imageAlign:me.ImageAlignSchema.optional().describe("Question image alignment."),imageSize:me.ImageSizeSchema.optional().describe("Question image size.")});D.QuizContentSchema=k.z.object({questions:k.z.array(D.QuizQuestionSchema).describe("Array of question objects."),showResults:k.z.boolean().optional(),allowRetry:k.z.boolean().optional(),maxRetry:k.z.string().optional(),required:k.z.boolean().optional(),submitText:k.z.string().optional().describe("Label for submit button."),timer:k.z.string().optional().describe("Timer duration in seconds as a string."),showQuestionCount:k.z.boolean().optional().describe("Show current/total questions count.")})});var Le=y(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.ClozeContentSchema=oe.ClozeModeSchema=void 0;var Te=T("zod");oe.ClozeModeSchema=Te.z.enum(["write","drag-drop"]);oe.ClozeContentSchema=Te.z.object({templateText:Te.z.string().describe('Template text with blanks in [brackets]. E.g. "The capital of Italy is [Rome]."'),mode:oe.ClozeModeSchema.optional().describe("Input mode. Default: write.")})});var Qe=y(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.AnagramContentSchema=P.WordSearchContentSchema=P.CrosswordContentSchema=P.CrosswordWordSchema=P.WordGameBlockTypeSchema=void 0;var v=T("zod"),Fe=L();P.WordGameBlockTypeSchema=v.z.enum(["Crossword","WordSearch","Anagram"]);P.CrosswordWordSchema=v.z.object({answer:v.z.string(),clue:v.z.string(),image:Fe.MediaItemSchema.optional().describe("Clue image.")});P.CrosswordContentSchema=v.z.object({words:v.z.array(P.CrosswordWordSchema)});P.WordSearchContentSchema=v.z.object({words:v.z.array(v.z.string()),gridSize:Fe.GridSizeSchema.optional().describe("Grid dimensions."),difficulty:v.z.enum(["easy","medium","hard"]).optional()});P.AnagramContentSchema=v.z.object({correctWord:v.z.string().describe("The correct word."),letters:v.z.array(v.z.string()).optional(),clue:v.z.string().optional().describe("A hint.")})});var Re=y(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.PairGameContentSchema=F.PairSchema=F.MemoryPairTypeSchema=F.PairGameBlockTypeSchema=void 0;var G=T("zod"),Ce=L();F.PairGameBlockTypeSchema=G.z.enum(["Memory","MatchPairs"]);F.MemoryPairTypeSchema=G.z.enum(["img-img","img-word","word-word"]);F.PairSchema=G.z.object({id:G.z.string().optional(),type:F.MemoryPairTypeSchema.optional().describe("For Memory: pair type."),content:G.z.array(G.z.string()).optional().describe("For Memory: [item1, item2]."),leftLabel:G.z.string().optional().describe("For MatchPairs: left side text."),rightLabel:G.z.string().optional().describe("For MatchPairs: right side text."),leftImage:Ce.MediaItemSchema.optional().describe("For MatchPairs: left side image."),rightImage:Ce.MediaItemSchema.optional().describe("For MatchPairs: right side image.")});F.PairGameContentSchema=G.z.object({pairs:G.z.array(F.PairSchema).describe("Array of pair objects."),gridSize:Ce.GridSizeSchema.optional().describe("For Memory: grid dimensions."),instructions:G.z.string().optional().describe("For MatchPairs: instruction text.")})});var We=y(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.DeckContentSchema=E.CardSchema=E.CardFaceSchema=E.DeckBlockTypeSchema=void 0;var Q=T("zod");E.DeckBlockTypeSchema=Q.z.enum(["Flashcard","CardDeck"]);E.CardFaceSchema=Q.z.object({type:Q.z.enum(["text","image"]),content:Q.z.any()});E.CardSchema=Q.z.object({id:Q.z.string().optional(),front:E.CardFaceSchema.optional().describe("For Flashcard: front side."),back:E.CardFaceSchema.optional().describe("For Flashcard: back side."),frontText:Q.z.string().optional().describe("For CardDeck: front text."),frontImage:Q.z.any().optional().describe("For CardDeck: front image.")});E.DeckContentSchema=Q.z.object({cards:Q.z.array(E.CardSchema).describe("Array of card objects."),backImage:Q.z.any().optional().describe("For CardDeck: shared back image."),discardLogic:Q.z.enum(["delete","return"]).optional().describe("For CardDeck.")})});var Ge=y(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.DiceContentSchema=te.DieTypeSchema=void 0;var ie=T("zod");te.DieTypeSchema=ie.z.enum(["d4","d6","d8","d10","d12","d20"]);te.DiceContentSchema=ie.z.object({diceType:te.DieTypeSchema.optional(),diceCount:ie.z.number().int().min(1).max(10).optional(),color:ie.z.string().optional().describe("CSS color for dice."),showNumber:ie.z.boolean().optional(),persistent:ie.z.boolean().optional().describe("Keep dice visible after roll.")})});var Ne=y(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.SpinnerContentSchema=ne.SpinnerSliceSchema=void 0;var ae=T("zod"),bo=L();ne.SpinnerSliceSchema=ae.z.object({id:ae.z.string().optional(),text:ae.z.string(),color:ae.z.string().optional().describe("CSS color for slice."),image:bo.MediaItemSchema.optional().describe("Slice image.")});ne.SpinnerContentSchema=ae.z.object({slices:ae.z.array(ne.SpinnerSliceSchema).min(2).describe("Wheel slices (min 2)."),spinDuration:ae.z.number().optional().describe("Spin duration in seconds.")})});var Ke=y($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.DragAndDropContentSchema=$.DragGroupSchema=$.DragItemSchema=void 0;var p=T("zod"),he=L(),de=le();$.DragItemSchema=p.z.object({id:p.z.string().optional(),text:p.z.string(),background:he.MediaItemSchema.optional().describe("Background image/color for item."),opacity:p.z.number().optional().describe("Opacity of the item (0-1)."),x:p.z.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:p.z.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:p.z.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:p.z.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:p.z.number().optional().describe("Manual width in pixels."),height:p.z.number().optional().describe("Manual height in pixels."),styles:de.BoxStylesSchema.optional().describe("Box custom styling styles."),textStyles:de.TextStylesSchema.optional().describe("Text custom styling styles.")});$.DragGroupSchema=p.z.object({id:p.z.string().optional(),name:p.z.string().describe("Group/dropzone name."),singleItem:p.z.boolean().optional().describe("Accept only one item inside."),background:he.MediaItemSchema.optional().describe("Background image/color for group."),x:p.z.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:p.z.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:p.z.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:p.z.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:p.z.number().optional().describe("Manual width in pixels."),height:p.z.number().optional().describe("Manual height in pixels."),opacity:p.z.number().optional().describe("Opacity of the group (0-1)."),styles:de.BoxStylesSchema.optional().describe("Box custom styling styles."),textStyles:de.TextStylesSchema.optional().describe("Text custom styling styles."),items:p.z.array($.DragItemSchema).describe("Items that belong in this group.")});$.DragAndDropContentSchema=p.z.object({groups:p.z.array($.DragGroupSchema).min(1).describe("Drag-and-drop groups."),layout:p.z.enum(["manual","split"]).optional().describe("Layout mode: manual placements or split areas."),itemArrangement:p.z.enum(["random","list","grid"]).optional().describe("Initial item arrangement inside sandbox."),showResults:p.z.boolean().optional().describe("Show result feedback immediately."),requireSubmit:p.z.boolean().optional().describe("Require an explicit 'Check' button to grade instead of auto-grading when all items are placed."),enableWrongAnswers:p.z.boolean().optional().describe("Allow placing items in incorrect groups."),groupBackground:he.MediaItemSchema.optional().describe("Shared background image/color for all groups."),itemBackground:he.MediaItemSchema.optional().describe("Shared background image/color for all items."),groupBackgroundOpacity:p.z.number().optional().describe("Shared group background opacity (0-1)."),itemBackgroundOpacity:p.z.number().optional().describe("Shared item background opacity (0-1)."),splitRatio:p.z.number().optional().describe("Proportion ratio for split layout.")})});var He=y(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.ChartContentSchema=U.ChartConfigSchema=U.ChartTypeSchema=void 0;var O=T("zod");U.ChartTypeSchema=O.z.enum(["line","bar","pie","doughnut","radar","area","scatter"]);U.ChartConfigSchema=O.z.object({colors:O.z.array(O.z.string()).optional(),xAxisLabel:O.z.string().optional(),yAxisLabel:O.z.string().optional(),showLegend:O.z.boolean().optional(),showTooltip:O.z.boolean().optional(),stacked:O.z.boolean().optional(),seriesNames:O.z.record(O.z.string()).optional().describe("Dictionary mapping series keys to custom labels.")});U.ChartContentSchema=O.z.object({chartType:U.ChartTypeSchema.optional(),chartData:O.z.array(O.z.record(O.z.any())).optional().describe("Data array, e.g. [{name:'A', value:10}]."),chartConfig:U.ChartConfigSchema.optional()})});var Ye=y(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.BasicContentSchema=void 0;var pe=T("zod"),go=L();ue.BasicContentSchema=pe.z.object({content:pe.z.any().optional().describe("For Editor: Plate JSON content array."),url:pe.z.string().optional().describe("For Media or Embed: content URL."),text:pe.z.string().optional().describe("For Shape: text inside shape."),mediaType:go.MediaTypeSchema.optional().describe("For Media: media type.")})});var xe=y(M=>{"use strict";var yo=M&&M.__createBinding||(Object.create?(function(n,r,i,l){l===void 0&&(l=i);var s=Object.getOwnPropertyDescriptor(r,i);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return r[i]}}),Object.defineProperty(n,l,s)}):(function(n,r,i,l){l===void 0&&(l=i),n[l]=r[i]})),N=M&&M.__exportStar||function(n,r){for(var i in n)i!=="default"&&!Object.prototype.hasOwnProperty.call(r,i)&&yo(r,n,i)};Object.defineProperty(M,"__esModule",{value:!0});N(qe(),M);N(Le(),M);N(Qe(),M);N(Re(),M);N(We(),M);N(Ge(),M);N(Ne(),M);N(Ke(),M);N(He(),M);N(Be(),M);N(Ye(),M)});var Ve=y(R=>{"use strict";var fo=R&&R.__createBinding||(Object.create?(function(n,r,i,l){l===void 0&&(l=i);var s=Object.getOwnPropertyDescriptor(r,i);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return r[i]}}),Object.defineProperty(n,l,s)}):(function(n,r,i,l){l===void 0&&(l=i),n[l]=r[i]})),ko=R&&R.__setModuleDefault||(Object.create?(function(n,r){Object.defineProperty(n,"default",{enumerable:!0,value:r})}):function(n,r){n.default=r}),Bo=R&&R.__importStar||(function(){var n=function(r){return n=Object.getOwnPropertyNames||function(i){var l=[];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(l[l.length]=s);return l},n(r)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var l=n(r),s=0;s<l.length;s++)l[s]!=="default"&&fo(i,r,l[s]);return ko(i,r),i}})();Object.defineProperty(R,"__esModule",{value:!0});R.BLOCK_CONTENT_SCHEMAS=void 0;R.generateBlockReference=wo;var To=Bo(T("zod-to-json-schema")),Co=To.zodToJsonSchema,x=xe();R.BLOCK_CONTENT_SCHEMAS={Quiz:x.QuizContentSchema,Cloze:x.ClozeContentSchema,Crossword:x.CrosswordContentSchema,WordSearch:x.WordSearchContentSchema,Anagram:x.AnagramContentSchema,Memory:x.PairGameContentSchema,MatchPairs:x.PairGameContentSchema,Flashcard:x.DeckContentSchema,CardDeck:x.DeckContentSchema,Dice:x.DiceContentSchema,SpinningWheel:x.SpinnerContentSchema,DragAndDrop:x.DragAndDropContentSchema,Chart:x.ChartContentSchema,Puzzle:x.PuzzleContentSchema,Editor:x.BasicContentSchema,Media:x.BasicContentSchema,Embed:x.BasicContentSchema,Shape:x.BasicContentSchema};function xo(n,r,i,l){let s=i?"*required*":"optional",S=we(r),u=r.description?` \u2014 ${r.description}`:"";return`${l}- \`${n}\` (${S}, ${s})${u}`}function we(n){return n.enum?`enum: ${n.enum.map(r=>JSON.stringify(r)).join(" | ")}`:n.anyOf||n.oneOf?(n.anyOf||n.oneOf).map(we).join(" | "):Array.isArray(n.type)?n.type.join(" | "):n.type==="array"&&n.items?`array<${we(n.items)}>`:n.type==="object"?"object":n.type??"any"}function _e(n,r){let i=[],l=new Set(n.required??[]),s=n.properties??{};for(let[S,u]of Object.entries(s))i.push(xo(S,u,l.has(S),r)),u.type==="object"&&u.properties?i.push(_e(u,r+" ")):u.type==="array"&&u.items?.type==="object"&&i.push(_e(u.items,r+" "));return i.join(`
5
- `)}function wo(){let n=[],r=new Map;for(let[i,l]of Object.entries(R.BLOCK_CONTENT_SCHEMAS)){let s=r.get(l)??[];s.push(i),r.set(l,s)}for(let[i,l]of r.entries()){let s=l.join(" / "),S=Co(i,{target:"jsonSchema7"}),u=_e(S,"");n.push(`### ${s}
6
- ${u||"_(no configurable fields)_"}`)}return n.join(`
1
+ var V={createScene:[],deleteScene:["sceneId"],addBlock:["sceneId","block"],updateScene:["sceneId"],deleteBlock:["sceneId","blockId"],updateBlock:["sceneId","blockId","updates"],duplicateBlock:["sceneId","blockId"],groupBlocks:["blockIds"],updateBlockTheme:["sceneId","blockId","theme"],updateBlockElementStyle:["sceneId","blockId","elementId","customStyle"],addAction:["sceneId","blockId","action"],removeAction:["sceneId","blockId","actionId"],manageVariables:["operation","name"],configureTimer:[],reorderScenes:["sceneId","newIndex"],insertItem:["blockId","collection","item"],updateItem:["blockId","collection","itemId","item"],deleteItem:["blockId","collection","itemId"]},Ot=Object.keys(V);function nt(t){return Object.prototype.hasOwnProperty.call(V,t)}function vt(t,r){if(!nt(t))return{ok:!1,code:"UNKNOWN_OP",errors:[`unknown op "${t}"`]};if(typeof r!="object"||r===null||Array.isArray(r))return{ok:!1,code:"NOT_OBJECT",errors:["op data must be an object"]};let n=r,a=V[t].filter(i=>n[i]===void 0||n[i]===null);return a.length>0?{ok:!1,code:"MISSING_FIELDS",errors:a.map(i=>`missing field: ${i}`)}:t==="groupBlocks"&&(!Array.isArray(n.blockIds)||n.blockIds.length<2)?{ok:!1,code:"MISSING_FIELDS",errors:["groupBlocks requires a blockIds array with >= 2 ids"]}:{ok:!0}}function Et(t,r,n){let a=Array.isArray(t)?[...t]:[];if(r==="insertItem"){if(n.item===void 0||n.item===null)return a;let i=typeof n.at=="number"?n.at:a.length;return a.splice(Math.max(0,Math.min(i,a.length)),0,n.item),a}return r==="updateItem"?a.map(i=>i&&typeof i=="object"&&i.id===n.itemId?{...i,...n.item??{}}:i):a.filter(i=>!(i&&typeof i=="object"&&i.id===n.itemId))}var rt=new Set(["position","size","rotation","zIndex","z"]);function G(t){return t===null||typeof t!="object"?JSON.stringify(t)??"null":Array.isArray(t)?"["+t.map(G).join(",")+"]":"{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+G(t[n])).join(",")+"}"}function at(t,r){let n=r??{};switch(t){case"updateBlock":case"updateBlockTheme":case"updateBlockElementStyle":case"deleteBlock":case"duplicateBlock":case"removeAction":return n.blockId?{kind:"block",blockId:n.blockId}:{kind:"untracked"};case"updateItem":case"deleteItem":return n.blockId&&n.collection&&n.itemId?{kind:"item",blockId:n.blockId,collection:n.collection,itemId:n.itemId}:{kind:"untracked"};default:return{kind:"untracked"}}}function it(t,r){if(Array.isArray(t))for(let n of t){let a=n?.blocks?.find?.(i=>i&&i.id===r);if(a)return a}}function ct(t,r){if(r.kind==="untracked")return null;let n=r.blockId?it(t,r.blockId):void 0;if(!n)return null;if(r.kind==="block"){let h={};for(let d of Object.keys(n))rt.has(d)||(h[d]=n[d]);return G(h)}let a=n[r.collection];if(!Array.isArray(a))return null;let i=a.find(h=>h&&h.id===r.itemId);return i?G(i):null}function Lt(t,r){return t==null?"apply":r==null?"missing":t===r?"apply":"stale"}function _t(t,r,n){let a=at(t,r);return{target:a,baseSignature:ct(n,a)}}var $=/@\[([^\]|]+)\|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})\]/g;function Ft(t){let r=[];for(let n of(t??"").matchAll($))r.push({name:n[1].trim(),id:n[2]});return r}function Wt(t,r){let n=new Map,a=new Map;for(let S of r?.scenes??[]){S?.id&&n.set(S.id,S);for(let f of S?.blocks??[])f?.id&&a.set(f.id,{block:f,sceneId:S.id})}let i=[],h=new Set,d=S=>a.has(S)?"il blocco selezionato":n.has(S)?"la scena selezionata":"l'elemento selezionato",D=(S,f)=>{if(!h.has(f))if(a.has(f)){let{block:P,sceneId:tt}=a.get(f);i.push({id:f,name:S,kind:"block",blockType:P?.type,sceneId:tt}),h.add(f)}else n.has(f)&&(i.push({id:f,name:S,kind:"scene"}),h.add(f))},w=(t??"").replace($,(S,f,P)=>(D(f.trim(),P),f.trim())),B=(t??"").replace($,(S,f,P)=>a.has(P)||n.has(P)?d(P):f.trim());return{cleanedText:w,agentText:B,entities:i}}import{zodToJsonSchema as Dt}from"zod-to-json-schema";import{z as lt}from"zod";var Le=["Quiz","Editor","Hotpoint","Embed","Media","DragAndDrop","Anagram","Dice","Crossword","WordSearch","Puzzle","Memory","Flashcard","SpinningWheel","Chart","MatchPairs","Shape","Arrow","Cloze","CardDeck"],Y=lt.enum(Le);import{z as p}from"zod";var U=p.object({x:p.number(),y:p.number(),z:p.number().optional()}),R=p.object({width:p.number().optional(),height:p.number().optional()}),M=p.object({rows:p.number(),cols:p.number()}),v=p.enum(["image","color","gif","shape","illustration","video","audio"]),_e=p.enum(["unsplash","pexels","upload","url","library","tenor"]),Re=p.object({x:p.number(),y:p.number(),width:p.number(),height:p.number(),zoom:p.number().optional(),rotation:p.number().optional(),aspect:p.number().optional()}),Fe=p.object({autoplay:p.boolean().optional(),loop:p.boolean().optional(),muted:p.boolean().optional(),controls:p.boolean().optional(),poster:p.string().optional(),volume:p.number().optional()}),c=p.object({id:p.string().optional(),url:p.string().optional(),title:p.string().optional(),type:v,source:_e.optional(),alt:p.string().optional(),width:p.number().optional(),height:p.number().optional(),format:p.enum(["cover","contain"]).optional(),color:p.string().optional(),cropData:Re.optional(),duration:p.number().optional(),videoSettings:Fe.optional()}),pt=c;import{z as o}from"zod";var We=o.object({type:o.union([o.enum(["none","fade","direction","bounce","scale","rotate"]),o.string()]),duration:o.number().optional(),delay:o.number().optional(),phase:o.enum(["in","both","out"]).optional(),direction:o.enum(["up","right","down","left"]).optional()}),Z=o.object({top:o.union([o.string(),o.number()]).optional(),right:o.union([o.string(),o.number()]).optional(),bottom:o.union([o.string(),o.number()]).optional(),left:o.union([o.string(),o.number()]).optional()}),Ge=o.object({topLeft:o.union([o.string(),o.number()]).optional(),topRight:o.union([o.string(),o.number()]).optional(),bottomRight:o.union([o.string(),o.number()]).optional(),bottomLeft:o.union([o.string(),o.number()]).optional()}),s=o.object({background:o.boolean().optional(),backgroundColor:o.string().optional(),backgroundOpacity:o.number().optional(),backgroundMedia:c.optional(),border:o.boolean().optional(),borderColor:o.string().optional(),borderWidth:Z.optional(),borderRadius:Ge.optional(),padding:o.union([o.string(),o.number(),Z]).optional()}),u=o.object({color:o.string().optional(),fontSize:o.number().optional(),fontFamily:o.string().optional(),fontStyle:o.string().optional(),fontWeight:o.union([o.string(),o.number()]).optional(),textAlign:o.enum(["left","center","right","justify"]).optional()}),j=s.merge(u),b=o.object({spacing:o.enum(["no-spacing","small","medium","large"]).optional(),animation:We.optional(),styles:o.record(o.record(o.any())).optional()}),X=b.extend({styles:o.object({hotpoint:o.object({icon:o.string().optional(),iconPosition:o.enum(["left","right"]).optional(),iconSize:o.string().optional(),iconColor:o.string().optional(),image:c.optional(),imageFormat:o.enum(["circle","square","custom"]).optional(),border:o.boolean().optional(),borderColor:o.string().optional(),borderWidth:o.string().optional(),borderRadius:o.string().optional(),glow:o.boolean().optional(),glowColor:o.string().optional(),background:o.boolean().optional(),backgroundColor:o.string().optional(),fontSize:o.number().optional(),fontFamily:o.string().optional(),fontStyle:o.string().optional(),textColor:o.string().optional()}).optional()}).optional()}),ee=b.extend({layout:o.enum(["horizontal","vertical","grid"]),gridColumns:o.number().optional(),preset:o.enum(["default","modern","trivia","custom"]),styles:o.object({general:j,question:j,answers:j.extend({customStyles:o.array(o.object({color:o.string().optional(),backgroundColor:o.string().optional(),targets:o.string().optional()})).optional(),hover:j.optional()}),button:j.extend({variant:o.enum(["default","outline","ghost"]).optional(),hover:j.optional()})}).optional()}),oe=b.extend({layoutPosition:o.enum(["left","right","top","bottom"]).optional(),splitRatio:o.number().optional(),gridColumns:o.number().optional(),gridGap:o.number().optional().describe("Gap in pixels between auto-laid items (list/grid)."),pool:o.object({x:o.number().optional(),y:o.number().optional(),width:o.number().optional(),height:o.number().optional()}).optional().describe("Movable/resizable frame for the list/grid item pool (sandbox px)."),styles:o.object({title:u.optional(),sandbox:s.optional(),item:j.optional(),group:s.optional(),container:s.extend({url:o.string().optional(),type:v.optional()}).optional(),groups:j.optional(),feedback:o.object({correct:o.string().optional(),incorrect:o.string().optional(),active:o.string().optional()}).optional(),referenceSize:o.object({width:o.number(),height:o.number()}).optional()}).optional()}),te=b.extend({styles:o.object({editor:s.optional()}).optional()}),ne=b.extend({styles:o.object({letter:s.optional(),letterText:u.optional(),slot:s.optional(),container:s.optional()}).optional()}),re=b.extend({styles:o.object({button:s.extend({hover:j.optional()}).optional(),buttonText:u.optional(),container:s.optional()}).optional()}),ae=b.extend({primaryColor:o.string().optional(),layoutPosition:o.enum(["left","right","top","bottom"]).optional(),splitRatio:o.number().optional(),styles:o.object({text:u.optional(),cell:s.optional(),grid:s.optional(),clueContainer:s.optional(),clueText:u.optional(),clueTitle:u.optional()}).optional()}),ie=b.extend({layoutPosition:o.enum(["left","right","top","bottom"]).optional(),splitRatio:o.number().optional(),styles:o.object({wordSearch:o.object({primaryColor:o.string().optional(),highlightColor:o.string().optional(),fontSize:o.number().optional(),fontFamily:o.string().optional(),textColor:o.string().optional(),cellBackgroundColor:o.string().optional()}).optional(),text:u.optional(),cell:s.optional(),grid:s.optional(),wordListContainer:s.optional(),wordListText:u.optional(),wordListTitle:u.optional()}).optional()}),ce=b.extend({styles:o.object({text:u.optional(),container:s.optional(),infoContainer:s.optional(),infoText:u.optional(),card:s.optional()}).optional()}),le=b.extend({styles:o.object({wheelText:u.optional()}).optional()}),pe=b.extend({layoutPosition:o.enum(["left","right","top","bottom"]).optional(),styles:o.object({text:u.optional(),container:s.optional(),wordBank:s.optional(),word:s.optional(),blank:s.optional()}).optional()}),se=b.extend({styles:o.object({card:s.optional(),cardText:u.optional(),container:s.optional()}).optional()}),me=b.extend({styles:o.object({cardFront:s.optional(),cardBack:s.optional(),frontText:u.optional(),backText:u.optional(),navigation:s.optional(),navigationText:u.optional()}).optional()}),de=b.extend({layoutPosition:o.enum(["left","right","top","bottom"]).optional(),styles:o.object({text:u.optional(),card:s.optional(),container:s.optional()}).optional()}),he=b.extend({styles:o.object({shape:j.extend({fillColor:o.string().optional(),textColor:o.string().optional(),borderStyle:o.enum(["solid","dashed","dotted"]).optional(),padding:o.number().optional()}).optional()}).optional()});var N={quiz:{title:["question"],answers:["answers"],button:["button"],general:["general"]},poll:{title:["question"],answers:["answers"],button:["button"],general:["general"]},flashcard:{title:["frontText","backText"],answers:["cardFront","cardBack"],general:["cardFront","cardBack"]},memory:{title:["text"],answers:["card"],general:["container"]},matchpairs:{title:["text"],answers:["card"],general:["container"]},cloze:{title:["text"],answers:["word","blank"],general:["container"]},carddeck:{title:["cardText"],answers:["card"],general:["container"]},anagram:{title:["letterText"],answers:["letter","slot"],general:["container"]},dice:{title:["buttonText"],answers:["button"],button:["button"],general:["container"]},crossword:{title:["clueTitle","text"],answers:["cell"],general:["grid"]},wordsearch:{title:["wordListTitle","text"],answers:["cell"],general:["grid"]},spinningwheel:{title:["wheelText"],answers:["wheelText"],general:["wheelText"]},shape:{title:["shape"],answers:["shape"],general:["shape"]},hotpoint:{title:["hotpoint"],answers:["hotpoint"],general:["hotpoint"]},editor:{title:["editor"],answers:["editor"],general:["editor"]},draganddrop:{title:["title"],answers:["item"],general:["container"]}};function st(t){let r=N[t.toLowerCase()];if(!r)return[];let n=new Set;for(let a of Object.values(r))for(let i of a??[])n.add(i);return[...n]}var Ne={quiz:["general","question","answers","button"],poll:["general","question","answers","button"],flashcard:["cardFront","cardBack","frontText","backText","navigation","navigationText"],memory:["container","card","text","infoContainer","infoText"],matchpairs:["container","card","text"],cloze:["container","text","wordBank","word","blank"],carddeck:["container","card","cardText"],anagram:["container","letter","letterText","slot"],dice:["container","button","buttonText"],crossword:["grid","cell","text","clueContainer","clueTitle","clueText"],wordsearch:["grid","cell","text","wordListContainer","wordListTitle","wordListText"],spinningwheel:["wheelText"],shape:["shape"],editor:["editor"],hotpoint:["hotpoint"],draganddrop:["container","title","sandbox","groups","item","group"]},qe=new Set(["chart","media","image","puzzle"]);function mt(t){if(!t)return"";let r=t.toLowerCase();if(qe.has(r))return`
2
+ [STYLE TARGETS] Il blocco "${t}" non ha sotto-elementi tematizzabili: NON puoi cambiarne colori/bordi via update_block_theme. Puoi solo cambiare lo sfondo della SCENA \u2014 sii onesto col l'utente.`;let n=Ne[r];if(!n||n.length===0)return"";let a=N[r]??{},i=["general","title","answers","button"].filter(h=>a[h]).map(h=>`${h}\u2192${a[h].join("/")}`).join(", ");return`
3
+ [STYLE TARGETS for ${t}] Logical targets (update_block_theme): ${i}. Real sub-element keys (update_block_style 'target'): ${n.join(", ")}.`}function ue(t,r){if(!t)return t;let n={...t};for(let[D,w]of Object.entries(n))if(w&&typeof w=="object"){let B={...w},S=!1;B.backgroundColor!==void 0&&B.background===void 0&&(B.background=!0,S=!0),B.borderColor!==void 0&&B.border===void 0&&(B.border=!0,S=!0),S&&(n[D]=B)}if(!r)return n;let a=N[r.toLowerCase()];if(!a)return n;let i=(D,w)=>{w&&(n[D]={...n[D]||{},...w})},h=["title","answers","button","general"],d={title:n.title,answers:n.answers,button:n.button??n.buttons,general:n.general};for(let D of h){let w=d[D],B=a[D];if(w&&B)for(let S of B)i(S,w)}return n}function dt(t,r,n){if(!t){let d={...r};return d.styles&&(d.styles=ue(d.styles,n)),d}if(!r)return t;let a={...t,...r},i=ue(r.styles,n),h=t.styles||{};if(t.styles||i){a.styles={...h,...i};for(let d of Object.keys(a.styles))h[d]&&i?.[d]&&(a.styles[d]={...h[d],...i[d]})}return a}import{z as l}from"zod";var ge=l.enum(["quiz_submit","timer_complete","click","scored","keypress","variable","custom","item_dropped","item_removed","group_filled","media_ended"]),He=l.enum(["equals","not_equals","greater_than","less_than","greater_than_or_equal","less_than_or_equal","contains"]),ht=l.enum(["all_correct","incorrect","all_wrong","score_perfect","score_above_75","score_above_50","failed"]),ut=l.enum(["completed","half_way"]),yt=l.enum(["single_click","double_click"]),gt=l.literal("key_pressed"),ye=l.object({event:ge.optional(),variableName:l.string().optional(),operator:He.optional(),value:l.any()}),Ke=l.enum(["set","add","subtract","multiply","divide"]),Je=l.enum(["navigate","modal","audio","reveal","hide","toggle_visibility","link","refresh","complete","set_variable","math_variable","move"]),Ve=l.object({name:l.string(),value:l.union([l.number(),l.string(),l.boolean()]),operation:Ke.optional()}),Se=l.object({id:l.string(),type:Je,condition:ye.optional(),conditions:l.array(ye).optional(),conditionsOperator:l.enum(["and","or"]).optional(),modalContent:l.string().optional(),audioUrl:l.string().optional(),linkUrl:l.string().optional(),targetSceneId:l.string().optional(),targetBlockId:l.string().optional(),direction:l.enum(["up","down","left","right"]).optional(),distance:l.number().optional(),variable:Ve.optional()}),St=l.object({name:l.string(),defaultValue:l.union([l.string(),l.number(),l.boolean()])}),bt=l.object({type:ge,blockId:l.string(),data:l.record(l.any()).optional()});import{z as y}from"zod";var ft=y.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]),E=y.enum(["left","right","center"]),Q=y.object({width:y.number().optional(),height:y.number().optional()}),$e=y.object({id:y.string(),text:y.string(),isCorrect:y.boolean(),image:c.optional(),imageAlign:E.optional(),imageSize:Q.optional()}),be={id:y.string(),text:y.string(),score:y.number().optional(),image:c.optional(),imageAlign:E.optional(),imageSize:Q.optional()},Ye=y.object({...be,type:y.enum(["single-choice","multiple-choice"]),options:y.array($e)}),Ue=y.object({...be,type:y.literal("true-false"),correctAnswer:y.boolean()}),Ze=y.object({...be,type:y.enum(["short-answers","long-answers"]),minCharacters:y.number().optional(),maxCharacters:y.number().optional()}),fe=y.discriminatedUnion("type",[Ye,Ue,Ze]);import{z as e}from"zod";import{z as I}from"zod";var q=I.enum(["scattered","rotated","scattered_rotated"]),Xe=I.enum(["swap","slide"]),xe=I.object({image:I.union([I.string(),c]).optional().describe("Image URL or MediaItem for puzzle."),pieces:I.number().int().optional().describe("Number of pieces (e.g. 9, 16, 25)."),gameMode:q.optional(),puzzleType:Xe.optional(),showNumbers:I.union([I.boolean(),I.string()]).optional().describe("Show helper numbers on puzzle pieces."),seed:I.string().optional().describe("Deterministic seed for piece placement.")});var eo=e.enum(["2D","360\xB0"]),F={id:e.string(),type:Y,title:e.string(),showTitle:e.boolean().optional(),locked:e.boolean().optional(),groupId:e.string().optional(),position:U.optional(),rotation:e.number(),hidden:e.boolean().optional(),draggable:e.boolean().optional(),size:R.optional(),minSize:R.optional(),maxSize:R.optional(),theme:b.optional()},x={...F,actions:e.array(Se).optional(),score:e.number().optional()},xt=e.object(x),oo=e.object({id:e.string(),text:e.string(),background:c.optional(),opacity:e.number().optional(),x:e.number().optional(),y:e.number().optional(),width:e.number().optional(),height:e.number().optional(),styles:s.optional(),textStyles:u.optional()}),to=e.object({id:e.string(),name:e.string(),background:c.optional(),x:e.number().optional(),y:e.number().optional(),width:e.number().optional(),height:e.number().optional(),singleItem:e.boolean().optional(),opacity:e.number().optional(),styles:s.optional(),textStyles:u.optional(),items:e.array(oo)}),no=e.enum(["d4","d6","d8","d10","d12","d20"]),ro=e.object({char:e.string(),isBlack:e.boolean(),number:e.number().optional(),row:e.number(),col:e.number()}),ao=e.object({answer:e.string(),clue:e.string(),image:c.optional(),startx:e.number(),starty:e.number(),orientation:e.enum(["across","down","none"]),position:e.number()}),io=e.object({grid:e.array(e.array(ro)),rows:e.number(),cols:e.number(),words:e.array(ao)}),co=e.object({grid:e.array(e.array(e.string())),placedWords:e.array(e.object({word:e.string(),clean:e.string(),path:e.array(e.object({x:e.number(),y:e.number()}))}))}),lo=e.object({id:e.string(),type:e.enum(["img-img","img-word","word-word"]),content:e.tuple([e.string(),e.string()])}),po=e.object({id:e.string(),text:e.string(),color:e.string().optional(),image:c.optional()}),ke=e.object({type:e.enum(["text","image"]),content:e.any()}),so=e.object({id:e.string(),front:ke,back:ke}),mo=e.object({id:e.string(),frontImage:c.optional(),frontText:e.string().optional()}),ho=e.object({id:e.string(),leftLabel:e.string(),rightLabel:e.string(),leftImage:e.any().optional(),rightImage:e.any().optional()}),uo=e.enum(["rectangle","rounded-rectangle","circle","triangle","triangle-inverted","pentagon","hexagon","heptagon","octagon","decagon","star","star-4","star-5","star-6","star-8","star-12","star-24","arrow-block-right","arrow-block-left","arrow-block-up","arrow-block-down","arrow-block-left-right","flow-process","flow-decision","flow-data","flow-document","flow-start-stop","callout-rect","callout-round","callout-cloud","cloud","heart","banner","tear","gear","asterisk"]),ze=e.enum(["none","arrow","circle","square"]),yo=e.object({id:e.string(),text:e.string(),t:e.number(),offsetX:e.number().optional(),offsetY:e.number().optional(),fontSize:e.number().optional(),color:e.string().optional(),backgroundColor:e.string().optional()}),go=e.object({...x,type:e.literal("Quiz"),questions:e.array(fe).optional(),previewIndex:e.number().optional(),required:e.boolean().optional(),showResults:e.boolean().optional(),allowRetry:e.boolean().optional(),maxRetry:e.string().optional(),submitText:e.string().optional(),timer:e.string().optional(),showQuestionCount:e.boolean().optional(),theme:ee}),So=e.object({...x,type:e.literal("Hotpoint"),showIcon:e.boolean().optional(),element:e.enum(["image","button"]),theme:X.optional()}),bo=e.object({...x,type:e.literal("Editor"),content:e.any().optional(),readonly:e.boolean().optional(),theme:te.optional()}),fo=e.object({...F,type:e.literal("Media"),media:c.optional()}),xo=e.object({...F,type:e.literal("Embed"),url:e.string().optional(),readOnly:e.boolean().optional()}),ko=e.object({...x,type:e.literal("DragAndDrop"),groups:e.array(to),theme:oe.optional(),showResults:e.boolean().optional(),layout:e.enum(["manual","split"]).optional(),itemArrangement:e.enum(["random","list","grid"]).optional(),groupBackground:c.optional(),enableWrongAnswers:e.boolean().optional(),itemBackground:c.optional(),groupBackgroundOpacity:e.number().optional(),itemBackgroundOpacity:e.number().optional(),splitRatio:e.number().optional()}),zo=e.object({...x,type:e.literal("Anagram"),letters:e.array(e.string()),correctWord:e.string(),theme:ne.optional(),clue:e.string().optional(),allowRetry:e.boolean().optional(),maxRetry:e.string().optional()}),Co=e.object({...x,type:e.literal("Dice"),rollHistory:e.array(e.number()).optional(),diceType:no.optional(),faceOverrides:e.any().optional(),color:e.string().optional(),showNumber:e.boolean().optional(),diceCount:e.number().optional(),dicePool:e.record(e.number()).optional(),persistent:e.boolean().optional(),theme:re.optional()}),Bo=e.object({...x,type:e.literal("Puzzle"),image:c.optional(),pieces:e.number().optional(),gameMode:q.optional(),puzzleType:e.enum(["swap","slide"]).optional(),showNumbers:e.union([e.boolean(),e.string()]).optional(),seed:e.string().optional()}),To=e.object({...x,type:e.literal("Crossword"),words:e.array(e.object({answer:e.string(),clue:e.string(),image:c.optional()})).optional(),layout:io.optional(),theme:ae.optional()}),wo=e.enum(["easy","medium","hard"]),Ao=e.object({...x,type:e.literal("WordSearch"),words:e.array(e.string()).optional(),gridSize:M.optional(),difficulty:wo.optional(),data:co.optional(),theme:ie.optional()}),jo=e.object({...x,type:e.literal("Memory"),pairs:e.array(lo),gridSize:M.optional(),hideScore:e.boolean().optional(),theme:ce.optional()}),Io=e.object({...x,type:e.literal("Flashcard"),cards:e.array(so),theme:me.optional()}),Do=e.object({...x,type:e.literal("SpinningWheel"),slices:e.array(po),spinDuration:e.number().optional(),theme:le.optional()}),Mo=e.object({...x,type:e.literal("Chart"),chartType:e.enum(["line","bar","pie","doughnut","radar","area","scatter"]),chartData:e.array(e.any()),chartConfig:e.object({colors:e.array(e.string()).optional(),xAxisLabel:e.string().optional(),yAxisLabel:e.string().optional(),showLegend:e.boolean().optional(),showTooltip:e.boolean().optional(),stacked:e.boolean().optional(),seriesNames:e.record(e.string()).optional()})}),Po=e.object({...x,type:e.literal("MatchPairs"),instructions:e.string().optional(),pairs:e.array(ho),theme:de.optional()}),Oo=e.object({...x,type:e.literal("Cloze"),templateText:e.string().optional(),theme:pe.optional(),mode:e.enum(["write","drag-drop"]).optional()}),vo=e.object({...x,type:e.literal("CardDeck"),cards:e.array(mo),backImage:c.optional(),discardLogic:e.enum(["delete","return"]),theme:se.optional()}),Eo=e.object({...F,type:e.literal("Shape"),shapeType:uo.optional(),text:e.string().optional(),theme:he.optional()}),Qo=e.object({...F,type:e.literal("Arrow"),startBlockId:e.string(),endBlockId:e.string().optional(),endPos:e.object({x:e.number(),y:e.number()}).optional(),startHandle:e.enum(["top","right","bottom","left"]),endHandle:e.enum(["top","right","bottom","left"]).optional(),connectionType:e.enum(["straight","orthogonal","curved"]),strokeColor:e.string().optional(),strokeWidth:e.number().optional(),strokeStyle:e.enum(["solid","dashed","dotted"]).optional(),showHead:e.boolean().optional(),startHead:ze.optional(),endHead:ze.optional(),bendOffsetX:e.number().optional(),bendOffsetY:e.number().optional(),segmentCount:e.number().optional(),bendOffsets:e.array(e.number()).optional(),labels:e.array(yo).optional()}),Ce=e.discriminatedUnion("type",[go,So,bo,xo,fo,ko,zo,Co,Bo,To,Ao,jo,Io,Do,Mo,Po,Eo,Qo,Oo,vo]),Lo=e.object({id:e.string(),name:e.string(),locked:e.boolean().optional()}),_o=e.object({id:e.string(),title:e.string(),type:eo,background:e.union([e.string(),e.array(e.string()),c]).optional(),backgroundColor:e.string().optional(),backgroundAutoplay:e.boolean().optional(),backgroundLoop:e.boolean().optional(),secretCode:e.string().optional(),hidden:e.boolean().optional(),blocks:e.array(Ce),groups:e.array(Lo).optional(),canvas:e.object({width:e.number().optional(),height:e.number().optional(),preset:e.enum(["landscape","mobile","infographics","square","custom"]).optional()}).optional()}),kt=e.object({id:e.string(),title:e.string(),hasTimer:e.boolean(),timer:e.string().optional(),allowNavigation:e.boolean(),scenes:e.array(_o),variables:e.array(e.object({name:e.string(),defaultValue:e.union([e.string(),e.number(),e.boolean()])})).optional(),audio:e.array(e.object({id:e.string(),media:c.optional(),scenes:e.string().optional(),autoplay:e.boolean().optional(),loop:e.boolean().optional()})).optional()}),zt=e.object({id:e.string(),type:e.literal("BLOCK"),sceneId:e.string(),blockData:Ce});import{z as k}from"zod";var Ro=k.object({id:k.string(),type:k.string(),title:k.string()}),Fo=k.object({id:k.string(),title:k.string(),position:k.number(),blocks:k.array(Ro).default([])}),Ct=k.object({activity:k.object({id:k.string(),title:k.string(),scenes:k.array(Fo).default([])}),activeSceneId:k.string().nullable().optional()});import{z as g}from"zod";var Wo=g.enum(["single-choice","multiple-choice","true-false","short-answers","long-answers"]),Go=g.object({id:g.string().optional(),text:g.string(),isCorrect:g.boolean(),image:c.optional().describe("Option image."),imageAlign:E.optional().describe("Option image alignment."),imageSize:Q.optional().describe("Option image size.")}),No=g.object({id:g.string().optional().describe("Question ID. Auto-generated if omitted."),type:Wo,text:g.string().describe("The question text."),score:g.number().optional(),options:g.array(Go).optional().describe("Required for single-choice and multiple-choice."),correctAnswer:g.boolean().optional().describe("Required for true-false."),image:c.optional().describe("Question image."),imageAlign:E.optional().describe("Question image alignment."),imageSize:Q.optional().describe("Question image size.")}),Be=g.object({questions:g.array(No).describe("Array of question objects."),showResults:g.boolean().optional(),allowRetry:g.boolean().optional(),maxRetry:g.string().optional(),required:g.boolean().optional(),submitText:g.string().optional().describe("Label for submit button."),timer:g.string().optional().describe("Timer duration in seconds as a string."),showQuestionCount:g.boolean().optional().describe("Show current/total questions count.")});import{z as Te}from"zod";var qo=Te.enum(["write","drag-drop"]),we=Te.object({templateText:Te.string().describe('Template text with blanks in [brackets]. E.g. "The capital of Italy is [Rome]."'),mode:qo.optional().describe("Input mode. Default: write.")});import{z}from"zod";var Bt=z.enum(["Crossword","WordSearch","Anagram"]),Ho=z.object({answer:z.string(),clue:z.string(),image:c.optional().describe("Clue image.")}),Ae=z.object({words:z.array(Ho)}),je=z.object({words:z.array(z.string()),gridSize:M.optional().describe("Grid dimensions."),difficulty:z.enum(["easy","medium","hard"]).optional()}),Ie=z.object({correctWord:z.string().describe("The correct word."),letters:z.array(z.string()).optional(),clue:z.string().optional().describe("A hint.")});import{z as A}from"zod";var Tt=A.enum(["Memory","MatchPairs"]),Ko=A.enum(["img-img","img-word","word-word"]),Jo=A.object({id:A.string().optional(),type:Ko.optional().describe("For Memory: pair type."),content:A.array(A.string()).optional().describe("For Memory: [item1, item2]."),leftLabel:A.string().optional().describe("For MatchPairs: left side text."),rightLabel:A.string().optional().describe("For MatchPairs: right side text."),leftImage:c.optional().describe("For MatchPairs: left side image."),rightImage:c.optional().describe("For MatchPairs: right side image.")}),H=A.object({pairs:A.array(Jo).describe("Array of pair objects."),gridSize:M.optional().describe("For Memory: grid dimensions."),instructions:A.string().optional().describe("For MatchPairs: instruction text.")});import{z as T}from"zod";var wt=T.enum(["Flashcard","CardDeck"]),De=T.object({type:T.enum(["text","image"]),content:T.any()}),Vo=T.object({id:T.string().optional(),front:De.optional().describe("For Flashcard: front side."),back:De.optional().describe("For Flashcard: back side."),frontText:T.string().optional().describe("For CardDeck: front text."),frontImage:T.any().optional().describe("For CardDeck: front image.")}),K=T.object({cards:T.array(Vo).describe("Array of card objects."),backImage:T.any().optional().describe("For CardDeck: shared back image."),discardLogic:T.enum(["delete","return"]).optional().describe("For CardDeck.")});import{z as L}from"zod";var $o=L.enum(["d4","d6","d8","d10","d12","d20"]),Me=L.object({diceType:$o.optional(),diceCount:L.number().int().min(1).max(10).optional(),color:L.string().optional().describe("CSS color for dice."),showNumber:L.boolean().optional(),persistent:L.boolean().optional().describe("Keep dice visible after roll.")});import{z as O}from"zod";var Yo=O.object({id:O.string().optional(),text:O.string(),color:O.string().optional().describe("CSS color for slice."),image:c.optional().describe("Slice image.")}),Pe=O.object({slices:O.array(Yo).min(2).describe("Wheel slices (min 2)."),spinDuration:O.number().optional().describe("Spin duration in seconds.")});import{z as m}from"zod";var Uo=m.object({id:m.string().optional(),text:m.string(),background:c.optional().describe("Background image/color for item."),opacity:m.number().optional().describe("Opacity of the item (0-1)."),x:m.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:m.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:m.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:m.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:m.number().optional().describe("Manual width in pixels."),height:m.number().optional().describe("Manual height in pixels."),styles:s.optional().describe("Box custom styling styles."),textStyles:u.optional().describe("Text custom styling styles.")}),Zo=m.object({id:m.string().optional(),name:m.string().describe("Group/dropzone name."),singleItem:m.boolean().optional().describe("Accept only one item inside."),background:c.optional().describe("Background image/color for group."),x:m.number().optional().describe("Manual x position in pixels (sandbox space, origin top-left; sandbox size = block.size)."),y:m.number().optional().describe("Manual y position in pixels (sandbox space, origin top-left)."),fx:m.number().optional().describe("Resize-invariant x as a fraction (0-1) of sandbox width. Preferred over x when present."),fy:m.number().optional().describe("Resize-invariant y as a fraction (0-1) of sandbox height. Preferred over y when present."),width:m.number().optional().describe("Manual width in pixels."),height:m.number().optional().describe("Manual height in pixels."),opacity:m.number().optional().describe("Opacity of the group (0-1)."),styles:s.optional().describe("Box custom styling styles."),textStyles:u.optional().describe("Text custom styling styles."),items:m.array(Uo).describe("Items that belong in this group.")}),Oe=m.object({groups:m.array(Zo).min(1).describe("Drag-and-drop groups."),layout:m.enum(["manual","split"]).optional().describe("Layout mode: manual placements or split areas."),itemArrangement:m.enum(["random","list","grid"]).optional().describe("Initial item arrangement inside sandbox."),showResults:m.boolean().optional().describe("Show result feedback immediately."),requireSubmit:m.boolean().optional().describe("Require an explicit 'Check' button to grade instead of auto-grading when all items are placed."),enableWrongAnswers:m.boolean().optional().describe("Allow placing items in incorrect groups."),groupBackground:c.optional().describe("Shared background image/color for all groups."),itemBackground:c.optional().describe("Shared background image/color for all items."),groupBackgroundOpacity:m.number().optional().describe("Shared group background opacity (0-1)."),itemBackgroundOpacity:m.number().optional().describe("Shared item background opacity (0-1)."),splitRatio:m.number().optional().describe("Proportion ratio for split layout.")});import{z as C}from"zod";var Xo=C.enum(["line","bar","pie","doughnut","radar","area","scatter"]),et=C.object({colors:C.array(C.string()).optional(),xAxisLabel:C.string().optional(),yAxisLabel:C.string().optional(),showLegend:C.boolean().optional(),showTooltip:C.boolean().optional(),stacked:C.boolean().optional(),seriesNames:C.record(C.string()).optional().describe("Dictionary mapping series keys to custom labels.")}),ve=C.object({chartType:Xo.optional(),chartData:C.array(C.record(C.any())).optional().describe("Data array, e.g. [{name:'A', value:10}]."),chartConfig:et.optional()});import{z as J}from"zod";var _=J.object({content:J.any().optional().describe("For Editor: Plate JSON content array."),url:J.string().optional().describe("For Media or Embed: content URL."),text:J.string().optional().describe("For Shape: text inside shape."),mediaType:v.optional().describe("For Media: media type.")});import*as ot from"zod-to-json-schema";var At=ot.zodToJsonSchema,W={Quiz:Be,Cloze:we,Crossword:Ae,WordSearch:je,Anagram:Ie,Memory:H,MatchPairs:H,Flashcard:K,CardDeck:K,Dice:Me,SpinningWheel:Pe,DragAndDrop:Oe,Chart:ve,Puzzle:xe,Editor:_,Media:_,Embed:_,Shape:_};function jt(t,r,n,a){let i=n?"*required*":"optional",h=Ee(r),d=r.description?` \u2014 ${r.description}`:"";return`${a}- \`${t}\` (${h}, ${i})${d}`}function Ee(t){return t.enum?`enum: ${t.enum.map(r=>JSON.stringify(r)).join(" | ")}`:t.anyOf||t.oneOf?(t.anyOf||t.oneOf).map(Ee).join(" | "):Array.isArray(t.type)?t.type.join(" | "):t.type==="array"&&t.items?`array<${Ee(t.items)}>`:t.type==="object"?"object":t.type??"any"}function Qe(t,r){let n=[],a=new Set(t.required??[]),i=t.properties??{};for(let[h,d]of Object.entries(i))n.push(jt(h,d,a.has(h),r)),d.type==="object"&&d.properties?n.push(Qe(d,r+" ")):d.type==="array"&&d.items?.type==="object"&&n.push(Qe(d.items,r+" "));return n.join(`
4
+ `)}function It(){let t=[],r=new Map;for(let[n,a]of Object.entries(W)){let i=r.get(a)??[];i.push(n),r.set(a,i)}for(let[n,a]of r.entries()){let i=a.join(" / "),h=At(n,{target:"jsonSchema7"}),d=Qe(h,"");t.push(`### ${i}
5
+ ${d||"_(no configurable fields)_"}`)}return t.join(`
7
6
 
8
- `)}});var je=y(A=>{"use strict";var _o=A&&A.__createBinding||(Object.create?(function(n,r,i,l){l===void 0&&(l=i);var s=Object.getOwnPropertyDescriptor(r,i);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return r[i]}}),Object.defineProperty(n,l,s)}):(function(n,r,i,l){l===void 0&&(l=i),n[l]=r[i]})),J=A&&A.__exportStar||function(n,r){for(var i in n)i!=="default"&&!Object.prototype.hasOwnProperty.call(r,i)&&_o(r,n,i)};Object.defineProperty(A,"__esModule",{value:!0});J(be(),A);J(L(),A);J(le(),A);J(ve(),A);J(fe(),A);J(se(),A);J(De(),A);J(Pe(),A);J(xe(),A);J(Ve(),A)});var Se={createScene:[],deleteScene:["sceneId"],addBlock:["sceneId","block"],updateScene:["sceneId"],deleteBlock:["sceneId","blockId"],updateBlock:["sceneId","blockId","updates"],duplicateBlock:["sceneId","blockId"],groupBlocks:["blockIds"],updateBlockTheme:["sceneId","blockId","theme"],updateBlockElementStyle:["sceneId","blockId","elementId","customStyle"],addAction:["sceneId","blockId","action"],removeAction:["sceneId","blockId","actionId"],manageVariables:["operation","name"],configureTimer:[],reorderScenes:["sceneId","newIndex"],insertItem:["blockId","collection","item"],updateItem:["blockId","collection","itemId","item"],deleteItem:["blockId","collection","itemId"]},vo=Object.keys(Se);function to(n){return Object.prototype.hasOwnProperty.call(Se,n)}function Oo(n,r){if(!to(n))return{ok:!1,code:"UNKNOWN_OP",errors:[`unknown op "${n}"`]};if(typeof r!="object"||r===null||Array.isArray(r))return{ok:!1,code:"NOT_OBJECT",errors:["op data must be an object"]};let i=r,l=Se[n].filter(s=>i[s]===void 0||i[s]===null);return l.length>0?{ok:!1,code:"MISSING_FIELDS",errors:l.map(s=>`missing field: ${s}`)}:n==="groupBlocks"&&(!Array.isArray(i.blockIds)||i.blockIds.length<2)?{ok:!1,code:"MISSING_FIELDS",errors:["groupBlocks requires a blockIds array with >= 2 ids"]}:{ok:!0}}function Do(n,r,i){let l=Array.isArray(n)?[...n]:[];if(r==="insertItem"){if(i.item===void 0||i.item===null)return l;let s=typeof i.at=="number"?i.at:l.length;return l.splice(Math.max(0,Math.min(s,l.length)),0,i.item),l}return r==="updateItem"?l.map(s=>s&&typeof s=="object"&&s.id===i.itemId?{...s,...i.item??{}}:s):l.filter(s=>!(s&&typeof s=="object"&&s.id===i.itemId))}var ao=new Set(["position","size","rotation","zIndex","z"]);function ce(n){return n===null||typeof n!="object"?JSON.stringify(n)??"null":Array.isArray(n)?"["+n.map(ce).join(",")+"]":"{"+Object.keys(n).sort().map(i=>JSON.stringify(i)+":"+ce(n[i])).join(",")+"}"}function no(n,r){let i=r??{};switch(n){case"updateBlock":case"updateBlockTheme":case"updateBlockElementStyle":case"deleteBlock":case"duplicateBlock":case"removeAction":return i.blockId?{kind:"block",blockId:i.blockId}:{kind:"untracked"};case"updateItem":case"deleteItem":return i.blockId&&i.collection&&i.itemId?{kind:"item",blockId:i.blockId,collection:i.collection,itemId:i.itemId}:{kind:"untracked"};default:return{kind:"untracked"}}}function io(n,r){if(Array.isArray(n))for(let i of n){let l=i?.blocks?.find?.(s=>s&&s.id===r);if(l)return l}}function ro(n,r){if(r.kind==="untracked")return null;let i=r.blockId?io(n,r.blockId):void 0;if(!i)return null;if(r.kind==="block"){let S={};for(let u of Object.keys(i))ao.has(u)||(S[u]=i[u]);return ce(S)}let l=i[r.collection];if(!Array.isArray(l))return null;let s=l.find(S=>S&&S.id===r.itemId);return s?ce(s):null}function Eo(n,r){return n==null?"apply":r==null?"missing":n===r?"apply":"stale"}function qo(n,r,i){let l=no(n,r);return{target:l,baseSignature:ro(i,l)}}var ze=/@\[([^\]|]+)\|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})\]/g;function Fo(n){let r=[];for(let i of(n??"").matchAll(ze))r.push({name:i[1].trim(),id:i[2]});return r}function Qo(n,r){let i=new Map,l=new Map;for(let B of r?.scenes??[]){B?.id&&i.set(B.id,B);for(let w of B?.blocks??[])w?.id&&l.set(w.id,{block:w,sceneId:B.id})}let s=[],S=new Set,u=B=>l.has(B)?"il blocco selezionato":i.has(B)?"la scena selezionata":"l'elemento selezionato",X=(B,w)=>{if(!S.has(w))if(l.has(w)){let{block:Z,sceneId:$e}=l.get(w);s.push({id:w,name:B,kind:"block",blockType:Z?.type,sceneId:$e}),S.add(w)}else i.has(w)&&(s.push({id:w,name:B,kind:"scene"}),S.add(w))},W=(n??"").replace(ze,(B,w,Z)=>(X(w.trim(),Z),w.trim())),q=(n??"").replace(ze,(B,w,Z)=>l.has(Z)||i.has(Z)?u(Z):w.trim());return{cleanedText:W,agentText:q,entities:s}}var Me=Ie(je()),o=Ie(je());import{zodToJsonSchema as jo}from"zod-to-json-schema";function Mo(){return Object.keys(Me.BLOCK_CONTENT_SCHEMAS)}function Ao(n){let r=Me.BLOCK_CONTENT_SCHEMAS[n];if(r)return jo(r,{target:"jsonSchema7",$refStrategy:"none"})}function ht(){return Object.fromEntries(Mo().map(n=>[n,Ao(n)]))}var export_ActionBlockSchema=o.ActionBlockSchema;var export_ActionConditionSchema=o.ActionConditionSchema;var export_ActionSchema=o.ActionSchema;var export_ActionTypeSchema=o.ActionTypeSchema;var export_ActionVariableSchema=o.ActionVariableSchema;var export_ActivityContentSchema=o.ActivityContentSchema;var export_ActivityContextSchema=o.ActivityContextSchema;var export_ActivityVariableSchema=o.ActivityVariableSchema;var export_AnagramBlockSchema=o.AnagramBlockSchema;var export_AnagramBlockThemeSchema=o.AnagramBlockThemeSchema;var export_AnagramContentSchema=o.AnagramContentSchema;var export_AnimationSchema=o.AnimationSchema;var export_ArrowBlockSchema=o.ArrowBlockSchema;var export_ArrowHeadTypeSchema=o.ArrowHeadTypeSchema;var export_ArrowLabelSchema=o.ArrowLabelSchema;var export_BLOCK_CONTENT_SCHEMAS=o.BLOCK_CONTENT_SCHEMAS;var export_BLOCK_STYLE_KEYS=o.BLOCK_STYLE_KEYS;var export_BLOCK_TYPES=o.BLOCK_TYPES;var export_BasicContentSchema=o.BasicContentSchema;var export_BlockEventSchema=o.BlockEventSchema;var export_BlockEventTypeSchema=o.BlockEventTypeSchema;var export_BlockGroupSchema=o.BlockGroupSchema;var export_BlockSchema=o.BlockSchema;var export_BlockThemeSchema=o.BlockThemeSchema;var export_BlockTypeSchema=o.BlockTypeSchema;var export_BoxSideSchema=o.BoxSideSchema;var export_BoxStylesSchema=o.BoxStylesSchema;var export_CanvasDragItemSchema=o.CanvasDragItemSchema;var export_CardDeckBlockSchema=o.CardDeckBlockSchema;var export_CardDeckBlockThemeSchema=o.CardDeckBlockThemeSchema;var export_CardFaceSchema=o.CardFaceSchema;var export_CardItemSchema=o.CardItemSchema;var export_CardSchema=o.CardSchema;var export_ChartBlockSchema=o.ChartBlockSchema;var export_ChartConfigSchema=o.ChartConfigSchema;var export_ChartContentSchema=o.ChartContentSchema;var export_ChartTypeSchema=o.ChartTypeSchema;var export_ChoiceQuestionSchema=o.ChoiceQuestionSchema;var export_ClickConditionSchema=o.ClickConditionSchema;var export_ClozeBlockSchema=o.ClozeBlockSchema;var export_ClozeBlockThemeSchema=o.ClozeBlockThemeSchema;var export_ClozeContentSchema=o.ClozeContentSchema;var export_ClozeModeSchema=o.ClozeModeSchema;var export_ConditionOperatorSchema=o.ConditionOperatorSchema;var export_CropDataSchema=o.CropDataSchema;var export_CrosswordBlockSchema=o.CrosswordBlockSchema;var export_CrosswordBlockThemeSchema=o.CrosswordBlockThemeSchema;var export_CrosswordCellSchema=o.CrosswordCellSchema;var export_CrosswordContentSchema=o.CrosswordContentSchema;var export_CrosswordLayoutOutputSchema=o.CrosswordLayoutOutputSchema;var export_CrosswordLayoutWordSchema=o.CrosswordLayoutWordSchema;var export_CrosswordWordSchema=o.CrosswordWordSchema;var export_DeckBlockTypeSchema=o.DeckBlockTypeSchema;var export_DeckContentSchema=o.DeckContentSchema;var export_DiceBlockSchema=o.DiceBlockSchema;var export_DiceBlockThemeSchema=o.DiceBlockThemeSchema;var export_DiceContentSchema=o.DiceContentSchema;var export_DiceTypeSchema=o.DiceTypeSchema;var export_DieTypeSchema=o.DieTypeSchema;var export_DragAndDropBlockSchema=o.DragAndDropBlockSchema;var export_DragAndDropBlockThemeSchema=o.DragAndDropBlockThemeSchema;var export_DragAndDropContentSchema=o.DragAndDropContentSchema;var export_DragAndDropGroupSchema=o.DragAndDropGroupSchema;var export_DragAndDropItemSchema=o.DragAndDropItemSchema;var export_DragGroupSchema=o.DragGroupSchema;var export_DragItemSchema=o.DragItemSchema;var export_EditorBlockSchema=o.EditorBlockSchema;var export_EditorBlockThemeSchema=o.EditorBlockThemeSchema;var export_EmbedBlockSchema=o.EmbedBlockSchema;var export_FlashcardBlockSchema=o.FlashcardBlockSchema;var export_FlashcardBlockThemeSchema=o.FlashcardBlockThemeSchema;var export_FlashcardContentSchema=o.FlashcardContentSchema;var export_FlashcardItemSchema=o.FlashcardItemSchema;var export_GridSizeSchema=o.GridSizeSchema;var export_HotpointBlockSchema=o.HotpointBlockSchema;var export_HotpointBlockThemeSchema=o.HotpointBlockThemeSchema;var export_ImageAlignSchema=o.ImageAlignSchema;var export_ImageSizeSchema=o.ImageSizeSchema;var export_KeyPressConditionSchema=o.KeyPressConditionSchema;var export_MatchPairsBlockSchema=o.MatchPairsBlockSchema;var export_MatchPairsBlockThemeSchema=o.MatchPairsBlockThemeSchema;var export_MatchPairsPairSchema=o.MatchPairsPairSchema;var export_MathOperationSchema=o.MathOperationSchema;var export_MediaBlockSchema=o.MediaBlockSchema;var export_MediaItemSchema=o.MediaItemSchema;var export_MediaRefSchema=o.MediaRefSchema;var export_MediaSourceSchema=o.MediaSourceSchema;var export_MediaTypeSchema=o.MediaTypeSchema;var export_MemoryBlockSchema=o.MemoryBlockSchema;var export_MemoryBlockThemeSchema=o.MemoryBlockThemeSchema;var export_MemoryPairSchema=o.MemoryPairSchema;var export_MemoryPairTypeSchema=o.MemoryPairTypeSchema;var export_PairGameBlockTypeSchema=o.PairGameBlockTypeSchema;var export_PairGameContentSchema=o.PairGameContentSchema;var export_PairSchema=o.PairSchema;var export_PositionSchema=o.PositionSchema;var export_PuzzleBlockSchema=o.PuzzleBlockSchema;var export_PuzzleContentSchema=o.PuzzleContentSchema;var export_PuzzleGameModeSchema=o.PuzzleGameModeSchema;var export_PuzzleTypeSchema=o.PuzzleTypeSchema;var export_QuestionOptionSchema=o.QuestionOptionSchema;var export_QuestionSchema=o.QuestionSchema;var export_QuestionTypeSchema=o.QuestionTypeSchema;var export_QuizBlockSchema=o.QuizBlockSchema;var export_QuizBlockThemeSchema=o.QuizBlockThemeSchema;var export_QuizConditionSchema=o.QuizConditionSchema;var export_QuizContentSchema=o.QuizContentSchema;var export_QuizOptionSchema=o.QuizOptionSchema;var export_QuizQuestionSchema=o.QuizQuestionSchema;var export_QuizQuestionTypeSchema=o.QuizQuestionTypeSchema;var export_RadiusSchema=o.RadiusSchema;var export_STYLE_TARGET_MAP=o.STYLE_TARGET_MAP;var export_SceneBlockRefSchema=o.SceneBlockRefSchema;var export_SceneSchema=o.SceneSchema;var export_SceneSummarySchema=o.SceneSummarySchema;var export_SceneTypeSchema=o.SceneTypeSchema;var export_ShapeBlockSchema=o.ShapeBlockSchema;var export_ShapeBlockThemeSchema=o.ShapeBlockThemeSchema;var export_ShapeTypeSchema=o.ShapeTypeSchema;var export_SizeSchema=o.SizeSchema;var export_SpinnerContentSchema=o.SpinnerContentSchema;var export_SpinnerSliceSchema=o.SpinnerSliceSchema;var export_SpinningWheelBlockSchema=o.SpinningWheelBlockSchema;var export_SpinningWheelBlockThemeSchema=o.SpinningWheelBlockThemeSchema;var export_TextQuestionSchema=o.TextQuestionSchema;var export_TextStylesSchema=o.TextStylesSchema;var export_TimerConditionSchema=o.TimerConditionSchema;var export_TrueFalseQuestionSchema=o.TrueFalseQuestionSchema;var export_UNSTYLEABLE_BLOCKS=o.UNSTYLEABLE_BLOCKS;var export_VideoSettingsSchema=o.VideoSettingsSchema;var export_WheelSliceSchema=o.WheelSliceSchema;var export_WordGameBlockTypeSchema=o.WordGameBlockTypeSchema;var export_WordSearchBlockSchema=o.WordSearchBlockSchema;var export_WordSearchBlockThemeSchema=o.WordSearchBlockThemeSchema;var export_WordSearchContentSchema=o.WordSearchContentSchema;var export_WordSearchDataSchema=o.WordSearchDataSchema;var export_WordSearchDifficultySchema=o.WordSearchDifficultySchema;var export_generateBlockReference=o.generateBlockReference;var export_mapLogicalThemeStyles=o.mapLogicalThemeStyles;var export_mergeTheme=o.mergeTheme;var export_realStyleKeysFor=o.realStyleKeysFor;var export_styleTargetsHelpFor=o.styleTargetsHelpFor;export{export_ActionBlockSchema as ActionBlockSchema,export_ActionConditionSchema as ActionConditionSchema,export_ActionSchema as ActionSchema,export_ActionTypeSchema as ActionTypeSchema,export_ActionVariableSchema as ActionVariableSchema,export_ActivityContentSchema as ActivityContentSchema,export_ActivityContextSchema as ActivityContextSchema,export_ActivityVariableSchema as ActivityVariableSchema,export_AnagramBlockSchema as AnagramBlockSchema,export_AnagramBlockThemeSchema as AnagramBlockThemeSchema,export_AnagramContentSchema as AnagramContentSchema,export_AnimationSchema as AnimationSchema,export_ArrowBlockSchema as ArrowBlockSchema,export_ArrowHeadTypeSchema as ArrowHeadTypeSchema,export_ArrowLabelSchema as ArrowLabelSchema,export_BLOCK_CONTENT_SCHEMAS as BLOCK_CONTENT_SCHEMAS,export_BLOCK_STYLE_KEYS as BLOCK_STYLE_KEYS,export_BLOCK_TYPES as BLOCK_TYPES,export_BasicContentSchema as BasicContentSchema,export_BlockEventSchema as BlockEventSchema,export_BlockEventTypeSchema as BlockEventTypeSchema,export_BlockGroupSchema as BlockGroupSchema,export_BlockSchema as BlockSchema,export_BlockThemeSchema as BlockThemeSchema,export_BlockTypeSchema as BlockTypeSchema,export_BoxSideSchema as BoxSideSchema,export_BoxStylesSchema as BoxStylesSchema,vo as CANVAS_OP_NAMES,Se as CANVAS_OP_REQUIRED,export_CanvasDragItemSchema as CanvasDragItemSchema,export_CardDeckBlockSchema as CardDeckBlockSchema,export_CardDeckBlockThemeSchema as CardDeckBlockThemeSchema,export_CardFaceSchema as CardFaceSchema,export_CardItemSchema as CardItemSchema,export_CardSchema as CardSchema,export_ChartBlockSchema as ChartBlockSchema,export_ChartConfigSchema as ChartConfigSchema,export_ChartContentSchema as ChartContentSchema,export_ChartTypeSchema as ChartTypeSchema,export_ChoiceQuestionSchema as ChoiceQuestionSchema,export_ClickConditionSchema as ClickConditionSchema,export_ClozeBlockSchema as ClozeBlockSchema,export_ClozeBlockThemeSchema as ClozeBlockThemeSchema,export_ClozeContentSchema as ClozeContentSchema,export_ClozeModeSchema as ClozeModeSchema,export_ConditionOperatorSchema as ConditionOperatorSchema,export_CropDataSchema as CropDataSchema,export_CrosswordBlockSchema as CrosswordBlockSchema,export_CrosswordBlockThemeSchema as CrosswordBlockThemeSchema,export_CrosswordCellSchema as CrosswordCellSchema,export_CrosswordContentSchema as CrosswordContentSchema,export_CrosswordLayoutOutputSchema as CrosswordLayoutOutputSchema,export_CrosswordLayoutWordSchema as CrosswordLayoutWordSchema,export_CrosswordWordSchema as CrosswordWordSchema,export_DeckBlockTypeSchema as DeckBlockTypeSchema,export_DeckContentSchema as DeckContentSchema,export_DiceBlockSchema as DiceBlockSchema,export_DiceBlockThemeSchema as DiceBlockThemeSchema,export_DiceContentSchema as DiceContentSchema,export_DiceTypeSchema as DiceTypeSchema,export_DieTypeSchema as DieTypeSchema,export_DragAndDropBlockSchema as DragAndDropBlockSchema,export_DragAndDropBlockThemeSchema as DragAndDropBlockThemeSchema,export_DragAndDropContentSchema as DragAndDropContentSchema,export_DragAndDropGroupSchema as DragAndDropGroupSchema,export_DragAndDropItemSchema as DragAndDropItemSchema,export_DragGroupSchema as DragGroupSchema,export_DragItemSchema as DragItemSchema,export_EditorBlockSchema as EditorBlockSchema,export_EditorBlockThemeSchema as EditorBlockThemeSchema,export_EmbedBlockSchema as EmbedBlockSchema,export_FlashcardBlockSchema as FlashcardBlockSchema,export_FlashcardBlockThemeSchema as FlashcardBlockThemeSchema,export_FlashcardContentSchema as FlashcardContentSchema,export_FlashcardItemSchema as FlashcardItemSchema,export_GridSizeSchema as GridSizeSchema,export_HotpointBlockSchema as HotpointBlockSchema,export_HotpointBlockThemeSchema as HotpointBlockThemeSchema,export_ImageAlignSchema as ImageAlignSchema,export_ImageSizeSchema as ImageSizeSchema,export_KeyPressConditionSchema as KeyPressConditionSchema,export_MatchPairsBlockSchema as MatchPairsBlockSchema,export_MatchPairsBlockThemeSchema as MatchPairsBlockThemeSchema,export_MatchPairsPairSchema as MatchPairsPairSchema,export_MathOperationSchema as MathOperationSchema,export_MediaBlockSchema as MediaBlockSchema,export_MediaItemSchema as MediaItemSchema,export_MediaRefSchema as MediaRefSchema,export_MediaSourceSchema as MediaSourceSchema,export_MediaTypeSchema as MediaTypeSchema,export_MemoryBlockSchema as MemoryBlockSchema,export_MemoryBlockThemeSchema as MemoryBlockThemeSchema,export_MemoryPairSchema as MemoryPairSchema,export_MemoryPairTypeSchema as MemoryPairTypeSchema,export_PairGameBlockTypeSchema as PairGameBlockTypeSchema,export_PairGameContentSchema as PairGameContentSchema,export_PairSchema as PairSchema,export_PositionSchema as PositionSchema,export_PuzzleBlockSchema as PuzzleBlockSchema,export_PuzzleContentSchema as PuzzleContentSchema,export_PuzzleGameModeSchema as PuzzleGameModeSchema,export_PuzzleTypeSchema as PuzzleTypeSchema,export_QuestionOptionSchema as QuestionOptionSchema,export_QuestionSchema as QuestionSchema,export_QuestionTypeSchema as QuestionTypeSchema,export_QuizBlockSchema as QuizBlockSchema,export_QuizBlockThemeSchema as QuizBlockThemeSchema,export_QuizConditionSchema as QuizConditionSchema,export_QuizContentSchema as QuizContentSchema,export_QuizOptionSchema as QuizOptionSchema,export_QuizQuestionSchema as QuizQuestionSchema,export_QuizQuestionTypeSchema as QuizQuestionTypeSchema,export_RadiusSchema as RadiusSchema,export_STYLE_TARGET_MAP as STYLE_TARGET_MAP,export_SceneBlockRefSchema as SceneBlockRefSchema,export_SceneSchema as SceneSchema,export_SceneSummarySchema as SceneSummarySchema,export_SceneTypeSchema as SceneTypeSchema,export_ShapeBlockSchema as ShapeBlockSchema,export_ShapeBlockThemeSchema as ShapeBlockThemeSchema,export_ShapeTypeSchema as ShapeTypeSchema,export_SizeSchema as SizeSchema,export_SpinnerContentSchema as SpinnerContentSchema,export_SpinnerSliceSchema as SpinnerSliceSchema,export_SpinningWheelBlockSchema as SpinningWheelBlockSchema,export_SpinningWheelBlockThemeSchema as SpinningWheelBlockThemeSchema,export_TextQuestionSchema as TextQuestionSchema,export_TextStylesSchema as TextStylesSchema,export_TimerConditionSchema as TimerConditionSchema,export_TrueFalseQuestionSchema as TrueFalseQuestionSchema,export_UNSTYLEABLE_BLOCKS as UNSTYLEABLE_BLOCKS,export_VideoSettingsSchema as VideoSettingsSchema,export_WheelSliceSchema as WheelSliceSchema,export_WordGameBlockTypeSchema as WordGameBlockTypeSchema,export_WordSearchBlockSchema as WordSearchBlockSchema,export_WordSearchBlockThemeSchema as WordSearchBlockThemeSchema,export_WordSearchContentSchema as WordSearchContentSchema,export_WordSearchDataSchema as WordSearchDataSchema,export_WordSearchDifficultySchema as WordSearchDifficultySchema,Do as applyItemPatch,Eo as detectConflict,ro as entitySignature,export_generateBlockReference as generateBlockReference,ht as getAllBlockJsonSchemas,Ao as getBlockJsonSchema,to as isKnownCanvasOp,Mo as listBlockTypes,export_mapLogicalThemeStyles as mapLogicalThemeStyles,export_mergeTheme as mergeTheme,qo as opConflictStamp,no as opTarget,Fo as parseMentions,export_realStyleKeysFor as realStyleKeysFor,Qo as resolveMentions,ce as stableStringify,export_styleTargetsHelpFor as styleTargetsHelpFor,Oo as validateCanvasOp};
7
+ `)}function Mt(){return Object.keys(W)}function Pt(t){let r=W[t];if(r)return Dt(r,{target:"jsonSchema7",$refStrategy:"none"})}function Sr(){return Object.fromEntries(Mt().map(t=>[t,Pt(t)]))}export{xt as ActionBlockSchema,ye as ActionConditionSchema,Se as ActionSchema,Je as ActionTypeSchema,Ve as ActionVariableSchema,kt as ActivityContentSchema,Ct as ActivityContextSchema,St as ActivityVariableSchema,zo as AnagramBlockSchema,ne as AnagramBlockThemeSchema,Ie as AnagramContentSchema,We as AnimationSchema,Qo as ArrowBlockSchema,ze as ArrowHeadTypeSchema,yo as ArrowLabelSchema,W as BLOCK_CONTENT_SCHEMAS,Ne as BLOCK_STYLE_KEYS,Le as BLOCK_TYPES,_ as BasicContentSchema,bt as BlockEventSchema,ge as BlockEventTypeSchema,Lo as BlockGroupSchema,Ce as BlockSchema,b as BlockThemeSchema,Y as BlockTypeSchema,Z as BoxSideSchema,s as BoxStylesSchema,Ot as CANVAS_OP_NAMES,V as CANVAS_OP_REQUIRED,zt as CanvasDragItemSchema,vo as CardDeckBlockSchema,se as CardDeckBlockThemeSchema,De as CardFaceSchema,mo as CardItemSchema,Vo as CardSchema,Mo as ChartBlockSchema,et as ChartConfigSchema,ve as ChartContentSchema,Xo as ChartTypeSchema,Ye as ChoiceQuestionSchema,yt as ClickConditionSchema,Oo as ClozeBlockSchema,pe as ClozeBlockThemeSchema,we as ClozeContentSchema,qo as ClozeModeSchema,He as ConditionOperatorSchema,Re as CropDataSchema,To as CrosswordBlockSchema,ae as CrosswordBlockThemeSchema,ro as CrosswordCellSchema,Ae as CrosswordContentSchema,io as CrosswordLayoutOutputSchema,ao as CrosswordLayoutWordSchema,Ho as CrosswordWordSchema,wt as DeckBlockTypeSchema,K as DeckContentSchema,Co as DiceBlockSchema,re as DiceBlockThemeSchema,Me as DiceContentSchema,no as DiceTypeSchema,$o as DieTypeSchema,ko as DragAndDropBlockSchema,oe as DragAndDropBlockThemeSchema,Oe as DragAndDropContentSchema,to as DragAndDropGroupSchema,oo as DragAndDropItemSchema,Zo as DragGroupSchema,Uo as DragItemSchema,bo as EditorBlockSchema,te as EditorBlockThemeSchema,xo as EmbedBlockSchema,Io as FlashcardBlockSchema,me as FlashcardBlockThemeSchema,ke as FlashcardContentSchema,so as FlashcardItemSchema,M as GridSizeSchema,So as HotpointBlockSchema,X as HotpointBlockThemeSchema,E as ImageAlignSchema,Q as ImageSizeSchema,gt as KeyPressConditionSchema,Po as MatchPairsBlockSchema,de as MatchPairsBlockThemeSchema,ho as MatchPairsPairSchema,Ke as MathOperationSchema,fo as MediaBlockSchema,c as MediaItemSchema,pt as MediaRefSchema,_e as MediaSourceSchema,v as MediaTypeSchema,jo as MemoryBlockSchema,ce as MemoryBlockThemeSchema,lo as MemoryPairSchema,Ko as MemoryPairTypeSchema,Tt as PairGameBlockTypeSchema,H as PairGameContentSchema,Jo as PairSchema,U as PositionSchema,Bo as PuzzleBlockSchema,xe as PuzzleContentSchema,q as PuzzleGameModeSchema,Xe as PuzzleTypeSchema,$e as QuestionOptionSchema,fe as QuestionSchema,ft as QuestionTypeSchema,go as QuizBlockSchema,ee as QuizBlockThemeSchema,ht as QuizConditionSchema,Be as QuizContentSchema,Go as QuizOptionSchema,No as QuizQuestionSchema,Wo as QuizQuestionTypeSchema,Ge as RadiusSchema,N as STYLE_TARGET_MAP,Ro as SceneBlockRefSchema,_o as SceneSchema,Fo as SceneSummarySchema,eo as SceneTypeSchema,Eo as ShapeBlockSchema,he as ShapeBlockThemeSchema,uo as ShapeTypeSchema,R as SizeSchema,Pe as SpinnerContentSchema,Yo as SpinnerSliceSchema,Do as SpinningWheelBlockSchema,le as SpinningWheelBlockThemeSchema,Ze as TextQuestionSchema,u as TextStylesSchema,ut as TimerConditionSchema,Ue as TrueFalseQuestionSchema,qe as UNSTYLEABLE_BLOCKS,Fe as VideoSettingsSchema,po as WheelSliceSchema,Bt as WordGameBlockTypeSchema,Ao as WordSearchBlockSchema,ie as WordSearchBlockThemeSchema,je as WordSearchContentSchema,co as WordSearchDataSchema,wo as WordSearchDifficultySchema,Et as applyItemPatch,Lt as detectConflict,ct as entitySignature,It as generateBlockReference,Sr as getAllBlockJsonSchemas,Pt as getBlockJsonSchema,nt as isKnownCanvasOp,Mt as listBlockTypes,ue as mapLogicalThemeStyles,dt as mergeTheme,_t as opConflictStamp,at as opTarget,Ft as parseMentions,st as realStyleKeysFor,Wt as resolveMentions,G as stableStringify,mt as styleTargetsHelpFor,vt as validateCanvasOp};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edugate/ai-agent",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "source": "src/index.ts",