@gensx/storage
Version:
Cloud storage, blobs, sqlite, and vector database providers/hooks for GenSX.
1 lines • 3.35 kB
Source Map (JSON)
{"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;;;;"}