@dooor-ai/cortexdb 0.2.0 → 0.3.1
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 +76 -16
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +4 -0
- package/dist/client/index.js.map +1 -1
- package/dist/collections/api.d.ts +3 -3
- package/dist/collections/api.d.ts.map +1 -1
- package/dist/collections/api.js +12 -5
- package/dist/collections/api.js.map +1 -1
- package/dist/databases/api.d.ts +18 -0
- package/dist/databases/api.d.ts.map +1 -0
- package/dist/databases/api.js +29 -0
- package/dist/databases/api.js.map +1 -0
- package/dist/http/client.d.ts.map +1 -1
- package/dist/http/client.js +9 -2
- package/dist/http/client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/api.d.ts +16 -0
- package/dist/providers/api.d.ts.map +1 -0
- package/dist/providers/api.js +25 -0
- package/dist/providers/api.js.map +1 -0
- package/dist/records/api.d.ts +5 -12
- package/dist/records/api.d.ts.map +1 -1
- package/dist/records/api.js +45 -6
- package/dist/records/api.js.map +1 -1
- package/dist/schema-cli/index.d.ts +3 -0
- package/dist/schema-cli/index.d.ts.map +1 -0
- package/dist/schema-cli/index.js +425 -0
- package/dist/schema-cli/index.js.map +1 -0
- package/dist/types/index.d.ts +100 -61
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +16 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -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**: Database (`client.databases`) and embedding provider (`client.embeddingProviders`) APIs built-in
|
|
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.
|
|
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.
|
|
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.
|
|
175
|
+
type: FieldType.INT,
|
|
148
176
|
store_in: [StoreLocation.POSTGRES, StoreLocation.QDRANT_PAYLOAD]
|
|
149
177
|
}
|
|
150
178
|
],
|
|
@@ -166,31 +194,63 @@ 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
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
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',
|
|
213
|
+
const fetched = await client.records.get('articles', created.id);
|
|
178
214
|
|
|
179
215
|
// Update record
|
|
180
|
-
const updated = await client.records.update('articles',
|
|
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',
|
|
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
|
|
|
231
|
+
### Schema CLI (YAML)
|
|
232
|
+
|
|
233
|
+
Instale o CLI (recomendado em devDependencies):
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
npm install --save-dev dooor
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Utilize o CLI unificado `dooor` para sincronizar schemas declarativos:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# Verificar diferenças entre YAML local e CortexDB
|
|
243
|
+
npx dooor schema diff --dir dooor/schemas
|
|
244
|
+
|
|
245
|
+
# Criar coleções que ainda não existem
|
|
246
|
+
npx dooor schema apply --dir dooor/schemas
|
|
247
|
+
|
|
248
|
+
# Gerar tipos TypeScript para uso nos serviços
|
|
249
|
+
npx dooor schema generate-types --dir dooor/schemas --out src/generated/cortex-schema.ts
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Defina `CORTEXDB_CONNECTION` (ex.: `cortexdb://key@host:8000`) ou as variáveis `CORTEXDB_BASE_URL` + `CORTEXDB_API_KEY` antes de rodar os comandos. Se nenhum diretório for informado, o CLI procura automaticamente em `dooor/schemas`.
|
|
253
|
+
|
|
194
254
|
### Semantic Search
|
|
195
255
|
|
|
196
256
|
Semantic search finds records by meaning, not just exact keyword matches. It uses vector embeddings to understand context.
|
package/dist/client/index.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/client/index.js
CHANGED
|
@@ -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
|
package/dist/client/index.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides methods to create, read, update, and delete collections.
|
|
5
5
|
* Collections define the schema and structure for records.
|
|
6
6
|
*/
|
|
7
|
-
import { Collection, FieldDefinition } from "../types";
|
|
7
|
+
import { Collection, FieldDefinition, CollectionConfig } from "../types";
|
|
8
8
|
import { HTTPClient } from "../http/client";
|
|
9
9
|
/**
|
|
10
10
|
* API for managing CortexDB collections
|
|
@@ -57,7 +57,7 @@ export declare class CollectionsAPI {
|
|
|
57
57
|
* ], 'embedding-provider-id');
|
|
58
58
|
* ```
|
|
59
59
|
*/
|
|
60
|
-
create(name: string, fields: FieldDefinition[],
|
|
60
|
+
create(name: string, fields: FieldDefinition[], config?: string | CollectionConfig): Promise<Collection>;
|
|
61
61
|
/**
|
|
62
62
|
* Update an existing collection's schema
|
|
63
63
|
*
|
|
@@ -73,7 +73,7 @@ export declare class CollectionsAPI {
|
|
|
73
73
|
* ]);
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
|
-
update(name: string, fields: FieldDefinition[]): Promise<Collection>;
|
|
76
|
+
update(name: string, fields: FieldDefinition[], config?: CollectionConfig): Promise<Collection>;
|
|
77
77
|
/**
|
|
78
78
|
* Delete a collection and all its records
|
|
79
79
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/collections/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/collections/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;GAEG;AACH,qBAAa,cAAc;IAMb,OAAO,CAAC,IAAI;IALxB;;;;OAIG;gBACiB,IAAI,EAAE,UAAU;IAEpC;;;;;;;;;OASG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAInC;;;;;;;;;;;OAWG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI5C;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE,EACzB,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,GACjC,OAAO,CAAC,UAAU,CAAC;IAUtB;;;;;;;;;;;;;;OAcG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE,EACzB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IAQtB;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
package/dist/collections/api.js
CHANGED
|
@@ -63,10 +63,13 @@ class CollectionsAPI {
|
|
|
63
63
|
* ], 'embedding-provider-id');
|
|
64
64
|
* ```
|
|
65
65
|
*/
|
|
66
|
-
async create(name, fields,
|
|
66
|
+
async create(name, fields, config) {
|
|
67
67
|
const payload = { name, fields };
|
|
68
|
-
if (
|
|
69
|
-
payload.config = { embedding_provider_id:
|
|
68
|
+
if (typeof config === "string") {
|
|
69
|
+
payload.config = { embedding_provider_id: config };
|
|
70
|
+
}
|
|
71
|
+
else if (config) {
|
|
72
|
+
payload.config = config;
|
|
70
73
|
}
|
|
71
74
|
return this.http.post("/collections", payload);
|
|
72
75
|
}
|
|
@@ -85,8 +88,12 @@ class CollectionsAPI {
|
|
|
85
88
|
* ]);
|
|
86
89
|
* ```
|
|
87
90
|
*/
|
|
88
|
-
async update(name, fields) {
|
|
89
|
-
|
|
91
|
+
async update(name, fields, config) {
|
|
92
|
+
const payload = { fields };
|
|
93
|
+
if (config) {
|
|
94
|
+
payload.config = config;
|
|
95
|
+
}
|
|
96
|
+
return this.http.put(`/collections/${name}`, payload);
|
|
90
97
|
}
|
|
91
98
|
/**
|
|
92
99
|
* Delete a collection and all its records
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/collections/api.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAKH;;GAEG;AACH,MAAa,cAAc;IACzB;;;;OAIG;IACH,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,cAAc,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,MAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/collections/api.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAKH;;GAEG;AACH,MAAa,cAAc;IACzB;;;;OAIG;IACH,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,cAAc,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,MAAyB,EACzB,MAAkC;QAElC,MAAM,OAAO,GAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC;QACrD,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,cAAc,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,MAAyB,EACzB,MAAyB;QAEzB,MAAM,OAAO,GAAQ,EAAE,MAAM,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,gBAAgB,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AA5GD,wCA4GC"}
|
|
@@ -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;
|
|
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"}
|
package/dist/http/client.js
CHANGED
|
@@ -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
|
-
|
|
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 (
|
|
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 {
|
package/dist/http/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,8CAQuB;AAEvB;;GAEG;AACH,MAAa,UAAU;IAKrB;;;;;;OAMG;IACH,YAAY,OAAe,EAAE,MAAe,EAAE,UAAkB,KAAK;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAI,IAAY;QACvB,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAU;QACpC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,IAAU;QACnC,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAI,IAAY,EAAE,IAAU;QACrC,OAAO,IAAI,CAAC,OAAO,CAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAI,IAAY;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAU;QAEV,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAA2B;YACtC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,8CAQuB;AAEvB;;GAEG;AACH,MAAa,UAAU;IAKrB;;;;;;OAMG;IACH,YAAY,OAAe,EAAE,MAAe,EAAE,UAAkB,KAAK;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAI,IAAY;QACvB,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAU;QACpC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,IAAU;QACnC,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAI,IAAY,EAAE,IAAU;QACrC,OAAO,IAAI,CAAC,OAAO,CAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAI,IAAY;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAU;QAEV,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,WAAW,IAAI,IAAI,YAAY,QAAQ,CAAC;QAE/E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjF,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,MAAM,OAAO,GAAgB;YAC3B,MAAM;YACN,OAAO;SACR,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,GAAG,IAAgB,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAErE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,IAAS,CAAC;YAEd,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC5D,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAI,IAAoB,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC;gBAEzE,+CAA+C;gBAC/C,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACxB,KAAK,GAAG;wBACN,MAAM,IAAI,oCAAuB,CAAC,YAAY,CAAC,CAAC;oBAClD,KAAK,GAAG;wBACN,MAAM,IAAI,wCAA2B,CAAC,YAAY,CAAC,CAAC;oBACtD,KAAK,GAAG;wBACN,MAAM,IAAI,oCAAuB,CAAC,YAAY,CAAC,CAAC;oBAClD,KAAK,GAAG;wBACN,MAAM,IAAI,kCAAqB,CAAC,YAAY,CAAC,CAAC;oBAChD,KAAK,GAAG;wBACN,MAAM,IAAI,iCAAoB,CAAC,YAAY,CAAC,CAAC;oBAC/C,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACN,MAAM,IAAI,gCAAmB,CAAC,YAAY,CAAC,CAAC;oBAC9C;wBACE,MAAM,IAAI,oCAAuB,CAAC,YAAY,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,OAAO,IAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,iCAAoB,CAAC,2BAA2B,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,oCAAuB,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AApKD,gCAoKC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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"}
|
package/dist/records/api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Records API for CortexDB */
|
|
2
|
-
import {
|
|
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<
|
|
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<
|
|
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,
|
|
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"}
|
package/dist/records/api.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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;
|
package/dist/records/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/records/api.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/records/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema-cli/index.ts"],"names":[],"mappings":""}
|