@latlng/sdk 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.
Files changed (41) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +343 -0
  3. package/dist/auth/token.d.ts +2 -0
  4. package/dist/auth/token.d.ts.map +1 -0
  5. package/dist/client.d.ts +385 -0
  6. package/dist/client.d.ts.map +1 -0
  7. package/dist/errors/index.d.ts +66 -0
  8. package/dist/errors/index.d.ts.map +1 -0
  9. package/dist/http/routes.d.ts +41 -0
  10. package/dist/http/routes.d.ts.map +1 -0
  11. package/dist/http/transport.d.ts +26 -0
  12. package/dist/http/transport.d.ts.map +1 -0
  13. package/dist/index.d.ts +12 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +1455 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/internal/assert.d.ts +6 -0
  18. package/dist/internal/assert.d.ts.map +1 -0
  19. package/dist/internal/json.d.ts +3 -0
  20. package/dist/internal/json.d.ts.map +1 -0
  21. package/dist/internal/response-parsers.d.ts +26 -0
  22. package/dist/internal/response-parsers.d.ts.map +1 -0
  23. package/dist/routing/read-preference.d.ts +7 -0
  24. package/dist/routing/read-preference.d.ts.map +1 -0
  25. package/dist/routing/replicas.d.ts +22 -0
  26. package/dist/routing/replicas.d.ts.map +1 -0
  27. package/dist/types/events.d.ts +122 -0
  28. package/dist/types/events.d.ts.map +1 -0
  29. package/dist/types/json.d.ts +7 -0
  30. package/dist/types/json.d.ts.map +1 -0
  31. package/dist/types/models.d.ts +408 -0
  32. package/dist/types/models.d.ts.map +1 -0
  33. package/dist/types/requests.d.ts +96 -0
  34. package/dist/types/requests.d.ts.map +1 -0
  35. package/dist/types/responses.d.ts +108 -0
  36. package/dist/types/responses.d.ts.map +1 -0
  37. package/dist/ws/socket.d.ts +66 -0
  38. package/dist/ws/socket.d.ts.map +1 -0
  39. package/dist/ws/subscriptions.d.ts +46 -0
  40. package/dist/ws/subscriptions.d.ts.map +1 -0
  41. package/package.json +49 -0
