@thewhateverapp/platform 0.13.10 → 0.13.12

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 (82) hide show
  1. package/dist/ai/index.d.ts.map +1 -1
  2. package/dist/ai/index.js +8 -3
  3. package/dist/ai/index.js.map +1 -1
  4. package/dist/ai/mock-provider.d.ts +16 -0
  5. package/dist/ai/mock-provider.d.ts.map +1 -0
  6. package/dist/ai/mock-provider.js +50 -0
  7. package/dist/ai/mock-provider.js.map +1 -0
  8. package/dist/ai/providers/index.d.ts +2 -0
  9. package/dist/ai/providers/index.d.ts.map +1 -1
  10. package/dist/ai/providers/index.js +2 -0
  11. package/dist/ai/providers/index.js.map +1 -1
  12. package/dist/ai/providers/three-tier-ai.d.ts +35 -0
  13. package/dist/ai/providers/three-tier-ai.d.ts.map +1 -0
  14. package/dist/ai/providers/three-tier-ai.js +43 -0
  15. package/dist/ai/providers/three-tier-ai.js.map +1 -0
  16. package/dist/ai/providers.d.ts +1 -0
  17. package/dist/ai/providers.d.ts.map +1 -1
  18. package/dist/ai/providers.js +2 -0
  19. package/dist/ai/providers.js.map +1 -1
  20. package/dist/database/index.d.ts.map +1 -1
  21. package/dist/database/index.js +11 -29
  22. package/dist/database/index.js.map +1 -1
  23. package/dist/database/mock-provider.d.ts +10 -0
  24. package/dist/database/mock-provider.d.ts.map +1 -0
  25. package/dist/database/mock-provider.js +145 -0
  26. package/dist/database/mock-provider.js.map +1 -0
  27. package/dist/database/providers/index.d.ts +1 -0
  28. package/dist/database/providers/index.d.ts.map +1 -1
  29. package/dist/database/providers/index.js +1 -0
  30. package/dist/database/providers/index.js.map +1 -1
  31. package/dist/database/providers/three-tier-db.d.ts +33 -0
  32. package/dist/database/providers/three-tier-db.d.ts.map +1 -0
  33. package/dist/database/providers/three-tier-db.js +105 -0
  34. package/dist/database/providers/three-tier-db.js.map +1 -0
  35. package/dist/keyspace/index.d.ts.map +1 -1
  36. package/dist/keyspace/index.js +8 -3
  37. package/dist/keyspace/index.js.map +1 -1
  38. package/dist/keyspace/mock-provider.d.ts +31 -0
  39. package/dist/keyspace/mock-provider.d.ts.map +1 -0
  40. package/dist/keyspace/mock-provider.js +328 -0
  41. package/dist/keyspace/mock-provider.js.map +1 -0
  42. package/dist/keyspace/providers/index.d.ts +1 -0
  43. package/dist/keyspace/providers/index.d.ts.map +1 -1
  44. package/dist/keyspace/providers/index.js +1 -0
  45. package/dist/keyspace/providers/index.js.map +1 -1
  46. package/dist/keyspace/providers/three-tier-keyspace.d.ts +42 -0
  47. package/dist/keyspace/providers/three-tier-keyspace.d.ts.map +1 -0
  48. package/dist/keyspace/providers/three-tier-keyspace.js +106 -0
  49. package/dist/keyspace/providers/three-tier-keyspace.js.map +1 -0
  50. package/dist/kv/index.js +10 -10
  51. package/dist/kv/index.js.map +1 -1
  52. package/dist/kv/providers/http-proxy-kv.d.ts.map +1 -1
  53. package/dist/kv/providers/http-proxy-kv.js +4 -3
  54. package/dist/kv/providers/http-proxy-kv.js.map +1 -1
  55. package/dist/kv/providers/index.d.ts +1 -0
  56. package/dist/kv/providers/index.d.ts.map +1 -1
  57. package/dist/kv/providers/index.js +1 -0
  58. package/dist/kv/providers/index.js.map +1 -1
  59. package/dist/kv/providers/three-tier-kv.d.ts +44 -0
  60. package/dist/kv/providers/three-tier-kv.d.ts.map +1 -0
  61. package/dist/kv/providers/three-tier-kv.js +69 -0
  62. package/dist/kv/providers/three-tier-kv.js.map +1 -0
  63. package/dist/providers/three-tier-provider.d.ts +77 -0
  64. package/dist/providers/three-tier-provider.d.ts.map +1 -0
  65. package/dist/providers/three-tier-provider.js +165 -0
  66. package/dist/providers/three-tier-provider.js.map +1 -0
  67. package/dist/r2/index.d.ts.map +1 -1
  68. package/dist/r2/index.js +11 -24
  69. package/dist/r2/index.js.map +1 -1
  70. package/dist/r2/mock-provider.d.ts +23 -0
  71. package/dist/r2/mock-provider.d.ts.map +1 -0
  72. package/dist/r2/mock-provider.js +161 -0
  73. package/dist/r2/mock-provider.js.map +1 -0
  74. package/dist/r2/providers/index.d.ts +1 -0
  75. package/dist/r2/providers/index.d.ts.map +1 -1
  76. package/dist/r2/providers/index.js +1 -0
  77. package/dist/r2/providers/index.js.map +1 -1
  78. package/dist/r2/providers/three-tier-r2.d.ts +43 -0
  79. package/dist/r2/providers/three-tier-r2.d.ts.map +1 -0
  80. package/dist/r2/providers/three-tier-r2.js +82 -0
  81. package/dist/r2/providers/three-tier-r2.js.map +1 -0
  82. 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,CAuDlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB,CAgBjE"}
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"}
@@ -28,7 +28,7 @@
28
28
  * ```
29
29
  */
30
30
  import { getPlatformEnv, isPlatformEnvConfigured } from '../env';
31
- import { HTTPProxyKeyspace } from './providers';
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
- console.log('[PLATFORM-SDK] Using HTTPProxyKeyspace with deployment URL:', proxyOptions.deploymentUrl);
900
- return new HTTPProxyKeyspace(proxyOptions);
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