@butterbase/sdk 2.0.2 → 2.3.2
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 +33 -1
- package/dist/admin/admin-client.d.ts +4 -0
- package/dist/admin/admin-client.d.ts.map +1 -1
- package/dist/admin/admin-client.js +6 -0
- package/dist/admin/admin-client.js.map +1 -1
- package/dist/admin/api-keys-client.d.ts +2 -1
- package/dist/admin/api-keys-client.d.ts.map +1 -1
- package/dist/admin/api-keys-client.js +3 -2
- package/dist/admin/api-keys-client.js.map +1 -1
- package/dist/admin/audit-logs-client.d.ts +2 -2
- package/dist/admin/audit-logs-client.d.ts.map +1 -1
- package/dist/admin/audit-logs-client.js +16 -9
- package/dist/admin/audit-logs-client.js.map +1 -1
- package/dist/admin/config-client.d.ts +1 -2
- package/dist/admin/config-client.d.ts.map +1 -1
- package/dist/admin/config-client.js +0 -1
- package/dist/admin/config-client.js.map +1 -1
- package/dist/admin/edge-ssr-client.d.ts +7 -2
- package/dist/admin/edge-ssr-client.d.ts.map +1 -1
- package/dist/admin/edge-ssr-client.js +10 -2
- package/dist/admin/edge-ssr-client.js.map +1 -1
- package/dist/admin/frontend-client.d.ts +6 -2
- package/dist/admin/frontend-client.d.ts.map +1 -1
- package/dist/admin/frontend-client.js +24 -1
- package/dist/admin/frontend-client.js.map +1 -1
- package/dist/admin/functions-client.d.ts.map +1 -1
- package/dist/admin/functions-client.js +2 -0
- package/dist/admin/functions-client.js.map +1 -1
- package/dist/admin/migrations-client.d.ts +32 -0
- package/dist/admin/migrations-client.d.ts.map +1 -0
- package/dist/admin/migrations-client.js +79 -0
- package/dist/admin/migrations-client.js.map +1 -0
- package/dist/admin/platform-billing-client.d.ts +21 -0
- package/dist/admin/platform-billing-client.d.ts.map +1 -0
- package/dist/admin/platform-billing-client.js +78 -0
- package/dist/admin/platform-billing-client.js.map +1 -0
- package/dist/admin/rls-client.d.ts +4 -1
- package/dist/admin/rls-client.d.ts.map +1 -1
- package/dist/admin/rls-client.js +26 -5
- package/dist/admin/rls-client.js.map +1 -1
- package/dist/admin/types.d.ts +164 -22
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/ai/ai-client.d.ts +11 -1
- package/dist/ai/ai-client.d.ts.map +1 -1
- package/dist/ai/ai-client.js +24 -0
- package/dist/ai/ai-client.js.map +1 -1
- package/dist/ai/types.d.ts +48 -2
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/errors/base.d.ts +8 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/base.js +15 -0
- package/dist/errors/base.js.map +1 -0
- package/dist/errors/index.d.ts +17 -13
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +84 -48
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/kv.d.ts +59 -0
- package/dist/errors/kv.d.ts.map +1 -0
- package/dist/errors/kv.js +109 -0
- package/dist/errors/kv.js.map +1 -0
- package/dist/index.d.ts +13 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/types.d.ts +1 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/kv-config.d.ts +11 -0
- package/dist/kv-config.d.ts.map +1 -0
- package/dist/kv-config.js +4 -0
- package/dist/kv-config.js.map +1 -0
- package/dist/kv.d.ts +47 -0
- package/dist/kv.d.ts.map +1 -0
- package/dist/kv.js +170 -0
- package/dist/kv.js.map +1 -0
- package/dist/lib/butterbase-client.d.ts +7 -0
- package/dist/lib/butterbase-client.d.ts.map +1 -1
- package/dist/lib/butterbase-client.js +16 -0
- package/dist/lib/butterbase-client.js.map +1 -1
- package/dist/lib/lockfile-hash.d.ts +12 -0
- package/dist/lib/lockfile-hash.d.ts.map +1 -0
- package/dist/lib/lockfile-hash.js +28 -0
- package/dist/lib/lockfile-hash.js.map +1 -0
- package/dist/lib/sse.d.ts +10 -0
- package/dist/lib/sse.d.ts.map +1 -0
- package/dist/lib/sse.js +44 -0
- package/dist/lib/sse.js.map +1 -0
- package/dist/rag/rag-client.d.ts +2 -2
- package/dist/rag/rag-client.d.ts.map +1 -1
- package/dist/rag/rag-client.js +18 -2
- package/dist/rag/rag-client.js.map +1 -1
- package/dist/rag/types.d.ts +11 -12
- package/dist/rag/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +12 -3
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +16 -4
package/dist/ai/types.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
|
+
export type ChatContentPart = {
|
|
2
|
+
type: 'text';
|
|
3
|
+
text: string;
|
|
4
|
+
} | {
|
|
5
|
+
type: 'image_url';
|
|
6
|
+
image_url: {
|
|
7
|
+
url: string;
|
|
8
|
+
detail?: 'low' | 'high' | 'auto';
|
|
9
|
+
};
|
|
10
|
+
} | {
|
|
11
|
+
type: 'video_url';
|
|
12
|
+
video_url: {
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
1
16
|
export interface ChatMessage {
|
|
2
|
-
role: 'system' | 'user' | 'assistant';
|
|
3
|
-
content: string;
|
|
17
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
18
|
+
content: string | ChatContentPart[];
|
|
19
|
+
name?: string;
|
|
20
|
+
tool_call_id?: string;
|
|
4
21
|
}
|
|
5
22
|
export interface ChatOptions {
|
|
6
23
|
model?: string;
|
|
@@ -44,4 +61,33 @@ export interface AiUsage {
|
|
|
44
61
|
cost: number;
|
|
45
62
|
}>;
|
|
46
63
|
}
|
|
64
|
+
export interface EmbeddingRequest {
|
|
65
|
+
model?: string;
|
|
66
|
+
input: string | string[];
|
|
67
|
+
encoding_format?: 'float' | 'base64';
|
|
68
|
+
}
|
|
69
|
+
export interface EmbeddingVector {
|
|
70
|
+
object: 'embedding';
|
|
71
|
+
index: number;
|
|
72
|
+
embedding: number[];
|
|
73
|
+
}
|
|
74
|
+
export interface EmbeddingResponse {
|
|
75
|
+
object: 'list';
|
|
76
|
+
model: string;
|
|
77
|
+
data: EmbeddingVector[];
|
|
78
|
+
usage: {
|
|
79
|
+
prompt_tokens: number;
|
|
80
|
+
total_tokens: number;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export interface AiModel {
|
|
84
|
+
id: string;
|
|
85
|
+
provider: string;
|
|
86
|
+
capabilities: ('chat' | 'embed' | 'vision' | 'tool_use')[];
|
|
87
|
+
context_window?: number;
|
|
88
|
+
pricing?: {
|
|
89
|
+
input_per_mtok?: number;
|
|
90
|
+
output_per_mtok?: number;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
47
93
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/ai/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class ButterbaseError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
readonly status: number;
|
|
4
|
+
readonly remediation?: string;
|
|
5
|
+
readonly details?: unknown;
|
|
6
|
+
constructor(message: string, code: string, status: number, remediation?: string, details?: unknown);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/errors/base.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAQnG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class ButterbaseError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
status;
|
|
4
|
+
remediation;
|
|
5
|
+
details;
|
|
6
|
+
constructor(message, code, status, remediation, details) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = 'ButterbaseError';
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.status = status;
|
|
11
|
+
this.remediation = remediation;
|
|
12
|
+
this.details = details;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/errors/base.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAS;IACb,MAAM,CAAS;IACf,WAAW,CAAU;IACrB,OAAO,CAAW;IAE3B,YAAY,OAAe,EAAE,IAAY,EAAE,MAAc,EAAE,WAAoB,EAAE,OAAiB;QAChG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -1,26 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
readonly remediation?: string;
|
|
5
|
-
constructor(message: string, code: string, status: number, remediation?: string);
|
|
6
|
-
}
|
|
1
|
+
import { ButterbaseError } from './base.js';
|
|
2
|
+
import { KvError, KvAuthError, KvForbiddenError, KvNotFoundError, KvKeyInvalidError, KvConnectionError, KvQuotaExceededError, KvRateLimitedError, KvCreditsExhaustedError, KvStorageFullError, KvKeysExhaustedError, KvValueTooLargeError, KvCasMismatchError, KvExposeConflictError } from './kv.js';
|
|
3
|
+
export { ButterbaseError };
|
|
7
4
|
export declare class AuthError extends ButterbaseError {
|
|
8
|
-
constructor(
|
|
5
|
+
constructor(m: string, c: string, s: number, r?: string, d?: unknown);
|
|
9
6
|
}
|
|
10
7
|
export declare class ValidationError extends ButterbaseError {
|
|
11
|
-
constructor(
|
|
8
|
+
constructor(m: string, c: string, s: number, r?: string, d?: unknown);
|
|
12
9
|
}
|
|
13
10
|
export declare class NotFoundError extends ButterbaseError {
|
|
14
|
-
constructor(
|
|
11
|
+
constructor(m: string, c: string, s: number, r?: string, d?: unknown);
|
|
15
12
|
}
|
|
16
13
|
export declare class QuotaError extends ButterbaseError {
|
|
17
|
-
constructor(
|
|
14
|
+
constructor(m: string, c: string, s: number, r?: string, d?: unknown);
|
|
18
15
|
}
|
|
19
16
|
export declare class NetworkError extends ButterbaseError {
|
|
20
|
-
constructor(
|
|
17
|
+
constructor(m: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
21
18
|
}
|
|
19
|
+
export { KvError, KvAuthError, KvForbiddenError, KvNotFoundError, KvKeyInvalidError, KvConnectionError, KvQuotaExceededError, KvRateLimitedError, KvCreditsExhaustedError, KvStorageFullError, KvKeysExhaustedError, KvValueTooLargeError, KvCasMismatchError, KvExposeConflictError, };
|
|
20
|
+
type ErrCls = new (m: string, c: string, s: number, r?: string, d?: unknown) => ButterbaseError;
|
|
21
|
+
export declare function classifyByCode(code: string): ErrCls | null;
|
|
22
22
|
/**
|
|
23
|
-
* Parse
|
|
23
|
+
* Parse a backend response into a typed ButterbaseError subclass.
|
|
24
|
+
*
|
|
25
|
+
* Dispatch order:
|
|
26
|
+
* 1. If body matches AgentFriendlyError shape, use the `code` (exact match, then prefix).
|
|
27
|
+
* 2. Otherwise fall back to HTTP status mapping.
|
|
24
28
|
*/
|
|
25
|
-
export declare function parseApiError(status: number, body:
|
|
29
|
+
export declare function parseApiError(status: number, body: unknown): ButterbaseError;
|
|
26
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAC7F,oBAAoB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,EAC3G,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,EAChE,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,qBAAa,SAAgB,SAAQ,eAAe;gBAAe,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;CAAsD;AACjL,qBAAa,eAAgB,SAAQ,eAAe;gBAAe,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;CAA4D;AACvL,qBAAa,aAAgB,SAAQ,eAAe;gBAAe,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;CAA0D;AACrL,qBAAa,UAAgB,SAAQ,eAAe;gBAAe,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;CAAuD;AAClL,qBAAa,YAAgB,SAAQ,eAAe;gBAAe,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,MAAwB,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;CAAyD;AAG1M,OAAO,EACL,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAC7F,oBAAoB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,EAC3G,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,GAChE,CAAC;AAEF,KAAK,MAAM,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,eAAe,CAAC;AA4BhG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU1D;AAWD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,eAAe,CAe5E"}
|
package/dist/errors/index.js
CHANGED
|
@@ -1,64 +1,100 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor(message, code, status, remediation) {
|
|
6
|
-
super(message);
|
|
7
|
-
this.name = 'ButterbaseError';
|
|
8
|
-
this.code = code;
|
|
9
|
-
this.status = status;
|
|
10
|
-
this.remediation = remediation;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
1
|
+
import { ErrorCodes, isAgentFriendlyError } from '@butterbase/shared';
|
|
2
|
+
import { ButterbaseError } from './base.js';
|
|
3
|
+
import { KvError, KvAuthError, KvForbiddenError, KvNotFoundError, KvKeyInvalidError, KvConnectionError, KvQuotaExceededError, KvRateLimitedError, KvCreditsExhaustedError, KvStorageFullError, KvKeysExhaustedError, KvValueTooLargeError, KvCasMismatchError, KvExposeConflictError, } from './kv.js';
|
|
4
|
+
export { ButterbaseError };
|
|
13
5
|
export class AuthError extends ButterbaseError {
|
|
14
|
-
constructor(
|
|
15
|
-
super(message, code, status, remediation);
|
|
16
|
-
this.name = 'AuthError';
|
|
17
|
-
}
|
|
6
|
+
constructor(m, c, s, r, d) { super(m, c, s, r, d); this.name = 'AuthError'; }
|
|
18
7
|
}
|
|
19
8
|
export class ValidationError extends ButterbaseError {
|
|
20
|
-
constructor(
|
|
21
|
-
super(message, code, status, remediation);
|
|
22
|
-
this.name = 'ValidationError';
|
|
23
|
-
}
|
|
9
|
+
constructor(m, c, s, r, d) { super(m, c, s, r, d); this.name = 'ValidationError'; }
|
|
24
10
|
}
|
|
25
11
|
export class NotFoundError extends ButterbaseError {
|
|
26
|
-
constructor(
|
|
27
|
-
super(message, code, status, remediation);
|
|
28
|
-
this.name = 'NotFoundError';
|
|
29
|
-
}
|
|
12
|
+
constructor(m, c, s, r, d) { super(m, c, s, r, d); this.name = 'NotFoundError'; }
|
|
30
13
|
}
|
|
31
14
|
export class QuotaError extends ButterbaseError {
|
|
32
|
-
constructor(
|
|
33
|
-
super(message, code, status, remediation);
|
|
34
|
-
this.name = 'QuotaError';
|
|
35
|
-
}
|
|
15
|
+
constructor(m, c, s, r, d) { super(m, c, s, r, d); this.name = 'QuotaError'; }
|
|
36
16
|
}
|
|
37
17
|
export class NetworkError extends ButterbaseError {
|
|
38
|
-
constructor(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
18
|
+
constructor(m, c = 'NETWORK_ERROR', s = 0, r, d) { super(m, c, s, r, d); this.name = 'NetworkError'; }
|
|
19
|
+
}
|
|
20
|
+
// Re-export KV error classes
|
|
21
|
+
export { KvError, KvAuthError, KvForbiddenError, KvNotFoundError, KvKeyInvalidError, KvConnectionError, KvQuotaExceededError, KvRateLimitedError, KvCreditsExhaustedError, KvStorageFullError, KvKeysExhaustedError, KvValueTooLargeError, KvCasMismatchError, KvExposeConflictError, };
|
|
22
|
+
// Exact code → class
|
|
23
|
+
const EXACT = {
|
|
24
|
+
[ErrorCodes.AUTH_INVALID_API_KEY]: AuthError,
|
|
25
|
+
[ErrorCodes.AUTH_INVALID_TOKEN]: AuthError,
|
|
26
|
+
[ErrorCodes.AUTH_INSUFFICIENT_PERMISSIONS]: AuthError,
|
|
27
|
+
[ErrorCodes.RESOURCE_NOT_FOUND]: NotFoundError,
|
|
28
|
+
};
|
|
29
|
+
// KV code → class
|
|
30
|
+
const KV_CODE_TO_CLASS = {
|
|
31
|
+
KV_UNAUTHORIZED: KvAuthError,
|
|
32
|
+
KV_FORBIDDEN: KvForbiddenError,
|
|
33
|
+
KV_NOT_FOUND: KvNotFoundError,
|
|
34
|
+
KV_KEY_INVALID: KvKeyInvalidError,
|
|
35
|
+
KV_CONNECTION: KvConnectionError,
|
|
36
|
+
KV_VALUE_TOO_LARGE: KvValueTooLargeError,
|
|
37
|
+
KV_CAS_MISMATCH: KvCasMismatchError,
|
|
38
|
+
KV_EXPOSE_CONFLICT: KvExposeConflictError,
|
|
39
|
+
// lowercase quota codes from the control-api preHandler (Task 5)
|
|
40
|
+
kv_rate_limited: KvQuotaExceededError,
|
|
41
|
+
kv_credits_exhausted: KvQuotaExceededError,
|
|
42
|
+
kv_storage_full: KvQuotaExceededError,
|
|
43
|
+
kv_keys_exhausted: KvQuotaExceededError,
|
|
44
|
+
value_too_large: KvValueTooLargeError,
|
|
45
|
+
};
|
|
46
|
+
export function classifyByCode(code) {
|
|
47
|
+
if (EXACT[code])
|
|
48
|
+
return EXACT[code];
|
|
49
|
+
if (KV_CODE_TO_CLASS[code])
|
|
50
|
+
return KV_CODE_TO_CLASS[code];
|
|
51
|
+
if (code.startsWith('KV_') || code.startsWith('kv_'))
|
|
52
|
+
return KvError;
|
|
53
|
+
if (code.startsWith('AUTH_'))
|
|
54
|
+
return AuthError;
|
|
55
|
+
if (code.startsWith('VALIDATION_'))
|
|
56
|
+
return ValidationError;
|
|
57
|
+
if (code.startsWith('RESOURCE_'))
|
|
58
|
+
return NotFoundError;
|
|
59
|
+
if (code.startsWith('QUOTA_'))
|
|
60
|
+
return QuotaError;
|
|
61
|
+
if (code.startsWith('EXTERNAL_'))
|
|
62
|
+
return NetworkError;
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
function classifyByStatus(status) {
|
|
66
|
+
if (status === 401 || status === 403)
|
|
67
|
+
return AuthError;
|
|
68
|
+
if (status === 400 || status === 422)
|
|
69
|
+
return ValidationError;
|
|
70
|
+
if (status === 404)
|
|
71
|
+
return NotFoundError;
|
|
72
|
+
if (status === 429)
|
|
73
|
+
return QuotaError;
|
|
74
|
+
if (status === 0 || status === 502 || status === 503)
|
|
75
|
+
return NetworkError;
|
|
76
|
+
return ButterbaseError;
|
|
42
77
|
}
|
|
43
78
|
/**
|
|
44
|
-
* Parse
|
|
79
|
+
* Parse a backend response into a typed ButterbaseError subclass.
|
|
80
|
+
*
|
|
81
|
+
* Dispatch order:
|
|
82
|
+
* 1. If body matches AgentFriendlyError shape, use the `code` (exact match, then prefix).
|
|
83
|
+
* 2. Otherwise fall back to HTTP status mapping.
|
|
45
84
|
*/
|
|
46
85
|
export function parseApiError(status, body) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return new AuthError(message, code || 'AUTH_UNAUTHORIZED', status, remediation);
|
|
52
|
-
}
|
|
53
|
-
if (status === 404 || code === 'RESOURCE_NOT_FOUND') {
|
|
54
|
-
return new NotFoundError(message, code || 'RESOURCE_NOT_FOUND', status, remediation);
|
|
55
|
-
}
|
|
56
|
-
if (status === 429 || code.startsWith('QUOTA_')) {
|
|
57
|
-
return new QuotaError(message, code || 'QUOTA_EXCEEDED', status, remediation);
|
|
58
|
-
}
|
|
59
|
-
if (status === 400 || status === 422 || code.startsWith('VALIDATION_')) {
|
|
60
|
-
return new ValidationError(message, code || 'VALIDATION_INVALID', status, remediation);
|
|
86
|
+
if (isAgentFriendlyError(body)) {
|
|
87
|
+
const { code, message, remediation, details } = body.error;
|
|
88
|
+
const Cls = classifyByCode(code) ?? classifyByStatus(status);
|
|
89
|
+
return new Cls(message, code, status, remediation, details);
|
|
61
90
|
}
|
|
62
|
-
|
|
91
|
+
// Legacy shape — backend sometimes returns { error: "string" } or { message }.
|
|
92
|
+
const message = body && typeof body === 'object'
|
|
93
|
+
? (typeof body.error === 'string' ? body.error
|
|
94
|
+
: typeof body.message === 'string' ? body.message
|
|
95
|
+
: 'Unknown error')
|
|
96
|
+
: 'Unknown error';
|
|
97
|
+
const Cls = classifyByStatus(status);
|
|
98
|
+
return new Cls(message, `HTTP_${status}`, status);
|
|
63
99
|
}
|
|
64
100
|
//# sourceMappingURL=index.js.map
|
package/dist/errors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ButterbaseError } from './base.js';
|
|
2
|
+
export declare class KvError extends ButterbaseError {
|
|
3
|
+
constructor(message: string, code?: string, status?: number, remediation?: string, details?: unknown);
|
|
4
|
+
}
|
|
5
|
+
export declare class KvAuthError extends KvError {
|
|
6
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
7
|
+
}
|
|
8
|
+
export declare class KvForbiddenError extends KvError {
|
|
9
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
10
|
+
}
|
|
11
|
+
export declare class KvNotFoundError extends KvError {
|
|
12
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
13
|
+
}
|
|
14
|
+
export declare class KvKeyInvalidError extends KvError {
|
|
15
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
16
|
+
}
|
|
17
|
+
export declare class KvConnectionError extends KvError {
|
|
18
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
19
|
+
}
|
|
20
|
+
export declare class KvCasMismatchError extends KvError {
|
|
21
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
22
|
+
}
|
|
23
|
+
export declare class KvExposeConflictError extends KvError {
|
|
24
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
25
|
+
}
|
|
26
|
+
export declare class KvValueTooLargeError extends KvError {
|
|
27
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
28
|
+
}
|
|
29
|
+
/** Parent / legacy alias for quota-class KV errors. */
|
|
30
|
+
export declare class KvQuotaExceededError extends KvError {
|
|
31
|
+
constructor(m?: string, c?: string, s?: number, r?: string, d?: unknown);
|
|
32
|
+
}
|
|
33
|
+
/** HTTP 429 – kv_rate_limited */
|
|
34
|
+
export declare class KvRateLimitedError extends KvQuotaExceededError {
|
|
35
|
+
/** Seconds the caller should wait before retrying. */
|
|
36
|
+
readonly retryAfterSec: number;
|
|
37
|
+
constructor(retryAfterSec?: number, m?: string);
|
|
38
|
+
}
|
|
39
|
+
/** HTTP 402 – kv_credits_exhausted */
|
|
40
|
+
export declare class KvCreditsExhaustedError extends KvQuotaExceededError {
|
|
41
|
+
constructor(m?: string);
|
|
42
|
+
}
|
|
43
|
+
/** HTTP 507 – kv_storage_full */
|
|
44
|
+
export declare class KvStorageFullError extends KvQuotaExceededError {
|
|
45
|
+
/** Bytes currently used. */
|
|
46
|
+
readonly usedBytes: number;
|
|
47
|
+
/** Storage cap in bytes. */
|
|
48
|
+
readonly capBytes: number;
|
|
49
|
+
constructor(usedBytes?: number, capBytes?: number, m?: string);
|
|
50
|
+
}
|
|
51
|
+
/** HTTP 507 – kv_keys_exhausted */
|
|
52
|
+
export declare class KvKeysExhaustedError extends KvQuotaExceededError {
|
|
53
|
+
/** Current key count. */
|
|
54
|
+
readonly keys: number;
|
|
55
|
+
/** Maximum allowed keys. */
|
|
56
|
+
readonly cap: number;
|
|
57
|
+
constructor(keys?: number, cap?: number, m?: string);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=kv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv.d.ts","sourceRoot":"","sources":["../../src/errors/kv.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { ButterbaseError } from './base.js';
|
|
2
|
+
export class KvError extends ButterbaseError {
|
|
3
|
+
constructor(message, code = 'KV_ERROR', status = 500, remediation, details) {
|
|
4
|
+
super(message, code, status, remediation, details);
|
|
5
|
+
this.name = 'KvError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class KvAuthError extends KvError {
|
|
9
|
+
constructor(m = 'unauthorized', c = 'KV_UNAUTHORIZED', s = 401, r, d) {
|
|
10
|
+
super(m, c, s, r, d);
|
|
11
|
+
this.name = 'KvAuthError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class KvForbiddenError extends KvError {
|
|
15
|
+
constructor(m = 'forbidden', c = 'KV_FORBIDDEN', s = 403, r, d) {
|
|
16
|
+
super(m, c, s, r, d);
|
|
17
|
+
this.name = 'KvForbiddenError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class KvNotFoundError extends KvError {
|
|
21
|
+
constructor(m = 'not found', c = 'KV_NOT_FOUND', s = 404, r, d) {
|
|
22
|
+
super(m, c, s, r, d);
|
|
23
|
+
this.name = 'KvNotFoundError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class KvKeyInvalidError extends KvError {
|
|
27
|
+
constructor(m = 'invalid key', c = 'KV_KEY_INVALID', s = 400, r, d) {
|
|
28
|
+
super(m, c, s, r, d);
|
|
29
|
+
this.name = 'KvKeyInvalidError';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class KvConnectionError extends KvError {
|
|
33
|
+
constructor(m = 'connection error', c = 'KV_CONNECTION', s = 503, r, d) {
|
|
34
|
+
super(m, c, s, r, d);
|
|
35
|
+
this.name = 'KvConnectionError';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Reserved for a future stricter-CAS endpoint that returns 409 on mismatch.
|
|
39
|
+
// Today the kv-gateway returns 200 {swapped:false} for normal CAS, so callers
|
|
40
|
+
// should use the boolean return from KvShim.cas(); this error is not thrown yet.
|
|
41
|
+
export class KvCasMismatchError extends KvError {
|
|
42
|
+
constructor(m = 'cas mismatch', c = 'KV_CAS_MISMATCH', s = 409, r, d) {
|
|
43
|
+
super(m, c, s, r, d);
|
|
44
|
+
this.name = 'KvCasMismatchError';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class KvExposeConflictError extends KvError {
|
|
48
|
+
constructor(m = 'expose pattern conflicts with existing rule', c = 'KV_EXPOSE_CONFLICT', s = 409, r, d) {
|
|
49
|
+
super(m, c, s, r, d);
|
|
50
|
+
this.name = 'KvExposeConflictError';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class KvValueTooLargeError extends KvError {
|
|
54
|
+
constructor(m = 'value too large', c = 'KV_VALUE_TOO_LARGE', s = 413, r, d) {
|
|
55
|
+
super(m, c, s, r, d);
|
|
56
|
+
this.name = 'KvValueTooLargeError';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Parent / legacy alias for quota-class KV errors. */
|
|
60
|
+
export class KvQuotaExceededError extends KvError {
|
|
61
|
+
constructor(m = 'quota exceeded', c = 'KV_QUOTA_EXCEEDED', s = 429, r, d) {
|
|
62
|
+
super(m, c, s, r, d);
|
|
63
|
+
this.name = 'KvQuotaExceededError';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** HTTP 429 – kv_rate_limited */
|
|
67
|
+
export class KvRateLimitedError extends KvQuotaExceededError {
|
|
68
|
+
/** Seconds the caller should wait before retrying. */
|
|
69
|
+
retryAfterSec;
|
|
70
|
+
constructor(retryAfterSec = 0, m) {
|
|
71
|
+
super(m ?? `rate limited; retry after ${retryAfterSec}s`, 'kv_rate_limited', 429);
|
|
72
|
+
this.name = 'KvRateLimitedError';
|
|
73
|
+
this.retryAfterSec = retryAfterSec;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** HTTP 402 – kv_credits_exhausted */
|
|
77
|
+
export class KvCreditsExhaustedError extends KvQuotaExceededError {
|
|
78
|
+
constructor(m) {
|
|
79
|
+
super(m ?? 'credits exhausted; please top up your account', 'kv_credits_exhausted', 402);
|
|
80
|
+
this.name = 'KvCreditsExhaustedError';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** HTTP 507 – kv_storage_full */
|
|
84
|
+
export class KvStorageFullError extends KvQuotaExceededError {
|
|
85
|
+
/** Bytes currently used. */
|
|
86
|
+
usedBytes;
|
|
87
|
+
/** Storage cap in bytes. */
|
|
88
|
+
capBytes;
|
|
89
|
+
constructor(usedBytes = 0, capBytes = 0, m) {
|
|
90
|
+
super(m ?? `storage full (${usedBytes} / ${capBytes} bytes used)`, 'kv_storage_full', 507);
|
|
91
|
+
this.name = 'KvStorageFullError';
|
|
92
|
+
this.usedBytes = usedBytes;
|
|
93
|
+
this.capBytes = capBytes;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** HTTP 507 – kv_keys_exhausted */
|
|
97
|
+
export class KvKeysExhaustedError extends KvQuotaExceededError {
|
|
98
|
+
/** Current key count. */
|
|
99
|
+
keys;
|
|
100
|
+
/** Maximum allowed keys. */
|
|
101
|
+
cap;
|
|
102
|
+
constructor(keys = 0, cap = 0, m) {
|
|
103
|
+
super(m ?? `key limit reached (${keys} / ${cap} keys)`, 'kv_keys_exhausted', 507);
|
|
104
|
+
this.name = 'KvKeysExhaustedError';
|
|
105
|
+
this.keys = keys;
|
|
106
|
+
this.cap = cap;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=kv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv.js","sourceRoot":"","sources":["../../src/errors/kv.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export { ButterbaseClient, createClient } from './lib/butterbase-client.js';
|
|
2
2
|
export { QueryBuilder } from './lib/query-builder.js';
|
|
3
3
|
export { InsertBuilder, UpdateBuilder, DeleteBuilder } from './lib/mutation-builders.js';
|
|
4
|
+
export { computeLockfileHash, type LockfileResult, type FileReader } from './lib/lockfile-hash.js';
|
|
5
|
+
export { consumeSse, type SseEvent } from './lib/sse.js';
|
|
6
|
+
export { defineKvConfig, type KvConfigInput, type KvExposeRule, type KvRole } from './kv-config.js';
|
|
4
7
|
export { AuthClient } from './auth/auth-client.js';
|
|
5
8
|
export { StorageClient } from './storage/storage-client.js';
|
|
6
9
|
export { FunctionsClient } from './functions/functions-client.js';
|
|
@@ -20,14 +23,21 @@ export { AdminAuditLogsClient } from './admin/audit-logs-client.js';
|
|
|
20
23
|
export { AdminFrontendClient } from './admin/frontend-client.js';
|
|
21
24
|
export { AdminRealtimeClient } from './admin/realtime-client.js';
|
|
22
25
|
export { AdminDomainsClient } from './admin/domains-client.js';
|
|
26
|
+
export { AdminDurableObjectsClient } from './admin/durable-objects-client.js';
|
|
27
|
+
export { AdminEdgeSsrClient } from './admin/edge-ssr-client.js';
|
|
28
|
+
export { AdminMigrationsClient } from './admin/migrations-client.js';
|
|
29
|
+
export { AdminPlatformBillingClient } from './admin/platform-billing-client.js';
|
|
23
30
|
export { RealtimeClient } from './realtime/realtime-client.js';
|
|
24
|
-
export { ButterbaseError, AuthError, ValidationError, NotFoundError, QuotaError, NetworkError, } from './errors/index.js';
|
|
31
|
+
export { ButterbaseError, AuthError, ValidationError, NotFoundError, QuotaError, NetworkError, parseApiError, KvError, KvAuthError, KvForbiddenError, KvNotFoundError, KvKeyInvalidError, KvConnectionError, KvCasMismatchError, KvExposeConflictError, KvValueTooLargeError, KvQuotaExceededError, KvRateLimitedError, KvCreditsExhaustedError, KvStorageFullError, KvKeysExhaustedError, } from './errors/index.js';
|
|
32
|
+
export { ErrorCodes, isAgentFriendlyError, } from '@butterbase/shared';
|
|
33
|
+
export type { ErrorCode, AgentFriendlyError } from '@butterbase/shared';
|
|
34
|
+
export { parseRegions, loadRegionConfig, butterbaseRegionToFlyRegion, } from '@butterbase/shared';
|
|
25
35
|
export { SessionManager } from './auth/session-manager.js';
|
|
26
36
|
export { LocalSessionStorage, MemorySessionStorage, detectSessionStorage } from './auth/session-storage.js';
|
|
27
37
|
export type { SessionStorage } from './auth/session-storage.js';
|
|
28
|
-
export type { ButterbaseClientOptions, ButterbaseResponse, User, Session, SignUpParams, SignInParams, AuthResponse, LoginResponse, SignupResponse, OAuthParams, OAuthCallbackResult, StorageObject, UploadResponse, DownloadUrlResponse, QueryOperator, QueryFilter, OrderByOptions, InvokeFunctionOptions, AuthEvent, AuthChangeCallback, Subscription, ChatMessage, ChatOptions, ChatCompletion, ChatStreamChunk, AiConfig, AiUsage, Plan, CreatePlanParams, Product, CreateProductParams, BillingSubscription, CheckoutSession, SubscribeParams, PurchaseParams, PurchaseResult, Order, ConnectOnboardResult, ConnectStatus, SchemaTable, SchemaColumn, SchemaIndex, SchemaDefinition, MigrationResult, Migration, RlsPolicy, CreatePolicyParams, OAuthConfig, OAuthConfigParams, AppConfig, CorsConfig, JwtConfig, DeployFunctionParams, FunctionDetails, FunctionSummary, FunctionLog, LogOptions, ApiKey, ApiKeySummary, AuditLog, AuditLogQueryOptions, Deployment, CreateDeploymentParams, RealtimeConfig, RealtimeTableResult, CustomDomain, CustomDomainAddResult, CustomDomainStatus, } from './types/index.js';
|
|
38
|
+
export type { ButterbaseClientOptions, ButterbaseResponse, User, Session, SignUpParams, SignInParams, AuthResponse, LoginResponse, SignupResponse, OAuthParams, OAuthCallbackResult, StorageObject, UploadResponse, DownloadUrlResponse, QueryOperator, QueryFilter, OrderByOptions, InvokeFunctionOptions, AuthEvent, AuthChangeCallback, Subscription, ChatMessage, ChatOptions, ChatCompletion, ChatStreamChunk, AiConfig, AiUsage, EmbeddingRequest, EmbeddingResponse, EmbeddingVector, AiModel, Plan, CreatePlanParams, Product, CreateProductParams, BillingSubscription, CheckoutSession, SubscribeParams, PurchaseParams, PurchaseResult, Order, ConnectOnboardResult, ConnectStatus, SchemaTable, SchemaColumn, SchemaIndex, SchemaDefinition, MigrationResult, Migration, RlsPolicy, CreatePolicyParams, OAuthConfig, OAuthConfigParams, AppConfig, CorsConfig, JwtConfig, DeployFunctionParams, FunctionDetails, FunctionSummary, FunctionLog, LogOptions, ApiKey, ApiKeySummary, AuditLog, AuditLogQueryOptions, Deployment, CreateDeploymentParams, RealtimeConfig, RealtimeTableResult, CustomDomain, CustomDomainAddResult, CustomDomainStatus, PlatformBillingStatus, TopupRequest, SpendingCap, PlatformMeterType, PlatformUsageOptions, } from './types/index.js';
|
|
29
39
|
export type { IntegrationConfig as IntegrationConfigType, AvailableIntegration, ConnectedAccount as ConnectedAccountType, IntegrationTool, ToolResult, ConfigureOptions, ConnectOptions, ConnectResult, ListAvailableOptions, } from './integrations/types.js';
|
|
30
40
|
export type { PartnerListItem, PartnerListResponse, } from './partners/types.js';
|
|
31
|
-
export type { Collection, CollectionDetails, RagDocument, IngestResult, QueryChunk, QueryResult,
|
|
41
|
+
export type { Collection, CollectionDetails, RagDocument, IngestResult, QueryChunk, QueryResult, CreateCollectionOptions, IngestOptions, QueryOptions, } from './rag/types.js';
|
|
32
42
|
export type { RealtimeStatus, RealtimeChange, PresenceEvent, ChangeCallback, PresenceCallback, StatusCallback, RealtimeSubscription, } from './realtime/types.js';
|
|
33
43
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGzF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,11 @@ export { ButterbaseClient, createClient } from './lib/butterbase-client.js';
|
|
|
4
4
|
export { QueryBuilder } from './lib/query-builder.js';
|
|
5
5
|
// Mutation builders
|
|
6
6
|
export { InsertBuilder, UpdateBuilder, DeleteBuilder } from './lib/mutation-builders.js';
|
|
7
|
+
// Utility helpers
|
|
8
|
+
export { computeLockfileHash } from './lib/lockfile-hash.js';
|
|
9
|
+
export { consumeSse } from './lib/sse.js';
|
|
10
|
+
// KV config helper
|
|
11
|
+
export { defineKvConfig } from './kv-config.js';
|
|
7
12
|
// Client modules
|
|
8
13
|
export { AuthClient } from './auth/auth-client.js';
|
|
9
14
|
export { StorageClient } from './storage/storage-client.js';
|
|
@@ -25,10 +30,19 @@ export { AdminAuditLogsClient } from './admin/audit-logs-client.js';
|
|
|
25
30
|
export { AdminFrontendClient } from './admin/frontend-client.js';
|
|
26
31
|
export { AdminRealtimeClient } from './admin/realtime-client.js';
|
|
27
32
|
export { AdminDomainsClient } from './admin/domains-client.js';
|
|
33
|
+
export { AdminDurableObjectsClient } from './admin/durable-objects-client.js';
|
|
34
|
+
export { AdminEdgeSsrClient } from './admin/edge-ssr-client.js';
|
|
35
|
+
export { AdminMigrationsClient } from './admin/migrations-client.js';
|
|
36
|
+
export { AdminPlatformBillingClient } from './admin/platform-billing-client.js';
|
|
28
37
|
// Realtime client
|
|
29
38
|
export { RealtimeClient } from './realtime/realtime-client.js';
|
|
30
39
|
// Error types
|
|
31
|
-
export { ButterbaseError, AuthError, ValidationError, NotFoundError, QuotaError, NetworkError,
|
|
40
|
+
export { ButterbaseError, AuthError, ValidationError, NotFoundError, QuotaError, NetworkError, parseApiError,
|
|
41
|
+
// KV error classes
|
|
42
|
+
KvError, KvAuthError, KvForbiddenError, KvNotFoundError, KvKeyInvalidError, KvConnectionError, KvCasMismatchError, KvExposeConflictError, KvValueTooLargeError, KvQuotaExceededError, KvRateLimitedError, KvCreditsExhaustedError, KvStorageFullError, KvKeysExhaustedError, } from './errors/index.js';
|
|
43
|
+
// Shared package re-exports
|
|
44
|
+
export { ErrorCodes, isAgentFriendlyError, } from '@butterbase/shared';
|
|
45
|
+
export { parseRegions, loadRegionConfig, butterbaseRegionToFlyRegion, } from '@butterbase/shared';
|
|
32
46
|
// Session persistence
|
|
33
47
|
export { SessionManager } from './auth/session-manager.js';
|
|
34
48
|
export { LocalSessionStorage, MemorySessionStorage, detectSessionStorage } from './auth/session-storage.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE5E,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEzF,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|