@thewhateverapp/platform 0.13.10 → 0.13.11
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/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +8 -3
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/mock-provider.d.ts +16 -0
- package/dist/ai/mock-provider.d.ts.map +1 -0
- package/dist/ai/mock-provider.js +50 -0
- package/dist/ai/mock-provider.js.map +1 -0
- package/dist/ai/providers/index.d.ts +2 -0
- package/dist/ai/providers/index.d.ts.map +1 -1
- package/dist/ai/providers/index.js +2 -0
- package/dist/ai/providers/index.js.map +1 -1
- package/dist/ai/providers/three-tier-ai.d.ts +35 -0
- package/dist/ai/providers/three-tier-ai.d.ts.map +1 -0
- package/dist/ai/providers/three-tier-ai.js +43 -0
- package/dist/ai/providers/three-tier-ai.js.map +1 -0
- package/dist/ai/providers.d.ts +1 -0
- package/dist/ai/providers.d.ts.map +1 -1
- package/dist/ai/providers.js +2 -0
- package/dist/ai/providers.js.map +1 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +11 -29
- package/dist/database/index.js.map +1 -1
- package/dist/database/mock-provider.d.ts +10 -0
- package/dist/database/mock-provider.d.ts.map +1 -0
- package/dist/database/mock-provider.js +145 -0
- package/dist/database/mock-provider.js.map +1 -0
- package/dist/database/providers/index.d.ts +1 -0
- package/dist/database/providers/index.d.ts.map +1 -1
- package/dist/database/providers/index.js +1 -0
- package/dist/database/providers/index.js.map +1 -1
- package/dist/database/providers/three-tier-db.d.ts +33 -0
- package/dist/database/providers/three-tier-db.d.ts.map +1 -0
- package/dist/database/providers/three-tier-db.js +105 -0
- package/dist/database/providers/three-tier-db.js.map +1 -0
- package/dist/keyspace/index.d.ts.map +1 -1
- package/dist/keyspace/index.js +8 -3
- package/dist/keyspace/index.js.map +1 -1
- package/dist/keyspace/mock-provider.d.ts +31 -0
- package/dist/keyspace/mock-provider.d.ts.map +1 -0
- package/dist/keyspace/mock-provider.js +328 -0
- package/dist/keyspace/mock-provider.js.map +1 -0
- package/dist/keyspace/providers/index.d.ts +1 -0
- package/dist/keyspace/providers/index.d.ts.map +1 -1
- package/dist/keyspace/providers/index.js +1 -0
- package/dist/keyspace/providers/index.js.map +1 -1
- package/dist/keyspace/providers/three-tier-keyspace.d.ts +42 -0
- package/dist/keyspace/providers/three-tier-keyspace.d.ts.map +1 -0
- package/dist/keyspace/providers/three-tier-keyspace.js +106 -0
- package/dist/keyspace/providers/three-tier-keyspace.js.map +1 -0
- package/dist/kv/index.js +10 -10
- package/dist/kv/index.js.map +1 -1
- package/dist/kv/providers/index.d.ts +1 -0
- package/dist/kv/providers/index.d.ts.map +1 -1
- package/dist/kv/providers/index.js +1 -0
- package/dist/kv/providers/index.js.map +1 -1
- package/dist/kv/providers/three-tier-kv.d.ts +44 -0
- package/dist/kv/providers/three-tier-kv.d.ts.map +1 -0
- package/dist/kv/providers/three-tier-kv.js +69 -0
- package/dist/kv/providers/three-tier-kv.js.map +1 -0
- package/dist/providers/three-tier-provider.d.ts +77 -0
- package/dist/providers/three-tier-provider.d.ts.map +1 -0
- package/dist/providers/three-tier-provider.js +165 -0
- package/dist/providers/three-tier-provider.js.map +1 -0
- package/dist/r2/index.d.ts.map +1 -1
- package/dist/r2/index.js +11 -24
- package/dist/r2/index.js.map +1 -1
- package/dist/r2/mock-provider.d.ts +23 -0
- package/dist/r2/mock-provider.d.ts.map +1 -0
- package/dist/r2/mock-provider.js +161 -0
- package/dist/r2/mock-provider.js.map +1 -0
- package/dist/r2/providers/index.d.ts +1 -0
- package/dist/r2/providers/index.d.ts.map +1 -1
- package/dist/r2/providers/index.js +1 -0
- package/dist/r2/providers/index.js.map +1 -1
- package/dist/r2/providers/three-tier-r2.d.ts +43 -0
- package/dist/r2/providers/three-tier-r2.d.ts.map +1 -0
- package/dist/r2/providers/three-tier-r2.js +82 -0
- package/dist/r2/providers/three-tier-r2.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Three-Tier Database Provider
|
|
3
|
+
*
|
|
4
|
+
* Implements the three-tier fallback system:
|
|
5
|
+
* 1. Production - Real Cloudflare D1 binding
|
|
6
|
+
* 2. Preview via Proxy - HTTP proxy to skeleton worker
|
|
7
|
+
* 3. Mock/In-Memory - Fallback when skeleton not ready
|
|
8
|
+
*/
|
|
9
|
+
import type { DatabaseProvider, Collection } from '../types';
|
|
10
|
+
import { type HTTPProxyDBOptions } from './http-proxy-db';
|
|
11
|
+
/**
|
|
12
|
+
* Three-tier database configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface ThreeTierDBConfig {
|
|
15
|
+
/** Production D1 binding (if available) */
|
|
16
|
+
production?: D1Database;
|
|
17
|
+
/** Preview proxy configuration (if in preview mode) */
|
|
18
|
+
previewProxy?: HTTPProxyDBOptions;
|
|
19
|
+
/** Debug logging */
|
|
20
|
+
debug?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Three-Tier Database Provider
|
|
24
|
+
*
|
|
25
|
+
* Automatically selects between production, preview proxy, and mock based on availability
|
|
26
|
+
* and skeleton deployment readiness.
|
|
27
|
+
*/
|
|
28
|
+
export declare class ThreeTierDatabase implements DatabaseProvider {
|
|
29
|
+
private provider;
|
|
30
|
+
constructor(config: ThreeTierDBConfig);
|
|
31
|
+
collection<T = any>(name: string): Collection<T>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=three-tier-db.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"three-tier-db.d.ts","sourceRoot":"","sources":["../../../src/database/providers/three-tier-db.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EASX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAI7E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,uDAAuD;IACvD,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,gBAAgB;IACxD,OAAO,CAAC,QAAQ,CAAsC;gBAE1C,MAAM,EAAE,iBAAiB;IAarC,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;CAuGjD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Three-Tier Database Provider
|
|
3
|
+
*
|
|
4
|
+
* Implements the three-tier fallback system:
|
|
5
|
+
* 1. Production - Real Cloudflare D1 binding
|
|
6
|
+
* 2. Preview via Proxy - HTTP proxy to skeleton worker
|
|
7
|
+
* 3. Mock/In-Memory - Fallback when skeleton not ready
|
|
8
|
+
*/
|
|
9
|
+
import { FlexDB } from './flex-db';
|
|
10
|
+
import { HTTPProxyDatabase } from './http-proxy-db';
|
|
11
|
+
import { MockDatabaseProvider } from '../mock-provider';
|
|
12
|
+
import { ThreeTierProvider } from '../../providers/three-tier-provider';
|
|
13
|
+
/**
|
|
14
|
+
* Three-Tier Database Provider
|
|
15
|
+
*
|
|
16
|
+
* Automatically selects between production, preview proxy, and mock based on availability
|
|
17
|
+
* and skeleton deployment readiness.
|
|
18
|
+
*/
|
|
19
|
+
export class ThreeTierDatabase {
|
|
20
|
+
provider;
|
|
21
|
+
constructor(config) {
|
|
22
|
+
const production = config.production ? new FlexDB(config.production) : undefined;
|
|
23
|
+
const previewProxy = config.previewProxy ? new HTTPProxyDatabase(config.previewProxy) : undefined;
|
|
24
|
+
const mock = new MockDatabaseProvider();
|
|
25
|
+
this.provider = new ThreeTierProvider({
|
|
26
|
+
production,
|
|
27
|
+
previewProxy,
|
|
28
|
+
mock,
|
|
29
|
+
debug: config.debug,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
collection(name) {
|
|
33
|
+
// Create wrapper collection that delegates to the three-tier provider
|
|
34
|
+
const provider = this.provider;
|
|
35
|
+
return {
|
|
36
|
+
async insertOne(doc) {
|
|
37
|
+
return provider.execute(`COLLECTION(${name}).INSERT_ONE`, (db) => db.collection(name).insertOne(doc));
|
|
38
|
+
},
|
|
39
|
+
async insertMany(docs) {
|
|
40
|
+
return provider.execute(`COLLECTION(${name}).INSERT_MANY`, (db) => db.collection(name).insertMany(docs));
|
|
41
|
+
},
|
|
42
|
+
async findOne(query) {
|
|
43
|
+
return provider.execute(`COLLECTION(${name}).FIND_ONE`, (db) => db.collection(name).findOne(query));
|
|
44
|
+
},
|
|
45
|
+
find(query, options) {
|
|
46
|
+
// Create a cursor that delegates to the three-tier provider
|
|
47
|
+
const cursor = {
|
|
48
|
+
_query: query || {},
|
|
49
|
+
_options: options || {},
|
|
50
|
+
async then(resolve, reject) {
|
|
51
|
+
try {
|
|
52
|
+
const result = await provider.execute(`COLLECTION(${name}).FIND`, async (db) => {
|
|
53
|
+
const dbCursor = db.collection(name).find(this._query, this._options);
|
|
54
|
+
return await dbCursor.toArray();
|
|
55
|
+
});
|
|
56
|
+
resolve(result);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
if (reject)
|
|
60
|
+
reject(err);
|
|
61
|
+
else
|
|
62
|
+
throw err;
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
},
|
|
66
|
+
sort(sort) {
|
|
67
|
+
this._options.sort = sort;
|
|
68
|
+
return this;
|
|
69
|
+
},
|
|
70
|
+
limit(limit) {
|
|
71
|
+
this._options.limit = limit;
|
|
72
|
+
return this;
|
|
73
|
+
},
|
|
74
|
+
skip(skip) {
|
|
75
|
+
this._options.skip = skip;
|
|
76
|
+
return this;
|
|
77
|
+
},
|
|
78
|
+
async toArray() {
|
|
79
|
+
return provider.execute(`COLLECTION(${name}).FIND.TO_ARRAY`, async (db) => {
|
|
80
|
+
const dbCursor = db.collection(name).find(this._query, this._options);
|
|
81
|
+
return await dbCursor.toArray();
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
return cursor;
|
|
86
|
+
},
|
|
87
|
+
async updateOne(query, update) {
|
|
88
|
+
return provider.execute(`COLLECTION(${name}).UPDATE_ONE`, (db) => db.collection(name).updateOne(query, update));
|
|
89
|
+
},
|
|
90
|
+
async updateMany(query, update) {
|
|
91
|
+
return provider.execute(`COLLECTION(${name}).UPDATE_MANY`, (db) => db.collection(name).updateMany(query, update));
|
|
92
|
+
},
|
|
93
|
+
async deleteOne(query) {
|
|
94
|
+
return provider.execute(`COLLECTION(${name}).DELETE_ONE`, (db) => db.collection(name).deleteOne(query));
|
|
95
|
+
},
|
|
96
|
+
async deleteMany(query) {
|
|
97
|
+
return provider.execute(`COLLECTION(${name}).DELETE_MANY`, (db) => db.collection(name).deleteMany(query));
|
|
98
|
+
},
|
|
99
|
+
async countDocuments(query) {
|
|
100
|
+
return provider.execute(`COLLECTION(${name}).COUNT_DOCUMENTS`, (db) => db.collection(name).countDocuments(query));
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=three-tier-db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"three-tier-db.js","sourceRoot":"","sources":["../../../src/database/providers/three-tier-db.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keyspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAgBnB,MAAM,SAAS,CAAC;AAUjB,mBAAmB,SAAS,CAAC;AAg4B7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,gBAAgB,CAK/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CACzB,QAAQ,CAAC,EAAE;IAAE,GAAG,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,GAC5C,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keyspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAgBnB,MAAM,SAAS,CAAC;AAUjB,mBAAmB,SAAS,CAAC;AAg4B7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,gBAAgB,CAK/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CACzB,QAAQ,CAAC,EAAE;IAAE,GAAG,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,GAC5C,gBAAgB,CA4DlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB,CAgBjE"}
|
package/dist/keyspace/index.js
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
import { getPlatformEnv, isPlatformEnvConfigured } from '../env';
|
|
31
|
-
import {
|
|
31
|
+
import { ThreeTierKeyspace } from './providers';
|
|
32
32
|
/**
|
|
33
33
|
* Default base URL for HTTP-based keyspace access
|
|
34
34
|
*/
|
|
@@ -896,8 +896,13 @@ export function getKeyspace(reqOrEnv) {
|
|
|
896
896
|
// Check for HTTP proxy marker (set by platform-config module in preview mode)
|
|
897
897
|
if (env.__KEYSPACE_HTTP_PROXY__) {
|
|
898
898
|
const proxyOptions = env.__KEYSPACE_HTTP_PROXY__;
|
|
899
|
-
|
|
900
|
-
|
|
899
|
+
// Use three-tier provider with HTTP proxy fallback to mock
|
|
900
|
+
const config = {
|
|
901
|
+
production: undefined, // No production in preview mode
|
|
902
|
+
previewProxy: proxyOptions,
|
|
903
|
+
debug: true,
|
|
904
|
+
};
|
|
905
|
+
return new ThreeTierKeyspace(config);
|
|
901
906
|
}
|
|
902
907
|
// Check for KEYSPACE Durable Object binding
|
|
903
908
|
if (!env.KEYSPACE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keyspace/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keyspace/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple in-memory mock Keyspace provider
|
|
3
|
+
* Implements Redis-like operations for preview/testing
|
|
4
|
+
*/
|
|
5
|
+
import type { KeyspaceProvider, CounterAPI, KVAPI, QueueAPI, SetAPI, LeaderboardAPI, HashAPI, RateLimitAPI, LockAPI, OperationResult } from './types';
|
|
6
|
+
export declare class MockKeyspaceProvider implements KeyspaceProvider {
|
|
7
|
+
private counters;
|
|
8
|
+
private kvStore;
|
|
9
|
+
private queues;
|
|
10
|
+
private sets;
|
|
11
|
+
private leaderboards;
|
|
12
|
+
private hashes;
|
|
13
|
+
private rateLimits;
|
|
14
|
+
private locks;
|
|
15
|
+
private debug;
|
|
16
|
+
constructor(config?: {
|
|
17
|
+
debug?: boolean;
|
|
18
|
+
});
|
|
19
|
+
private log;
|
|
20
|
+
counter(name: string, scope?: string): CounterAPI;
|
|
21
|
+
get kv(): KVAPI;
|
|
22
|
+
queue(name: string): QueueAPI;
|
|
23
|
+
set(name: string): SetAPI;
|
|
24
|
+
leaderboard(name: string): LeaderboardAPI;
|
|
25
|
+
hash(key: string): HashAPI;
|
|
26
|
+
rateLimit(key: string): RateLimitAPI;
|
|
27
|
+
lock(name: string): LockAPI;
|
|
28
|
+
batch<T extends OperationResult[]>(operations: (() => Promise<OperationResult>)[]): Promise<T>;
|
|
29
|
+
isHealthy(): Promise<boolean>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=mock-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-provider.d.ts","sourceRoot":"","sources":["../../src/keyspace/mock-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAEhB,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,cAAc,EAEd,OAAO,EACP,YAAY,EAEZ,OAAO,EAIP,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAAoE;IACnF,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,KAAK,CAAgE;IAC7E,OAAO,CAAC,KAAK,CAAU;gBAEX,MAAM,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;IAI5C,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU;IAkCjD,IAAI,EAAE,IAAI,KAAK,CAgCd;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAiC7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAiCzB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAmDzC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAyC1B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IA0BpC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IA8CrB,KAAK,CAAC,CAAC,SAAS,eAAe,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAS9F,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAGpC"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple in-memory mock Keyspace provider
|
|
3
|
+
* Implements Redis-like operations for preview/testing
|
|
4
|
+
*/
|
|
5
|
+
export class MockKeyspaceProvider {
|
|
6
|
+
counters = new Map();
|
|
7
|
+
kvStore = new Map();
|
|
8
|
+
queues = new Map();
|
|
9
|
+
sets = new Map();
|
|
10
|
+
leaderboards = new Map();
|
|
11
|
+
hashes = new Map();
|
|
12
|
+
rateLimits = new Map();
|
|
13
|
+
locks = new Map();
|
|
14
|
+
debug;
|
|
15
|
+
constructor(config = {}) {
|
|
16
|
+
this.debug = config.debug ?? false;
|
|
17
|
+
}
|
|
18
|
+
log(message, ...args) {
|
|
19
|
+
if (this.debug) {
|
|
20
|
+
console.log(`[MockKeyspace] ${message}`, ...args);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
counter(name, scope) {
|
|
24
|
+
const key = scope ? `${scope}:${name}` : name;
|
|
25
|
+
return {
|
|
26
|
+
increment: async (by = 1) => {
|
|
27
|
+
this.log('COUNTER.INCREMENT', key, by);
|
|
28
|
+
const current = this.counters.get(key) || 0;
|
|
29
|
+
const newValue = current + by;
|
|
30
|
+
this.counters.set(key, newValue);
|
|
31
|
+
return newValue;
|
|
32
|
+
},
|
|
33
|
+
decrement: async (by = 1) => {
|
|
34
|
+
this.log('COUNTER.DECREMENT', key, by);
|
|
35
|
+
const current = this.counters.get(key) || 0;
|
|
36
|
+
const newValue = current - by;
|
|
37
|
+
this.counters.set(key, newValue);
|
|
38
|
+
return newValue;
|
|
39
|
+
},
|
|
40
|
+
get: async () => {
|
|
41
|
+
this.log('COUNTER.GET', key);
|
|
42
|
+
return this.counters.get(key) || 0;
|
|
43
|
+
},
|
|
44
|
+
set: async (value) => {
|
|
45
|
+
this.log('COUNTER.SET', key, value);
|
|
46
|
+
this.counters.set(key, value);
|
|
47
|
+
return value;
|
|
48
|
+
},
|
|
49
|
+
reset: async () => {
|
|
50
|
+
this.log('COUNTER.RESET', key);
|
|
51
|
+
this.counters.delete(key);
|
|
52
|
+
return 0;
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
get kv() {
|
|
57
|
+
return {
|
|
58
|
+
get: async (key) => {
|
|
59
|
+
this.log('KV.GET', key);
|
|
60
|
+
const entry = this.kvStore.get(key);
|
|
61
|
+
if (!entry)
|
|
62
|
+
return null;
|
|
63
|
+
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
64
|
+
this.kvStore.delete(key);
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return entry.value;
|
|
68
|
+
},
|
|
69
|
+
set: async (key, value, ttlSeconds) => {
|
|
70
|
+
this.log('KV.SET', key, { value, ttlSeconds });
|
|
71
|
+
const expiresAt = ttlSeconds ? Date.now() + ttlSeconds * 1000 : undefined;
|
|
72
|
+
this.kvStore.set(key, { value, expiresAt });
|
|
73
|
+
},
|
|
74
|
+
delete: async (key) => {
|
|
75
|
+
this.log('KV.DELETE', key);
|
|
76
|
+
this.kvStore.delete(key);
|
|
77
|
+
},
|
|
78
|
+
has: async (key) => {
|
|
79
|
+
this.log('KV.HAS', key);
|
|
80
|
+
const entry = this.kvStore.get(key);
|
|
81
|
+
if (!entry)
|
|
82
|
+
return false;
|
|
83
|
+
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
84
|
+
this.kvStore.delete(key);
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
return true;
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
queue(name) {
|
|
92
|
+
return {
|
|
93
|
+
enqueue: async (value) => {
|
|
94
|
+
this.log('QUEUE.ENQUEUE', name, value);
|
|
95
|
+
if (!this.queues.has(name)) {
|
|
96
|
+
this.queues.set(name, []);
|
|
97
|
+
}
|
|
98
|
+
const queue = this.queues.get(name);
|
|
99
|
+
queue.push(value);
|
|
100
|
+
return queue.length;
|
|
101
|
+
},
|
|
102
|
+
dequeue: async () => {
|
|
103
|
+
this.log('QUEUE.DEQUEUE', name);
|
|
104
|
+
const queue = this.queues.get(name);
|
|
105
|
+
if (!queue || queue.length === 0)
|
|
106
|
+
return null;
|
|
107
|
+
return queue.shift();
|
|
108
|
+
},
|
|
109
|
+
readRange: async (start = 0, stop = 9) => {
|
|
110
|
+
this.log('QUEUE.READ_RANGE', name, { start, stop });
|
|
111
|
+
const queue = this.queues.get(name) || [];
|
|
112
|
+
return queue.slice(start, stop + 1);
|
|
113
|
+
},
|
|
114
|
+
length: async () => {
|
|
115
|
+
this.log('QUEUE.LENGTH', name);
|
|
116
|
+
return this.queues.get(name)?.length || 0;
|
|
117
|
+
},
|
|
118
|
+
clear: async () => {
|
|
119
|
+
this.log('QUEUE.CLEAR', name);
|
|
120
|
+
this.queues.delete(name);
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
set(name) {
|
|
125
|
+
return {
|
|
126
|
+
add: async (value) => {
|
|
127
|
+
this.log('SET.ADD', name, value);
|
|
128
|
+
if (!this.sets.has(name)) {
|
|
129
|
+
this.sets.set(name, new Set());
|
|
130
|
+
}
|
|
131
|
+
const set = this.sets.get(name);
|
|
132
|
+
set.add(value);
|
|
133
|
+
return set.size;
|
|
134
|
+
},
|
|
135
|
+
remove: async (value) => {
|
|
136
|
+
this.log('SET.REMOVE', name, value);
|
|
137
|
+
const set = this.sets.get(name);
|
|
138
|
+
if (!set)
|
|
139
|
+
return 0;
|
|
140
|
+
set.delete(value);
|
|
141
|
+
return set.size;
|
|
142
|
+
},
|
|
143
|
+
has: async (value) => {
|
|
144
|
+
this.log('SET.HAS', name, value);
|
|
145
|
+
return this.sets.get(name)?.has(value) || false;
|
|
146
|
+
},
|
|
147
|
+
members: async () => {
|
|
148
|
+
this.log('SET.MEMBERS', name);
|
|
149
|
+
return Array.from(this.sets.get(name) || []);
|
|
150
|
+
},
|
|
151
|
+
size: async () => {
|
|
152
|
+
this.log('SET.SIZE', name);
|
|
153
|
+
return this.sets.get(name)?.size || 0;
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
leaderboard(name) {
|
|
158
|
+
return {
|
|
159
|
+
add: async (member, score) => {
|
|
160
|
+
this.log('LEADERBOARD.ADD', name, { member, score });
|
|
161
|
+
if (!this.leaderboards.has(name)) {
|
|
162
|
+
this.leaderboards.set(name, new Map());
|
|
163
|
+
}
|
|
164
|
+
const board = this.leaderboards.get(name);
|
|
165
|
+
board.set(member, score);
|
|
166
|
+
return board.size;
|
|
167
|
+
},
|
|
168
|
+
increment: async (member, by = 1) => {
|
|
169
|
+
this.log('LEADERBOARD.INCREMENT', name, { member, by });
|
|
170
|
+
if (!this.leaderboards.has(name)) {
|
|
171
|
+
this.leaderboards.set(name, new Map());
|
|
172
|
+
}
|
|
173
|
+
const board = this.leaderboards.get(name);
|
|
174
|
+
const current = board.get(member) || 0;
|
|
175
|
+
const newScore = current + by;
|
|
176
|
+
board.set(member, newScore);
|
|
177
|
+
return newScore;
|
|
178
|
+
},
|
|
179
|
+
getRange: async (start = 0, stop = 9) => {
|
|
180
|
+
this.log('LEADERBOARD.GET_RANGE', name, { start, stop });
|
|
181
|
+
const board = this.leaderboards.get(name);
|
|
182
|
+
if (!board)
|
|
183
|
+
return [];
|
|
184
|
+
const entries = Array.from(board.entries())
|
|
185
|
+
.sort(([, a], [, b]) => b - a)
|
|
186
|
+
.slice(start, stop + 1)
|
|
187
|
+
.map(([member, score], index) => ({ member, score, rank: start + index }));
|
|
188
|
+
return entries;
|
|
189
|
+
},
|
|
190
|
+
getRank: async (member) => {
|
|
191
|
+
this.log('LEADERBOARD.GET_RANK', name, member);
|
|
192
|
+
const board = this.leaderboards.get(name);
|
|
193
|
+
if (!board)
|
|
194
|
+
return -1;
|
|
195
|
+
const sorted = Array.from(board.entries()).sort(([, a], [, b]) => b - a);
|
|
196
|
+
const index = sorted.findIndex(([m]) => m === member);
|
|
197
|
+
return index;
|
|
198
|
+
},
|
|
199
|
+
getScore: async (member) => {
|
|
200
|
+
this.log('LEADERBOARD.GET_SCORE', name, member);
|
|
201
|
+
return this.leaderboards.get(name)?.get(member) ?? null;
|
|
202
|
+
},
|
|
203
|
+
remove: async (member) => {
|
|
204
|
+
this.log('LEADERBOARD.REMOVE', name, member);
|
|
205
|
+
this.leaderboards.get(name)?.delete(member);
|
|
206
|
+
},
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
hash(key) {
|
|
210
|
+
return {
|
|
211
|
+
set: async (field, value) => {
|
|
212
|
+
this.log('HASH.SET', key, { field, value });
|
|
213
|
+
if (!this.hashes.has(key)) {
|
|
214
|
+
this.hashes.set(key, new Map());
|
|
215
|
+
}
|
|
216
|
+
this.hashes.get(key).set(field, value);
|
|
217
|
+
},
|
|
218
|
+
get: async (field) => {
|
|
219
|
+
this.log('HASH.GET', key, field);
|
|
220
|
+
return this.hashes.get(key)?.get(field) ?? null;
|
|
221
|
+
},
|
|
222
|
+
getAll: async () => {
|
|
223
|
+
this.log('HASH.GET_ALL', key);
|
|
224
|
+
const hash = this.hashes.get(key);
|
|
225
|
+
if (!hash)
|
|
226
|
+
return {};
|
|
227
|
+
return Object.fromEntries(hash.entries());
|
|
228
|
+
},
|
|
229
|
+
delete: async (field) => {
|
|
230
|
+
this.log('HASH.DELETE', key, field);
|
|
231
|
+
if (field) {
|
|
232
|
+
this.hashes.get(key)?.delete(field);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
this.hashes.delete(key);
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
increment: async (field, by = 1) => {
|
|
239
|
+
this.log('HASH.INCREMENT', key, { field, by });
|
|
240
|
+
if (!this.hashes.has(key)) {
|
|
241
|
+
this.hashes.set(key, new Map());
|
|
242
|
+
}
|
|
243
|
+
const hash = this.hashes.get(key);
|
|
244
|
+
const current = hash.get(field) || 0;
|
|
245
|
+
const newValue = current + by;
|
|
246
|
+
hash.set(field, newValue);
|
|
247
|
+
return newValue;
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
rateLimit(key) {
|
|
252
|
+
return {
|
|
253
|
+
check: async (limit, windowSeconds) => {
|
|
254
|
+
this.log('RATE_LIMIT.CHECK', key, { limit, windowSeconds });
|
|
255
|
+
const now = Date.now();
|
|
256
|
+
const entry = this.rateLimits.get(key);
|
|
257
|
+
if (!entry || now > entry.resetAt) {
|
|
258
|
+
// New window
|
|
259
|
+
const resetAt = now + windowSeconds * 1000;
|
|
260
|
+
this.rateLimits.set(key, { count: 1, resetAt });
|
|
261
|
+
return { allowed: true, remaining: limit - 1, resetAt, limit };
|
|
262
|
+
}
|
|
263
|
+
if (entry.count >= limit) {
|
|
264
|
+
// Rate limit exceeded
|
|
265
|
+
return { allowed: false, remaining: 0, resetAt: entry.resetAt, limit };
|
|
266
|
+
}
|
|
267
|
+
// Increment count
|
|
268
|
+
entry.count++;
|
|
269
|
+
return { allowed: true, remaining: limit - entry.count, resetAt: entry.resetAt, limit };
|
|
270
|
+
},
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
lock(name) {
|
|
274
|
+
return {
|
|
275
|
+
acquire: async (ttlSeconds = 30, owner) => {
|
|
276
|
+
this.log('LOCK.ACQUIRE', name, { ttlSeconds, owner });
|
|
277
|
+
const now = Date.now();
|
|
278
|
+
const lockOwner = owner || `mock-lock-${now}`;
|
|
279
|
+
const entry = this.locks.get(name);
|
|
280
|
+
if (entry && now < entry.expiresAt) {
|
|
281
|
+
// Lock already held
|
|
282
|
+
return { acquired: false, owner: entry.owner, expiresAt: entry.expiresAt };
|
|
283
|
+
}
|
|
284
|
+
// Acquire lock
|
|
285
|
+
const expiresAt = now + ttlSeconds * 1000;
|
|
286
|
+
this.locks.set(name, { owner: lockOwner, expiresAt });
|
|
287
|
+
return { acquired: true, owner: lockOwner, expiresAt };
|
|
288
|
+
},
|
|
289
|
+
release: async (owner) => {
|
|
290
|
+
this.log('LOCK.RELEASE', name, owner);
|
|
291
|
+
const entry = this.locks.get(name);
|
|
292
|
+
if (!entry) {
|
|
293
|
+
return { released: false };
|
|
294
|
+
}
|
|
295
|
+
if (owner && entry.owner !== owner) {
|
|
296
|
+
return { released: false };
|
|
297
|
+
}
|
|
298
|
+
this.locks.delete(name);
|
|
299
|
+
return { released: true };
|
|
300
|
+
},
|
|
301
|
+
check: async () => {
|
|
302
|
+
this.log('LOCK.CHECK', name);
|
|
303
|
+
const entry = this.locks.get(name);
|
|
304
|
+
if (!entry) {
|
|
305
|
+
return { locked: false };
|
|
306
|
+
}
|
|
307
|
+
const now = Date.now();
|
|
308
|
+
if (now >= entry.expiresAt) {
|
|
309
|
+
this.locks.delete(name);
|
|
310
|
+
return { locked: false };
|
|
311
|
+
}
|
|
312
|
+
return { locked: true, owner: entry.owner, expiresAt: entry.expiresAt };
|
|
313
|
+
},
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
async batch(operations) {
|
|
317
|
+
this.log('BATCH', operations.length);
|
|
318
|
+
const results = [];
|
|
319
|
+
for (const op of operations) {
|
|
320
|
+
results.push(await op());
|
|
321
|
+
}
|
|
322
|
+
return results;
|
|
323
|
+
}
|
|
324
|
+
async isHealthy() {
|
|
325
|
+
return true;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=mock-provider.js.map
|