{"version":3,"sources":["../src/schema/smart-asset.ts"],"names":[],"mappings":";;;AAIO,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,EAClB,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,MAAM,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACnC,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAC/B,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC;AAEM,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAClD,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,QAAA,EAAU,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC/B,YAAA,EAAc,CAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,UAAU,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,QAAA;AAC7D,CAAC;AAEM,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EAC3C,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,cAAc,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA;AAAA,EAC3C,eAAA,EAAiB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC9B,CAAC;AAyCM,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EAC3C,QAAA,EAAU,4BAAA;AAAA,EACV,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,OAAA,EAAS,4BAA4B,QAAA,EAAS;AAAA,EAC9C,EAAA,EAAI,qBAAqB,QAAA,EAAS;AAAA,EAClC,QAAQ,CAAA,CAAE,MAAA,CAAO,EAAE,MAAA,EAAO,EAAG,EAAE,KAAA,CAAM,CAAC,EAAE,MAAA,EAAO,EAAG,EAAE,UAAA,CAAW,UAAU,CAAC,CAAC,CAAC,EAAE,QAAA,EAAS;AAAA,EACvF,YAAA,EAAc,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA;AACjD,CAAC","file":"chunk-C2T5K6NK.mjs","sourcesContent":["import { z } from 'zod';\n\n// Zod Schemas for Runtime Validation\n\nexport const HoloSmartAssetMetadataSchema = z.object({\n  name: z.string(),\n  version: z.string(),\n  author: z.string().optional(),\n  description: z.string().optional(),\n  tags: z.array(z.string()).optional(),\n  thumbnail: z.string().optional(), // path to thumbnail image\n  license: z.string().optional(),\n});\n\nexport const HoloPhysicsPropertiesSchema = z.object({\n  mass: z.number().optional(),\n  friction: z.number().optional(),\n  restitution: z.number().optional(),\n  isStatic: z.boolean().optional(),\n  colliderType: z.enum(['box', 'sphere', 'capsule', 'mesh']).optional(),\n});\n\nexport const HoloAIBehaviorSchema = z.object({\n  personality: z.string().optional(),\n  interactions: z.array(z.string()).optional(), // List of interaction triggers\n  knowledgeBaseId: z.string().optional(),\n});\n\n/**\n * HoloSmartAsset\n *\n * Represents a self-contained, portable HoloScript asset.\n * It packages code, assets, physics properties, and AI behaviors into a single unit.\n */\nexport interface HoloSmartAsset {\n  /**\n   * Metadata describing the asset.\n   */\n  metadata: z.infer<typeof HoloSmartAssetMetadataSchema>;\n\n  /**\n   * The core HoloScript code defining the asset's visual and functional behavior.\n   */\n  script: string;\n\n  /**\n   * Physics properties for the asset.\n   */\n  physics?: z.infer<typeof HoloPhysicsPropertiesSchema>;\n\n  /**\n   * AI behavior configuration.\n   */\n  ai?: z.infer<typeof HoloAIBehaviorSchema>;\n\n  /**\n   * Map of relative paths to raw file buffers or base64 strings (for textures, audio, etc.).\n   * This allows the asset to be completely self-contained.\n   */\n  assets?: Record<string, string | Uint8Array>;\n\n  /**\n   * Dependencies on other Smart Assets (by ID/Version).\n   */\n  dependencies?: Record<string, string>;\n}\n\nexport const HoloSmartAssetSchema = z.object({\n  metadata: HoloSmartAssetMetadataSchema,\n  script: z.string(),\n  physics: HoloPhysicsPropertiesSchema.optional(),\n  ai: HoloAIBehaviorSchema.optional(),\n  assets: z.record(z.string(), z.union([z.string(), z.instanceof(Uint8Array)])).optional(),\n  dependencies: z.record(z.string(), z.string()).optional(),\n});\n"]}