camusdb 0.1.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/LICENSE +21 -0
- package/README.md +950 -0
- package/dist/auth/credentials.d.ts +30 -0
- package/dist/auth/credentials.d.ts.map +1 -0
- package/dist/auth/credentials.js +23 -0
- package/dist/auth/credentials.js.map +1 -0
- package/dist/auth/login-client.d.ts +37 -0
- package/dist/auth/login-client.d.ts.map +1 -0
- package/dist/auth/login-client.js +8 -0
- package/dist/auth/login-client.js.map +1 -0
- package/dist/auth/rest-login-client.d.ts +17 -0
- package/dist/auth/rest-login-client.d.ts.map +1 -0
- package/dist/auth/rest-login-client.js +71 -0
- package/dist/auth/rest-login-client.js.map +1 -0
- package/dist/auth/token-provider.d.ts +123 -0
- package/dist/auth/token-provider.d.ts.map +1 -0
- package/dist/auth/token-provider.js +209 -0
- package/dist/auth/token-provider.js.map +1 -0
- package/dist/backup.d.ts +98 -0
- package/dist/backup.d.ts.map +1 -0
- package/dist/backup.js +153 -0
- package/dist/backup.js.map +1 -0
- package/dist/cache.d.ts +90 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +121 -0
- package/dist/cache.js.map +1 -0
- package/dist/client.d.ts +406 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +724 -0
- package/dist/client.js.map +1 -0
- package/dist/column-type.d.ts +33 -0
- package/dist/column-type.d.ts.map +1 -0
- package/dist/column-type.js +50 -0
- package/dist/column-type.js.map +1 -0
- package/dist/column-value.d.ts +77 -0
- package/dist/column-value.d.ts.map +1 -0
- package/dist/column-value.js +60 -0
- package/dist/column-value.js.map +1 -0
- package/dist/config.d.ts +181 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +315 -0
- package/dist/config.js.map +1 -0
- package/dist/connection-string.d.ts +45 -0
- package/dist/connection-string.d.ts.map +1 -0
- package/dist/connection-string.js +170 -0
- package/dist/connection-string.js.map +1 -0
- package/dist/endpoint-pool.d.ts +70 -0
- package/dist/endpoint-pool.d.ts.map +1 -0
- package/dist/endpoint-pool.js +120 -0
- package/dist/endpoint-pool.js.map +1 -0
- package/dist/error-codes.d.ts +44 -0
- package/dist/error-codes.d.ts.map +1 -0
- package/dist/error-codes.js +43 -0
- package/dist/error-codes.js.map +1 -0
- package/dist/errors.d.ts +24 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +33 -0
- package/dist/errors.js.map +1 -0
- package/dist/hlc.d.ts +19 -0
- package/dist/hlc.d.ts.map +1 -0
- package/dist/hlc.js +11 -0
- package/dist/hlc.js.map +1 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/json.d.ts +41 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +345 -0
- package/dist/json.js.map +1 -0
- package/dist/object-id.d.ts +39 -0
- package/dist/object-id.d.ts.map +1 -0
- package/dist/object-id.js +99 -0
- package/dist/object-id.js.map +1 -0
- package/dist/options.d.ts +77 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +68 -0
- package/dist/options.js.map +1 -0
- package/dist/prepared/binder.d.ts +20 -0
- package/dist/prepared/binder.d.ts.map +1 -0
- package/dist/prepared/binder.js +32 -0
- package/dist/prepared/binder.js.map +1 -0
- package/dist/prepared/policy.d.ts +81 -0
- package/dist/prepared/policy.d.ts.map +1 -0
- package/dist/prepared/policy.js +164 -0
- package/dist/prepared/policy.js.map +1 -0
- package/dist/query-stream.d.ts +55 -0
- package/dist/query-stream.d.ts.map +1 -0
- package/dist/query-stream.js +94 -0
- package/dist/query-stream.js.map +1 -0
- package/dist/result-set.d.ts +62 -0
- package/dist/result-set.d.ts.map +1 -0
- package/dist/result-set.js +100 -0
- package/dist/result-set.js.map +1 -0
- package/dist/retry.d.ts +38 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +93 -0
- package/dist/retry.js.map +1 -0
- package/dist/routing/advice.d.ts +63 -0
- package/dist/routing/advice.d.ts.map +1 -0
- package/dist/routing/advice.js +61 -0
- package/dist/routing/advice.js.map +1 -0
- package/dist/routing/route-cache.d.ts +53 -0
- package/dist/routing/route-cache.d.ts.map +1 -0
- package/dist/routing/route-cache.js +123 -0
- package/dist/routing/route-cache.js.map +1 -0
- package/dist/routing/router.d.ts +53 -0
- package/dist/routing/router.d.ts.map +1 -0
- package/dist/routing/router.js +89 -0
- package/dist/routing/router.js.map +1 -0
- package/dist/row-source.d.ts +48 -0
- package/dist/row-source.d.ts.map +1 -0
- package/dist/row-source.js +35 -0
- package/dist/row-source.js.map +1 -0
- package/dist/runtime.d.ts +58 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +137 -0
- package/dist/runtime.js.map +1 -0
- package/dist/shared-registry.d.ts +32 -0
- package/dist/shared-registry.d.ts.map +1 -0
- package/dist/shared-registry.js +48 -0
- package/dist/shared-registry.js.map +1 -0
- package/dist/sql-syntax.d.ts +44 -0
- package/dist/sql-syntax.d.ts.map +1 -0
- package/dist/sql-syntax.js +83 -0
- package/dist/sql-syntax.js.map +1 -0
- package/dist/statements.d.ts +15 -0
- package/dist/statements.d.ts.map +1 -0
- package/dist/statements.js +90 -0
- package/dist/statements.js.map +1 -0
- package/dist/transaction.d.ts +117 -0
- package/dist/transaction.d.ts.map +1 -0
- package/dist/transaction.js +204 -0
- package/dist/transaction.js.map +1 -0
- package/dist/transport/authenticating-transport.d.ts +63 -0
- package/dist/transport/authenticating-transport.d.ts.map +1 -0
- package/dist/transport/authenticating-transport.js +119 -0
- package/dist/transport/authenticating-transport.js.map +1 -0
- package/dist/transport/branch-statements.d.ts +39 -0
- package/dist/transport/branch-statements.d.ts.map +1 -0
- package/dist/transport/branch-statements.js +74 -0
- package/dist/transport/branch-statements.js.map +1 -0
- package/dist/transport/error-text.d.ts +26 -0
- package/dist/transport/error-text.d.ts.map +1 -0
- package/dist/transport/error-text.js +75 -0
- package/dist/transport/error-text.js.map +1 -0
- package/dist/transport/grpc/batcher.d.ts +127 -0
- package/dist/transport/grpc/batcher.d.ts.map +1 -0
- package/dist/transport/grpc/batcher.js +399 -0
- package/dist/transport/grpc/batcher.js.map +1 -0
- package/dist/transport/grpc/codec.d.ts +40 -0
- package/dist/transport/grpc/codec.d.ts.map +1 -0
- package/dist/transport/grpc/codec.js +231 -0
- package/dist/transport/grpc/codec.js.map +1 -0
- package/dist/transport/grpc/grpc-transport.d.ts +115 -0
- package/dist/transport/grpc/grpc-transport.d.ts.map +1 -0
- package/dist/transport/grpc/grpc-transport.js +577 -0
- package/dist/transport/grpc/grpc-transport.js.map +1 -0
- package/dist/transport/grpc/messages.d.ts +221 -0
- package/dist/transport/grpc/messages.d.ts.map +1 -0
- package/dist/transport/grpc/messages.js +56 -0
- package/dist/transport/grpc/messages.js.map +1 -0
- package/dist/transport/grpc/proto.d.ts +71 -0
- package/dist/transport/grpc/proto.d.ts.map +1 -0
- package/dist/transport/grpc/proto.js +67 -0
- package/dist/transport/grpc/proto.js.map +1 -0
- package/dist/transport/http.d.ts +62 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/http.js +169 -0
- package/dist/transport/http.js.map +1 -0
- package/dist/transport/ndjson-row-source.d.ts +38 -0
- package/dist/transport/ndjson-row-source.d.ts.map +1 -0
- package/dist/transport/ndjson-row-source.js +197 -0
- package/dist/transport/ndjson-row-source.js.map +1 -0
- package/dist/transport/rest-decode.d.ts +33 -0
- package/dist/transport/rest-decode.d.ts.map +1 -0
- package/dist/transport/rest-decode.js +162 -0
- package/dist/transport/rest-decode.js.map +1 -0
- package/dist/transport/rest-prepared-cache.d.ts +50 -0
- package/dist/transport/rest-prepared-cache.d.ts.map +1 -0
- package/dist/transport/rest-prepared-cache.js +101 -0
- package/dist/transport/rest-prepared-cache.js.map +1 -0
- package/dist/transport/rest-transport.d.ts +88 -0
- package/dist/transport/rest-transport.d.ts.map +1 -0
- package/dist/transport/rest-transport.js +388 -0
- package/dist/transport/rest-transport.js.map +1 -0
- package/dist/transport/transport-pool.d.ts +40 -0
- package/dist/transport/transport-pool.d.ts.map +1 -0
- package/dist/transport/transport-pool.js +48 -0
- package/dist/transport/transport-pool.js.map +1 -0
- package/dist/transport/transport.d.ts +199 -0
- package/dist/transport/transport.d.ts.map +1 -0
- package/dist/transport/transport.js +11 -0
- package/dist/transport/transport.js.map +1 -0
- package/dist/values/decode.d.ts +39 -0
- package/dist/values/decode.d.ts.map +1 -0
- package/dist/values/decode.js +75 -0
- package/dist/values/decode.js.map +1 -0
- package/dist/values/encode.d.ts +45 -0
- package/dist/values/encode.d.ts.map +1 -0
- package/dist/values/encode.js +271 -0
- package/dist/values/encode.js.map +1 -0
- package/dist/values/ticks.d.ts +31 -0
- package/dist/values/ticks.d.ts.map +1 -0
- package/dist/values/ticks.js +52 -0
- package/dist/values/ticks.js.map +1 -0
- package/dist/values/typed.d.ts +67 -0
- package/dist/values/typed.d.ts.map +1 -0
- package/dist/values/typed.js +134 -0
- package/dist/values/typed.js.map +1 -0
- package/dist/values/uuid.d.ts +27 -0
- package/dist/values/uuid.d.ts.map +1 -0
- package/dist/values/uuid.js +76 -0
- package/dist/values/uuid.js.map +1 -0
- package/dist/vector.d.ts +26 -0
- package/dist/vector.d.ts.map +1 -0
- package/dist/vector.js +48 -0
- package/dist/vector.js.map +1 -0
- package/package.json +86 -0
- package/proto/camus_sql.proto +566 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of CamusDB
|
|
3
|
+
*
|
|
4
|
+
* For the full copyright and license information, please view the LICENSE.txt
|
|
5
|
+
* file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The wire type of a single CamusDB column value.
|
|
9
|
+
*
|
|
10
|
+
* IMPORTANT: these integer values are the wire contract with the CamusDB server
|
|
11
|
+
* (`CamusDB.Core.Catalogs.Models.ColumnType`). They are persisted in schema JSON and must never be
|
|
12
|
+
* renumbered or reused. New members are appended with new integers.
|
|
13
|
+
*/
|
|
14
|
+
export declare const ColumnType: {
|
|
15
|
+
readonly Null: 0;
|
|
16
|
+
readonly Id: 1;
|
|
17
|
+
readonly Integer64: 2;
|
|
18
|
+
readonly String: 3;
|
|
19
|
+
readonly Bool: 4;
|
|
20
|
+
readonly Float64: 5;
|
|
21
|
+
readonly Float32: 6;
|
|
22
|
+
readonly Bytes: 7;
|
|
23
|
+
readonly Date: 8;
|
|
24
|
+
readonly DateTime: 9;
|
|
25
|
+
readonly Array: 10;
|
|
26
|
+
readonly Uuid: 11;
|
|
27
|
+
};
|
|
28
|
+
export type ColumnType = (typeof ColumnType)[keyof typeof ColumnType];
|
|
29
|
+
/** The declared type's name, for diagnostics and for `QueryResult.columns[i].typeName`. */
|
|
30
|
+
export declare function columnTypeName(type: ColumnType): string;
|
|
31
|
+
/** True when `value` is one of the declared wire type numbers. */
|
|
32
|
+
export declare function isColumnType(value: unknown): value is ColumnType;
|
|
33
|
+
//# sourceMappingURL=column-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-type.d.ts","sourceRoot":"","sources":["../src/column-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAab,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAiBtE,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of CamusDB
|
|
3
|
+
*
|
|
4
|
+
* For the full copyright and license information, please view the LICENSE.txt
|
|
5
|
+
* file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The wire type of a single CamusDB column value.
|
|
9
|
+
*
|
|
10
|
+
* IMPORTANT: these integer values are the wire contract with the CamusDB server
|
|
11
|
+
* (`CamusDB.Core.Catalogs.Models.ColumnType`). They are persisted in schema JSON and must never be
|
|
12
|
+
* renumbered or reused. New members are appended with new integers.
|
|
13
|
+
*/
|
|
14
|
+
export const ColumnType = {
|
|
15
|
+
Null: 0,
|
|
16
|
+
Id: 1,
|
|
17
|
+
Integer64: 2,
|
|
18
|
+
String: 3,
|
|
19
|
+
Bool: 4,
|
|
20
|
+
Float64: 5,
|
|
21
|
+
Float32: 6,
|
|
22
|
+
Bytes: 7,
|
|
23
|
+
Date: 8,
|
|
24
|
+
DateTime: 9,
|
|
25
|
+
Array: 10,
|
|
26
|
+
Uuid: 11,
|
|
27
|
+
};
|
|
28
|
+
const NAMES = {
|
|
29
|
+
0: 'Null',
|
|
30
|
+
1: 'Id',
|
|
31
|
+
2: 'Integer64',
|
|
32
|
+
3: 'String',
|
|
33
|
+
4: 'Bool',
|
|
34
|
+
5: 'Float64',
|
|
35
|
+
6: 'Float32',
|
|
36
|
+
7: 'Bytes',
|
|
37
|
+
8: 'Date',
|
|
38
|
+
9: 'DateTime',
|
|
39
|
+
10: 'Array',
|
|
40
|
+
11: 'Uuid',
|
|
41
|
+
};
|
|
42
|
+
/** The declared type's name, for diagnostics and for `QueryResult.columns[i].typeName`. */
|
|
43
|
+
export function columnTypeName(type) {
|
|
44
|
+
return NAMES[type] ?? `Unknown(${String(type)})`;
|
|
45
|
+
}
|
|
46
|
+
/** True when `value` is one of the declared wire type numbers. */
|
|
47
|
+
export function isColumnType(value) {
|
|
48
|
+
return typeof value === 'number' && Object.hasOwn(NAMES, value);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=column-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-type.js","sourceRoot":"","sources":["../src/column-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;CACA,CAAC;AAIX,MAAM,KAAK,GAA2B;IACpC,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,MAAM;CACX,CAAC;AAEF,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,IAAgB;IAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of CamusDB
|
|
3
|
+
*
|
|
4
|
+
* For the full copyright and license information, please view the LICENSE.txt
|
|
5
|
+
* file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
import { ColumnType } from './column-type.js';
|
|
8
|
+
/**
|
|
9
|
+
* The wire representation of one CamusDB column value. It mirrors the server's
|
|
10
|
+
* `CamusDB.Core.CommandsExecutor.Models.ColumnValue`, field for field, and is what the REST body
|
|
11
|
+
* carries for a bound parameter.
|
|
12
|
+
*
|
|
13
|
+
* Backing storage per type:
|
|
14
|
+
*
|
|
15
|
+
* - `Integer64` — `longValue` (a `bigint`, because the range is 64 bits).
|
|
16
|
+
* - `Float64` and `Float32` — `floatValue`.
|
|
17
|
+
* - `Bool` — `boolValue`.
|
|
18
|
+
* - `String` and `Id` — `strValue`.
|
|
19
|
+
* - `Date` and `DateTime` — `longValue` as UTC .NET ticks. `Date` is truncated to midnight.
|
|
20
|
+
* - `Bytes` — `bytesValue`. JSON carries it as base64.
|
|
21
|
+
* - `Array` — `arrayValues` plus `arrayElementType`.
|
|
22
|
+
* - `Uuid` — the 128-bit value split into two big-endian 64-bit halves: the high bits in
|
|
23
|
+
* `uuidHigh` and the low bits in `longValue`. The server also sends the canonical string form in
|
|
24
|
+
* `uuidValue` for readability.
|
|
25
|
+
*
|
|
26
|
+
* Most callers never build one of these by hand. Pass a plain JavaScript value as a parameter, or
|
|
27
|
+
* use a helper from `typed.js` when the inferred type is not the one you want.
|
|
28
|
+
*/
|
|
29
|
+
export interface ColumnValue {
|
|
30
|
+
type: ColumnType;
|
|
31
|
+
strValue?: string | null;
|
|
32
|
+
longValue?: bigint;
|
|
33
|
+
floatValue?: number;
|
|
34
|
+
boolValue?: boolean;
|
|
35
|
+
bytesValue?: Uint8Array | null;
|
|
36
|
+
arrayValues?: ColumnValue[] | null;
|
|
37
|
+
arrayElementType?: ColumnType;
|
|
38
|
+
/**
|
|
39
|
+
* The ISO-8601 rendering the server includes in a response for `Date` (`yyyy-MM-dd`) and
|
|
40
|
+
* `DateTime` (round-trip `o`). Read-only: the canonical value is `longValue`. The driver never
|
|
41
|
+
* sends it back.
|
|
42
|
+
*/
|
|
43
|
+
isoValue?: string | null;
|
|
44
|
+
/** High 64 bits of a `Uuid` value. The low 64 bits are in `longValue`. */
|
|
45
|
+
uuidHigh?: bigint;
|
|
46
|
+
/** The canonical lowercase hyphenated form of a `Uuid` value, as the server sends it. */
|
|
47
|
+
uuidValue?: string | null;
|
|
48
|
+
}
|
|
49
|
+
/** The shared `Null` value. Every `Null` cell is this object, so a decode allocates nothing. */
|
|
50
|
+
export declare const NULL_VALUE: ColumnValue;
|
|
51
|
+
/**
|
|
52
|
+
* The JSON body shape for a `ColumnValue`.
|
|
53
|
+
*
|
|
54
|
+
* It differs from the in-memory shape in one way: `bytesValue` is written as base64. A `bigint`
|
|
55
|
+
* stays a `bigint` and is written as the bare digits of a JSON number by `stringifyLossless`, so a
|
|
56
|
+
* 64-bit value never passes through a JavaScript number and never loses precision.
|
|
57
|
+
*/
|
|
58
|
+
export interface ColumnValueJson {
|
|
59
|
+
type: number;
|
|
60
|
+
strValue?: string | null;
|
|
61
|
+
longValue?: bigint;
|
|
62
|
+
floatValue?: number;
|
|
63
|
+
boolValue?: boolean;
|
|
64
|
+
bytesValue?: string | null;
|
|
65
|
+
arrayValues?: ColumnValueJson[] | null;
|
|
66
|
+
arrayElementType?: number;
|
|
67
|
+
uuidHigh?: bigint;
|
|
68
|
+
uuidValue?: string | null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Renders a value for a REST request body.
|
|
72
|
+
*
|
|
73
|
+
* Only the fields the declared type reads are written. The server tolerates the others, but a
|
|
74
|
+
* request that carries them is larger for no gain, and a bound parameter is on the hot path.
|
|
75
|
+
*/
|
|
76
|
+
export declare function columnValueToJson(value: ColumnValue): ColumnValueJson;
|
|
77
|
+
//# sourceMappingURL=column-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-value.d.ts","sourceRoot":"","sources":["../src/column-value.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,gGAAgG;AAChG,eAAO,MAAM,UAAU,EAAE,WAAsD,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAmDrE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of CamusDB
|
|
3
|
+
*
|
|
4
|
+
* For the full copyright and license information, please view the LICENSE.txt
|
|
5
|
+
* file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
import { ColumnType } from './column-type.js';
|
|
8
|
+
/** The shared `Null` value. Every `Null` cell is this object, so a decode allocates nothing. */
|
|
9
|
+
export const NULL_VALUE = Object.freeze({ type: ColumnType.Null });
|
|
10
|
+
/**
|
|
11
|
+
* Renders a value for a REST request body.
|
|
12
|
+
*
|
|
13
|
+
* Only the fields the declared type reads are written. The server tolerates the others, but a
|
|
14
|
+
* request that carries them is larger for no gain, and a bound parameter is on the hot path.
|
|
15
|
+
*/
|
|
16
|
+
export function columnValueToJson(value) {
|
|
17
|
+
const json = { type: value.type };
|
|
18
|
+
switch (value.type) {
|
|
19
|
+
case ColumnType.Null:
|
|
20
|
+
return json;
|
|
21
|
+
case ColumnType.Id:
|
|
22
|
+
case ColumnType.String:
|
|
23
|
+
json.strValue = value.strValue ?? '';
|
|
24
|
+
return json;
|
|
25
|
+
case ColumnType.Integer64:
|
|
26
|
+
json.longValue = value.longValue ?? 0n;
|
|
27
|
+
return json;
|
|
28
|
+
case ColumnType.Float64:
|
|
29
|
+
case ColumnType.Float32:
|
|
30
|
+
json.floatValue = value.floatValue ?? 0;
|
|
31
|
+
return json;
|
|
32
|
+
case ColumnType.Bool:
|
|
33
|
+
json.boolValue = value.boolValue ?? false;
|
|
34
|
+
return json;
|
|
35
|
+
case ColumnType.Bytes:
|
|
36
|
+
json.bytesValue = value.bytesValue ? Buffer.from(value.bytesValue).toString('base64') : '';
|
|
37
|
+
return json;
|
|
38
|
+
case ColumnType.Date:
|
|
39
|
+
case ColumnType.DateTime:
|
|
40
|
+
json.longValue = value.longValue ?? 0n;
|
|
41
|
+
return json;
|
|
42
|
+
case ColumnType.Uuid:
|
|
43
|
+
// The server accepts the canonical string and re-splits it into the halves on its side. The
|
|
44
|
+
// halves travel too, so a value built from raw halves needs no string form at all.
|
|
45
|
+
if (value.strValue != null)
|
|
46
|
+
json.strValue = value.strValue;
|
|
47
|
+
if (value.uuidValue != null)
|
|
48
|
+
json.uuidValue = value.uuidValue;
|
|
49
|
+
json.uuidHigh = value.uuidHigh ?? 0n;
|
|
50
|
+
json.longValue = value.longValue ?? 0n;
|
|
51
|
+
return json;
|
|
52
|
+
case ColumnType.Array:
|
|
53
|
+
json.arrayElementType = value.arrayElementType ?? ColumnType.Null;
|
|
54
|
+
json.arrayValues = (value.arrayValues ?? []).map(columnValueToJson);
|
|
55
|
+
return json;
|
|
56
|
+
default:
|
|
57
|
+
return json;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=column-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-value.js","sourceRoot":"","sources":["../src/column-value.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA+C9C,gGAAgG;AAChG,MAAM,CAAC,MAAM,UAAU,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAsBhF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,IAAI,GAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAEnD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,IAAI;YAClB,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,MAAM;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,SAAS;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,OAAO,CAAC;QACxB,KAAK,UAAU,CAAC,OAAO;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI;YAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;YAC1C,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,KAAK;YACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,QAAQ;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI;YAClB,4FAA4F;YAC5F,mFAAmF;YACnF,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3D,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,KAAK;YACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC;YAClE,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QAEd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of CamusDB
|
|
3
|
+
*
|
|
4
|
+
* For the full copyright and license information, please view the LICENSE.txt
|
|
5
|
+
* file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
import type { CamusCredentials } from './auth/credentials.js';
|
|
8
|
+
import { CamusEndpointPool } from './endpoint-pool.js';
|
|
9
|
+
import type { CamusTransactionOptions } from './options.js';
|
|
10
|
+
import type { DecodeOptions, Int64Mode } from './values/decode.js';
|
|
11
|
+
/** The wire protocol a client speaks. */
|
|
12
|
+
export declare const CamusProtocol: {
|
|
13
|
+
/** The REST and JSON HTTP API. This is the default. */
|
|
14
|
+
readonly Rest: "rest";
|
|
15
|
+
/** The gRPC API. The endpoint must address the server's gRPC port. */
|
|
16
|
+
readonly Grpc: "grpc";
|
|
17
|
+
};
|
|
18
|
+
export type CamusProtocol = (typeof CamusProtocol)[keyof typeof CamusProtocol];
|
|
19
|
+
/** How a client uses learned statement routing. */
|
|
20
|
+
export declare const CamusRoutingMode: {
|
|
21
|
+
/** Rotate over the configured endpoints. Never negotiate, never learn. */
|
|
22
|
+
readonly Off: "off";
|
|
23
|
+
/** Negotiate routing metadata and prefer a learned destination for an unpinned statement. */
|
|
24
|
+
readonly Learned: "learned";
|
|
25
|
+
/**
|
|
26
|
+
* Behave as `learned` when `routingNodes` maps at least two distinct configured endpoints, and
|
|
27
|
+
* as `off` otherwise. One destination is not a routing decision, and a single load-balancer URL
|
|
28
|
+
* is not a set of routable database nodes. This is the default: the trust map is the opt-in, not
|
|
29
|
+
* a second switch.
|
|
30
|
+
*/
|
|
31
|
+
readonly Auto: "auto";
|
|
32
|
+
};
|
|
33
|
+
export type CamusRoutingMode = (typeof CamusRoutingMode)[keyof typeof CamusRoutingMode];
|
|
34
|
+
/** Tuning for the gRPC batch streams. The REST transport ignores all of it. */
|
|
35
|
+
export interface GrpcBatchOptions {
|
|
36
|
+
/**
|
|
37
|
+
* How many long-lived `BatchExecute` streams exist per endpoint. It is **not** a cap on in-flight
|
|
38
|
+
* transactions — many transactions hash onto the same streams and interleave — so the default of
|
|
39
|
+
* 2 suits most workloads. Raise it when many long-running streaming queries per endpoint would
|
|
40
|
+
* otherwise queue behind each other.
|
|
41
|
+
*/
|
|
42
|
+
readonly channelPoolSize: number;
|
|
43
|
+
/** How many operations one drain must produce before the pump stops waiting for more. */
|
|
44
|
+
readonly coalescingThreshold: number;
|
|
45
|
+
/**
|
|
46
|
+
* How long the pump waits after a multi-operation drain to accumulate a larger burst, in
|
|
47
|
+
* milliseconds. Zero, the default, turns coalescing off. A single-operation drain never waits.
|
|
48
|
+
*/
|
|
49
|
+
readonly coalescingDelayMs: number;
|
|
50
|
+
}
|
|
51
|
+
export declare const DEFAULT_BATCH_OPTIONS: GrpcBatchOptions;
|
|
52
|
+
/** How many statements a client keeps prepared, and how hot a statement must be first. */
|
|
53
|
+
export declare const DEFAULT_MAX_AUTO_PREPARE = 128;
|
|
54
|
+
export declare const DEFAULT_AUTO_PREPARE_MIN_USAGES = 2;
|
|
55
|
+
/** Fallback token lifetime, comfortably inside the server's 15-minute default. */
|
|
56
|
+
export declare const DEFAULT_TOKEN_LIFETIME_MS = 600000;
|
|
57
|
+
/** The backup admin API's own timeout. Taking a full backup routinely outlasts a statement. */
|
|
58
|
+
export declare const DEFAULT_BACKUP_TIMEOUT_SECONDS = 300;
|
|
59
|
+
/** The connection-string key that waives the refusal to send credentials in the clear. */
|
|
60
|
+
export declare const ALLOW_INSECURE_CREDENTIALS_KEY = "AllowInsecureCredentials";
|
|
61
|
+
/**
|
|
62
|
+
* How a client is configured, written as an object rather than as a connection string.
|
|
63
|
+
*
|
|
64
|
+
* Every field maps to one connection-string key, and the two forms are interchangeable. Use
|
|
65
|
+
* `CamusClient.fromConnectionString` for the string form.
|
|
66
|
+
*/
|
|
67
|
+
export interface CamusClientOptions {
|
|
68
|
+
/**
|
|
69
|
+
* The base URL of the CamusDB endpoint, or several to rotate through. When a request fails
|
|
70
|
+
* because an endpoint is unreachable, that endpoint is set aside for 30 seconds.
|
|
71
|
+
*/
|
|
72
|
+
readonly endpoint: string | readonly string[];
|
|
73
|
+
/** The database name sent with every request. */
|
|
74
|
+
readonly database: string;
|
|
75
|
+
/** The request timeout in seconds. Default 10. */
|
|
76
|
+
readonly timeoutSeconds?: number;
|
|
77
|
+
/** The wire protocol. Default `rest`. */
|
|
78
|
+
readonly protocol?: CamusProtocol;
|
|
79
|
+
/** The user to authenticate as. */
|
|
80
|
+
readonly user?: string;
|
|
81
|
+
/** That user's password. */
|
|
82
|
+
readonly password?: string;
|
|
83
|
+
/** A bearer token obtained elsewhere, used as written instead of logging in. */
|
|
84
|
+
readonly accessToken?: string;
|
|
85
|
+
/** Fallback seconds to reuse a token when the server reports no expiry. Default 600. */
|
|
86
|
+
readonly tokenLifetimeSeconds?: number;
|
|
87
|
+
/** How many statements to keep prepared. Default 128. Zero turns automatic preparation off. */
|
|
88
|
+
readonly maxAutoPrepare?: number;
|
|
89
|
+
/** Executions of the same SQL before it is prepared. Default 2. */
|
|
90
|
+
readonly autoPrepareMinUsages?: number;
|
|
91
|
+
/** gRPC only: long-lived `BatchExecute` streams per endpoint. Default 2. */
|
|
92
|
+
readonly channelPoolSize?: number;
|
|
93
|
+
/** gRPC only: operations one drain must produce before the pump stops waiting. Default 10. */
|
|
94
|
+
readonly coalescingThreshold?: number;
|
|
95
|
+
/** gRPC only: milliseconds the pump waits after a multi-operation drain. Default 0. */
|
|
96
|
+
readonly coalescingDelayMs?: number;
|
|
97
|
+
/** The HTTP endpoint for the backup admin API. It is required when `protocol` is `grpc`. */
|
|
98
|
+
readonly backupEndpoint?: string;
|
|
99
|
+
/** The backup admin request timeout in seconds. Default 300. */
|
|
100
|
+
readonly backupTimeoutSeconds?: number;
|
|
101
|
+
/** True waives the refusal to send credentials to a remote plaintext endpoint. */
|
|
102
|
+
readonly allowInsecureCredentials?: boolean;
|
|
103
|
+
/** Learned statement routing. Default `auto`. */
|
|
104
|
+
readonly routingMode?: CamusRoutingMode;
|
|
105
|
+
/**
|
|
106
|
+
* The trust map from server node identities to endpoint pool members, as
|
|
107
|
+
* `{ 'camus-a:7070': 'http://a:5095' }` or as the connection-string form
|
|
108
|
+
* `'camus-a:7070=http://a:5095,camus-b:7070=http://b:5095'`.
|
|
109
|
+
*/
|
|
110
|
+
readonly routingNodes?: Readonly<Record<string, string>> | string;
|
|
111
|
+
/** The ceiling in milliseconds on how long a learned route may be reused. Default 5000. */
|
|
112
|
+
readonly routingMaxHintAgeMs?: number;
|
|
113
|
+
/** Concurrency defaults for every transaction and autocommit statement this client runs. */
|
|
114
|
+
readonly defaultTransactionOptions?: CamusTransactionOptions;
|
|
115
|
+
/** How an `int64` column reaches a caller. Default `auto`. */
|
|
116
|
+
readonly int64?: Int64Mode;
|
|
117
|
+
}
|
|
118
|
+
/** The settings a client actually runs on, after both input forms are resolved. */
|
|
119
|
+
export interface ResolvedConfig {
|
|
120
|
+
readonly endpointList: string;
|
|
121
|
+
readonly database: string;
|
|
122
|
+
readonly timeoutSeconds: number;
|
|
123
|
+
readonly protocol: CamusProtocol;
|
|
124
|
+
readonly credentials: CamusCredentials;
|
|
125
|
+
readonly tokenLifetimeMs: number;
|
|
126
|
+
readonly maxAutoPrepare: number;
|
|
127
|
+
readonly autoPrepareMinUsages: number;
|
|
128
|
+
readonly batch: GrpcBatchOptions;
|
|
129
|
+
readonly backupEndpoint: string | undefined;
|
|
130
|
+
readonly backupTimeoutSeconds: number;
|
|
131
|
+
readonly allowInsecureCredentials: boolean;
|
|
132
|
+
readonly routingMode: CamusRoutingMode;
|
|
133
|
+
readonly routingNodes: ReadonlyMap<string, string>;
|
|
134
|
+
readonly routingMaxHintAgeMs: number;
|
|
135
|
+
readonly defaultTransactionOptions: CamusTransactionOptions;
|
|
136
|
+
readonly decode: DecodeOptions;
|
|
137
|
+
/** The connection string as written, when the client was built from one. */
|
|
138
|
+
readonly connectionString: string | undefined;
|
|
139
|
+
}
|
|
140
|
+
/** Resolves an options object. */
|
|
141
|
+
export declare function resolveOptions(options: CamusClientOptions): ResolvedConfig;
|
|
142
|
+
/** Resolves a connection string. */
|
|
143
|
+
export declare function resolveConnectionString(connectionString: string): ResolvedConfig;
|
|
144
|
+
/**
|
|
145
|
+
* Where the backup admin API lives.
|
|
146
|
+
*
|
|
147
|
+
* The backup routes are REST and JSON only — they have no SQL form and no gRPC service — so a gRPC
|
|
148
|
+
* client, whose endpoint addresses the gRPC port, must say where the HTTP port is. Rather than
|
|
149
|
+
* send HTTP at a gRPC port and fail obscurely, that case is refused with a message naming the
|
|
150
|
+
* setting to fill in.
|
|
151
|
+
*
|
|
152
|
+
* A configured backup endpoint is used as written, with no rotation: backups are node-level, and a
|
|
153
|
+
* coordinated backup must reach the coordinator specifically.
|
|
154
|
+
*/
|
|
155
|
+
export declare function resolveBackupEndpoint(config: ResolvedConfig, pool: CamusEndpointPool): string;
|
|
156
|
+
/**
|
|
157
|
+
* Identifies the deployment when deciding which clients may share a token or a transport: the
|
|
158
|
+
* endpoint list plus the protocol. The same credentials against two different servers never share
|
|
159
|
+
* a token, and a REST client and a gRPC client each hold the token their own transport minted.
|
|
160
|
+
*/
|
|
161
|
+
export declare function deploymentKey(config: ResolvedConfig): string;
|
|
162
|
+
/** The connection string with every secret masked, or a rebuilt summary for an options object. */
|
|
163
|
+
export declare function describeConfig(config: ResolvedConfig): string;
|
|
164
|
+
/**
|
|
165
|
+
* Refuses to carry credentials to an endpoint that cannot protect them.
|
|
166
|
+
*
|
|
167
|
+
* A password is posted to `/login` and a bearer token rides every later request. On an `http://`
|
|
168
|
+
* endpoint both cross the network in the clear, and the server's own `CADB0519` check — which a
|
|
169
|
+
* deployment can switch off — only fires after the password has already been sent. So the client
|
|
170
|
+
* refuses first, before anything leaves the process.
|
|
171
|
+
*
|
|
172
|
+
* A loopback endpoint is allowed: the traffic never reaches a network, and that is how the
|
|
173
|
+
* documented local examples and the test suite connect. Everything else must be `https://`, unless
|
|
174
|
+
* `allowInsecureCredentials` is set — for a deployment reached over a private link that terminates
|
|
175
|
+
* TLS elsewhere.
|
|
176
|
+
*
|
|
177
|
+
* The backup endpoint is held to the same rule, and deliberately: the token it receives is the
|
|
178
|
+
* client's own, which the backup admin API requires to be superuser-grade.
|
|
179
|
+
*/
|
|
180
|
+
export declare function ensureCredentialsAreNotSentInClear(config: ResolvedConfig): void;
|
|
181
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|