@@ -0,0 +1,408 @@
1
+ import type { JsonValue } from "./json.js";
2
+ /** Geographic bounding box expressed as min/max latitude and longitude. */
3
+ export interface BoundingBox {
4
+ /** Southern latitude bound. */
5
+ min_lat: number;
6
+ /** Western longitude bound. */
7
+ min_lon: number;
8
+ /** Northern latitude bound. */
9
+ max_lat: number;
10
+ /** Eastern longitude bound. */
11
+ max_lon: number;
12
+ }
13
+ /** Field value stored alongside an object. */
14
+ export type FieldValue = {
15
+ type: "number";
16
+ value: number;
17
+ } | {
18
+ type: "text";
19
+ value: string;
20
+ } | {
21
+ type: "json";
22
+ value: string;
23
+ };
24
+ /** Named field assignment. */
25
+ export interface FieldEntry {
26
+ /** Field name. */
27
+ name: string;
28
+ /** Field value. */
29
+ value: FieldValue;
30
+ }
31
+ /** Field map keyed by field name. */
32
+ export type FieldMap = Record<string, FieldValue>;
33
+ /** Stored geographic object representation. */
34
+ export type GeoObject = {
35
+ type: "point";
36
+ lat: number;
37
+ lon: number;
38
+ z?: number | null;
39
+ } | {
40
+ type: "bounds";
41
+ bounds: BoundingBox;
42
+ } | {
43
+ type: "hash";
44
+ value: string;
45
+ } | {
46
+ type: "geojson";
47
+ value: JsonValue;
48
+ } | {
49
+ type: "string";
50
+ value: string;
51
+ };
52
+ /** Object returned by the `latlng` server. */
53
+ export interface LatLngObject {
54
+ /** Object identifier. */
55
+ id: string;
56
+ /** Stored geometry or string payload. */
57
+ geo: GeoObject;
58
+ /** Attached fields. */
59
+ fields: FieldMap;
60
+ /** Expiration timestamp, when set. */
61
+ expires_at: number | null;
62
+ }
63
+ /** Area definition used by spatial query APIs. */
64
+ export type Area = {
65
+ type: "circle";
66
+ lat: number;
67
+ lon: number;
68
+ meters: number;
69
+ } | {
70
+ type: "bounds";
71
+ bounds: BoundingBox;
72
+ } | {
73
+ type: "hash";
74
+ value: string;
75
+ } | {
76
+ type: "geojson";
77
+ value: JsonValue;
78
+ } | {
79
+ type: "tile";
80
+ x: number;
81
+ y: number;
82
+ z: number;
83
+ } | {
84
+ type: "quadkey";
85
+ value: string;
86
+ } | {
87
+ type: "sector";
88
+ lat: number;
89
+ lon: number;
90
+ meters: number;
91
+ bearing1: number;
92
+ bearing2: number;
93
+ } | {
94
+ type: "reference";
95
+ collection: string;
96
+ id: string;
97
+ };
98
+ /** Sort direction for search results. */
99
+ export type SortOrder = "asc" | "desc";
100
+ /** Output format requested from spatial query endpoints. */
101
+ export type OutputFormat = "objects" | "points" | "bounds" | "ids" | "count" | {
102
+ hashes: {
103
+ precision: number;
104
+ };
105
+ };
106
+ /** Numeric or textual comparison used in `where` clauses. */
107
+ export type WhereComparison = {
108
+ type: "range";
109
+ min: number;
110
+ max: number;
111
+ } | {
112
+ type: "equalsText";
113
+ value: string;
114
+ } | {
115
+ type: "regex";
116
+ value: string;
117
+ };
118
+ /** Field-level filter used by search endpoints. */
119
+ export interface WhereFilter {
120
+ /** Field name to compare. */
121
+ field: string;
122
+ /** Comparison to apply to the field. */
123
+ comparison: WhereComparison;
124
+ }
125
+ /** Inclusion filter used by search endpoints. */
126
+ export interface WhereInFilter {
127
+ /** Field name to inspect. */
128
+ field: string;
129
+ /** Accepted string values. */
130
+ values: string[];
131
+ }
132
+ /** Expression filter used by search endpoints. */
133
+ export interface WhereExprFilter {
134
+ /** Server-side expression string. */
135
+ expression: string;
136
+ }
137
+ /** Shared options accepted by search endpoints. */
138
+ export interface SearchOptions {
139
+ /** Cursor to resume a paginated query. */
140
+ cursor?: number;
141
+ /** Maximum number of results to return. */
142
+ limit?: number;
143
+ /** Omit field maps from result items when `true`. */
144
+ nofields?: boolean;
145
+ /** Match pattern applied to object IDs. */
146
+ matchPattern?: string;
147
+ /** Result sort direction. */
148
+ sort?: SortOrder;
149
+ /** Numeric/text `where` filters. */
150
+ whereFilters?: WhereFilter[];
151
+ /** `where in` filters. */
152
+ whereInFilters?: WhereInFilter[];
153
+ /** Expression filters. */
154
+ whereExprFilters?: WhereExprFilter[];
155
+ /** Clip geometries to the query area when supported. */
156
+ clip?: boolean;
157
+ /** Output format for result items. */
158
+ output?: OutputFormat;
159
+ }
160
+ /** Request payload for `nearby` searches. */
161
+ export interface NearbyQuery {
162
+ /** Center latitude. */
163
+ lat: number;
164
+ /** Center longitude. */
165
+ lon: number;
166
+ /** Radius in meters. */
167
+ meters: number;
168
+ /** Additional search options. */
169
+ options?: SearchOptions;
170
+ }
171
+ /** Single result item returned by a search. */
172
+ export interface SearchItem {
173
+ /** Object identifier. */
174
+ id: string;
175
+ /** Returned object when requested by the output format. */
176
+ object?: GeoObject;
177
+ /** Returned fields when requested. */
178
+ fields?: FieldMap;
179
+ /** Distance from the query origin, when relevant. */
180
+ distance_meters?: number | null;
181
+ }
182
+ /** Search response payload. */
183
+ export interface SearchResults {
184
+ /** Result items for the current page. */
185
+ results: SearchItem[];
186
+ /** Cursor for the next page. */
187
+ cursor: number;
188
+ /** Total result count or count for the requested page, depending on the server output mode. */
189
+ count: number;
190
+ }
191
+ /** Collection statistics returned by the server. */
192
+ export interface CollectionStats {
193
+ /** Collection name. */
194
+ name: string;
195
+ /** Number of stored objects. */
196
+ object_count: number;
197
+ /** Number of point objects. */
198
+ point_count: number;
199
+ /** Number of string objects. */
200
+ string_count: number;
201
+ /** Number of objects with TTLs. */
202
+ expires_count: number;
203
+ }
204
+ /** Collection metadata returned by `getCollection`. */
205
+ export interface CollectionInfo {
206
+ /** Collection name. */
207
+ name: string;
208
+ /** Collection bounds when available. */
209
+ bounds: BoundingBox | null;
210
+ /** Collection statistics. */
211
+ stats: CollectionStats;
212
+ }
213
+ /** AOF compaction before/after statistics. */
214
+ export interface CompactionResult {
215
+ before_entries: number;
216
+ after_entries: number;
217
+ before_bytes: number;
218
+ after_bytes: number;
219
+ }
220
+ /** Server status returned by the `/server` endpoint. */
221
+ export interface ServerInfo {
222
+ version: string;
223
+ api_version: string;
224
+ protocol_version: string;
225
+ storage_format_version: string;
226
+ num_collections: number;
227
+ num_objects: number;
228
+ num_points: number;
229
+ heap_bytes: number;
230
+ read_only: boolean;
231
+ leader: boolean;
232
+ server_id: string;
233
+ following: string | null;
234
+ caught_up: boolean;
235
+ caught_up_once: boolean;
236
+ last_sequence: number;
237
+ }
238
+ /**
239
+ * Creates a point object payload.
240
+ *
241
+ * @param lat Latitude.
242
+ * @param lon Longitude.
243
+ * @param z Optional elevation component.
244
+ * @returns Point object payload.
245
+ */
246
+ export declare function point(lat: number, lon: number, z?: number | null): GeoObject;
247
+ /**
248
+ * Creates a bounds object payload.
249
+ *
250
+ * @param boundsValue Bounding box value.
251
+ * @returns Bounds object payload.
252
+ */
253
+ export declare function bounds(boundsValue: BoundingBox): GeoObject;
254
+ /**
255
+ * Creates a geohash object payload.
256
+ *
257
+ * @param value Hash string.
258
+ * @returns Hash object payload.
259
+ */
260
+ export declare function hash(value: string): GeoObject;
261
+ /**
262
+ * Creates a GeoJSON object payload.
263
+ *
264
+ * @param value GeoJSON value.
265
+ * @returns GeoJSON object payload.
266
+ */
267
+ export declare function geojson(value: JsonValue): GeoObject;
268
+ /**
269
+ * Creates a string object payload.
270
+ *
271
+ * @param value String value.
272
+ * @returns String object payload.
273
+ */
274
+ export declare function stringObject(value: string): GeoObject;
275
+ /**
276
+ * Creates a numeric field value.
277
+ *
278
+ * @param value Numeric field value.
279
+ * @returns Field value payload.
280
+ */
281
+ export declare function numberField(value: number): FieldValue;
282
+ /**
283
+ * Creates a text field value.
284
+ *
285
+ * @param value Text field value.
286
+ * @returns Field value payload.
287
+ */
288
+ export declare function textField(value: string): FieldValue;
289
+ /**
290
+ * Creates a JSON field value.
291
+ *
292
+ * @param value JSON string value.
293
+ * @returns Field value payload.
294
+ */
295
+ export declare function jsonField(value: string): FieldValue;
296
+ /**
297
+ * Converts a field map into an ordered list of field entries.
298
+ *
299
+ * @param fields Field map.
300
+ * @returns Field entry array.
301
+ */
302
+ export declare function fieldEntries(fields: FieldMap | undefined): FieldEntry[];
303
+ /**
304
+ * Converts a field value into the server wire format.
305
+ *
306
+ * @param value Field value.
307
+ * @returns Wire-format field value.
308
+ */
309
+ export declare function toWireFieldValue(value: FieldValue): unknown;
310
+ /**
311
+ * Parses a field value from the server wire format.
312
+ *
313
+ * @param value Raw response value.
314
+ * @returns Parsed field value.
315
+ */
316
+ export declare function fromWireFieldValue(value: unknown): FieldValue;
317
+ /**
318
+ * Converts field entries into the server wire format.
319
+ *
320
+ * @param fields Field map or entry list.
321
+ * @returns Wire-format field entry array.
322
+ */
323
+ export declare function toWireFieldEntries(fields: FieldEntry[] | FieldMap | undefined): unknown[];
324
+ /**
325
+ * Parses a field map from the server wire format.
326
+ *
327
+ * @param value Raw response value.
328
+ * @returns Parsed field map.
329
+ */
330
+ export declare function fromWireFieldMap(value: unknown): FieldMap;
331
+ /**
332
+ * Converts a geographic object into the server wire format.
333
+ *
334
+ * @param value Geographic object.
335
+ * @returns Wire-format object payload.
336
+ */
337
+ export declare function toWireGeoObject(value: GeoObject): unknown;
338
+ /**
339
+ * Parses a geographic object from the server wire format.
340
+ *
341
+ * @param value Raw response value.
342
+ * @returns Parsed geographic object.
343
+ */
344
+ export declare function fromWireGeoObject(value: unknown): GeoObject;
345
+ /**
346
+ * Converts an area definition into the server wire format.
347
+ *
348
+ * @param area Area definition.
349
+ * @returns Wire-format area payload.
350
+ */
351
+ export declare function toWireArea(area: Area): unknown;
352
+ /**
353
+ * Parses an area definition from the server wire format.
354
+ *
355
+ * @param value Raw response value.
356
+ * @returns Parsed area definition.
357
+ */
358
+ export declare function fromWireArea(value: unknown): Area;
359
+ /**
360
+ * Converts a sort order into the server wire format.
361
+ *
362
+ * @param value Sort order.
363
+ * @returns Wire-format sort order.
364
+ */
365
+ export declare function toWireSortOrder(value: SortOrder | undefined): unknown;
366
+ /**
367
+ * Converts an output format into the server wire format.
368
+ *
369
+ * @param value Output format.
370
+ * @returns Wire-format output format.
371
+ */
372
+ export declare function toWireOutputFormat(value: OutputFormat | undefined): unknown;
373
+ /**
374
+ * Converts a `where` comparison into the server wire format.
375
+ *
376
+ * @param value Comparison value.
377
+ * @returns Wire-format comparison.
378
+ */
379
+ export declare function toWireWhereComparison(value: WhereComparison): unknown;
380
+ /**
381
+ * Converts search options into the server wire format.
382
+ *
383
+ * @param options Search options.
384
+ * @returns Wire-format search options.
385
+ */
386
+ export declare function toWireSearchOptions(options: SearchOptions | undefined): unknown;
387
+ /**
388
+ * Parses an object response from the server.
389
+ *
390
+ * @param value Raw response value.
391
+ * @returns Parsed object or `null`.
392
+ */
393
+ export declare function fromWireObject(value: unknown): LatLngObject | null;
394
+ /**
395
+ * Parses search results from the server wire format.
396
+ *
397
+ * @param value Raw response value.
398
+ * @returns Parsed search results.
399
+ */
400
+ export declare function fromWireSearchResults(value: unknown): SearchResults;
401
+ /**
402
+ * Parses the `/server` endpoint response.
403
+ *
404
+ * @param value Raw response value.
405
+ * @returns Parsed server info.
406
+ */
407
+ export declare function parseServerInfo(value: unknown): ServerInfo;
408
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import type { FieldEntry, FieldMap, NearbyQuery, OutputFormat, SearchOptions } from "./models.js";
2
+ import type { GeofenceDef } from "./events.js";
3
+ export type ReadPreference = "leader" | "leaderPreferred" | "followerPreferred" | "roundRobinFollowers";
4
+ /** Configuration for creating a `LatLngClient`. */
5
+ export interface LatLngClientConfig {
6
+ /** Base URL of the primary `latlng` server, for example `http://127.0.0.1:7421`. */
7
+ leaderUrl: string;
8
+ /** Optional follower URLs that may be used for read routing. */
9
+ readReplicas?: string[];
10
+ /** Read routing strategy to use when follower URLs are configured. */
11
+ readPreference?: ReadPreference;
12
+ /** Bearer token or JWT to send with HTTP and WebSocket requests. */
13
+ token?: string;
14
+ /** Per-request HTTP timeout in milliseconds. */
15
+ timeoutMs?: number;
16
+ /** Additional headers to merge into every HTTP request. */
17
+ headers?: HeadersInit;
18
+ /** Custom `fetch` implementation for Node, testing, or custom runtimes. */
19
+ fetch?: typeof globalThis.fetch;
20
+ /** Custom WebSocket constructor/factory, useful for tests or non-browser runtimes. */
21
+ webSocketFactory?: (url: string) => WebSocket;
22
+ /** Cache TTL for follower health/status probes used in replica routing. */
23
+ replicaStatusTtlMs?: number;
24
+ }
25
+ /** Options for object upserts through `setObject` and `setPoint`. */
26
+ export interface SetObjectOptions {
27
+ /** Field values to write alongside the object. */
28
+ fields?: FieldMap | FieldEntry[];
29
+ /** Optional object TTL in seconds. */
30
+ expireSeconds?: number;
31
+ /** Conditional write mode. */
32
+ condition?: "always" | "nx" | "xx";
33
+ }
34
+ /** Options for `rename`. */
35
+ export interface RenameOptions {
36
+ /** When `true`, the rename only succeeds if the target collection does not yet exist. */
37
+ nx?: boolean;
38
+ }
39
+ /** Options for `get`. */
40
+ export interface GetObjectOptions {
41
+ /** Include the stored field map in the response. */
42
+ withFields?: boolean;
43
+ /** Output format requested from the server. */
44
+ format?: Exclude<OutputFormat, "count" | "ids">;
45
+ }
46
+ /** Options for `deleteMatching`. */
47
+ export interface DeleteMatchingOptions {
48
+ /** Match pattern used to select object IDs for deletion. */
49
+ matchPattern?: string;
50
+ }
51
+ /** Options for `setFields`. */
52
+ export interface FsetOptions {
53
+ /** When `true`, only update existing objects. */
54
+ xx?: boolean;
55
+ }
56
+ /** Options for `setJson`. */
57
+ export interface JsetOptions {
58
+ /** When `true`, treat the `value` as raw JSON instead of a string literal. */
59
+ raw?: boolean;
60
+ }
61
+ /** Area-based query request shared by `within` and `intersects`. */
62
+ export interface SearchAreaRequest {
63
+ area: import("./models.js").Area;
64
+ options?: SearchOptions;
65
+ }
66
+ /** Request body for `timeout`. */
67
+ export interface TimeoutRequest {
68
+ /** Command name to configure, for example `set`. */
69
+ command: string;
70
+ /** Timeout in seconds. */
71
+ seconds: number;
72
+ }
73
+ /** Request body for `setChannel`. */
74
+ export interface SetChannelRequest {
75
+ /** Unique channel name. */
76
+ name: string;
77
+ /** Geofence definition bound to the channel. */
78
+ def: GeofenceDef;
79
+ }
80
+ /** Request body for `setHook`. */
81
+ export interface SetHookRequest {
82
+ /** Unique hook name. */
83
+ name: string;
84
+ /** Destination endpoint that receives webhook deliveries. */
85
+ endpoint: string;
86
+ /** Geofence definition bound to the hook. */
87
+ def: GeofenceDef;
88
+ }
89
+ /** Options for `connectWebSocket`. */
90
+ export interface WebSocketConnectOptions {
91
+ /** Override URL for the WebSocket endpoint. Defaults to the leader URL with `/ws`. */
92
+ url?: string;
93
+ }
94
+ /** Alias for `nearby` request payloads. */
95
+ export type NearbyRequest = NearbyQuery;
96
+ //# sourceMappingURL=requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/types/requests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import type { HookInfo } from "./events.js";
2
+ import type { BoundingBox, CollectionInfo, CollectionStats, CompactionResult, LatLngObject, SearchResults, ServerInfo } from "./models.js";
3
+ /** Response returned by `ping`. */
4
+ export interface PingResponse {
5
+ ok: true;
6
+ pong: true;
7
+ }
8
+ /** Generic `{ ok: true }` response shape. */
9
+ export interface OkResponse {
10
+ ok: true;
11
+ }
12
+ /** Response returned by `collections`. */
13
+ export interface CollectionsResponse {
14
+ collections: string[];
15
+ }
16
+ /** Response returned by `rename`. */
17
+ export interface RenameResponse {
18
+ ok: true;
19
+ renamed: boolean;
20
+ }
21
+ /** Response returned by `createCollection`. */
22
+ export interface CreateCollectionResponse {
23
+ ok: true;
24
+ created: boolean;
25
+ }
26
+ /** Response returned by `bounds`. */
27
+ export interface BoundsResponse {
28
+ bounds: BoundingBox;
29
+ }
30
+ /** Response returned by `stats`. */
31
+ export type StatsResponse = CollectionStats[];
32
+ /** Response returned by object upsert operations. */
33
+ export interface SetObjectResponse {
34
+ ok: true;
35
+ stored: boolean;
36
+ }
37
+ /** Response returned by `get`. */
38
+ export type GetObjectResponse = LatLngObject | null;
39
+ /** Generic delete response shape used by multiple endpoints. */
40
+ export interface DeleteResponse {
41
+ ok?: true;
42
+ deleted: boolean | number;
43
+ }
44
+ /** Response returned by field mutation endpoints. */
45
+ export interface UpdatedResponse {
46
+ ok: true;
47
+ updated: boolean;
48
+ }
49
+ /** Response returned by field reads. */
50
+ export interface FieldResponse {
51
+ value: import("./models.js").FieldValue | null;
52
+ }
53
+ /** Response returned by `ttl`. */
54
+ export interface TtlResponse {
55
+ ttl: number | null;
56
+ }
57
+ /** Response returned by JSON path reads. */
58
+ export interface JsonValueResponse {
59
+ value: unknown;
60
+ }
61
+ /** Response returned by search endpoints. */
62
+ export type SearchResponse = SearchResults;
63
+ /** Response returned by `channels`. */
64
+ export type ChannelsResponse = string[];
65
+ /** Response returned by `hooks`. */
66
+ export interface HooksResponse extends Array<HookInfo> {
67
+ }
68
+ /** Response returned by `configGet`. */
69
+ export interface ConfigValueResponse {
70
+ value: string;
71
+ }
72
+ /** Response returned by `webhookQueue`. */
73
+ export interface WebhookQueueStatsResponse {
74
+ pending: number;
75
+ leased: number;
76
+ dead_letter: number;
77
+ oldest_pending_age_ms: number | null;
78
+ }
79
+ /** Response returned by `readonly`. */
80
+ export interface ReadOnlyResponse {
81
+ ok: true;
82
+ read_only: boolean;
83
+ }
84
+ /** Response returned by `timeout`. */
85
+ export interface TimeoutResponse {
86
+ ok: true;
87
+ command: string;
88
+ seconds: number | null;
89
+ }
90
+ /** Response returned by `dropCollection`. */
91
+ export interface DropCollectionResponse {
92
+ dropped: boolean;
93
+ }
94
+ /** Response returned by `getCollection`. */
95
+ export type CollectionInfoResponse = CollectionInfo;
96
+ /** Response returned by `server`. */
97
+ export type ServerResponse = ServerInfo;
98
+ /** Response returned by `info`. */
99
+ export interface InfoResponse {
100
+ server: ServerInfo;
101
+ metrics?: Record<string, unknown>;
102
+ section?: string;
103
+ }
104
+ /** Response returned by `metrics`. */
105
+ export type MetricsResponse = string;
106
+ /** Response returned by `aofshrink`. */
107
+ export type AofshrinkResponse = CompactionResult;
108
+ //# sourceMappingURL=responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/types/responses.ts"],"names":[],"mappings":"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"}