@dooor-ai/cortexdb 0.2.0 → 0.3.0

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/README.md CHANGED
@@ -16,7 +16,7 @@ CortexDB handles the complex infrastructure of vector databases (Qdrant), object
16
16
 
17
17
  ## Features
18
18
 
19
- - **Multi-modal document processing**: Upload PDFs, DOCX, XLSX files and automatically extract text with OCR fallback
19
+ - **Multi-modal document processing**: Upload PDFs, DOCX, XLSX files and automaticamente extrair texto com OCR fallback
20
20
  - **Semantic search**: Vector-based search using embeddings from OpenAI, Gemini, or custom providers
21
21
  - **Automatic chunking**: Smart text splitting optimized for RAG applications
22
22
  - **Flexible schema**: Define collections with typed fields (string, number, boolean, file, array)
@@ -24,6 +24,7 @@ CortexDB handles the complex infrastructure of vector databases (Qdrant), object
24
24
  - **Storage control**: Choose where each field is stored (PostgreSQL, Qdrant, MinIO)
25
25
  - **Type-safe**: Full TypeScript support with comprehensive type definitions
26
26
  - **Modern API**: Async/await using native fetch (Node.js 18+)
27
+ - **Infra management**: APIs de bancos (`client.databases`) e provedores de embedding (`client.embeddingProviders`)
27
28
 
28
29
  ## Installation
29
30
 
@@ -46,7 +47,7 @@ pnpm add @dooor-ai/cortexdb
46
47
  ## Quick Start
47
48
 
48
49
  ```typescript
49
- import { CortexClient, FieldType } from '@dooor-ai/cortexdb';
50
+ import { CortexClient, FieldType, StoreLocation } from '@dooor-ai/cortexdb';
50
51
 
51
52
  async function main() {
52
53
  const client = new CortexClient({
@@ -58,7 +59,8 @@ async function main() {
58
59
  'documents',
59
60
  [
60
61
  { name: 'title', type: FieldType.STRING },
61
- { name: 'content', type: FieldType.STRING, vectorize: true }
62
+ { name: 'content', type: FieldType.TEXT, vectorize: true },
63
+ { name: 'published_at', type: FieldType.DATETIME, store_in: [StoreLocation.POSTGRES] }
62
64
  ],
63
65
  'your-embedding-provider-id' // Required when vectorize=true
64
66
  );
@@ -122,6 +124,32 @@ Benefits:
122
124
  - Familiar pattern (like PostgreSQL, MongoDB, Redis)
123
125
  - Auto-detects HTTP vs HTTPS
124
126
 
127
+ ### Databases
128
+
129
+ ```typescript
130
+ // Create database
131
+ await client.databases.create({ name: 'ai_docs', description: 'Knowledge base' });
132
+
133
+ // List databases
134
+ const databases = await client.databases.list();
135
+
136
+ // Delete database
137
+ await client.databases.delete('ai_docs');
138
+ ```
139
+
140
+ ### Embedding Providers
141
+
142
+ ```typescript
143
+ await client.embeddingProviders.create({
144
+ name: 'Gemini Flash',
145
+ provider: 'gemini',
146
+ embedding_model: 'models/text-embedding-004',
147
+ api_key: process.env.GEMINI_API_KEY!,
148
+ });
149
+
150
+ const providers = await client.embeddingProviders.list();
151
+ ```
152
+
125
153
  ### Collections
126
154
 
127
155
  Collections define the schema for your data. Each collection can have multiple fields with different types and storage options.
@@ -139,12 +167,12 @@ const collection = await client.collections.create(
139
167
  },
140
168
  {
141
169
  name: 'content',
142
- type: FieldType.STRING,
170
+ type: FieldType.TEXT,
143
171
  vectorize: true // Enable semantic search on this field
144
172
  },
145
173
  {
146
174
  name: 'year',
147
- type: FieldType.NUMBER,
175
+ type: FieldType.INT,
148
176
  store_in: [StoreLocation.POSTGRES, StoreLocation.QDRANT_PAYLOAD]
149
177
  }
150
178
  ],
@@ -166,28 +194,37 @@ await client.collections.delete('articles');
166
194
  Records are the actual data stored in collections. They must match the collection schema.
167
195
 
168
196
  ```typescript
