{"version":3,"sources":["../src/holohub/client.ts"],"names":[],"mappings":";;;AAOO,IAAM,gBAAN,MAAoB;AAAA,EAIzB,WAAA,CAAY,MAAA,GAAwB,EAAC,EAAG;AACtC,IAAA,IAAA,CAAK,MAAA,GAAS;AAAA,MACZ,QAAA,EAAU,2BAAA;AAAA,MACV,GAAG;AAAA,KACL;AACA,IAAA,IAAA,CAAK,YAAA,uBAAmB,GAAA,EAAI;AAG5B,IAAA,IAAA,CAAK,YAAA,CAAa,IAAI,WAAA,EAAa;AAAA,MACjC,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,iBAAA;AAAA,QACN,OAAA,EAAS,OAAA;AAAA,QACT,MAAA,EAAQ,UAAA;AAAA,QACR,WAAA,EAAa;AAAA,OACf;AAAA,MACA,MAAA,EAAQ,6CAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,GAAA;AAAA,QACN,QAAA,EAAU,IAAA;AAAA,QACV,YAAA,EAAc;AAAA;AAChB,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,WAAW,EAAA,EAA4C;AAE3D,IAAA,MAAM,IAAI,OAAA,CAAQ,CAAC,YAAY,UAAA,CAAW,OAAA,EAAS,GAAG,CAAC,CAAA;AAEvD,IAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,YAAA,CAAa,GAAA,CAAI,EAAE,CAAA;AACtC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,2BAAA,EAA8B,EAAE,CAAA,CAAE,CAAA;AAC/C,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,OAAO,KAAA;AAAA,EACT;AAAA,EAEA,MAAM,aAAa,KAAA,EAAwC;AAEzD,IAAA,MAAM,IAAI,OAAA,CAAQ,CAAC,YAAY,UAAA,CAAW,OAAA,EAAS,GAAG,CAAC,CAAA;AAEvD,IAAA,MAAM,EAAA,GAAK,CAAA,EAAG,KAAA,CAAM,QAAA,CAAS,KAAK,WAAA,EAAY,CAAE,OAAA,CAAQ,MAAA,EAAQ,GAAG,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,SAAS,OAAO,CAAA,CAAA;AAC9F,IAAA,IAAA,CAAK,YAAA,CAAa,GAAA,CAAI,EAAA,EAAI,KAAK,CAAA;AAE/B,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEA,MAAM,aAAa,KAAA,EAA0C;AAC3D,IAAA,MAAM,IAAI,OAAA,CAAQ,CAAC,YAAY,UAAA,CAAW,OAAA,EAAS,GAAG,CAAC,CAAA;AAEvD,IAAA,MAAM,UAA4B,EAAC;AACnC,IAAA,KAAA,MAAW,KAAA,IAAS,IAAA,CAAK,YAAA,CAAa,MAAA,EAAO,EAAG;AAC9C,MAAA,IACE,MAAM,QAAA,CAAS,IAAA,CAAK,aAAY,CAAE,QAAA,CAAS,MAAM,WAAA,EAAa,KAC9D,KAAA,CAAM,QAAA,CAAS,aAAa,WAAA,EAAY,CAAE,SAAS,KAAA,CAAM,WAAA,EAAa,CAAA,EACtE;AACA,QAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,MACpB;AAAA,IACF;AACA,IAAA,OAAO,OAAA;AAAA,EACT;AACF","file":"index.mjs","sourcesContent":["import { HoloSmartAsset } from '../schema/smart-asset';\n\nexport interface HoloHubConfig {\n  apiKey?: string;\n  endpoint?: string;\n}\n\nexport class HoloHubClient {\n  private config: HoloHubConfig;\n  private mockRegistry: Map<string, HoloSmartAsset>;\n\n  constructor(config: HoloHubConfig = {}) {\n    this.config = {\n      endpoint: 'https://api.holohub.io/v1',\n      ...config,\n    };\n    this.mockRegistry = new Map();\n\n    // Seed with a mock asset\n    this.mockRegistry.set('turret-v1', {\n      metadata: {\n        name: 'Standard Turret',\n        version: '1.0.0',\n        author: 'HoloCorp',\n        description: 'A standard defense turret.',\n      },\n      script: \"class Turret { fire() { print('Bang!'); } }\",\n      physics: {\n        mass: 100,\n        isStatic: true,\n        colliderType: 'box',\n      },\n    });\n  }\n\n  async fetchAsset(id: string): Promise<HoloSmartAsset | null> {\n    // Simulate network delay\n    await new Promise((resolve) => setTimeout(resolve, 500));\n\n    const asset = this.mockRegistry.get(id);\n    if (!asset) {\n      console.warn(`[HoloHub] Asset not found: ${id}`);\n      return null;\n    }\n\n    return asset;\n  }\n\n  async publishAsset(asset: HoloSmartAsset): Promise<string> {\n    // Simulate network delay\n    await new Promise((resolve) => setTimeout(resolve, 800));\n\n    const id = `${asset.metadata.name.toLowerCase().replace(/\\s+/g, '-')}-${asset.metadata.version}`;\n    this.mockRegistry.set(id, asset);\n\n    return id;\n  }\n\n  async searchAssets(query: string): Promise<HoloSmartAsset[]> {\n    await new Promise((resolve) => setTimeout(resolve, 300));\n\n    const results: HoloSmartAsset[] = [];\n    for (const asset of this.mockRegistry.values()) {\n      if (\n        asset.metadata.name.toLowerCase().includes(query.toLowerCase()) ||\n        asset.metadata.description?.toLowerCase().includes(query.toLowerCase())\n      ) {\n        results.push(asset);\n      }\n    }\n    return results;\n  }\n}\n"]}