bright-client 0.5.0 → 0.6.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 +6 -2
- package/dist/index.cjs +108 -7
- package/dist/index.d.cts +188 -59
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +188 -59
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +103 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="assets/logo.svg" alt="Bright Logo" width="200"/>
|
|
3
|
+
</div>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<div align="center">
|
|
6
|
+
TypeScript/JavaScript client library for <a href="https://github.com/nnstd/bright">Bright</a> full-text search database.
|
|
7
|
+
</div>
|
|
4
8
|
|
|
5
9
|
## Installation
|
|
6
10
|
|
package/dist/index.cjs
CHANGED
|
@@ -212,7 +212,7 @@ function createBrightError(statusCode, errorResponse) {
|
|
|
212
212
|
case "PARSE_ERROR": return new ParseError(message, details);
|
|
213
213
|
case "INDEX_NOT_FOUND": return new IndexNotFoundError(message, details);
|
|
214
214
|
case "DOCUMENT_NOT_FOUND": return new DocumentNotFoundError(message, details);
|
|
215
|
-
case "NOT_LEADER": return new NotLeaderError(message, details?.leaderUrl, details);
|
|
215
|
+
case "NOT_LEADER": return new NotLeaderError(message, typeof details?.leaderUrl === "string" ? details.leaderUrl : void 0, details);
|
|
216
216
|
case "CLUSTER_UNAVAILABLE": return new ClusterUnavailableError(message, details);
|
|
217
217
|
case "INSUFFICIENT_PERMISSIONS": return new InsufficientPermissionsError(message, details);
|
|
218
218
|
case "LEADER_ONLY_OPERATION": return new LeaderOnlyOperationError(message, details);
|
|
@@ -238,8 +238,76 @@ function createBrightError(statusCode, errorResponse) {
|
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
+
//#endregion
|
|
242
|
+
//#region src/types.ts
|
|
243
|
+
/**
|
|
244
|
+
* Build a field query with optional boost
|
|
245
|
+
* @example field('name', 'water', 5) => 'name:water^5'
|
|
246
|
+
*/
|
|
247
|
+
function field(name, value, boost) {
|
|
248
|
+
const base = `${String(name)}:${String(value)}`;
|
|
249
|
+
return boost ? `${base}^${boost}` : base;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Build a required (MUST) clause
|
|
253
|
+
* @example must('name:water') => '+name:water'
|
|
254
|
+
*/
|
|
255
|
+
function must(query) {
|
|
256
|
+
return `+${query}`;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Build an excluded (MUST NOT) clause
|
|
260
|
+
* @example mustNot('name:water') => '-name:water'
|
|
261
|
+
*/
|
|
262
|
+
function mustNot(query) {
|
|
263
|
+
return `-${query}`;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Build a phrase query
|
|
267
|
+
* @example phrase('light beer') => '"light beer"'
|
|
268
|
+
*/
|
|
269
|
+
function phrase(text) {
|
|
270
|
+
return `"${text}"`;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Build a range query
|
|
274
|
+
* @example range('price', { gte: 10, lt: 100 }) => 'price:>=10 price:<100'
|
|
275
|
+
*/
|
|
276
|
+
function range(name, filter) {
|
|
277
|
+
const parts = [];
|
|
278
|
+
const n = String(name);
|
|
279
|
+
if (filter.gt !== void 0) parts.push(`${n}:>${filter.gt}`);
|
|
280
|
+
if (filter.gte !== void 0) parts.push(`${n}:>=${filter.gte}`);
|
|
281
|
+
if (filter.lt !== void 0) parts.push(`${n}:<${filter.lt}`);
|
|
282
|
+
if (filter.lte !== void 0) parts.push(`${n}:<=${filter.lte}`);
|
|
283
|
+
return parts.join(" ");
|
|
284
|
+
}
|
|
285
|
+
|
|
241
286
|
//#endregion
|
|
242
287
|
//#region src/index.ts
|
|
288
|
+
function buildQueryFromFilters(filter, range$1) {
|
|
289
|
+
const parts = [];
|
|
290
|
+
if (filter) for (const [key, val] of Object.entries(filter)) {
|
|
291
|
+
if (val === void 0) continue;
|
|
292
|
+
if (typeof val === "object" && val !== null && "value" in val) {
|
|
293
|
+
const { value, boost } = val;
|
|
294
|
+
parts.push(boost ? `${key}:${value}^${boost}` : `${key}:${value}`);
|
|
295
|
+
} else parts.push(`${key}:${val}`);
|
|
296
|
+
}
|
|
297
|
+
if (range$1) for (const [key, rangeVal] of Object.entries(range$1)) {
|
|
298
|
+
if (rangeVal === void 0) continue;
|
|
299
|
+
const r = rangeVal;
|
|
300
|
+
if (r.gt !== void 0) parts.push(`${key}:>${r.gt}`);
|
|
301
|
+
if (r.gte !== void 0) parts.push(`${key}:>=${r.gte}`);
|
|
302
|
+
if (r.lt !== void 0) parts.push(`${key}:<${r.lt}`);
|
|
303
|
+
if (r.lte !== void 0) parts.push(`${key}:<=${r.lte}`);
|
|
304
|
+
}
|
|
305
|
+
return parts.join(" ");
|
|
306
|
+
}
|
|
307
|
+
function normalizeSortField(sort) {
|
|
308
|
+
if (typeof sort === "object" && sort !== null && "field" in sort) return sort.order === "desc" ? `-${String(sort.field)}` : String(sort.field);
|
|
309
|
+
return String(sort);
|
|
310
|
+
}
|
|
243
311
|
var BrightClient = class {
|
|
244
312
|
constructor(options) {
|
|
245
313
|
this.baseUrl = options.baseUrl.replace(/\/$/, "");
|
|
@@ -304,15 +372,38 @@ var BrightClient = class {
|
|
|
304
372
|
}
|
|
305
373
|
async search(indexId, params) {
|
|
306
374
|
const searchParams = new URLSearchParams();
|
|
307
|
-
|
|
375
|
+
const filterQuery = buildQueryFromFilters(params?.filter, params?.range);
|
|
376
|
+
const fullQuery = [params?.q, filterQuery].filter(Boolean).join(" ");
|
|
377
|
+
if (fullQuery) searchParams.append("q", fullQuery);
|
|
308
378
|
if (params?.offset) searchParams.append("offset", params.offset.toString());
|
|
309
379
|
if (params?.limit) searchParams.append("limit", params.limit.toString());
|
|
310
380
|
if (params?.page) searchParams.append("page", params.page.toString());
|
|
311
|
-
if (params?.sort) params.sort.forEach((s) => searchParams.append("sort[]", s));
|
|
312
|
-
if (params?.attributesToRetrieve) params.attributesToRetrieve.forEach((attr) => searchParams.append("attributesToRetrieve[]", attr));
|
|
313
|
-
if (params?.attributesToExclude) params.attributesToExclude.forEach((attr) => searchParams.append("attributesToExclude[]", attr));
|
|
381
|
+
if (params?.sort) params.sort.forEach((s) => searchParams.append("sort[]", normalizeSortField(s)));
|
|
382
|
+
if (params?.attributesToRetrieve) params.attributesToRetrieve.forEach((attr) => searchParams.append("attributesToRetrieve[]", String(attr)));
|
|
383
|
+
if (params?.attributesToExclude) params.attributesToExclude.forEach((attr) => searchParams.append("attributesToExclude[]", String(attr)));
|
|
314
384
|
return this.request(`/indexes/${indexId}/searches?${searchParams}`, { method: "POST" });
|
|
315
385
|
}
|
|
386
|
+
async listIngresses(indexId) {
|
|
387
|
+
return this.request(`/indexes/${indexId}/ingresses`);
|
|
388
|
+
}
|
|
389
|
+
async createIngress(indexId, params) {
|
|
390
|
+
return this.request(`/indexes/${indexId}/ingresses`, {
|
|
391
|
+
method: "POST",
|
|
392
|
+
body: JSON.stringify(params)
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
async getIngress(indexId, ingressId) {
|
|
396
|
+
return this.request(`/indexes/${indexId}/ingresses/${ingressId}`);
|
|
397
|
+
}
|
|
398
|
+
async updateIngress(indexId, ingressId, state) {
|
|
399
|
+
return this.request(`/indexes/${indexId}/ingresses/${ingressId}`, {
|
|
400
|
+
method: "PATCH",
|
|
401
|
+
body: JSON.stringify({ state })
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
async deleteIngress(indexId, ingressId) {
|
|
405
|
+
return this.request(`/indexes/${indexId}/ingresses/${ingressId}`, { method: "DELETE" });
|
|
406
|
+
}
|
|
316
407
|
index(indexId) {
|
|
317
408
|
return {
|
|
318
409
|
id: indexId,
|
|
@@ -322,7 +413,12 @@ var BrightClient = class {
|
|
|
322
413
|
updateDocument: (documentId, updates) => this.updateDocument(indexId, documentId, updates),
|
|
323
414
|
deleteDocument: (documentId) => this.deleteDocument(indexId, documentId),
|
|
324
415
|
deleteDocuments: (options) => this.deleteDocuments(indexId, options),
|
|
325
|
-
search: (params) => this.search(indexId, params)
|
|
416
|
+
search: (params) => this.search(indexId, params),
|
|
417
|
+
listIngresses: () => this.listIngresses(indexId),
|
|
418
|
+
createIngress: (params) => this.createIngress(indexId, params),
|
|
419
|
+
getIngress: (ingressId) => this.getIngress(indexId, ingressId),
|
|
420
|
+
updateIngress: (ingressId, state) => this.updateIngress(indexId, ingressId, state),
|
|
421
|
+
deleteIngress: (ingressId) => this.deleteIngress(indexId, ingressId)
|
|
326
422
|
};
|
|
327
423
|
}
|
|
328
424
|
};
|
|
@@ -360,4 +456,9 @@ exports.SerializationFailedError = SerializationFailedError;
|
|
|
360
456
|
exports.UuidGenerationFailedError = UuidGenerationFailedError;
|
|
361
457
|
exports.ValidationError = ValidationError;
|
|
362
458
|
exports.createBrightError = createBrightError;
|
|
363
|
-
exports.createClient = createClient;
|
|
459
|
+
exports.createClient = createClient;
|
|
460
|
+
exports.field = field;
|
|
461
|
+
exports.must = must;
|
|
462
|
+
exports.mustNot = mustNot;
|
|
463
|
+
exports.phrase = phrase;
|
|
464
|
+
exports.range = range;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,125 +1,244 @@
|
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
interface IndexConfig {
|
|
3
|
+
id: string;
|
|
4
|
+
primaryKey?: string;
|
|
5
|
+
}
|
|
6
|
+
/** Field filter with optional boost: `field:value` or `field:value^boost` */
|
|
7
|
+
type FieldFilter<T> = { [K in keyof T]?: T[K] extends string | number | boolean | Date ? T[K] | {
|
|
8
|
+
value: T[K];
|
|
9
|
+
boost?: number;
|
|
10
|
+
} : never };
|
|
11
|
+
/** Numeric range filter for a field */
|
|
12
|
+
interface RangeFilter<T> {
|
|
13
|
+
gt?: T;
|
|
14
|
+
gte?: T;
|
|
15
|
+
lt?: T;
|
|
16
|
+
lte?: T;
|
|
17
|
+
}
|
|
18
|
+
/** Field range filters: `field:>value`, `field:>=value`, etc. */
|
|
19
|
+
type FieldRangeFilter<T> = { [K in keyof T]?: T[K] extends number | Date ? RangeFilter<T[K]> : never };
|
|
20
|
+
/** Sort direction for a field */
|
|
21
|
+
type SortDirection = 'asc' | 'desc';
|
|
22
|
+
/** Typed sort options */
|
|
23
|
+
type SortField<T> = keyof T | `-${string & keyof T}` | {
|
|
24
|
+
field: keyof T;
|
|
25
|
+
order: SortDirection;
|
|
26
|
+
};
|
|
27
|
+
interface SearchParams<T = Record<string, unknown>, Exclude extends keyof T = never> {
|
|
28
|
+
/** Query string (supports Bleve syntax: field:value, +required, -excluded, ^boost) */
|
|
29
|
+
q?: string;
|
|
30
|
+
/** Typed field filters (alternative to query string) */
|
|
31
|
+
filter?: FieldFilter<T>;
|
|
32
|
+
/** Typed range filters for numeric/date fields */
|
|
33
|
+
range?: FieldRangeFilter<T>;
|
|
34
|
+
/** Pagination offset */
|
|
35
|
+
offset?: number;
|
|
36
|
+
/** Results per page limit */
|
|
37
|
+
limit?: number;
|
|
38
|
+
/** Page number (1-indexed) */
|
|
39
|
+
page?: number;
|
|
40
|
+
/** Sort fields (prefix with - for descending) */
|
|
41
|
+
sort?: Array<SortField<T>>;
|
|
42
|
+
/** Fields to retrieve (defaults to all) */
|
|
43
|
+
attributesToRetrieve?: Array<keyof T>;
|
|
44
|
+
/** Fields to exclude from results */
|
|
45
|
+
attributesToExclude?: Exclude[];
|
|
46
|
+
}
|
|
47
|
+
/** Search response with excluded fields removed from type */
|
|
48
|
+
interface SearchResponse<T = Record<string, unknown>, Exclude extends keyof T = never> {
|
|
49
|
+
hits: Array<Omit<T, Exclude>>;
|
|
50
|
+
totalHits: number;
|
|
51
|
+
totalPages: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Build a field query with optional boost
|
|
55
|
+
* @example field('name', 'water', 5) => 'name:water^5'
|
|
56
|
+
*/
|
|
57
|
+
declare function field<T, K$1 extends keyof T>(name: K$1, value: T[K$1], boost?: number): string;
|
|
58
|
+
/**
|
|
59
|
+
* Build a required (MUST) clause
|
|
60
|
+
* @example must('name:water') => '+name:water'
|
|
61
|
+
*/
|
|
62
|
+
declare function must(query: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Build an excluded (MUST NOT) clause
|
|
65
|
+
* @example mustNot('name:water') => '-name:water'
|
|
66
|
+
*/
|
|
67
|
+
declare function mustNot(query: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* Build a phrase query
|
|
70
|
+
* @example phrase('light beer') => '"light beer"'
|
|
71
|
+
*/
|
|
72
|
+
declare function phrase(text: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Build a range query
|
|
75
|
+
* @example range('price', { gte: 10, lt: 100 }) => 'price:>=10 price:<100'
|
|
76
|
+
*/
|
|
77
|
+
declare function range<T, K$1 extends keyof T>(name: K$1, filter: RangeFilter<T[K$1]>): string;
|
|
78
|
+
interface BrightClientOptions {
|
|
79
|
+
baseUrl: string;
|
|
80
|
+
apiKey?: string;
|
|
81
|
+
fetch?: typeof fetch;
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/ingress.d.ts
|
|
85
|
+
type IngressState = 'running' | 'paused' | 'resyncing';
|
|
86
|
+
type IngressStatus = 'stopped' | 'starting' | 'running' | 'syncing' | 'paused' | 'failed';
|
|
87
|
+
interface PostgresIngressConfig {
|
|
88
|
+
/** PostgreSQL connection string (required) */
|
|
89
|
+
dsn: string;
|
|
90
|
+
/** Table name to sync (required) */
|
|
91
|
+
table: string;
|
|
92
|
+
/** PostgreSQL schema (default: "public") */
|
|
93
|
+
schema?: string;
|
|
94
|
+
/** Primary key column (default: "id") */
|
|
95
|
+
primary_key?: string;
|
|
96
|
+
/** Columns to sync, empty means all columns (default: all) */
|
|
97
|
+
columns?: string[];
|
|
98
|
+
/** Rename columns via mapping */
|
|
99
|
+
column_mapping?: Record<string, string>;
|
|
100
|
+
/** Timestamp column for change detection (default: "updated_at") */
|
|
101
|
+
updated_at_column?: string;
|
|
102
|
+
/** Filter rows with SQL WHERE condition */
|
|
103
|
+
where_clause?: string;
|
|
104
|
+
/** Sync mode: "polling" or "listen" (default: "polling") */
|
|
105
|
+
sync_mode?: 'polling' | 'listen';
|
|
106
|
+
/** Poll interval, e.g. "10s", "1m" (default: "30s") */
|
|
107
|
+
poll_interval?: string;
|
|
108
|
+
/** Documents per batch (default: 1000) */
|
|
109
|
+
batch_size?: number;
|
|
110
|
+
/** Auto-create PostgreSQL triggers for LISTEN mode (default: true) */
|
|
111
|
+
auto_triggers?: boolean;
|
|
112
|
+
}
|
|
113
|
+
interface IngressBase {
|
|
114
|
+
id: string;
|
|
115
|
+
index_id: string;
|
|
116
|
+
status: IngressStatus;
|
|
117
|
+
last_sync?: string;
|
|
118
|
+
documents_synced?: number;
|
|
119
|
+
errors?: number;
|
|
120
|
+
}
|
|
121
|
+
interface PostgresIngressResponse extends IngressBase {
|
|
122
|
+
type: 'postgres';
|
|
123
|
+
config: PostgresIngressConfig;
|
|
124
|
+
}
|
|
125
|
+
/** Fallback for unknown ingress types */
|
|
126
|
+
interface GenericIngressResponse extends IngressBase {
|
|
127
|
+
type: string;
|
|
128
|
+
config: Record<string, unknown>;
|
|
129
|
+
}
|
|
130
|
+
/** Discriminated union of all ingress response types */
|
|
131
|
+
type IngressConfig = PostgresIngressResponse | GenericIngressResponse;
|
|
132
|
+
interface CreateIngressParams {
|
|
133
|
+
type: string;
|
|
134
|
+
config: Record<string, unknown>;
|
|
135
|
+
}
|
|
136
|
+
interface CreatePostgresIngressParams {
|
|
137
|
+
type: 'postgres';
|
|
138
|
+
config: PostgresIngressConfig;
|
|
139
|
+
}
|
|
140
|
+
/** Union of all typed ingress creation params. Use CreateIngressParams for generic/unknown types. */
|
|
141
|
+
type TypedCreateIngressParams = CreatePostgresIngressParams;
|
|
142
|
+
//#endregion
|
|
1
143
|
//#region src/errors.d.ts
|
|
2
144
|
type ErrorCode = 'MISSING_PARAMETER' | 'INVALID_PARAMETER' | 'INVALID_REQUEST_BODY' | 'CONFLICTING_PARAMETERS' | 'INVALID_FORMAT' | 'PARSE_ERROR' | 'INDEX_NOT_FOUND' | 'DOCUMENT_NOT_FOUND' | 'NOT_LEADER' | 'CLUSTER_UNAVAILABLE' | 'INSUFFICIENT_PERMISSIONS' | 'LEADER_ONLY_OPERATION' | 'RESOURCE_ALREADY_EXISTS' | 'UUID_GENERATION_FAILED' | 'SERIALIZATION_FAILED' | 'RAFT_APPLY_FAILED' | 'INDEX_OPERATION_FAILED' | 'DOCUMENT_OPERATION_FAILED' | 'BATCH_OPERATION_FAILED' | 'SEARCH_FAILED' | 'INTERNAL_ERROR';
|
|
3
145
|
interface BrightErrorResponse {
|
|
4
146
|
error: string;
|
|
5
147
|
code?: ErrorCode;
|
|
6
|
-
details?: Record<string,
|
|
148
|
+
details?: Record<string, unknown>;
|
|
7
149
|
}
|
|
8
150
|
declare class BrightError extends Error {
|
|
9
151
|
readonly code?: ErrorCode;
|
|
10
152
|
readonly statusCode: number;
|
|
11
|
-
readonly details?: Record<string,
|
|
12
|
-
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string,
|
|
153
|
+
readonly details?: Record<string, unknown>;
|
|
154
|
+
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, unknown>);
|
|
13
155
|
toJSON(): BrightErrorResponse & {
|
|
14
156
|
statusCode: number;
|
|
15
157
|
};
|
|
16
158
|
}
|
|
17
159
|
declare class ValidationError extends BrightError {
|
|
18
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
160
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
19
161
|
}
|
|
20
162
|
declare class MissingParameterError extends ValidationError {
|
|
21
|
-
constructor(message: string, details?: Record<string,
|
|
163
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
22
164
|
}
|
|
23
165
|
declare class InvalidParameterError extends ValidationError {
|
|
24
|
-
constructor(message: string, details?: Record<string,
|
|
166
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
25
167
|
}
|
|
26
168
|
declare class InvalidRequestBodyError extends ValidationError {
|
|
27
|
-
constructor(message: string, details?: Record<string,
|
|
169
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
28
170
|
}
|
|
29
171
|
declare class ConflictingParametersError extends ValidationError {
|
|
30
|
-
constructor(message: string, details?: Record<string,
|
|
172
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
31
173
|
}
|
|
32
174
|
declare class InvalidFormatError extends ValidationError {
|
|
33
|
-
constructor(message: string, details?: Record<string,
|
|
175
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
34
176
|
}
|
|
35
177
|
declare class ParseError extends ValidationError {
|
|
36
|
-
constructor(message: string, details?: Record<string,
|
|
178
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
37
179
|
}
|
|
38
180
|
declare class NotFoundError extends BrightError {
|
|
39
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
181
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
40
182
|
}
|
|
41
183
|
declare class IndexNotFoundError extends NotFoundError {
|
|
42
|
-
constructor(message: string, details?: Record<string,
|
|
184
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
43
185
|
}
|
|
44
186
|
declare class DocumentNotFoundError extends NotFoundError {
|
|
45
|
-
constructor(message: string, details?: Record<string,
|
|
187
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
46
188
|
}
|
|
47
189
|
declare class ClusterError extends BrightError {
|
|
48
|
-
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string,
|
|
190
|
+
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, unknown>);
|
|
49
191
|
}
|
|
50
192
|
declare class NotLeaderError extends ClusterError {
|
|
51
193
|
readonly leaderUrl?: string;
|
|
52
|
-
constructor(message: string, leaderUrl?: string, details?: Record<string,
|
|
194
|
+
constructor(message: string, leaderUrl?: string, details?: Record<string, unknown>);
|
|
53
195
|
}
|
|
54
196
|
declare class ClusterUnavailableError extends ClusterError {
|
|
55
|
-
constructor(message: string, details?: Record<string,
|
|
197
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
56
198
|
}
|
|
57
199
|
declare class AuthorizationError extends BrightError {
|
|
58
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
200
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
59
201
|
}
|
|
60
202
|
declare class InsufficientPermissionsError extends AuthorizationError {
|
|
61
|
-
constructor(message: string, details?: Record<string,
|
|
203
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
62
204
|
}
|
|
63
205
|
declare class LeaderOnlyOperationError extends AuthorizationError {
|
|
64
|
-
constructor(message: string, details?: Record<string,
|
|
206
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
65
207
|
}
|
|
66
208
|
declare class ConflictError extends BrightError {
|
|
67
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
209
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
68
210
|
}
|
|
69
211
|
declare class ResourceAlreadyExistsError extends ConflictError {
|
|
70
|
-
constructor(message: string, details?: Record<string,
|
|
212
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
71
213
|
}
|
|
72
214
|
declare class InternalError extends BrightError {
|
|
73
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
215
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
74
216
|
}
|
|
75
217
|
declare class UuidGenerationFailedError extends InternalError {
|
|
76
|
-
constructor(message: string, details?: Record<string,
|
|
218
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
77
219
|
}
|
|
78
220
|
declare class SerializationFailedError extends InternalError {
|
|
79
|
-
constructor(message: string, details?: Record<string,
|
|
221
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
80
222
|
}
|
|
81
223
|
declare class RaftApplyFailedError extends InternalError {
|
|
82
|
-
constructor(message: string, details?: Record<string,
|
|
224
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
83
225
|
}
|
|
84
226
|
declare class IndexOperationFailedError extends InternalError {
|
|
85
|
-
constructor(message: string, details?: Record<string,
|
|
227
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
86
228
|
}
|
|
87
229
|
declare class DocumentOperationFailedError extends InternalError {
|
|
88
|
-
constructor(message: string, details?: Record<string,
|
|
230
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
89
231
|
}
|
|
90
232
|
declare class BatchOperationFailedError extends InternalError {
|
|
91
|
-
constructor(message: string, details?: Record<string,
|
|
233
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
92
234
|
}
|
|
93
235
|
declare class SearchFailedError extends InternalError {
|
|
94
|
-
constructor(message: string, details?: Record<string,
|
|
236
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
95
237
|
}
|
|
96
238
|
declare function createBrightError(statusCode: number, errorResponse: BrightErrorResponse): BrightError;
|
|
97
239
|
//#endregion
|
|
98
240
|
//#region src/index.d.ts
|
|
99
|
-
interface
|
|
100
|
-
id: string;
|
|
101
|
-
primaryKey?: string;
|
|
102
|
-
}
|
|
103
|
-
interface SearchParams {
|
|
104
|
-
q?: string;
|
|
105
|
-
offset?: number;
|
|
106
|
-
limit?: number;
|
|
107
|
-
page?: number;
|
|
108
|
-
sort?: string[];
|
|
109
|
-
attributesToRetrieve?: string[];
|
|
110
|
-
attributesToExclude?: string[];
|
|
111
|
-
}
|
|
112
|
-
interface SearchResponse<T = Record<string, any>> {
|
|
113
|
-
hits: T[];
|
|
114
|
-
totalHits: number;
|
|
115
|
-
totalPages: number;
|
|
116
|
-
}
|
|
117
|
-
interface BrightClientOptions {
|
|
118
|
-
baseUrl: string;
|
|
119
|
-
apiKey?: string;
|
|
120
|
-
fetch?: typeof fetch;
|
|
121
|
-
}
|
|
122
|
-
interface IndexHandle<T = Record<string, any>> {
|
|
241
|
+
interface IndexHandle<T = Record<string, unknown>> {
|
|
123
242
|
readonly id: string;
|
|
124
243
|
update(config: Partial<IndexConfig>): Promise<IndexConfig>;
|
|
125
244
|
delete(): Promise<void>;
|
|
@@ -135,7 +254,12 @@ interface IndexHandle<T = Record<string, any>> {
|
|
|
135
254
|
ids?: string[];
|
|
136
255
|
filter?: string;
|
|
137
256
|
}): Promise<void>;
|
|
138
|
-
search(params?: SearchParams): Promise<SearchResponse<T>>;
|
|
257
|
+
search<Exclude extends keyof T = never>(params?: SearchParams<T, Exclude>): Promise<SearchResponse<T, Exclude>>;
|
|
258
|
+
listIngresses(): Promise<IngressConfig[]>;
|
|
259
|
+
createIngress(params: CreateIngressParams | TypedCreateIngressParams): Promise<IngressConfig>;
|
|
260
|
+
getIngress(ingressId: string): Promise<IngressConfig>;
|
|
261
|
+
updateIngress(ingressId: string, state: IngressState): Promise<IngressConfig>;
|
|
262
|
+
deleteIngress(ingressId: string): Promise<void>;
|
|
139
263
|
}
|
|
140
264
|
declare class BrightClient {
|
|
141
265
|
private baseUrl;
|
|
@@ -146,22 +270,27 @@ declare class BrightClient {
|
|
|
146
270
|
createIndex(id: string, primaryKey?: string): Promise<IndexConfig>;
|
|
147
271
|
updateIndex(id: string, config: Partial<IndexConfig>): Promise<IndexConfig>;
|
|
148
272
|
deleteIndex(id: string): Promise<void>;
|
|
149
|
-
addDocuments<T = Record<string,
|
|
273
|
+
addDocuments<T = Record<string, unknown>>(indexId: string, documents: T[], options?: {
|
|
150
274
|
format?: 'jsoneachrow';
|
|
151
275
|
primaryKey?: string;
|
|
152
276
|
}): Promise<{
|
|
153
277
|
indexed: number;
|
|
154
278
|
}>;
|
|
155
|
-
updateDocument<T = Record<string,
|
|
279
|
+
updateDocument<T = Record<string, unknown>>(indexId: string, documentId: string, updates: Partial<T>): Promise<T>;
|
|
156
280
|
deleteDocument(indexId: string, documentId: string): Promise<void>;
|
|
157
281
|
deleteDocuments(indexId: string, options: {
|
|
158
282
|
ids?: string[];
|
|
159
283
|
filter?: string;
|
|
160
284
|
}): Promise<void>;
|
|
161
|
-
search<T = Record<string,
|
|
162
|
-
|
|
285
|
+
search<T = Record<string, unknown>, Exclude extends keyof T = never>(indexId: string, params?: SearchParams<T, Exclude>): Promise<SearchResponse<T, Exclude>>;
|
|
286
|
+
listIngresses(indexId: string): Promise<IngressConfig[]>;
|
|
287
|
+
createIngress(indexId: string, params: CreateIngressParams | TypedCreateIngressParams): Promise<IngressConfig>;
|
|
288
|
+
getIngress(indexId: string, ingressId: string): Promise<IngressConfig>;
|
|
289
|
+
updateIngress(indexId: string, ingressId: string, state: IngressState): Promise<IngressConfig>;
|
|
290
|
+
deleteIngress(indexId: string, ingressId: string): Promise<void>;
|
|
291
|
+
index<T = Record<string, unknown>>(indexId: string): IndexHandle<T>;
|
|
163
292
|
}
|
|
164
293
|
declare function createClient(options: BrightClientOptions): BrightClient;
|
|
165
294
|
//#endregion
|
|
166
|
-
export { AuthorizationError, BatchOperationFailedError, BrightClient, BrightClientOptions, BrightError, BrightErrorResponse, ClusterError, ClusterUnavailableError, ConflictError, ConflictingParametersError, DocumentNotFoundError, DocumentOperationFailedError, ErrorCode, IndexConfig, IndexHandle, IndexNotFoundError, IndexOperationFailedError, InsufficientPermissionsError, InternalError, InvalidFormatError, InvalidParameterError, InvalidRequestBodyError, LeaderOnlyOperationError, MissingParameterError, NotFoundError, NotLeaderError, ParseError, RaftApplyFailedError, ResourceAlreadyExistsError, SearchFailedError, SearchParams, SearchResponse, SerializationFailedError, UuidGenerationFailedError, ValidationError, createBrightError, createClient };
|
|
295
|
+
export { AuthorizationError, BatchOperationFailedError, BrightClient, BrightClientOptions, BrightError, BrightErrorResponse, ClusterError, ClusterUnavailableError, ConflictError, ConflictingParametersError, CreateIngressParams, CreatePostgresIngressParams, DocumentNotFoundError, DocumentOperationFailedError, ErrorCode, FieldFilter, FieldRangeFilter, GenericIngressResponse, IndexConfig, IndexHandle, IndexNotFoundError, IndexOperationFailedError, IngressConfig, IngressState, IngressStatus, InsufficientPermissionsError, InternalError, InvalidFormatError, InvalidParameterError, InvalidRequestBodyError, LeaderOnlyOperationError, MissingParameterError, NotFoundError, NotLeaderError, ParseError, PostgresIngressConfig, PostgresIngressResponse, RaftApplyFailedError, RangeFilter, ResourceAlreadyExistsError, SearchFailedError, SearchParams, SearchResponse, SerializationFailedError, SortDirection, SortField, TypedCreateIngressParams, UuidGenerationFailedError, ValidationError, createBrightError, createClient, field, must, mustNot, phrase, range };
|
|
167
296
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/ingress.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,125 +1,244 @@
|
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
interface IndexConfig {
|
|
3
|
+
id: string;
|
|
4
|
+
primaryKey?: string;
|
|
5
|
+
}
|
|
6
|
+
/** Field filter with optional boost: `field:value` or `field:value^boost` */
|
|
7
|
+
type FieldFilter<T> = { [K in keyof T]?: T[K] extends string | number | boolean | Date ? T[K] | {
|
|
8
|
+
value: T[K];
|
|
9
|
+
boost?: number;
|
|
10
|
+
} : never };
|
|
11
|
+
/** Numeric range filter for a field */
|
|
12
|
+
interface RangeFilter<T> {
|
|
13
|
+
gt?: T;
|
|
14
|
+
gte?: T;
|
|
15
|
+
lt?: T;
|
|
16
|
+
lte?: T;
|
|
17
|
+
}
|
|
18
|
+
/** Field range filters: `field:>value`, `field:>=value`, etc. */
|
|
19
|
+
type FieldRangeFilter<T> = { [K in keyof T]?: T[K] extends number | Date ? RangeFilter<T[K]> : never };
|
|
20
|
+
/** Sort direction for a field */
|
|
21
|
+
type SortDirection = 'asc' | 'desc';
|
|
22
|
+
/** Typed sort options */
|
|
23
|
+
type SortField<T> = keyof T | `-${string & keyof T}` | {
|
|
24
|
+
field: keyof T;
|
|
25
|
+
order: SortDirection;
|
|
26
|
+
};
|
|
27
|
+
interface SearchParams<T = Record<string, unknown>, Exclude extends keyof T = never> {
|
|
28
|
+
/** Query string (supports Bleve syntax: field:value, +required, -excluded, ^boost) */
|
|
29
|
+
q?: string;
|
|
30
|
+
/** Typed field filters (alternative to query string) */
|
|
31
|
+
filter?: FieldFilter<T>;
|
|
32
|
+
/** Typed range filters for numeric/date fields */
|
|
33
|
+
range?: FieldRangeFilter<T>;
|
|
34
|
+
/** Pagination offset */
|
|
35
|
+
offset?: number;
|
|
36
|
+
/** Results per page limit */
|
|
37
|
+
limit?: number;
|
|
38
|
+
/** Page number (1-indexed) */
|
|
39
|
+
page?: number;
|
|
40
|
+
/** Sort fields (prefix with - for descending) */
|
|
41
|
+
sort?: Array<SortField<T>>;
|
|
42
|
+
/** Fields to retrieve (defaults to all) */
|
|
43
|
+
attributesToRetrieve?: Array<keyof T>;
|
|
44
|
+
/** Fields to exclude from results */
|
|
45
|
+
attributesToExclude?: Exclude[];
|
|
46
|
+
}
|
|
47
|
+
/** Search response with excluded fields removed from type */
|
|
48
|
+
interface SearchResponse<T = Record<string, unknown>, Exclude extends keyof T = never> {
|
|
49
|
+
hits: Array<Omit<T, Exclude>>;
|
|
50
|
+
totalHits: number;
|
|
51
|
+
totalPages: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Build a field query with optional boost
|
|
55
|
+
* @example field('name', 'water', 5) => 'name:water^5'
|
|
56
|
+
*/
|
|
57
|
+
declare function field<T, K$1 extends keyof T>(name: K$1, value: T[K$1], boost?: number): string;
|
|
58
|
+
/**
|
|
59
|
+
* Build a required (MUST) clause
|
|
60
|
+
* @example must('name:water') => '+name:water'
|
|
61
|
+
*/
|
|
62
|
+
declare function must(query: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Build an excluded (MUST NOT) clause
|
|
65
|
+
* @example mustNot('name:water') => '-name:water'
|
|
66
|
+
*/
|
|
67
|
+
declare function mustNot(query: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* Build a phrase query
|
|
70
|
+
* @example phrase('light beer') => '"light beer"'
|
|
71
|
+
*/
|
|
72
|
+
declare function phrase(text: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Build a range query
|
|
75
|
+
* @example range('price', { gte: 10, lt: 100 }) => 'price:>=10 price:<100'
|
|
76
|
+
*/
|
|
77
|
+
declare function range<T, K$1 extends keyof T>(name: K$1, filter: RangeFilter<T[K$1]>): string;
|
|
78
|
+
interface BrightClientOptions {
|
|
79
|
+
baseUrl: string;
|
|
80
|
+
apiKey?: string;
|
|
81
|
+
fetch?: typeof fetch;
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/ingress.d.ts
|
|
85
|
+
type IngressState = 'running' | 'paused' | 'resyncing';
|
|
86
|
+
type IngressStatus = 'stopped' | 'starting' | 'running' | 'syncing' | 'paused' | 'failed';
|
|
87
|
+
interface PostgresIngressConfig {
|
|
88
|
+
/** PostgreSQL connection string (required) */
|
|
89
|
+
dsn: string;
|
|
90
|
+
/** Table name to sync (required) */
|
|
91
|
+
table: string;
|
|
92
|
+
/** PostgreSQL schema (default: "public") */
|
|
93
|
+
schema?: string;
|
|
94
|
+
/** Primary key column (default: "id") */
|
|
95
|
+
primary_key?: string;
|
|
96
|
+
/** Columns to sync, empty means all columns (default: all) */
|
|
97
|
+
columns?: string[];
|
|
98
|
+
/** Rename columns via mapping */
|
|
99
|
+
column_mapping?: Record<string, string>;
|
|
100
|
+
/** Timestamp column for change detection (default: "updated_at") */
|
|
101
|
+
updated_at_column?: string;
|
|
102
|
+
/** Filter rows with SQL WHERE condition */
|
|
103
|
+
where_clause?: string;
|
|
104
|
+
/** Sync mode: "polling" or "listen" (default: "polling") */
|
|
105
|
+
sync_mode?: 'polling' | 'listen';
|
|
106
|
+
/** Poll interval, e.g. "10s", "1m" (default: "30s") */
|
|
107
|
+
poll_interval?: string;
|
|
108
|
+
/** Documents per batch (default: 1000) */
|
|
109
|
+
batch_size?: number;
|
|
110
|
+
/** Auto-create PostgreSQL triggers for LISTEN mode (default: true) */
|
|
111
|
+
auto_triggers?: boolean;
|
|
112
|
+
}
|
|
113
|
+
interface IngressBase {
|
|
114
|
+
id: string;
|
|
115
|
+
index_id: string;
|
|
116
|
+
status: IngressStatus;
|
|
117
|
+
last_sync?: string;
|
|
118
|
+
documents_synced?: number;
|
|
119
|
+
errors?: number;
|
|
120
|
+
}
|
|
121
|
+
interface PostgresIngressResponse extends IngressBase {
|
|
122
|
+
type: 'postgres';
|
|
123
|
+
config: PostgresIngressConfig;
|
|
124
|
+
}
|
|
125
|
+
/** Fallback for unknown ingress types */
|
|
126
|
+
interface GenericIngressResponse extends IngressBase {
|
|
127
|
+
type: string;
|
|
128
|
+
config: Record<string, unknown>;
|
|
129
|
+
}
|
|
130
|
+
/** Discriminated union of all ingress response types */
|
|
131
|
+
type IngressConfig = PostgresIngressResponse | GenericIngressResponse;
|
|
132
|
+
interface CreateIngressParams {
|
|
133
|
+
type: string;
|
|
134
|
+
config: Record<string, unknown>;
|
|
135
|
+
}
|
|
136
|
+
interface CreatePostgresIngressParams {
|
|
137
|
+
type: 'postgres';
|
|
138
|
+
config: PostgresIngressConfig;
|
|
139
|
+
}
|
|
140
|
+
/** Union of all typed ingress creation params. Use CreateIngressParams for generic/unknown types. */
|
|
141
|
+
type TypedCreateIngressParams = CreatePostgresIngressParams;
|
|
142
|
+
//#endregion
|
|
1
143
|
//#region src/errors.d.ts
|
|
2
144
|
type ErrorCode = 'MISSING_PARAMETER' | 'INVALID_PARAMETER' | 'INVALID_REQUEST_BODY' | 'CONFLICTING_PARAMETERS' | 'INVALID_FORMAT' | 'PARSE_ERROR' | 'INDEX_NOT_FOUND' | 'DOCUMENT_NOT_FOUND' | 'NOT_LEADER' | 'CLUSTER_UNAVAILABLE' | 'INSUFFICIENT_PERMISSIONS' | 'LEADER_ONLY_OPERATION' | 'RESOURCE_ALREADY_EXISTS' | 'UUID_GENERATION_FAILED' | 'SERIALIZATION_FAILED' | 'RAFT_APPLY_FAILED' | 'INDEX_OPERATION_FAILED' | 'DOCUMENT_OPERATION_FAILED' | 'BATCH_OPERATION_FAILED' | 'SEARCH_FAILED' | 'INTERNAL_ERROR';
|
|
3
145
|
interface BrightErrorResponse {
|
|
4
146
|
error: string;
|
|
5
147
|
code?: ErrorCode;
|
|
6
|
-
details?: Record<string,
|
|
148
|
+
details?: Record<string, unknown>;
|
|
7
149
|
}
|
|
8
150
|
declare class BrightError extends Error {
|
|
9
151
|
readonly code?: ErrorCode;
|
|
10
152
|
readonly statusCode: number;
|
|
11
|
-
readonly details?: Record<string,
|
|
12
|
-
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string,
|
|
153
|
+
readonly details?: Record<string, unknown>;
|
|
154
|
+
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, unknown>);
|
|
13
155
|
toJSON(): BrightErrorResponse & {
|
|
14
156
|
statusCode: number;
|
|
15
157
|
};
|
|
16
158
|
}
|
|
17
159
|
declare class ValidationError extends BrightError {
|
|
18
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
160
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
19
161
|
}
|
|
20
162
|
declare class MissingParameterError extends ValidationError {
|
|
21
|
-
constructor(message: string, details?: Record<string,
|
|
163
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
22
164
|
}
|
|
23
165
|
declare class InvalidParameterError extends ValidationError {
|
|
24
|
-
constructor(message: string, details?: Record<string,
|
|
166
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
25
167
|
}
|
|
26
168
|
declare class InvalidRequestBodyError extends ValidationError {
|
|
27
|
-
constructor(message: string, details?: Record<string,
|
|
169
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
28
170
|
}
|
|
29
171
|
declare class ConflictingParametersError extends ValidationError {
|
|
30
|
-
constructor(message: string, details?: Record<string,
|
|
172
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
31
173
|
}
|
|
32
174
|
declare class InvalidFormatError extends ValidationError {
|
|
33
|
-
constructor(message: string, details?: Record<string,
|
|
175
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
34
176
|
}
|
|
35
177
|
declare class ParseError extends ValidationError {
|
|
36
|
-
constructor(message: string, details?: Record<string,
|
|
178
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
37
179
|
}
|
|
38
180
|
declare class NotFoundError extends BrightError {
|
|
39
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
181
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
40
182
|
}
|
|
41
183
|
declare class IndexNotFoundError extends NotFoundError {
|
|
42
|
-
constructor(message: string, details?: Record<string,
|
|
184
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
43
185
|
}
|
|
44
186
|
declare class DocumentNotFoundError extends NotFoundError {
|
|
45
|
-
constructor(message: string, details?: Record<string,
|
|
187
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
46
188
|
}
|
|
47
189
|
declare class ClusterError extends BrightError {
|
|
48
|
-
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string,
|
|
190
|
+
constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, unknown>);
|
|
49
191
|
}
|
|
50
192
|
declare class NotLeaderError extends ClusterError {
|
|
51
193
|
readonly leaderUrl?: string;
|
|
52
|
-
constructor(message: string, leaderUrl?: string, details?: Record<string,
|
|
194
|
+
constructor(message: string, leaderUrl?: string, details?: Record<string, unknown>);
|
|
53
195
|
}
|
|
54
196
|
declare class ClusterUnavailableError extends ClusterError {
|
|
55
|
-
constructor(message: string, details?: Record<string,
|
|
197
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
56
198
|
}
|
|
57
199
|
declare class AuthorizationError extends BrightError {
|
|
58
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
200
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
59
201
|
}
|
|
60
202
|
declare class InsufficientPermissionsError extends AuthorizationError {
|
|
61
|
-
constructor(message: string, details?: Record<string,
|
|
203
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
62
204
|
}
|
|
63
205
|
declare class LeaderOnlyOperationError extends AuthorizationError {
|
|
64
|
-
constructor(message: string, details?: Record<string,
|
|
206
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
65
207
|
}
|
|
66
208
|
declare class ConflictError extends BrightError {
|
|
67
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
209
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
68
210
|
}
|
|
69
211
|
declare class ResourceAlreadyExistsError extends ConflictError {
|
|
70
|
-
constructor(message: string, details?: Record<string,
|
|
212
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
71
213
|
}
|
|
72
214
|
declare class InternalError extends BrightError {
|
|
73
|
-
constructor(message: string, code?: ErrorCode, details?: Record<string,
|
|
215
|
+
constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>);
|
|
74
216
|
}
|
|
75
217
|
declare class UuidGenerationFailedError extends InternalError {
|
|
76
|
-
constructor(message: string, details?: Record<string,
|
|
218
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
77
219
|
}
|
|
78
220
|
declare class SerializationFailedError extends InternalError {
|
|
79
|
-
constructor(message: string, details?: Record<string,
|
|
221
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
80
222
|
}
|
|
81
223
|
declare class RaftApplyFailedError extends InternalError {
|
|
82
|
-
constructor(message: string, details?: Record<string,
|
|
224
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
83
225
|
}
|
|
84
226
|
declare class IndexOperationFailedError extends InternalError {
|
|
85
|
-
constructor(message: string, details?: Record<string,
|
|
227
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
86
228
|
}
|
|
87
229
|
declare class DocumentOperationFailedError extends InternalError {
|
|
88
|
-
constructor(message: string, details?: Record<string,
|
|
230
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
89
231
|
}
|
|
90
232
|
declare class BatchOperationFailedError extends InternalError {
|
|
91
|
-
constructor(message: string, details?: Record<string,
|
|
233
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
92
234
|
}
|
|
93
235
|
declare class SearchFailedError extends InternalError {
|
|
94
|
-
constructor(message: string, details?: Record<string,
|
|
236
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
95
237
|
}
|
|
96
238
|
declare function createBrightError(statusCode: number, errorResponse: BrightErrorResponse): BrightError;
|
|
97
239
|
//#endregion
|
|
98
240
|
//#region src/index.d.ts
|
|
99
|
-
interface
|
|
100
|
-
id: string;
|
|
101
|
-
primaryKey?: string;
|
|
102
|
-
}
|
|
103
|
-
interface SearchParams {
|
|
104
|
-
q?: string;
|
|
105
|
-
offset?: number;
|
|
106
|
-
limit?: number;
|
|
107
|
-
page?: number;
|
|
108
|
-
sort?: string[];
|
|
109
|
-
attributesToRetrieve?: string[];
|
|
110
|
-
attributesToExclude?: string[];
|
|
111
|
-
}
|
|
112
|
-
interface SearchResponse<T = Record<string, any>> {
|
|
113
|
-
hits: T[];
|
|
114
|
-
totalHits: number;
|
|
115
|
-
totalPages: number;
|
|
116
|
-
}
|
|
117
|
-
interface BrightClientOptions {
|
|
118
|
-
baseUrl: string;
|
|
119
|
-
apiKey?: string;
|
|
120
|
-
fetch?: typeof fetch;
|
|
121
|
-
}
|
|
122
|
-
interface IndexHandle<T = Record<string, any>> {
|
|
241
|
+
interface IndexHandle<T = Record<string, unknown>> {
|
|
123
242
|
readonly id: string;
|
|
124
243
|
update(config: Partial<IndexConfig>): Promise<IndexConfig>;
|
|
125
244
|
delete(): Promise<void>;
|
|
@@ -135,7 +254,12 @@ interface IndexHandle<T = Record<string, any>> {
|
|
|
135
254
|
ids?: string[];
|
|
136
255
|
filter?: string;
|
|
137
256
|
}): Promise<void>;
|
|
138
|
-
search(params?: SearchParams): Promise<SearchResponse<T>>;
|
|
257
|
+
search<Exclude extends keyof T = never>(params?: SearchParams<T, Exclude>): Promise<SearchResponse<T, Exclude>>;
|
|
258
|
+
listIngresses(): Promise<IngressConfig[]>;
|
|
259
|
+
createIngress(params: CreateIngressParams | TypedCreateIngressParams): Promise<IngressConfig>;
|
|
260
|
+
getIngress(ingressId: string): Promise<IngressConfig>;
|
|
261
|
+
updateIngress(ingressId: string, state: IngressState): Promise<IngressConfig>;
|
|
262
|
+
deleteIngress(ingressId: string): Promise<void>;
|
|
139
263
|
}
|
|
140
264
|
declare class BrightClient {
|
|
141
265
|
private baseUrl;
|
|
@@ -146,22 +270,27 @@ declare class BrightClient {
|
|
|
146
270
|
createIndex(id: string, primaryKey?: string): Promise<IndexConfig>;
|
|
147
271
|
updateIndex(id: string, config: Partial<IndexConfig>): Promise<IndexConfig>;
|
|
148
272
|
deleteIndex(id: string): Promise<void>;
|
|
149
|
-
addDocuments<T = Record<string,
|
|
273
|
+
addDocuments<T = Record<string, unknown>>(indexId: string, documents: T[], options?: {
|
|
150
274
|
format?: 'jsoneachrow';
|
|
151
275
|
primaryKey?: string;
|
|
152
276
|
}): Promise<{
|
|
153
277
|
indexed: number;
|
|
154
278
|
}>;
|
|
155
|
-
updateDocument<T = Record<string,
|
|
279
|
+
updateDocument<T = Record<string, unknown>>(indexId: string, documentId: string, updates: Partial<T>): Promise<T>;
|
|
156
280
|
deleteDocument(indexId: string, documentId: string): Promise<void>;
|
|
157
281
|
deleteDocuments(indexId: string, options: {
|
|
158
282
|
ids?: string[];
|
|
159
283
|
filter?: string;
|
|
160
284
|
}): Promise<void>;
|
|
161
|
-
search<T = Record<string,
|
|
162
|
-
|
|
285
|
+
search<T = Record<string, unknown>, Exclude extends keyof T = never>(indexId: string, params?: SearchParams<T, Exclude>): Promise<SearchResponse<T, Exclude>>;
|
|
286
|
+
listIngresses(indexId: string): Promise<IngressConfig[]>;
|
|
287
|
+
createIngress(indexId: string, params: CreateIngressParams | TypedCreateIngressParams): Promise<IngressConfig>;
|
|
288
|
+
getIngress(indexId: string, ingressId: string): Promise<IngressConfig>;
|
|
289
|
+
updateIngress(indexId: string, ingressId: string, state: IngressState): Promise<IngressConfig>;
|
|
290
|
+
deleteIngress(indexId: string, ingressId: string): Promise<void>;
|
|
291
|
+
index<T = Record<string, unknown>>(indexId: string): IndexHandle<T>;
|
|
163
292
|
}
|
|
164
293
|
declare function createClient(options: BrightClientOptions): BrightClient;
|
|
165
294
|
//#endregion
|
|
166
|
-
export { AuthorizationError, BatchOperationFailedError, BrightClient, BrightClientOptions, BrightError, BrightErrorResponse, ClusterError, ClusterUnavailableError, ConflictError, ConflictingParametersError, DocumentNotFoundError, DocumentOperationFailedError, ErrorCode, IndexConfig, IndexHandle, IndexNotFoundError, IndexOperationFailedError, InsufficientPermissionsError, InternalError, InvalidFormatError, InvalidParameterError, InvalidRequestBodyError, LeaderOnlyOperationError, MissingParameterError, NotFoundError, NotLeaderError, ParseError, RaftApplyFailedError, ResourceAlreadyExistsError, SearchFailedError, SearchParams, SearchResponse, SerializationFailedError, UuidGenerationFailedError, ValidationError, createBrightError, createClient };
|
|
295
|
+
export { AuthorizationError, BatchOperationFailedError, BrightClient, BrightClientOptions, BrightError, BrightErrorResponse, ClusterError, ClusterUnavailableError, ConflictError, ConflictingParametersError, CreateIngressParams, CreatePostgresIngressParams, DocumentNotFoundError, DocumentOperationFailedError, ErrorCode, FieldFilter, FieldRangeFilter, GenericIngressResponse, IndexConfig, IndexHandle, IndexNotFoundError, IndexOperationFailedError, IngressConfig, IngressState, IngressStatus, InsufficientPermissionsError, InternalError, InvalidFormatError, InvalidParameterError, InvalidRequestBodyError, LeaderOnlyOperationError, MissingParameterError, NotFoundError, NotLeaderError, ParseError, PostgresIngressConfig, PostgresIngressResponse, RaftApplyFailedError, RangeFilter, ResourceAlreadyExistsError, SearchFailedError, SearchParams, SearchResponse, SerializationFailedError, SortDirection, SortField, TypedCreateIngressParams, UuidGenerationFailedError, ValidationError, createBrightError, createClient, field, must, mustNot, phrase, range };
|
|
167
296
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/ingress.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -211,7 +211,7 @@ function createBrightError(statusCode, errorResponse) {
|
|
|
211
211
|
case "PARSE_ERROR": return new ParseError(message, details);
|
|
212
212
|
case "INDEX_NOT_FOUND": return new IndexNotFoundError(message, details);
|
|
213
213
|
case "DOCUMENT_NOT_FOUND": return new DocumentNotFoundError(message, details);
|
|
214
|
-
case "NOT_LEADER": return new NotLeaderError(message, details?.leaderUrl, details);
|
|
214
|
+
case "NOT_LEADER": return new NotLeaderError(message, typeof details?.leaderUrl === "string" ? details.leaderUrl : void 0, details);
|
|
215
215
|
case "CLUSTER_UNAVAILABLE": return new ClusterUnavailableError(message, details);
|
|
216
216
|
case "INSUFFICIENT_PERMISSIONS": return new InsufficientPermissionsError(message, details);
|
|
217
217
|
case "LEADER_ONLY_OPERATION": return new LeaderOnlyOperationError(message, details);
|
|
@@ -237,8 +237,76 @@ function createBrightError(statusCode, errorResponse) {
|
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
+
//#endregion
|
|
241
|
+
//#region src/types.ts
|
|
242
|
+
/**
|
|
243
|
+
* Build a field query with optional boost
|
|
244
|
+
* @example field('name', 'water', 5) => 'name:water^5'
|
|
245
|
+
*/
|
|
246
|
+
function field(name, value, boost) {
|
|
247
|
+
const base = `${String(name)}:${String(value)}`;
|
|
248
|
+
return boost ? `${base}^${boost}` : base;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Build a required (MUST) clause
|
|
252
|
+
* @example must('name:water') => '+name:water'
|
|
253
|
+
*/
|
|
254
|
+
function must(query) {
|
|
255
|
+
return `+${query}`;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Build an excluded (MUST NOT) clause
|
|
259
|
+
* @example mustNot('name:water') => '-name:water'
|
|
260
|
+
*/
|
|
261
|
+
function mustNot(query) {
|
|
262
|
+
return `-${query}`;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Build a phrase query
|
|
266
|
+
* @example phrase('light beer') => '"light beer"'
|
|
267
|
+
*/
|
|
268
|
+
function phrase(text) {
|
|
269
|
+
return `"${text}"`;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Build a range query
|
|
273
|
+
* @example range('price', { gte: 10, lt: 100 }) => 'price:>=10 price:<100'
|
|
274
|
+
*/
|
|
275
|
+
function range(name, filter) {
|
|
276
|
+
const parts = [];
|
|
277
|
+
const n = String(name);
|
|
278
|
+
if (filter.gt !== void 0) parts.push(`${n}:>${filter.gt}`);
|
|
279
|
+
if (filter.gte !== void 0) parts.push(`${n}:>=${filter.gte}`);
|
|
280
|
+
if (filter.lt !== void 0) parts.push(`${n}:<${filter.lt}`);
|
|
281
|
+
if (filter.lte !== void 0) parts.push(`${n}:<=${filter.lte}`);
|
|
282
|
+
return parts.join(" ");
|
|
283
|
+
}
|
|
284
|
+
|
|
240
285
|
//#endregion
|
|
241
286
|
//#region src/index.ts
|
|
287
|
+
function buildQueryFromFilters(filter, range$1) {
|
|
288
|
+
const parts = [];
|
|
289
|
+
if (filter) for (const [key, val] of Object.entries(filter)) {
|
|
290
|
+
if (val === void 0) continue;
|
|
291
|
+
if (typeof val === "object" && val !== null && "value" in val) {
|
|
292
|
+
const { value, boost } = val;
|
|
293
|
+
parts.push(boost ? `${key}:${value}^${boost}` : `${key}:${value}`);
|
|
294
|
+
} else parts.push(`${key}:${val}`);
|
|
295
|
+
}
|
|
296
|
+
if (range$1) for (const [key, rangeVal] of Object.entries(range$1)) {
|
|
297
|
+
if (rangeVal === void 0) continue;
|
|
298
|
+
const r = rangeVal;
|
|
299
|
+
if (r.gt !== void 0) parts.push(`${key}:>${r.gt}`);
|
|
300
|
+
if (r.gte !== void 0) parts.push(`${key}:>=${r.gte}`);
|
|
301
|
+
if (r.lt !== void 0) parts.push(`${key}:<${r.lt}`);
|
|
302
|
+
if (r.lte !== void 0) parts.push(`${key}:<=${r.lte}`);
|
|
303
|
+
}
|
|
304
|
+
return parts.join(" ");
|
|
305
|
+
}
|
|
306
|
+
function normalizeSortField(sort) {
|
|
307
|
+
if (typeof sort === "object" && sort !== null && "field" in sort) return sort.order === "desc" ? `-${String(sort.field)}` : String(sort.field);
|
|
308
|
+
return String(sort);
|
|
309
|
+
}
|
|
242
310
|
var BrightClient = class {
|
|
243
311
|
constructor(options) {
|
|
244
312
|
this.baseUrl = options.baseUrl.replace(/\/$/, "");
|
|
@@ -303,15 +371,38 @@ var BrightClient = class {
|
|
|
303
371
|
}
|
|
304
372
|
async search(indexId, params) {
|
|
305
373
|
const searchParams = new URLSearchParams();
|
|
306
|
-
|
|
374
|
+
const filterQuery = buildQueryFromFilters(params?.filter, params?.range);
|
|
375
|
+
const fullQuery = [params?.q, filterQuery].filter(Boolean).join(" ");
|
|
376
|
+
if (fullQuery) searchParams.append("q", fullQuery);
|
|
307
377
|
if (params?.offset) searchParams.append("offset", params.offset.toString());
|
|
308
378
|
if (params?.limit) searchParams.append("limit", params.limit.toString());
|
|
309
379
|
if (params?.page) searchParams.append("page", params.page.toString());
|
|
310
|
-
if (params?.sort) params.sort.forEach((s) => searchParams.append("sort[]", s));
|
|
311
|
-
if (params?.attributesToRetrieve) params.attributesToRetrieve.forEach((attr) => searchParams.append("attributesToRetrieve[]", attr));
|
|
312
|
-
if (params?.attributesToExclude) params.attributesToExclude.forEach((attr) => searchParams.append("attributesToExclude[]", attr));
|
|
380
|
+
if (params?.sort) params.sort.forEach((s) => searchParams.append("sort[]", normalizeSortField(s)));
|
|
381
|
+
if (params?.attributesToRetrieve) params.attributesToRetrieve.forEach((attr) => searchParams.append("attributesToRetrieve[]", String(attr)));
|
|
382
|
+
if (params?.attributesToExclude) params.attributesToExclude.forEach((attr) => searchParams.append("attributesToExclude[]", String(attr)));
|
|
313
383
|
return this.request(`/indexes/${indexId}/searches?${searchParams}`, { method: "POST" });
|
|
314
384
|
}
|
|
385
|
+
async listIngresses(indexId) {
|
|
386
|
+
return this.request(`/indexes/${indexId}/ingresses`);
|
|
387
|
+
}
|
|
388
|
+
async createIngress(indexId, params) {
|
|
389
|
+
return this.request(`/indexes/${indexId}/ingresses`, {
|
|
390
|
+
method: "POST",
|
|
391
|
+
body: JSON.stringify(params)
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
async getIngress(indexId, ingressId) {
|
|
395
|
+
return this.request(`/indexes/${indexId}/ingresses/${ingressId}`);
|
|
396
|
+
}
|
|
397
|
+
async updateIngress(indexId, ingressId, state) {
|
|
398
|
+
return this.request(`/indexes/${indexId}/ingresses/${ingressId}`, {
|
|
399
|
+
method: "PATCH",
|
|
400
|
+
body: JSON.stringify({ state })
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
async deleteIngress(indexId, ingressId) {
|
|
404
|
+
return this.request(`/indexes/${indexId}/ingresses/${ingressId}`, { method: "DELETE" });
|
|
405
|
+
}
|
|
315
406
|
index(indexId) {
|
|
316
407
|
return {
|
|
317
408
|
id: indexId,
|
|
@@ -321,7 +412,12 @@ var BrightClient = class {
|
|
|
321
412
|
updateDocument: (documentId, updates) => this.updateDocument(indexId, documentId, updates),
|
|
322
413
|
deleteDocument: (documentId) => this.deleteDocument(indexId, documentId),
|
|
323
414
|
deleteDocuments: (options) => this.deleteDocuments(indexId, options),
|
|
324
|
-
search: (params) => this.search(indexId, params)
|
|
415
|
+
search: (params) => this.search(indexId, params),
|
|
416
|
+
listIngresses: () => this.listIngresses(indexId),
|
|
417
|
+
createIngress: (params) => this.createIngress(indexId, params),
|
|
418
|
+
getIngress: (ingressId) => this.getIngress(indexId, ingressId),
|
|
419
|
+
updateIngress: (ingressId, state) => this.updateIngress(indexId, ingressId, state),
|
|
420
|
+
deleteIngress: (ingressId) => this.deleteIngress(indexId, ingressId)
|
|
325
421
|
};
|
|
326
422
|
}
|
|
327
423
|
};
|
|
@@ -330,5 +426,5 @@ function createClient(options) {
|
|
|
330
426
|
}
|
|
331
427
|
|
|
332
428
|
//#endregion
|
|
333
|
-
export { AuthorizationError, BatchOperationFailedError, BrightClient, BrightError, ClusterError, ClusterUnavailableError, ConflictError, ConflictingParametersError, DocumentNotFoundError, DocumentOperationFailedError, IndexNotFoundError, IndexOperationFailedError, InsufficientPermissionsError, InternalError, InvalidFormatError, InvalidParameterError, InvalidRequestBodyError, LeaderOnlyOperationError, MissingParameterError, NotFoundError, NotLeaderError, ParseError, RaftApplyFailedError, ResourceAlreadyExistsError, SearchFailedError, SerializationFailedError, UuidGenerationFailedError, ValidationError, createBrightError, createClient };
|
|
429
|
+
export { AuthorizationError, BatchOperationFailedError, BrightClient, BrightError, ClusterError, ClusterUnavailableError, ConflictError, ConflictingParametersError, DocumentNotFoundError, DocumentOperationFailedError, IndexNotFoundError, IndexOperationFailedError, InsufficientPermissionsError, InternalError, InvalidFormatError, InvalidParameterError, InvalidRequestBodyError, LeaderOnlyOperationError, MissingParameterError, NotFoundError, NotLeaderError, ParseError, RaftApplyFailedError, ResourceAlreadyExistsError, SearchFailedError, SerializationFailedError, UuidGenerationFailedError, ValidationError, createBrightError, createClient, field, must, mustNot, phrase, range };
|
|
334
430
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/errors.ts","../src/index.ts"],"sourcesContent":["export type ErrorCode =\n // Validation Errors (400)\n | 'MISSING_PARAMETER'\n | 'INVALID_PARAMETER'\n | 'INVALID_REQUEST_BODY'\n | 'CONFLICTING_PARAMETERS'\n | 'INVALID_FORMAT'\n | 'PARSE_ERROR'\n // Not Found Errors (404)\n | 'INDEX_NOT_FOUND'\n | 'DOCUMENT_NOT_FOUND'\n // Cluster Errors (307/503)\n | 'NOT_LEADER'\n | 'CLUSTER_UNAVAILABLE'\n // Authorization Errors (403)\n | 'INSUFFICIENT_PERMISSIONS'\n | 'LEADER_ONLY_OPERATION'\n // Resource Conflict Errors (409)\n | 'RESOURCE_ALREADY_EXISTS'\n // Internal Errors (500)\n | 'UUID_GENERATION_FAILED'\n | 'SERIALIZATION_FAILED'\n | 'RAFT_APPLY_FAILED'\n | 'INDEX_OPERATION_FAILED'\n | 'DOCUMENT_OPERATION_FAILED'\n | 'BATCH_OPERATION_FAILED'\n | 'SEARCH_FAILED'\n | 'INTERNAL_ERROR';\n\nexport interface BrightErrorResponse {\n error: string;\n code?: ErrorCode;\n details?: Record<string, any>;\n}\n\nexport class BrightError extends Error {\n public readonly code?: ErrorCode;\n public readonly statusCode: number;\n public readonly details?: Record<string, any>;\n\n constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, any>) {\n super(message);\n this.name = 'BrightError';\n this.code = code;\n this.statusCode = statusCode;\n this.details = details;\n Object.setPrototypeOf(this, BrightError.prototype);\n }\n\n toJSON(): BrightErrorResponse & { statusCode: number } {\n return {\n error: this.message,\n code: this.code,\n details: this.details,\n statusCode: this.statusCode,\n };\n }\n}\n\n// Validation Errors (400)\nexport class ValidationError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, any>) {\n super(message, 400, code, details);\n this.name = 'ValidationError';\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport class MissingParameterError extends ValidationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'MISSING_PARAMETER', details);\n this.name = 'MissingParameterError';\n Object.setPrototypeOf(this, MissingParameterError.prototype);\n }\n}\n\nexport class InvalidParameterError extends ValidationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'INVALID_PARAMETER', details);\n this.name = 'InvalidParameterError';\n Object.setPrototypeOf(this, InvalidParameterError.prototype);\n }\n}\n\nexport class InvalidRequestBodyError extends ValidationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'INVALID_REQUEST_BODY', details);\n this.name = 'InvalidRequestBodyError';\n Object.setPrototypeOf(this, InvalidRequestBodyError.prototype);\n }\n}\n\nexport class ConflictingParametersError extends ValidationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'CONFLICTING_PARAMETERS', details);\n this.name = 'ConflictingParametersError';\n Object.setPrototypeOf(this, ConflictingParametersError.prototype);\n }\n}\n\nexport class InvalidFormatError extends ValidationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'INVALID_FORMAT', details);\n this.name = 'InvalidFormatError';\n Object.setPrototypeOf(this, InvalidFormatError.prototype);\n }\n}\n\nexport class ParseError extends ValidationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'PARSE_ERROR', details);\n this.name = 'ParseError';\n Object.setPrototypeOf(this, ParseError.prototype);\n }\n}\n\n// Not Found Errors (404)\nexport class NotFoundError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, any>) {\n super(message, 404, code, details);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\nexport class IndexNotFoundError extends NotFoundError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'INDEX_NOT_FOUND', details);\n this.name = 'IndexNotFoundError';\n Object.setPrototypeOf(this, IndexNotFoundError.prototype);\n }\n}\n\nexport class DocumentNotFoundError extends NotFoundError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'DOCUMENT_NOT_FOUND', details);\n this.name = 'DocumentNotFoundError';\n Object.setPrototypeOf(this, DocumentNotFoundError.prototype);\n }\n}\n\n// Cluster Errors\nexport class ClusterError extends BrightError {\n constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, any>) {\n super(message, statusCode, code, details);\n this.name = 'ClusterError';\n Object.setPrototypeOf(this, ClusterError.prototype);\n }\n}\n\nexport class NotLeaderError extends ClusterError {\n public readonly leaderUrl?: string;\n\n constructor(message: string, leaderUrl?: string, details?: Record<string, any>) {\n super(message, 307, 'NOT_LEADER', details);\n this.name = 'NotLeaderError';\n this.leaderUrl = leaderUrl;\n Object.setPrototypeOf(this, NotLeaderError.prototype);\n }\n}\n\nexport class ClusterUnavailableError extends ClusterError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 503, 'CLUSTER_UNAVAILABLE', details);\n this.name = 'ClusterUnavailableError';\n Object.setPrototypeOf(this, ClusterUnavailableError.prototype);\n }\n}\n\n// Authorization Errors (403)\nexport class AuthorizationError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, any>) {\n super(message, 403, code, details);\n this.name = 'AuthorizationError';\n Object.setPrototypeOf(this, AuthorizationError.prototype);\n }\n}\n\nexport class InsufficientPermissionsError extends AuthorizationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'INSUFFICIENT_PERMISSIONS', details);\n this.name = 'InsufficientPermissionsError';\n Object.setPrototypeOf(this, InsufficientPermissionsError.prototype);\n }\n}\n\nexport class LeaderOnlyOperationError extends AuthorizationError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'LEADER_ONLY_OPERATION', details);\n this.name = 'LeaderOnlyOperationError';\n Object.setPrototypeOf(this, LeaderOnlyOperationError.prototype);\n }\n}\n\n// Resource Conflict Errors (409)\nexport class ConflictError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, any>) {\n super(message, 409, code, details);\n this.name = 'ConflictError';\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n\nexport class ResourceAlreadyExistsError extends ConflictError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'RESOURCE_ALREADY_EXISTS', details);\n this.name = 'ResourceAlreadyExistsError';\n Object.setPrototypeOf(this, ResourceAlreadyExistsError.prototype);\n }\n}\n\n// Internal Errors (500)\nexport class InternalError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, any>) {\n super(message, 500, code, details);\n this.name = 'InternalError';\n Object.setPrototypeOf(this, InternalError.prototype);\n }\n}\n\nexport class UuidGenerationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'UUID_GENERATION_FAILED', details);\n this.name = 'UuidGenerationFailedError';\n Object.setPrototypeOf(this, UuidGenerationFailedError.prototype);\n }\n}\n\nexport class SerializationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'SERIALIZATION_FAILED', details);\n this.name = 'SerializationFailedError';\n Object.setPrototypeOf(this, SerializationFailedError.prototype);\n }\n}\n\nexport class RaftApplyFailedError extends InternalError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'RAFT_APPLY_FAILED', details);\n this.name = 'RaftApplyFailedError';\n Object.setPrototypeOf(this, RaftApplyFailedError.prototype);\n }\n}\n\nexport class IndexOperationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'INDEX_OPERATION_FAILED', details);\n this.name = 'IndexOperationFailedError';\n Object.setPrototypeOf(this, IndexOperationFailedError.prototype);\n }\n}\n\nexport class DocumentOperationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'DOCUMENT_OPERATION_FAILED', details);\n this.name = 'DocumentOperationFailedError';\n Object.setPrototypeOf(this, DocumentOperationFailedError.prototype);\n }\n}\n\nexport class BatchOperationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'BATCH_OPERATION_FAILED', details);\n this.name = 'BatchOperationFailedError';\n Object.setPrototypeOf(this, BatchOperationFailedError.prototype);\n }\n}\n\nexport class SearchFailedError extends InternalError {\n constructor(message: string, details?: Record<string, any>) {\n super(message, 'SEARCH_FAILED', details);\n this.name = 'SearchFailedError';\n Object.setPrototypeOf(this, SearchFailedError.prototype);\n }\n}\n\n// Error factory function to create appropriate error instances\nexport function createBrightError(\n statusCode: number,\n errorResponse: BrightErrorResponse\n): BrightError {\n const { error: message, code, details } = errorResponse;\n\n // Match by error code first\n if (code) {\n switch (code) {\n // Validation Errors\n case 'MISSING_PARAMETER':\n return new MissingParameterError(message, details);\n case 'INVALID_PARAMETER':\n return new InvalidParameterError(message, details);\n case 'INVALID_REQUEST_BODY':\n return new InvalidRequestBodyError(message, details);\n case 'CONFLICTING_PARAMETERS':\n return new ConflictingParametersError(message, details);\n case 'INVALID_FORMAT':\n return new InvalidFormatError(message, details);\n case 'PARSE_ERROR':\n return new ParseError(message, details);\n\n // Not Found Errors\n case 'INDEX_NOT_FOUND':\n return new IndexNotFoundError(message, details);\n case 'DOCUMENT_NOT_FOUND':\n return new DocumentNotFoundError(message, details);\n\n // Cluster Errors\n case 'NOT_LEADER':\n return new NotLeaderError(message, details?.leaderUrl, details);\n case 'CLUSTER_UNAVAILABLE':\n return new ClusterUnavailableError(message, details);\n\n // Authorization Errors\n case 'INSUFFICIENT_PERMISSIONS':\n return new InsufficientPermissionsError(message, details);\n case 'LEADER_ONLY_OPERATION':\n return new LeaderOnlyOperationError(message, details);\n\n // Conflict Errors\n case 'RESOURCE_ALREADY_EXISTS':\n return new ResourceAlreadyExistsError(message, details);\n\n // Internal Errors\n case 'UUID_GENERATION_FAILED':\n return new UuidGenerationFailedError(message, details);\n case 'SERIALIZATION_FAILED':\n return new SerializationFailedError(message, details);\n case 'RAFT_APPLY_FAILED':\n return new RaftApplyFailedError(message, details);\n case 'INDEX_OPERATION_FAILED':\n return new IndexOperationFailedError(message, details);\n case 'DOCUMENT_OPERATION_FAILED':\n return new DocumentOperationFailedError(message, details);\n case 'BATCH_OPERATION_FAILED':\n return new BatchOperationFailedError(message, details);\n case 'SEARCH_FAILED':\n return new SearchFailedError(message, details);\n case 'INTERNAL_ERROR':\n return new InternalError(message, code, details);\n }\n }\n\n // Fallback to status code\n switch (statusCode) {\n case 400:\n return new ValidationError(message, code, details);\n case 404:\n return new NotFoundError(message, code, details);\n case 403:\n return new AuthorizationError(message, code, details);\n case 409:\n return new ConflictError(message, code, details);\n case 307:\n case 503:\n return new ClusterError(message, statusCode, code, details);\n case 500:\n return new InternalError(message, code, details);\n default:\n return new BrightError(message, statusCode, code, details);\n }\n}\n","import { BrightErrorResponse, createBrightError } from './errors';\n\n// Re-export all error classes\nexport * from './errors';\n\nexport interface IndexConfig {\n id: string;\n primaryKey?: string;\n}\n\nexport interface SearchParams {\n q?: string;\n offset?: number;\n limit?: number;\n page?: number;\n sort?: string[];\n attributesToRetrieve?: string[];\n attributesToExclude?: string[];\n}\n\nexport interface SearchResponse<T = Record<string, any>> {\n hits: T[];\n totalHits: number;\n totalPages: number;\n}\n\nexport interface BrightClientOptions {\n baseUrl: string;\n apiKey?: string;\n fetch?: typeof fetch;\n}\n\nexport interface IndexHandle<T = Record<string, any>> {\n readonly id: string;\n\n // Index operations\n update(config: Partial<IndexConfig>): Promise<IndexConfig>;\n delete(): Promise<void>;\n\n // Document operations\n addDocuments(documents: T[], options?: { format?: 'jsoneachrow'; primaryKey?: string }): Promise<{ indexed: number }>;\n updateDocument(documentId: string, updates: Partial<T>): Promise<T>;\n deleteDocument(documentId: string): Promise<void>;\n deleteDocuments(options: { ids?: string[]; filter?: string }): Promise<void>;\n\n // Search\n search(params?: SearchParams): Promise<SearchResponse<T>>;\n}\n\nexport class BrightClient {\n private baseUrl: string;\n private apiKey?: string;\n private fetchFn: typeof fetch;\n\n constructor(options: BrightClientOptions) {\n this.baseUrl = options.baseUrl.replace(/\\/$/, '');\n this.apiKey = options.apiKey;\n this.fetchFn = options.fetch || globalThis.fetch;\n }\n\n private async request<T>(\n path: string,\n options?: RequestInit\n ): Promise<T> {\n const url = `${this.baseUrl}${path}`;\n const response = await this.fetchFn(url, {\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...(this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {}),\n ...options?.headers,\n },\n });\n\n if (!response.ok) {\n const errorResponse: BrightErrorResponse = await response\n .json()\n .catch(() => ({ error: response.statusText }));\n throw createBrightError(response.status, errorResponse);\n }\n\n if (response.status === 204) {\n return undefined as T;\n }\n\n return response.json();\n }\n\n // Index Management\n\n async createIndex(id: string, primaryKey?: string): Promise<IndexConfig> {\n const params = new URLSearchParams({ id });\n if (primaryKey) params.append('primaryKey', primaryKey);\n \n return this.request<IndexConfig>(`/indexes?${params}`, {\n method: 'POST',\n });\n }\n\n async updateIndex(id: string, config: Partial<IndexConfig>): Promise<IndexConfig> {\n return this.request<IndexConfig>(`/indexes/${id}`, {\n method: 'PATCH',\n body: JSON.stringify(config),\n });\n }\n\n async deleteIndex(id: string): Promise<void> {\n return this.request<void>(`/indexes/${id}`, {\n method: 'DELETE',\n });\n }\n\n // Document Operations\n\n async addDocuments<T = Record<string, any>>(\n indexId: string,\n documents: T[],\n options?: { format?: 'jsoneachrow'; primaryKey?: string }\n ): Promise<{ indexed: number }> {\n const body = documents.map(doc => JSON.stringify(doc)).join('\\n');\n const params = new URLSearchParams();\n\n params.append('format', options?.format || 'jsoneachrow');\n if (options?.primaryKey) {\n params.append('primaryKey', options.primaryKey);\n }\n\n return this.request<{ indexed: number }>(`/indexes/${indexId}/documents?${params}`, {\n method: 'POST',\n body,\n });\n }\n\n async updateDocument<T = Record<string, any>>(\n indexId: string,\n documentId: string,\n updates: Partial<T>\n ): Promise<T> {\n return this.request<T>(`/indexes/${indexId}/documents/${documentId}`, {\n method: 'PATCH',\n body: JSON.stringify(updates),\n });\n }\n\n async deleteDocument(indexId: string, documentId: string): Promise<void> {\n return this.request<void>(`/indexes/${indexId}/documents/${documentId}`, {\n method: 'DELETE',\n });\n }\n\n async deleteDocuments(\n indexId: string,\n options: { ids?: string[]; filter?: string }\n ): Promise<void> {\n const params = new URLSearchParams();\n \n if (options.ids) {\n options.ids.forEach(id => params.append('ids[]', id));\n }\n \n if (options.filter) {\n params.append('filter', options.filter);\n }\n \n return this.request<void>(`/indexes/${indexId}/documents?${params}`, {\n method: 'DELETE',\n });\n }\n\n // Search\n\n async search<T = Record<string, any>>(\n indexId: string,\n params?: SearchParams\n ): Promise<SearchResponse<T>> {\n const searchParams = new URLSearchParams();\n\n if (params?.q) searchParams.append('q', params.q);\n if (params?.offset) searchParams.append('offset', params.offset.toString());\n if (params?.limit) searchParams.append('limit', params.limit.toString());\n if (params?.page) searchParams.append('page', params.page.toString());\n\n if (params?.sort) {\n params.sort.forEach(s => searchParams.append('sort[]', s));\n }\n\n if (params?.attributesToRetrieve) {\n params.attributesToRetrieve.forEach(attr =>\n searchParams.append('attributesToRetrieve[]', attr)\n );\n }\n\n if (params?.attributesToExclude) {\n params.attributesToExclude.forEach(attr =>\n searchParams.append('attributesToExclude[]', attr)\n );\n }\n\n return this.request<SearchResponse<T>>(`/indexes/${indexId}/searches?${searchParams}`, {\n method: 'POST',\n });\n }\n\n // Typed Index Handle\n\n index<T = Record<string, any>>(indexId: string): IndexHandle<T> {\n return {\n id: indexId,\n\n update: (config) => this.updateIndex(indexId, config),\n delete: () => this.deleteIndex(indexId),\n\n addDocuments: (documents, options) => this.addDocuments<T>(indexId, documents, options),\n updateDocument: (documentId, updates) => this.updateDocument<T>(indexId, documentId, updates),\n deleteDocument: (documentId) => this.deleteDocument(indexId, documentId),\n deleteDocuments: (options) => this.deleteDocuments(indexId, options),\n\n search: (params) => this.search<T>(indexId, params),\n };\n }\n}\n\n// Convenience function\nexport function createClient(options: BrightClientOptions): BrightClient {\n return new BrightClient(options);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["range"],"sources":["../src/errors.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["export type ErrorCode =\n // Validation Errors (400)\n | 'MISSING_PARAMETER'\n | 'INVALID_PARAMETER'\n | 'INVALID_REQUEST_BODY'\n | 'CONFLICTING_PARAMETERS'\n | 'INVALID_FORMAT'\n | 'PARSE_ERROR'\n // Not Found Errors (404)\n | 'INDEX_NOT_FOUND'\n | 'DOCUMENT_NOT_FOUND'\n // Cluster Errors (307/503)\n | 'NOT_LEADER'\n | 'CLUSTER_UNAVAILABLE'\n // Authorization Errors (403)\n | 'INSUFFICIENT_PERMISSIONS'\n | 'LEADER_ONLY_OPERATION'\n // Resource Conflict Errors (409)\n | 'RESOURCE_ALREADY_EXISTS'\n // Internal Errors (500)\n | 'UUID_GENERATION_FAILED'\n | 'SERIALIZATION_FAILED'\n | 'RAFT_APPLY_FAILED'\n | 'INDEX_OPERATION_FAILED'\n | 'DOCUMENT_OPERATION_FAILED'\n | 'BATCH_OPERATION_FAILED'\n | 'SEARCH_FAILED'\n | 'INTERNAL_ERROR';\n\nexport interface BrightErrorResponse {\n error: string;\n code?: ErrorCode;\n details?: Record<string, unknown>;\n}\n\nexport class BrightError extends Error {\n public readonly code?: ErrorCode;\n public readonly statusCode: number;\n public readonly details?: Record<string, unknown>;\n\n constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, unknown>) {\n super(message);\n this.name = 'BrightError';\n this.code = code;\n this.statusCode = statusCode;\n this.details = details;\n Object.setPrototypeOf(this, BrightError.prototype);\n }\n\n toJSON(): BrightErrorResponse & { statusCode: number } {\n return {\n error: this.message,\n code: this.code,\n details: this.details,\n statusCode: this.statusCode,\n };\n }\n}\n\n// Validation Errors (400)\nexport class ValidationError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>) {\n super(message, 400, code, details);\n this.name = 'ValidationError';\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport class MissingParameterError extends ValidationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'MISSING_PARAMETER', details);\n this.name = 'MissingParameterError';\n Object.setPrototypeOf(this, MissingParameterError.prototype);\n }\n}\n\nexport class InvalidParameterError extends ValidationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'INVALID_PARAMETER', details);\n this.name = 'InvalidParameterError';\n Object.setPrototypeOf(this, InvalidParameterError.prototype);\n }\n}\n\nexport class InvalidRequestBodyError extends ValidationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'INVALID_REQUEST_BODY', details);\n this.name = 'InvalidRequestBodyError';\n Object.setPrototypeOf(this, InvalidRequestBodyError.prototype);\n }\n}\n\nexport class ConflictingParametersError extends ValidationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'CONFLICTING_PARAMETERS', details);\n this.name = 'ConflictingParametersError';\n Object.setPrototypeOf(this, ConflictingParametersError.prototype);\n }\n}\n\nexport class InvalidFormatError extends ValidationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'INVALID_FORMAT', details);\n this.name = 'InvalidFormatError';\n Object.setPrototypeOf(this, InvalidFormatError.prototype);\n }\n}\n\nexport class ParseError extends ValidationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'PARSE_ERROR', details);\n this.name = 'ParseError';\n Object.setPrototypeOf(this, ParseError.prototype);\n }\n}\n\n// Not Found Errors (404)\nexport class NotFoundError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>) {\n super(message, 404, code, details);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\nexport class IndexNotFoundError extends NotFoundError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'INDEX_NOT_FOUND', details);\n this.name = 'IndexNotFoundError';\n Object.setPrototypeOf(this, IndexNotFoundError.prototype);\n }\n}\n\nexport class DocumentNotFoundError extends NotFoundError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'DOCUMENT_NOT_FOUND', details);\n this.name = 'DocumentNotFoundError';\n Object.setPrototypeOf(this, DocumentNotFoundError.prototype);\n }\n}\n\n// Cluster Errors\nexport class ClusterError extends BrightError {\n constructor(message: string, statusCode: number, code?: ErrorCode, details?: Record<string, unknown>) {\n super(message, statusCode, code, details);\n this.name = 'ClusterError';\n Object.setPrototypeOf(this, ClusterError.prototype);\n }\n}\n\nexport class NotLeaderError extends ClusterError {\n public readonly leaderUrl?: string;\n\n constructor(message: string, leaderUrl?: string, details?: Record<string, unknown>) {\n super(message, 307, 'NOT_LEADER', details);\n this.name = 'NotLeaderError';\n this.leaderUrl = leaderUrl;\n Object.setPrototypeOf(this, NotLeaderError.prototype);\n }\n}\n\nexport class ClusterUnavailableError extends ClusterError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 503, 'CLUSTER_UNAVAILABLE', details);\n this.name = 'ClusterUnavailableError';\n Object.setPrototypeOf(this, ClusterUnavailableError.prototype);\n }\n}\n\n// Authorization Errors (403)\nexport class AuthorizationError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>) {\n super(message, 403, code, details);\n this.name = 'AuthorizationError';\n Object.setPrototypeOf(this, AuthorizationError.prototype);\n }\n}\n\nexport class InsufficientPermissionsError extends AuthorizationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'INSUFFICIENT_PERMISSIONS', details);\n this.name = 'InsufficientPermissionsError';\n Object.setPrototypeOf(this, InsufficientPermissionsError.prototype);\n }\n}\n\nexport class LeaderOnlyOperationError extends AuthorizationError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'LEADER_ONLY_OPERATION', details);\n this.name = 'LeaderOnlyOperationError';\n Object.setPrototypeOf(this, LeaderOnlyOperationError.prototype);\n }\n}\n\n// Resource Conflict Errors (409)\nexport class ConflictError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>) {\n super(message, 409, code, details);\n this.name = 'ConflictError';\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n\nexport class ResourceAlreadyExistsError extends ConflictError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'RESOURCE_ALREADY_EXISTS', details);\n this.name = 'ResourceAlreadyExistsError';\n Object.setPrototypeOf(this, ResourceAlreadyExistsError.prototype);\n }\n}\n\n// Internal Errors (500)\nexport class InternalError extends BrightError {\n constructor(message: string, code?: ErrorCode, details?: Record<string, unknown>) {\n super(message, 500, code, details);\n this.name = 'InternalError';\n Object.setPrototypeOf(this, InternalError.prototype);\n }\n}\n\nexport class UuidGenerationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'UUID_GENERATION_FAILED', details);\n this.name = 'UuidGenerationFailedError';\n Object.setPrototypeOf(this, UuidGenerationFailedError.prototype);\n }\n}\n\nexport class SerializationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'SERIALIZATION_FAILED', details);\n this.name = 'SerializationFailedError';\n Object.setPrototypeOf(this, SerializationFailedError.prototype);\n }\n}\n\nexport class RaftApplyFailedError extends InternalError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'RAFT_APPLY_FAILED', details);\n this.name = 'RaftApplyFailedError';\n Object.setPrototypeOf(this, RaftApplyFailedError.prototype);\n }\n}\n\nexport class IndexOperationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'INDEX_OPERATION_FAILED', details);\n this.name = 'IndexOperationFailedError';\n Object.setPrototypeOf(this, IndexOperationFailedError.prototype);\n }\n}\n\nexport class DocumentOperationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'DOCUMENT_OPERATION_FAILED', details);\n this.name = 'DocumentOperationFailedError';\n Object.setPrototypeOf(this, DocumentOperationFailedError.prototype);\n }\n}\n\nexport class BatchOperationFailedError extends InternalError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'BATCH_OPERATION_FAILED', details);\n this.name = 'BatchOperationFailedError';\n Object.setPrototypeOf(this, BatchOperationFailedError.prototype);\n }\n}\n\nexport class SearchFailedError extends InternalError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, 'SEARCH_FAILED', details);\n this.name = 'SearchFailedError';\n Object.setPrototypeOf(this, SearchFailedError.prototype);\n }\n}\n\n// Error factory function to create appropriate error instances\nexport function createBrightError(\n statusCode: number,\n errorResponse: BrightErrorResponse\n): BrightError {\n const { error: message, code, details } = errorResponse;\n\n // Match by error code first\n if (code) {\n switch (code) {\n // Validation Errors\n case 'MISSING_PARAMETER':\n return new MissingParameterError(message, details);\n case 'INVALID_PARAMETER':\n return new InvalidParameterError(message, details);\n case 'INVALID_REQUEST_BODY':\n return new InvalidRequestBodyError(message, details);\n case 'CONFLICTING_PARAMETERS':\n return new ConflictingParametersError(message, details);\n case 'INVALID_FORMAT':\n return new InvalidFormatError(message, details);\n case 'PARSE_ERROR':\n return new ParseError(message, details);\n\n // Not Found Errors\n case 'INDEX_NOT_FOUND':\n return new IndexNotFoundError(message, details);\n case 'DOCUMENT_NOT_FOUND':\n return new DocumentNotFoundError(message, details);\n\n // Cluster Errors\n case 'NOT_LEADER': {\n const leaderUrl = typeof details?.leaderUrl === 'string' ? details.leaderUrl : undefined;\n return new NotLeaderError(message, leaderUrl, details);\n }\n case 'CLUSTER_UNAVAILABLE':\n return new ClusterUnavailableError(message, details);\n\n // Authorization Errors\n case 'INSUFFICIENT_PERMISSIONS':\n return new InsufficientPermissionsError(message, details);\n case 'LEADER_ONLY_OPERATION':\n return new LeaderOnlyOperationError(message, details);\n\n // Conflict Errors\n case 'RESOURCE_ALREADY_EXISTS':\n return new ResourceAlreadyExistsError(message, details);\n\n // Internal Errors\n case 'UUID_GENERATION_FAILED':\n return new UuidGenerationFailedError(message, details);\n case 'SERIALIZATION_FAILED':\n return new SerializationFailedError(message, details);\n case 'RAFT_APPLY_FAILED':\n return new RaftApplyFailedError(message, details);\n case 'INDEX_OPERATION_FAILED':\n return new IndexOperationFailedError(message, details);\n case 'DOCUMENT_OPERATION_FAILED':\n return new DocumentOperationFailedError(message, details);\n case 'BATCH_OPERATION_FAILED':\n return new BatchOperationFailedError(message, details);\n case 'SEARCH_FAILED':\n return new SearchFailedError(message, details);\n case 'INTERNAL_ERROR':\n return new InternalError(message, code, details);\n }\n }\n\n // Fallback to status code\n switch (statusCode) {\n case 400:\n return new ValidationError(message, code, details);\n case 404:\n return new NotFoundError(message, code, details);\n case 403:\n return new AuthorizationError(message, code, details);\n case 409:\n return new ConflictError(message, code, details);\n case 307:\n case 503:\n return new ClusterError(message, statusCode, code, details);\n case 500:\n return new InternalError(message, code, details);\n default:\n return new BrightError(message, statusCode, code, details);\n }\n}\n","export interface IndexConfig {\n id: string;\n primaryKey?: string;\n}\n\n// Field query helpers for type-safe query building\n\n/** Field filter with optional boost: `field:value` or `field:value^boost` */\nexport type FieldFilter<T> = {\n [K in keyof T]?: T[K] extends string | number | boolean | Date\n ? T[K] | { value: T[K]; boost?: number }\n : never;\n};\n\n/** Numeric range filter for a field */\nexport interface RangeFilter<T> {\n gt?: T;\n gte?: T;\n lt?: T;\n lte?: T;\n}\n\n/** Field range filters: `field:>value`, `field:>=value`, etc. */\nexport type FieldRangeFilter<T> = {\n [K in keyof T]?: T[K] extends number | Date ? RangeFilter<T[K]> : never;\n};\n\n/** Sort direction for a field */\nexport type SortDirection = 'asc' | 'desc';\n\n/** Typed sort options */\nexport type SortField<T> = keyof T | `-${string & keyof T}` | { field: keyof T; order: SortDirection };\n\n// Search params with full type support\n\nexport interface SearchParams<\n T = Record<string, unknown>,\n Exclude extends keyof T = never\n> {\n /** Query string (supports Bleve syntax: field:value, +required, -excluded, ^boost) */\n q?: string;\n\n /** Typed field filters (alternative to query string) */\n filter?: FieldFilter<T>;\n\n /** Typed range filters for numeric/date fields */\n range?: FieldRangeFilter<T>;\n\n /** Pagination offset */\n offset?: number;\n\n /** Results per page limit */\n limit?: number;\n\n /** Page number (1-indexed) */\n page?: number;\n\n /** Sort fields (prefix with - for descending) */\n sort?: Array<SortField<T>>;\n\n /** Fields to retrieve (defaults to all) */\n attributesToRetrieve?: Array<keyof T>;\n\n /** Fields to exclude from results */\n attributesToExclude?: Exclude[];\n}\n\n/** Search response with excluded fields removed from type */\nexport interface SearchResponse<\n T = Record<string, unknown>,\n Exclude extends keyof T = never\n> {\n hits: Array<Omit<T, Exclude>>;\n totalHits: number;\n totalPages: number;\n}\n\n// Query builder helpers\n\n/**\n * Build a field query with optional boost\n * @example field('name', 'water', 5) => 'name:water^5'\n */\nexport function field<T, K extends keyof T>(\n name: K,\n value: T[K],\n boost?: number\n): string {\n const base = `${String(name)}:${String(value)}`;\n return boost ? `${base}^${boost}` : base;\n}\n\n/**\n * Build a required (MUST) clause\n * @example must('name:water') => '+name:water'\n */\nexport function must(query: string): string {\n return `+${query}`;\n}\n\n/**\n * Build an excluded (MUST NOT) clause\n * @example mustNot('name:water') => '-name:water'\n */\nexport function mustNot(query: string): string {\n return `-${query}`;\n}\n\n/**\n * Build a phrase query\n * @example phrase('light beer') => '\"light beer\"'\n */\nexport function phrase(text: string): string {\n return `\"${text}\"`;\n}\n\n/**\n * Build a range query\n * @example range('price', { gte: 10, lt: 100 }) => 'price:>=10 price:<100'\n */\nexport function range<T, K extends keyof T>(\n name: K,\n filter: RangeFilter<T[K]>\n): string {\n const parts: string[] = [];\n const n = String(name);\n if (filter.gt !== undefined) parts.push(`${n}:>${filter.gt}`);\n if (filter.gte !== undefined) parts.push(`${n}:>=${filter.gte}`);\n if (filter.lt !== undefined) parts.push(`${n}:<${filter.lt}`);\n if (filter.lte !== undefined) parts.push(`${n}:<=${filter.lte}`);\n return parts.join(' ');\n}\n\nexport interface BrightClientOptions {\n baseUrl: string;\n apiKey?: string;\n fetch?: typeof fetch;\n}\n","import { BrightErrorResponse, createBrightError } from './errors';\nimport {\n IndexConfig,\n SearchParams,\n SearchResponse,\n BrightClientOptions,\n FieldFilter,\n FieldRangeFilter,\n SortField,\n} from './types';\nimport {\n IngressConfig,\n IngressState,\n CreateIngressParams,\n TypedCreateIngressParams,\n} from './ingress';\n\n// Re-export all types\nexport * from './errors';\nexport * from './types';\nexport * from './ingress';\n\nexport interface IndexHandle<T = Record<string, unknown>> {\n readonly id: string;\n\n // Index operations\n update(config: Partial<IndexConfig>): Promise<IndexConfig>;\n delete(): Promise<void>;\n\n // Document operations\n addDocuments(documents: T[], options?: { format?: 'jsoneachrow'; primaryKey?: string }): Promise<{ indexed: number }>;\n updateDocument(documentId: string, updates: Partial<T>): Promise<T>;\n deleteDocument(documentId: string): Promise<void>;\n deleteDocuments(options: { ids?: string[]; filter?: string }): Promise<void>;\n\n // Search with typed exclusion\n search<Exclude extends keyof T = never>(\n params?: SearchParams<T, Exclude>\n ): Promise<SearchResponse<T, Exclude>>;\n\n // Ingress (Data Ingestion)\n listIngresses(): Promise<IngressConfig[]>;\n createIngress(params: CreateIngressParams | TypedCreateIngressParams): Promise<IngressConfig>;\n getIngress(ingressId: string): Promise<IngressConfig>;\n updateIngress(ingressId: string, state: IngressState): Promise<IngressConfig>;\n deleteIngress(ingressId: string): Promise<void>;\n}\n\n// Helper to build query string from typed filters\nfunction buildQueryFromFilters<T>(\n filter?: FieldFilter<T>,\n range?: FieldRangeFilter<T>\n): string {\n const parts: string[] = [];\n\n if (filter) {\n for (const [key, val] of Object.entries(filter)) {\n if (val === undefined) continue;\n if (typeof val === 'object' && val !== null && 'value' in val) {\n const { value, boost } = val as { value: unknown; boost?: number };\n parts.push(boost ? `${key}:${value}^${boost}` : `${key}:${value}`);\n } else {\n parts.push(`${key}:${val}`);\n }\n }\n }\n\n if (range) {\n for (const [key, rangeVal] of Object.entries(range)) {\n if (rangeVal === undefined) continue;\n const r = rangeVal as { gt?: unknown; gte?: unknown; lt?: unknown; lte?: unknown };\n if (r.gt !== undefined) parts.push(`${key}:>${r.gt}`);\n if (r.gte !== undefined) parts.push(`${key}:>=${r.gte}`);\n if (r.lt !== undefined) parts.push(`${key}:<${r.lt}`);\n if (r.lte !== undefined) parts.push(`${key}:<=${r.lte}`);\n }\n }\n\n return parts.join(' ');\n}\n\n// Helper to normalize sort fields to string\nfunction normalizeSortField<T>(sort: SortField<T>): string {\n if (typeof sort === 'object' && sort !== null && 'field' in sort) {\n return sort.order === 'desc' ? `-${String(sort.field)}` : String(sort.field);\n }\n return String(sort);\n}\n\nexport class BrightClient {\n private baseUrl: string;\n private apiKey?: string;\n private fetchFn: typeof fetch;\n\n constructor(options: BrightClientOptions) {\n this.baseUrl = options.baseUrl.replace(/\\/$/, '');\n this.apiKey = options.apiKey;\n this.fetchFn = options.fetch || globalThis.fetch;\n }\n\n private async request<T>(\n path: string,\n options?: RequestInit\n ): Promise<T> {\n const url = `${this.baseUrl}${path}`;\n const response = await this.fetchFn(url, {\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...(this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {}),\n ...options?.headers,\n },\n });\n\n if (!response.ok) {\n const errorResponse: BrightErrorResponse = await response\n .json()\n .catch(() => ({ error: response.statusText }));\n throw createBrightError(response.status, errorResponse);\n }\n\n if (response.status === 204) {\n return undefined as T;\n }\n\n return response.json();\n }\n\n // Index Management\n\n async createIndex(id: string, primaryKey?: string): Promise<IndexConfig> {\n const params = new URLSearchParams({ id });\n if (primaryKey) params.append('primaryKey', primaryKey);\n\n return this.request<IndexConfig>(`/indexes?${params}`, {\n method: 'POST',\n });\n }\n\n async updateIndex(id: string, config: Partial<IndexConfig>): Promise<IndexConfig> {\n return this.request<IndexConfig>(`/indexes/${id}`, {\n method: 'PATCH',\n body: JSON.stringify(config),\n });\n }\n\n async deleteIndex(id: string): Promise<void> {\n return this.request<void>(`/indexes/${id}`, {\n method: 'DELETE',\n });\n }\n\n // Document Operations\n\n async addDocuments<T = Record<string, unknown>>(\n indexId: string,\n documents: T[],\n options?: { format?: 'jsoneachrow'; primaryKey?: string }\n ): Promise<{ indexed: number }> {\n const body = documents.map(doc => JSON.stringify(doc)).join('\\n');\n const params = new URLSearchParams();\n\n params.append('format', options?.format || 'jsoneachrow');\n if (options?.primaryKey) {\n params.append('primaryKey', options.primaryKey);\n }\n\n return this.request<{ indexed: number }>(`/indexes/${indexId}/documents?${params}`, {\n method: 'POST',\n body,\n });\n }\n\n async updateDocument<T = Record<string, unknown>>(\n indexId: string,\n documentId: string,\n updates: Partial<T>\n ): Promise<T> {\n return this.request<T>(`/indexes/${indexId}/documents/${documentId}`, {\n method: 'PATCH',\n body: JSON.stringify(updates),\n });\n }\n\n async deleteDocument(indexId: string, documentId: string): Promise<void> {\n return this.request<void>(`/indexes/${indexId}/documents/${documentId}`, {\n method: 'DELETE',\n });\n }\n\n async deleteDocuments(\n indexId: string,\n options: { ids?: string[]; filter?: string }\n ): Promise<void> {\n const params = new URLSearchParams();\n\n if (options.ids) {\n options.ids.forEach(id => params.append('ids[]', id));\n }\n\n if (options.filter) {\n params.append('filter', options.filter);\n }\n\n return this.request<void>(`/indexes/${indexId}/documents?${params}`, {\n method: 'DELETE',\n });\n }\n\n // Search\n\n async search<T = Record<string, unknown>, Exclude extends keyof T = never>(\n indexId: string,\n params?: SearchParams<T, Exclude>\n ): Promise<SearchResponse<T, Exclude>> {\n const searchParams = new URLSearchParams();\n\n // Build query from q + typed filters\n const filterQuery = buildQueryFromFilters(params?.filter, params?.range);\n const fullQuery = [params?.q, filterQuery].filter(Boolean).join(' ');\n if (fullQuery) searchParams.append('q', fullQuery);\n\n if (params?.offset) searchParams.append('offset', params.offset.toString());\n if (params?.limit) searchParams.append('limit', params.limit.toString());\n if (params?.page) searchParams.append('page', params.page.toString());\n\n if (params?.sort) {\n params.sort.forEach(s => searchParams.append('sort[]', normalizeSortField(s)));\n }\n\n if (params?.attributesToRetrieve) {\n params.attributesToRetrieve.forEach(attr =>\n searchParams.append('attributesToRetrieve[]', String(attr))\n );\n }\n\n if (params?.attributesToExclude) {\n params.attributesToExclude.forEach(attr =>\n searchParams.append('attributesToExclude[]', String(attr))\n );\n }\n\n return this.request<SearchResponse<T, Exclude>>(`/indexes/${indexId}/searches?${searchParams}`, {\n method: 'POST',\n });\n }\n\n // Ingress (Data Ingestion)\n\n async listIngresses(indexId: string): Promise<IngressConfig[]> {\n return this.request<IngressConfig[]>(`/indexes/${indexId}/ingresses`);\n }\n\n async createIngress(\n indexId: string,\n params: CreateIngressParams | TypedCreateIngressParams\n ): Promise<IngressConfig> {\n return this.request<IngressConfig>(`/indexes/${indexId}/ingresses`, {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n async getIngress(indexId: string, ingressId: string): Promise<IngressConfig> {\n return this.request<IngressConfig>(`/indexes/${indexId}/ingresses/${ingressId}`);\n }\n\n async updateIngress(\n indexId: string,\n ingressId: string,\n state: IngressState\n ): Promise<IngressConfig> {\n return this.request<IngressConfig>(`/indexes/${indexId}/ingresses/${ingressId}`, {\n method: 'PATCH',\n body: JSON.stringify({ state }),\n });\n }\n\n async deleteIngress(indexId: string, ingressId: string): Promise<void> {\n return this.request<void>(`/indexes/${indexId}/ingresses/${ingressId}`, {\n method: 'DELETE',\n });\n }\n\n // Typed Index Handle\n\n index<T = Record<string, unknown>>(indexId: string): IndexHandle<T> {\n return {\n id: indexId,\n\n update: (config) => this.updateIndex(indexId, config),\n delete: () => this.deleteIndex(indexId),\n\n addDocuments: (documents, options) => this.addDocuments<T>(indexId, documents, options),\n updateDocument: (documentId, updates) => this.updateDocument<T>(indexId, documentId, updates),\n deleteDocument: (documentId) => this.deleteDocument(indexId, documentId),\n deleteDocuments: (options) => this.deleteDocuments(indexId, options),\n\n search: <Exclude extends keyof T = never>(params?: SearchParams<T, Exclude>) =>\n this.search<T, Exclude>(indexId, params),\n\n listIngresses: () => this.listIngresses(indexId),\n createIngress: (params) => this.createIngress(indexId, params),\n getIngress: (ingressId) => this.getIngress(indexId, ingressId),\n updateIngress: (ingressId, state) => this.updateIngress(indexId, ingressId, state),\n deleteIngress: (ingressId) => this.deleteIngress(indexId, ingressId),\n };\n }\n}\n\n// Convenience function\nexport function createClient(options: BrightClientOptions): BrightClient {\n return new BrightClient(options);\n}\n"],"mappings":"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"}
|