{"version":3,"file":"searchClient.cjs","sources":["@gensx/storage/../../../../src/search/searchClient.ts"],"sourcesContent":["import { getProjectAndEnvironment } from \"../utils/config.js\";\nimport { SearchStorage } from \"./remote.js\";\nimport {\n  DeleteNamespaceResult,\n  EnsureNamespaceResult,\n  Namespace,\n  SearchStorageOptions,\n} from \"./types.js\";\n\n/**\n * Client for interacting with search functionality outside of JSX context\n */\nexport class SearchClient {\n  private storage: SearchStorage;\n\n  constructor(options: SearchStorageOptions = {}) {\n    const { project, environment } = getProjectAndEnvironment({\n      project: options.project,\n      environment: options.environment,\n    });\n    this.storage = new SearchStorage(project, environment);\n  }\n\n  /**\n   * Get a namespace (ensures it exists first)\n   * @param name The namespace name\n   * @returns A Promise resolving to a Namespace\n   */\n  async getNamespace(name: string): Promise<Namespace> {\n    if (!this.storage.hasEnsuredNamespace(name)) {\n      await this.storage.ensureNamespace(name);\n    }\n    return this.storage.getNamespace(name);\n  }\n\n  /**\n   * Ensure a namespace exists\n   * @param name The namespace name\n   * @returns A Promise resolving to the ensure result\n   */\n  async ensureNamespace(name: string): Promise<EnsureNamespaceResult> {\n    return this.storage.ensureNamespace(name);\n  }\n\n  /**\n   * List all namespaces\n   * @param options Options for listing namespaces\n   * @returns A Promise resolving to an array of namespace names\n   */\n  async listNamespaces(options?: {\n    prefix?: string;\n    limit?: number;\n    cursor?: string;\n  }): Promise<{\n    namespaces: { name: string; createdAt: Date }[];\n    nextCursor?: string;\n  }> {\n    return this.storage.listNamespaces(options);\n  }\n\n  /**\n   * Delete a namespace\n   * @param name The namespace name\n   * @returns A Promise resolving to the deletion result\n   */\n  async deleteNamespace(name: string): Promise<DeleteNamespaceResult> {\n    return this.storage.deleteNamespace(name);\n  }\n\n  /**\n   * Check if a namespace exists\n   * @param name The namespace name\n   * @returns A Promise resolving to a boolean indicating if the namespace exists\n   */\n  async namespaceExists(name: string): Promise<boolean> {\n    return this.storage.namespaceExists(name);\n  }\n}\n"],"names":["getProjectAndEnvironment","SearchStorage"],"mappings":";;;;;;;;;;;AASA;;AAEG;MACU,YAAY,CAAA;AACf,IAAA,OAAO;AAEf,IAAA,WAAA,CAAY,UAAgC,EAAE,EAAA;AAC5C,QAAA,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAGA,+BAAwB,CAAC;YACxD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;AACjC,SAAA,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAIC,oBAAa,CAAC,OAAO,EAAE,WAAW,CAAC;;AAGxD;;;;AAIG;IACH,MAAM,YAAY,CAAC,IAAY,EAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;;QAE1C,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;;AAGxC;;;;AAIG;IACH,MAAM,eAAe,CAAC,IAAY,EAAA;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;;AAG3C;;;;AAIG;IACH,MAAM,cAAc,CAAC,OAIpB,EAAA;QAIC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;;AAG7C;;;;AAIG;IACH,MAAM,eAAe,CAAC,IAAY,EAAA;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;;AAG3C;;;;AAIG;IACH,MAAM,eAAe,CAAC,IAAY,EAAA;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;;AAE5C;;;;"}