169
- // Create record
170
- const record = await client.records.create('articles', {
171
- title: 'Machine Learning Basics',
172
- content: 'Machine learning is a subset of AI that focuses on learning from data...',
173
- year: 2024
174
- });
197
+ import fs from 'node:fs';
198
+
199
+ // Create record (with optional file upload)
200
+ const created = await client.records.create(
201
+ 'articles',
202
+ {
203
+ title: 'Machine Learning Basics',
204
+ content: 'Machine learning é um subconjunto de IA focado em aprender com dados...',
205
+ year: 2024,
206
+ },
207
+ {
208
+ attachment: fs.readFileSync('ml-intro.pdf'),
209
+ }
210
+ );
175
211
 
176
212
  // Get record by ID
177
- const fetched = await client.records.get('articles', record.id);
213
+ const fetched = await client.records.get('articles', created.id);
178
214
 
179
215
  // Update record
180
- const updated = await client.records.update('articles', record.id, {
181
- year: 2025
216
+ const updated = await client.records.update('articles', created.id, {
217
+ year: 2025,
182
218
  });
183
219
 
184
220
  // Delete record
185
- await client.records.delete('articles', record.id);
221
+ await client.records.delete('articles', created.id);
186
222
 
187
- // List records with pagination
223
+ // List records with filters/pagination
188
224
  const results = await client.records.list('articles', {
189
225
  limit: 10,
190
- offset: 0
226
+ offset: 0,
227
+ filters: { year: { $gte: 2023 } },
191
228
  });
192
229
  ```
193
230
 
@@ -1,6 +1,8 @@
1
1
  /** Main CortexDB client */
2
2
  import { CollectionsAPI } from "../collections/api";
3
3
  import { RecordsAPI } from "../records/api";
4
+ import { DatabasesAPI } from "../databases/api";
5
+ import { EmbeddingProvidersAPI } from "../providers/api";
4
6
  export interface CortexClientOptions {
5
7
  baseUrl?: string;
6
8
  apiKey?: string;
@@ -10,6 +12,8 @@ export declare class CortexClient {
10
12
  private http;
11
13
  collections: CollectionsAPI;
12
14
  records: RecordsAPI;
15
+ databases: DatabasesAPI;
16
+ embeddingProviders: EmbeddingProvidersAPI;
13
17
  /**
14
18
  * Create a new CortexDB client
15
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAa;IAClB,WAAW,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,UAAU,CAAC;IAE3B;;;;;;;;;;;;;;;;OAgBG;gBACS,OAAO,GAAE,mBAAmB,GAAG,MAAW;IAuBtD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAI3C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAa;IAClB,WAAW,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,kBAAkB,EAAE,qBAAqB,CAAC;IAEjD;;;;;;;;;;;;;;;;OAgBG;gBACS,OAAO,GAAE,mBAAmB,GAAG,MAAW;IAyBtD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAI3C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -5,6 +5,8 @@ exports.CortexClient = void 0;
5
5
  const client_1 = require("../http/client");
6
6
  const api_1 = require("../collections/api");
7
7
  const api_2 = require("../records/api");
8
+ const api_3 = require("../databases/api");
9
+ const api_4 = require("../providers/api");
8
10
  const connection_string_1 = require("../utils/connection-string");
9
11
  class CortexClient {
10
12
  /**
@@ -44,6 +46,8 @@ class CortexClient {
44
46
  this.http = new client_1.HTTPClient(baseUrl, apiKey, timeout);
45
47
  this.collections = new api_1.CollectionsAPI(this.http);
46
48
  this.records = new api_2.RecordsAPI(this.http);
49
+ this.databases = new api_3.DatabasesAPI(this.http);
50
+ this.embeddingProviders = new api_4.EmbeddingProvidersAPI(this.http);
47
51
  }
48
52
  /**
49
53
  * Check if the connection to CortexDB is working
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA,2BAA2B;;;AAE3B,2CAA4C;AAC5C,4CAAoD;AACpD,wCAA4C;AAC5C,kEAAmE;AAQnE,MAAa,YAAY;IAKvB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,UAAwC,EAAE;QACpD,IAAI,OAAe,CAAC;QACpB,IAAI,MAA0B,CAAC;QAC/B,IAAI,OAAe,CAAC;QAEpB,2BAA2B;QAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,uBAAuB,CAAC;YACrD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,6DAA6D;IAC/D,CAAC;CACF;AAtED,oCAsEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA,2BAA2B;;;AAE3B,2CAA4C;AAC5C,4CAAoD;AACpD,wCAA4C;AAC5C,0CAAgD;AAChD,0CAAyD;AACzD,kEAAmE;AAQnE,MAAa,YAAY;IAOvB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,UAAwC,EAAE;QACpD,IAAI,OAAe,CAAC;QACpB,IAAI,MAA0B,CAAC;QAC/B,IAAI,OAAe,CAAC;QAEpB,2BAA2B;QAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,uBAAuB,CAAC;YACrD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,2BAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,6DAA6D;IAC/D,CAAC;CACF;AA1ED,oCA0EC"}
@@ -0,0 +1,18 @@
1
+ import { HTTPClient } from "../http/client";
2
+ import { Database, DatabaseCreateInput } from "../types";
3
+ /**
4
+ * API for managing CortexDB databases.
5
+ */
6
+ export declare class DatabasesAPI {
7
+ private http;
8
+ constructor(http: HTTPClient);
9
+ /** List all databases registered in CortexDB. */
10
+ list(): Promise<Database[]>;
11
+ /** Retrieve a database by name. */
12
+ get(name: string): Promise<Database>;
13
+ /** Create a new database. */
14
+ create(payload: DatabaseCreateInput): Promise<Database>;
15
+ /** Delete a database (and all of its collections). */
16
+ delete(name: string): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/databases/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEzD;;GAEG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,iDAAiD;IAC3C,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIjC,mCAAmC;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1C,6BAA6B;IACvB,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI7D,sDAAsD;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabasesAPI = void 0;
4
+ /**
5
+ * API for managing CortexDB databases.
6
+ */
7
+ class DatabasesAPI {
8
+ constructor(http) {
9
+ this.http = http;
10
+ }
11
+ /** List all databases registered in CortexDB. */
12
+ async list() {
13
+ return this.http.get("/databases");
14
+ }
15
+ /** Retrieve a database by name. */
16
+ async get(name) {
17
+ return this.http.get(`/databases/${encodeURIComponent(name)}`);
18
+ }
19
+ /** Create a new database. */
20
+ async create(payload) {
21
+ return this.http.post("/databases", payload);
22
+ }
23
+ /** Delete a database (and all of its collections). */
24
+ async delete(name) {
25
+ await this.http.delete(`/databases/${encodeURIComponent(name)}`);
26
+ }
27
+ }
28
+ exports.DatabasesAPI = DatabasesAPI;
29
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/databases/api.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,YAAY;IACvB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,iDAAiD;IACjD,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,MAAM,CAAC,OAA4B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,YAAY,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAtBD,oCAsBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;;OAMG;gBACS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc;IAMrE;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAItC;;;;;;OAMG;IACG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAInD;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlD;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD;;;;;OAKG;IACG,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzC;;;;;;;;OAQG;YACW,OAAO;CA4EtB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;;OAMG;gBACS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc;IAMrE;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAItC;;;;;;OAMG;IACG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAInD;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlD;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD;;;;;OAKG;IACG,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzC;;;;;;;;OAQG;YACW,OAAO;CAoFtB"}
@@ -84,16 +84,23 @@ class HTTPClient {
84
84
  async request(method, path, body) {
85
85
  const url = `${this.baseUrl}${path}`;
86
86
  const headers = {
87
- "Content-Type": "application/json",
87
+ Accept: "application/json",
88
88
  };
89
+ const isFormData = typeof FormData !== "undefined" && body instanceof FormData;
89
90
  if (this.apiKey) {
90
91
  headers["Authorization"] = `Bearer ${this.apiKey}`;
91
92
  }
93
+ if (!isFormData && body !== undefined && method !== "GET" && method !== "DELETE") {
94
+ headers["Content-Type"] = "application/json";
95
+ }
92
96
  const options = {
93
97
  method,
94
98
  headers,
95
99
  };
96
- if (body && method !== "GET" && method !== "DELETE") {
100
+ if (isFormData) {
101
+ options.body = body;
102
+ }
103
+ else if (body !== undefined && method !== "GET" && method !== "DELETE") {
97
104
  options.body = JSON.stringify(body);
98
105
  }
99
106
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@
2
2
  export * from "./client";
3
3
  export * from "./collections/api";
4
4
  export * from "./records/api";
5
+ export * from "./databases/api";
6
+ export * from "./providers/api";
5
7
  export * from "./types";
6
8
  export * from "./exceptions";
7
9
  export * from "./http/client";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAG9B,cAAc,UAAU,CAAC;AAGzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAG9B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAG9B,cAAc,UAAU,CAAC;AAGzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,8 @@ __exportStar(require("./client"), exports);
20
20
  // API classes
21
21
  __exportStar(require("./collections/api"), exports);
22
22
  __exportStar(require("./records/api"), exports);
23
+ __exportStar(require("./databases/api"), exports);
24
+ __exportStar(require("./providers/api"), exports);
23
25
  // Types
24
26
  __exportStar(require("./types"), exports);
25
27
  // Exceptions
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;;;;;;;;;;;;;;AAE9B,cAAc;AACd,2CAAyB;AAEzB,cAAc;AACd,oDAAkC;AAClC,gDAA8B;AAE9B,QAAQ;AACR,0CAAwB;AAExB,aAAa;AACb,+CAA6B;AAE7B,mCAAmC;AACnC,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;;;;;;;;;;;;;;AAE9B,cAAc;AACd,2CAAyB;AAEzB,cAAc;AACd,oDAAkC;AAClC,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAEhC,QAAQ;AACR,0CAAwB;AAExB,aAAa;AACb,+CAA6B;AAE7B,mCAAmC;AACnC,gDAA8B"}
@@ -0,0 +1,16 @@
1
+ import { HTTPClient } from "../http/client";
2
+ import { CreateEmbeddingProviderInput, EmbeddingProvider } from "../types";
3
+ /**
4
+ * API for managing embedding providers.
5
+ */
6
+ export declare class EmbeddingProvidersAPI {
7
+ private http;
8
+ constructor(http: HTTPClient);
9
+ /** List configured embedding providers. */
10
+ list(): Promise<EmbeddingProvider[]>;
11
+ /** Register a new embedding provider. */
12
+ create(payload: CreateEmbeddingProviderInput): Promise<EmbeddingProvider>;
13
+ /** Delete an embedding provider by id. */
14
+ delete(providerId: string): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/providers/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3E;;GAEG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,2CAA2C;IACrC,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI1C,yCAAyC;IACnC,MAAM,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI/E,0CAA0C;IACpC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbeddingProvidersAPI = void 0;
4
+ /**
5
+ * API for managing embedding providers.
6
+ */
7
+ class EmbeddingProvidersAPI {
8
+ constructor(http) {
9
+ this.http = http;
10
+ }
11
+ /** List configured embedding providers. */
12
+ async list() {
13
+ return this.http.get("/providers/embeddings");
14
+ }
15
+ /** Register a new embedding provider. */
16
+ async create(payload) {
17
+ return this.http.post("/providers/embeddings", payload);
18
+ }
19
+ /** Delete an embedding provider by id. */
20
+ async delete(providerId) {
21
+ await this.http.delete(`/providers/embeddings/${encodeURIComponent(providerId)}`);
22
+ }
23
+ }
24
+ exports.EmbeddingProvidersAPI = EmbeddingProvidersAPI;
25
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/providers/api.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,qBAAqB;IAChC,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,2CAA2C;IAC3C,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,uBAAuB,CAAC,CAAC;IACrE,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,MAAM,CAAC,OAAqC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;CACF;AAjBD,sDAiBC"}
@@ -1,5 +1,5 @@
1
1
  /** Records API for CortexDB */
2
- import { CortexRecord, SearchResponse, QueryParams } from "../types";
2
+ import { CreateRecordResponse, QueryParams, QueryRecordsResponse, RecordDetails, SearchResponse, UpdateRecordResponse } from "../types";
3
3
  import { HTTPClient } from "../http/client";
4
4
  export declare class RecordsAPI {
5
5
  private http;
@@ -7,28 +7,21 @@ export declare class RecordsAPI {
7
7
  /**
8
8
  * Create a new record
9
9
  */
10
- create(collection: string, data: {
11
- [key: string]: any;
12
- }, files?: {
13
- [key: string]: File | Buffer;
14
- }): Promise<CortexRecord>;
10
+ create(collection: string, data: Record<string, any>, files?: Record<string, File | Blob | Buffer>): Promise<CreateRecordResponse>;
15
11
  /**
16
12
  * Get a record by ID
17
13
  */
18
- get(collection: string, id: string): Promise<CortexRecord>;
14
+ get(collection: string, id: string): Promise<RecordDetails>;
19
15
  /**
20
16
  * List records in a collection
21
17
  */
22
- list(collection: string, params?: QueryParams): Promise<{
23
- records: CortexRecord[];
24
- total: number;
25
- }>;
18
+ list(collection: string, params?: QueryParams): Promise<QueryRecordsResponse>;
26
19
  /**
27
20
  * Update a record
28
21
  */
29
22
  update(collection: string, id: string, data: {
30
23
  [key: string]: any;
31
- }): Promise<CortexRecord>;
24
+ }): Promise<UpdateRecordResponse>;
32
25
  /**
33
26
  * Delete a record
34
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/records/api.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,YAAY,EAAiB,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,qBAAa,UAAU;IACT,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC5B,KAAK,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAA;KAAE,GACvC,OAAO,CAAC,YAAY,CAAC;IAQxB;;OAEG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhE;;OAEG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAStD;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAC3B,OAAO,CAAC,YAAY,CAAC;IAOxB;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAChC,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,cAAc,CAAC;IAQ1B;;OAEG;YACW,eAAe;CAS9B"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/records/api.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,aAAa,EAEb,cAAc,EACd,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,qBAAa,UAAU;IACT,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,oBAAoB,CAAC;IAOhC;;OAEG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjE;;OAEG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAWhC;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAOhC;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAChC,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,cAAc,CAAC;IAQ1B;;OAEG;YACW,eAAe;CAuD9B"}
@@ -11,7 +11,6 @@ class RecordsAPI {
11
11
  */
12
12
  async create(collection, data, files) {
13
13
  if (files && Object.keys(files).length > 0) {
14
- // Handle multipart/form-data for file uploads
15
14
  return this.createWithFiles(collection, data, files);
16
15
  }
17
16
  return this.http.post(`/collections/${collection}/records`, data);
@@ -26,9 +25,11 @@ class RecordsAPI {
26
25
  * List records in a collection
27
26
  */
28
27
  async list(collection, params) {
29
- // Use POST to query endpoint with filters
30
28
  const response = await this.http.post(`/collections/${collection}/query`, params || {});
31
- return response;
29
+ return {
30
+ records: response.results ?? [],
31
+ total: response.total ?? (response.results ? response.results.length : 0),
32
+ };
32
33
  }
33
34
  /**
34
35
  * Update a record
@@ -53,9 +54,47 @@ class RecordsAPI {
53
54
  * Create record with files
54
55
  */
55
56
  async createWithFiles(collection, data, files) {
56
- // For file uploads, we need to use FormData
57
- // This is a simplified version - in production you'd use form-data library
58
- throw new Error("File uploads not yet implemented in TypeScript SDK");
57
+ if (typeof FormData === "undefined") {
58
+ throw new Error("FormData is not available in this environment");
59
+ }
60
+ const form = new FormData();
61
+ Object.entries(data || {}).forEach(([key, value]) => {
62
+ if (value === undefined || value === null) {
63
+ return;
64
+ }
65
+ form.append(key, JSON.stringify(value));
66
+ });
67
+ Object.entries(files).forEach(([key, fileValue]) => {
68
+ if (fileValue === undefined || fileValue === null) {
69
+ return;
70
+ }
71
+ let blob;
72
+ let filename;
73
+ if (typeof File !== "undefined" && fileValue instanceof File) {
74
+ blob = fileValue;
75
+ filename = fileValue.name;
76
+ }
77
+ else if (typeof Blob !== "undefined" && fileValue instanceof Blob) {
78
+ blob = fileValue;
79
+ }
80
+ else if (typeof Buffer !== "undefined" && Buffer.isBuffer(fileValue)) {
81
+ const bufferValue = fileValue;
82
+ const uint8array = new Uint8Array(bufferValue.byteLength);
83
+ uint8array.set(bufferValue);
84
+ blob = new Blob([uint8array.buffer]);
85
+ }
86
+ else {
87
+ throw new Error(`Unsupported file type for field '${key}'`);
88
+ }
89
+ if (!filename && blob.name) {
90
+ filename = blob.name;
91
+ }
92
+ if (!filename) {
93
+ filename = `${key}-${Date.now()}`;
94
+ }
95
+ form.append(key, blob, filename);
96
+ });
97
+ return this.http.post(`/collections/${collection}/records`, form);
59
98
  }
60
99
  }
61
100
  exports.RecordsAPI = RecordsAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/records/api.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAK/B,MAAa,UAAU;IACrB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,IAA4B,EAC5B,KAAwC;QAExC,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,8CAA8C;YAC9C,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,gBAAgB,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,UAAkB,EAAE,EAAU;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,gBAAgB,UAAU,YAAY,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,UAAkB,EAClB,MAAoB;QAEpB,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CACnC,gBAAgB,UAAU,QAAQ,EAClC,MAAM,IAAI,EAAE,CACb,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,EAAU,EACV,IAA4B;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,gBAAgB,UAAU,YAAY,EAAE,EAAE,EAC1C,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,EAAU;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,UAAU,YAAY,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,KAAa,EACb,OAAgC,EAChC,QAAgB,EAAE;QAElB,MAAM,OAAO,GAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,gBAAgB,UAAU,SAAS,EACnC,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,UAAkB,EAClB,IAA4B,EAC5B,KAAuC;QAEvC,4CAA4C;QAC5C,2EAA2E;QAC3E,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;CACF;AAzFD,gCAyFC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/records/api.ts"],"names":[],"mappings":"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"}
@@ -1,113 +1,152 @@
1
1
  /** Core types for CortexDB TypeScript SDK */
2
- export type FieldType = "string" | "number" | "boolean" | "file" | "array";
2
+ export declare enum FieldType {
3
+ STRING = "string",
4
+ TEXT = "text",
5
+ INT = "int",
6
+ FLOAT = "float",
7
+ BOOLEAN = "boolean",
8
+ DATE = "date",
9
+ DATETIME = "datetime",
10
+ ENUM = "enum",
11
+ ARRAY = "array",
12
+ FILE = "file",
13
+ JSON = "json"
14
+ }
3
15
  /**
4
16
  * Storage location options for fields
5
17
  */
6
18
  export declare enum StoreLocation {
7
19
  POSTGRES = "postgres",
20
+ QDRANT = "qdrant",
8
21
  QDRANT_PAYLOAD = "qdrant_payload",
9
22
  MINIO = "minio"
10
23
  }
24
+ export interface ExtractConfig {
25
+ extract_text?: boolean;
26
+ ocr_if_needed?: boolean;
27
+ chunk_size?: number;
28
+ chunk_overlap?: number;
29
+ }
11
30
  export interface FieldDefinition {
12
31
  name: string;
13
32
  type: FieldType;
14
- vectorize?: boolean;
33
+ description?: string;
15
34
  required?: boolean;
35
+ indexed?: boolean;
36
+ unique?: boolean;
37
+ filterable?: boolean;
38
+ vectorize?: boolean;
39
+ default?: any;
40
+ values?: any[];
16
41
  store_in?: StoreLocation[];
42
+ schema?: FieldDefinition[];
43
+ extract_config?: ExtractConfig;
17
44
  }
18
45
  export interface CollectionConfig {
46
+ embedding_model?: string;
47
+ chunk_size?: number;
48
+ chunk_overlap?: number;
19
49
  embedding_provider_id?: string;
20
50
  }
21
51
  export interface Collection {
52
+ id?: string;
22
53
  name: string;
54
+ database?: string;
23
55
  fields: FieldDefinition[];
24
56
  config?: CollectionConfig;
57
+ created_at?: string;
58
+ updated_at?: string;
59
+ }
60
+ export interface CollectionSchema extends Collection {
25
61
  }
26
62
  export interface CortexRecord {
27
63
  id: string;
28
- data: {
29
- [key: string]: any;
30
- };
64
+ record: Record<string, any>;
65
+ files?: Record<string, string>;
31
66
  created_at?: string;
32
67
  updated_at?: string;
33
68
  }
34
- export interface SearchResult {
35
- record: CortexRecord;
36
- score: number;
37
- highlights?: string[];
69
+ export interface CreateRecordResponse {
70
+ id: string;
71
+ vectors_created: number;
72
+ files: Record<string, string>;
38
73
  }
39
- export interface SearchResponse {
40
- results: SearchResult[];
41
- total: number;
42
- took_ms: number;
74
+ export interface RecordDetails {
75
+ id: string;
76
+ record: Record<string, any>;
77
+ files?: Record<string, string>;
43
78
  }
44
- export interface PaginationParams {
45
- page?: number;
46
- per_page?: number;
79
+ export interface UpdateRecordResponse {
80
+ id: string;
81
+ vectors_created: number;
82
+ updated_fields: string[];
47
83
  }
48
84
  export interface QueryParams {
49
- filters?: {
50
- [key: string]: any;
51
- };
85
+ filters?: Record<string, any>;
52
86
  limit?: number;
53
87
  offset?: number;
54
88
  }
89
+ export interface QueryRecordsResponse {
90
+ records: Array<Record<string, any>>;
91
+ total: number;
92
+ }
55
93
  export interface SearchRequest {
56
94
  query: string;
57
- filters?: {
58
- [key: string]: any;
59
- };
95
+ filters?: Record<string, any>;
60
96
  limit?: number;
61
97
  }
62
- export interface EmbeddingProvider {
98
+ export interface SearchHighlight {
99
+ field?: string;
100
+ text?: string;
101
+ chunk_index?: number;
102
+ score?: number;
103
+ }
104
+ export interface SearchResult {
63
105
  id: string;
64
- name: string;
65
- provider: string;
66
- enabled: boolean;
106
+ score: number;
107
+ record: Record<string, any>;
108
+ files?: Record<string, string>;
109
+ highlights?: SearchHighlight[];
67
110
  }
68
- export interface Database {
69
- name: string;
111
+ export interface SearchResponse {
112
+ results: SearchResult[];
113
+ total: number;
114
+ took_ms: number;
70
115
  }
71
116
  export interface CortexError {
72
- detail: string;
73
- }
74
- /**
75
- * Configuration for text extraction from files
76
- */
77
- export interface ExtractConfig {
78
- chunk_size?: number;
79
- chunk_overlap?: number;
80
- ocr_if_needed?: boolean;
117
+ detail?: string;
118
+ message?: string;
81
119
  }
82
- /**
83
- * Vector chunk representing a portion of text and its embedding
84
- */
85
- export interface VectorChunk {
120
+ export interface Database {
86
121
  id: string;
87
- text: string;
88
- metadata?: {
89
- [key: string]: any;
90
- };
122
+ name: string;
123
+ description?: string;
124
+ metadata?: Record<string, any>;
125
+ created_at?: string;
126
+ updated_at?: string;
91
127
  }
92
- /**
93
- * Request for querying records with filters
94
- */
95
- export interface QueryRequest {
96
- filters?: {
97
- [key: string]: any;
98
- };
99
- limit?: number;
100
- offset?: number;
128
+ export interface DatabaseCreateInput {
129
+ name: string;
130
+ description?: string;
131
+ metadata?: Record<string, any>;
101
132
  }
102
- /**
103
- * Complete collection schema
104
- */
105
- export interface CollectionSchema {
133
+ export type EmbeddingProviderType = "gemini";
134
+ export interface EmbeddingProvider {
135
+ id: string;
106
136
  name: string;
107
- database?: string;
108
- fields: FieldDefinition[];
109
- config?: CollectionConfig;
137
+ provider: EmbeddingProviderType;
138
+ embedding_model: string;
139
+ metadata?: Record<string, any>;
140
+ enabled: boolean;
141
+ has_api_key: boolean;
110
142
  created_at?: string;
111
143
  updated_at?: string;
112
144
  }
145
+ export interface CreateEmbeddingProviderInput {
146
+ name: string;
147
+ provider: EmbeddingProviderType;
148
+ embedding_model: string;
149
+ api_key: string;
150
+ metadata?: Record<string, any>;
151
+ }
113
152
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,28 @@
1
1
  "use strict";
2
2
  /** Core types for CortexDB TypeScript SDK */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.StoreLocation = void 0;
4
+ exports.StoreLocation = exports.FieldType = void 0;
5
+ var FieldType;
6
+ (function (FieldType) {
7
+ FieldType["STRING"] = "string";
8
+ FieldType["TEXT"] = "text";
9
+ FieldType["INT"] = "int";
10
+ FieldType["FLOAT"] = "float";
11
+ FieldType["BOOLEAN"] = "boolean";
12
+ FieldType["DATE"] = "date";
13
+ FieldType["DATETIME"] = "datetime";
14
+ FieldType["ENUM"] = "enum";
15
+ FieldType["ARRAY"] = "array";
16
+ FieldType["FILE"] = "file";
17
+ FieldType["JSON"] = "json";
18
+ })(FieldType || (exports.FieldType = FieldType = {}));
5
19
  /**
6
20
  * Storage location options for fields
7
21
  */
8
22
  var StoreLocation;
9
23
  (function (StoreLocation) {
10
24
  StoreLocation["POSTGRES"] = "postgres";
25
+ StoreLocation["QDRANT"] = "qdrant";
11
26
  StoreLocation["QDRANT_PAYLOAD"] = "qdrant_payload";
12
27
  StoreLocation["MINIO"] = "minio";
13
28
  })(StoreLocation || (exports.StoreLocation = StoreLocation = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;AAI7C;;GAEG;AACH,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,kDAAiC,CAAA;IACjC,gCAAe,CAAA;AACjB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;AAE7C,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,0BAAa,CAAA;AACf,CAAC,EAZW,SAAS,yBAAT,SAAS,QAYpB;AAED;;GAEG;AACH,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,gCAAe,CAAA;AACjB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dooor-ai/cortexdb",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Official TypeScript/JavaScript SDK for CortexDB - Multi-modal RAG Platform with advanced document processing",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",