@thewhateverapp/platform 0.13.9 → 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 +12 -1
- 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/http-proxy-ai.d.ts +29 -0
- package/dist/ai/providers/http-proxy-ai.d.ts.map +1 -0
- package/dist/ai/providers/http-proxy-ai.js +81 -0
- package/dist/ai/providers/http-proxy-ai.js.map +1 -0
- package/dist/ai/providers/index.d.ts +10 -0
- package/dist/ai/providers/index.d.ts.map +1 -0
- package/dist/ai/providers/index.js +15 -0
- package/dist/ai/providers/index.js.map +1 -0
- 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 +2 -0
- package/dist/ai/providers.d.ts.map +1 -1
- package/dist/ai/providers.js +4 -0
- package/dist/ai/providers.js.map +1 -1
- package/dist/ai/types.d.ts +5 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +11 -23
- 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/http-proxy-db.d.ts +24 -0
- package/dist/database/providers/http-proxy-db.d.ts.map +1 -0
- package/dist/database/providers/http-proxy-db.js +122 -0
- package/dist/database/providers/http-proxy-db.js.map +1 -0
- package/dist/database/providers/index.d.ts +2 -0
- package/dist/database/providers/index.d.ts.map +1 -1
- package/dist/database/providers/index.js +2 -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/database/types.d.ts +6 -1
- package/dist/database/types.d.ts.map +1 -1
- package/dist/env.d.ts +16 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js.map +1 -1
- package/dist/keyspace/index.d.ts.map +1 -1
- package/dist/keyspace/index.js +12 -0
- 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/http-proxy-keyspace.d.ts +36 -0
- package/dist/keyspace/providers/http-proxy-keyspace.d.ts.map +1 -0
- package/dist/keyspace/providers/http-proxy-keyspace.js +210 -0
- package/dist/keyspace/providers/http-proxy-keyspace.js.map +1 -0
- package/dist/keyspace/providers/index.d.ts +8 -0
- package/dist/keyspace/providers/index.d.ts.map +1 -0
- package/dist/keyspace/providers/index.js +10 -0
- package/dist/keyspace/providers/index.js.map +1 -0
- 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/keyspace/types.d.ts +5 -0
- package/dist/keyspace/types.d.ts.map +1 -1
- 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 -18
- 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/http-proxy-r2.d.ts +40 -0
- package/dist/r2/providers/http-proxy-r2.d.ts.map +1 -0
- package/dist/r2/providers/http-proxy-r2.js +195 -0
- package/dist/r2/providers/http-proxy-r2.js.map +1 -0
- package/dist/r2/providers/index.d.ts +2 -0
- package/dist/r2/providers/index.d.ts.map +1 -1
- package/dist/r2/providers/index.js +2 -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/dist/r2/types.d.ts +6 -1
- package/dist/r2/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP Proxy R2 provider for preview mode
|
|
3
|
+
*
|
|
4
|
+
* Proxies all R2 storage operations to a deployed tile's /proxy/storage/op endpoint.
|
|
5
|
+
* Used in browser previews to access real Cloudflare R2 via the deployed skeleton tile.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* HTTP Proxy R2 implementation
|
|
9
|
+
*
|
|
10
|
+
* All operations are proxied to the deployed tile's /proxy/storage/op endpoint.
|
|
11
|
+
*/
|
|
12
|
+
export class HTTPProxyR2 {
|
|
13
|
+
deploymentUrl;
|
|
14
|
+
authToken;
|
|
15
|
+
prefix = '[HTTPProxyR2]';
|
|
16
|
+
constructor(options) {
|
|
17
|
+
this.deploymentUrl = options.deploymentUrl.replace(/\/$/, ''); // Remove trailing slash
|
|
18
|
+
this.authToken = options.authToken;
|
|
19
|
+
console.log(`${this.prefix} Initialized with deployment URL: ${this.deploymentUrl}`);
|
|
20
|
+
}
|
|
21
|
+
async proxyRequest(action, params) {
|
|
22
|
+
const url = `${this.deploymentUrl}/proxy/storage/op`;
|
|
23
|
+
const headers = {
|
|
24
|
+
'Content-Type': 'application/json',
|
|
25
|
+
};
|
|
26
|
+
if (this.authToken) {
|
|
27
|
+
headers['Authorization'] = `Bearer ${this.authToken}`;
|
|
28
|
+
}
|
|
29
|
+
console.log(`${this.prefix} ${action.toUpperCase()}`, params);
|
|
30
|
+
try {
|
|
31
|
+
const res = await fetch(url, {
|
|
32
|
+
method: 'POST',
|
|
33
|
+
headers,
|
|
34
|
+
body: JSON.stringify({ action, ...params }),
|
|
35
|
+
});
|
|
36
|
+
if (!res.ok) {
|
|
37
|
+
const errorText = await res.text().catch(() => res.statusText);
|
|
38
|
+
throw new Error(`Storage ${action} failed (${res.status}): ${errorText}`);
|
|
39
|
+
}
|
|
40
|
+
const response = (await res.json());
|
|
41
|
+
console.log(`${this.prefix} ${action.toUpperCase()} result:`, response);
|
|
42
|
+
return response.data;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error(`${this.prefix} ${action.toUpperCase()} error:`, error);
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Encode data to base64 for transmission
|
|
51
|
+
*/
|
|
52
|
+
async encodeData(data) {
|
|
53
|
+
let uint8Array;
|
|
54
|
+
if (typeof data === 'string') {
|
|
55
|
+
// Convert string to Uint8Array
|
|
56
|
+
const encoder = new TextEncoder();
|
|
57
|
+
uint8Array = encoder.encode(data);
|
|
58
|
+
}
|
|
59
|
+
else if (data instanceof ReadableStream) {
|
|
60
|
+
// Convert stream to Uint8Array
|
|
61
|
+
const reader = data.getReader();
|
|
62
|
+
const chunks = [];
|
|
63
|
+
let result = await reader.read();
|
|
64
|
+
while (!result.done) {
|
|
65
|
+
chunks.push(result.value);
|
|
66
|
+
result = await reader.read();
|
|
67
|
+
}
|
|
68
|
+
const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);
|
|
69
|
+
const combined = new Uint8Array(totalLength);
|
|
70
|
+
let offset = 0;
|
|
71
|
+
for (const chunk of chunks) {
|
|
72
|
+
combined.set(chunk, offset);
|
|
73
|
+
offset += chunk.length;
|
|
74
|
+
}
|
|
75
|
+
uint8Array = combined;
|
|
76
|
+
}
|
|
77
|
+
else if (data instanceof ArrayBuffer) {
|
|
78
|
+
uint8Array = new Uint8Array(data);
|
|
79
|
+
}
|
|
80
|
+
else if (data instanceof Blob) {
|
|
81
|
+
const arrayBuffer = await data.arrayBuffer();
|
|
82
|
+
uint8Array = new Uint8Array(arrayBuffer);
|
|
83
|
+
}
|
|
84
|
+
else if (data instanceof Uint8Array) {
|
|
85
|
+
uint8Array = data;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw new Error('Unsupported data type');
|
|
89
|
+
}
|
|
90
|
+
// Convert Uint8Array to base64
|
|
91
|
+
const binaryString = Array.from(uint8Array)
|
|
92
|
+
.map((byte) => String.fromCharCode(byte))
|
|
93
|
+
.join('');
|
|
94
|
+
return btoa(binaryString);
|
|
95
|
+
}
|
|
96
|
+
async put(key, data, options) {
|
|
97
|
+
const encodedData = await this.encodeData(data);
|
|
98
|
+
const result = await this.proxyRequest('put', {
|
|
99
|
+
key,
|
|
100
|
+
value: encodedData,
|
|
101
|
+
options,
|
|
102
|
+
});
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
async get(key, options) {
|
|
106
|
+
const result = await this.proxyRequest('get', { key, options });
|
|
107
|
+
if (!result) {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
// Decode base64 data
|
|
111
|
+
const binaryString = atob(result.data);
|
|
112
|
+
const uint8Array = new Uint8Array(binaryString.length);
|
|
113
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
114
|
+
uint8Array[i] = binaryString.charCodeAt(i);
|
|
115
|
+
}
|
|
116
|
+
// Convert to requested type
|
|
117
|
+
let body = uint8Array.buffer;
|
|
118
|
+
if (options?.type) {
|
|
119
|
+
switch (options.type) {
|
|
120
|
+
case 'text':
|
|
121
|
+
body = new TextDecoder().decode(uint8Array);
|
|
122
|
+
break;
|
|
123
|
+
case 'json':
|
|
124
|
+
body = JSON.parse(new TextDecoder().decode(uint8Array));
|
|
125
|
+
break;
|
|
126
|
+
case 'arrayBuffer':
|
|
127
|
+
body = uint8Array.buffer;
|
|
128
|
+
break;
|
|
129
|
+
case 'blob':
|
|
130
|
+
body = new Blob([uint8Array]);
|
|
131
|
+
break;
|
|
132
|
+
case 'stream':
|
|
133
|
+
body = new ReadableStream({
|
|
134
|
+
start(controller) {
|
|
135
|
+
controller.enqueue(uint8Array);
|
|
136
|
+
controller.close();
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
key: result.key,
|
|
144
|
+
body,
|
|
145
|
+
size: result.size,
|
|
146
|
+
etag: result.httpEtag,
|
|
147
|
+
uploaded: new Date(result.uploaded),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
async delete(key) {
|
|
151
|
+
await this.proxyRequest('delete', { key });
|
|
152
|
+
}
|
|
153
|
+
async deleteMany(keys) {
|
|
154
|
+
await Promise.all(keys.map((key) => this.delete(key)));
|
|
155
|
+
}
|
|
156
|
+
async exists(key) {
|
|
157
|
+
const metadata = await this.head(key);
|
|
158
|
+
return metadata !== null;
|
|
159
|
+
}
|
|
160
|
+
async list(options) {
|
|
161
|
+
const result = await this.proxyRequest('list', { options });
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
async head(key) {
|
|
165
|
+
const result = await this.proxyRequest('head', { key });
|
|
166
|
+
if (!result) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
key: result.key,
|
|
171
|
+
size: result.size,
|
|
172
|
+
etag: result.httpEtag,
|
|
173
|
+
uploaded: new Date(result.uploaded),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
getPublicUrl(key, options) {
|
|
177
|
+
// Return a placeholder URL since we can't generate public URLs from proxy
|
|
178
|
+
const baseUrl = options?.publicUrl || `${this.deploymentUrl}/storage`;
|
|
179
|
+
const cleanBaseUrl = baseUrl.replace(/\/$/, '');
|
|
180
|
+
const cleanKey = key.replace(/^\//, '');
|
|
181
|
+
return `${cleanBaseUrl}/${cleanKey}`;
|
|
182
|
+
}
|
|
183
|
+
async getSignedUrl(key, options) {
|
|
184
|
+
throw new Error('Signed URLs not supported in HTTP proxy mode');
|
|
185
|
+
}
|
|
186
|
+
async copy(sourceKey, destinationKey) {
|
|
187
|
+
// Copy by get and put
|
|
188
|
+
const source = await this.get(sourceKey);
|
|
189
|
+
if (!source) {
|
|
190
|
+
throw new Error(`Source object not found: ${sourceKey}`);
|
|
191
|
+
}
|
|
192
|
+
await this.put(destinationKey, source.body);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=http-proxy-r2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-proxy-r2.js","sourceRoot":"","sources":["../../../src/r2/providers/http-proxy-r2.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,6 @@
|
|
|
4
4
|
* Export all available storage providers
|
|
5
5
|
*/
|
|
6
6
|
export { CloudflareR2 } from './cloudflare-r2';
|
|
7
|
+
export { HTTPProxyR2, type HTTPProxyR2Options } from './http-proxy-r2';
|
|
8
|
+
export { ThreeTierR2, type ThreeTierR2Config } from './three-tier-r2';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/r2/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/r2/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Export all available storage providers
|
|
5
5
|
*/
|
|
6
6
|
export { CloudflareR2 } from './cloudflare-r2';
|
|
7
|
+
export { HTTPProxyR2 } from './http-proxy-r2';
|
|
8
|
+
export { ThreeTierR2 } from './three-tier-r2';
|
|
7
9
|
// Future providers:
|
|
8
10
|
// export { AWSS3 } from './aws-s3';
|
|
9
11
|
// export { BackblazeB2 } from './backblaze-b2';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/r2/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/r2/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAA2B,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,WAAW,EAA0B,MAAM,iBAAiB,CAAC;AAEtE,oBAAoB;AACpB,oCAAoC;AACpC,gDAAgD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Three-Tier R2 Storage Provider
|
|
3
|
+
*
|
|
4
|
+
* Implements the three-tier fallback system:
|
|
5
|
+
* 1. Production - Real Cloudflare R2 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 { StorageProvider, StorageObject, StorageMetadata, ListOptions, ListResult, PutOptions, PutResult, GetOptions } from '../types';
|
|
10
|
+
import { type HTTPProxyR2Options } from './http-proxy-r2';
|
|
11
|
+
/**
|
|
12
|
+
* Three-tier R2 configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface ThreeTierR2Config {
|
|
15
|
+
/** Production R2 binding (if available) */
|
|
16
|
+
production?: R2Bucket;
|
|
17
|
+
/** Public URL for production storage */
|
|
18
|
+
publicUrl?: string;
|
|
19
|
+
/** Preview proxy configuration (if in preview mode) */
|
|
20
|
+
previewProxy?: HTTPProxyR2Options;
|
|
21
|
+
/** Debug logging */
|
|
22
|
+
debug?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Three-Tier R2 Storage Provider
|
|
26
|
+
*
|
|
27
|
+
* Automatically selects between production, preview proxy, and mock based on availability
|
|
28
|
+
* and skeleton deployment readiness.
|
|
29
|
+
*/
|
|
30
|
+
export declare class ThreeTierR2 implements StorageProvider {
|
|
31
|
+
private provider;
|
|
32
|
+
constructor(config: ThreeTierR2Config);
|
|
33
|
+
put(key: string, value: ArrayBuffer | ReadableStream | Blob | string, options?: PutOptions): Promise<PutResult>;
|
|
34
|
+
get(key: string, options?: GetOptions): Promise<StorageObject | null>;
|
|
35
|
+
delete(key: string): Promise<void>;
|
|
36
|
+
deleteMany(keys: string[]): Promise<void>;
|
|
37
|
+
head(key: string): Promise<StorageMetadata | null>;
|
|
38
|
+
list(options?: ListOptions): Promise<ListResult>;
|
|
39
|
+
exists(key: string): Promise<boolean>;
|
|
40
|
+
copy(sourceKey: string, destinationKey: string): Promise<void>;
|
|
41
|
+
getPublicUrl(key: string): string;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=three-tier-r2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"three-tier-r2.d.ts","sourceRoot":"","sources":["../../../src/r2/providers/three-tier-r2.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIvE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,eAAe;IACjD,OAAO,CAAC,QAAQ,CAAqC;gBAEzC,MAAM,EAAE,iBAAiB;IAiB/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAI/G,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAIrE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAIlD,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAIhD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAoBlC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Three-Tier R2 Storage Provider
|
|
3
|
+
*
|
|
4
|
+
* Implements the three-tier fallback system:
|
|
5
|
+
* 1. Production - Real Cloudflare R2 binding
|
|
6
|
+
* 2. Preview via Proxy - HTTP proxy to skeleton worker
|
|
7
|
+
* 3. Mock/In-Memory - Fallback when skeleton not ready
|
|
8
|
+
*/
|
|
9
|
+
import { CloudflareR2 } from './cloudflare-r2';
|
|
10
|
+
import { HTTPProxyR2 } from './http-proxy-r2';
|
|
11
|
+
import { MockR2Provider } from '../mock-provider';
|
|
12
|
+
import { ThreeTierProvider } from '../../providers/three-tier-provider';
|
|
13
|
+
/**
|
|
14
|
+
* Three-Tier R2 Storage Provider
|
|
15
|
+
*
|
|
16
|
+
* Automatically selects between production, preview proxy, and mock based on availability
|
|
17
|
+
* and skeleton deployment readiness.
|
|
18
|
+
*/
|
|
19
|
+
export class ThreeTierR2 {
|
|
20
|
+
provider;
|
|
21
|
+
constructor(config) {
|
|
22
|
+
const production = config.production
|
|
23
|
+
? new CloudflareR2(config.production, config.publicUrl)
|
|
24
|
+
: undefined;
|
|
25
|
+
const previewProxy = config.previewProxy
|
|
26
|
+
? new HTTPProxyR2(config.previewProxy)
|
|
27
|
+
: undefined;
|
|
28
|
+
const mock = new MockR2Provider({ debug: config.debug });
|
|
29
|
+
this.provider = new ThreeTierProvider({
|
|
30
|
+
production,
|
|
31
|
+
previewProxy,
|
|
32
|
+
mock,
|
|
33
|
+
debug: config.debug,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async put(key, value, options) {
|
|
37
|
+
return this.provider.execute('PUT', (storage) => storage.put(key, value, options));
|
|
38
|
+
}
|
|
39
|
+
async get(key, options) {
|
|
40
|
+
return this.provider.execute('GET', (storage) => storage.get(key, options));
|
|
41
|
+
}
|
|
42
|
+
async delete(key) {
|
|
43
|
+
return this.provider.execute('DELETE', (storage) => storage.delete(key));
|
|
44
|
+
}
|
|
45
|
+
async deleteMany(keys) {
|
|
46
|
+
return this.provider.execute('DELETE_MANY', (storage) => storage.deleteMany(keys));
|
|
47
|
+
}
|
|
48
|
+
async head(key) {
|
|
49
|
+
return this.provider.execute('HEAD', (storage) => storage.head(key));
|
|
50
|
+
}
|
|
51
|
+
async list(options) {
|
|
52
|
+
return this.provider.execute('LIST', (storage) => storage.list(options));
|
|
53
|
+
}
|
|
54
|
+
async exists(key) {
|
|
55
|
+
return this.provider.execute('EXISTS', (storage) => storage.exists(key));
|
|
56
|
+
}
|
|
57
|
+
async copy(sourceKey, destinationKey) {
|
|
58
|
+
return this.provider.execute('COPY', (storage) => storage.copy(sourceKey, destinationKey));
|
|
59
|
+
}
|
|
60
|
+
getPublicUrl(key) {
|
|
61
|
+
// For public URL, we can't use async execute, so we need to get the provider synchronously
|
|
62
|
+
// In preview mode with skeleton not ready, return mock URL
|
|
63
|
+
// In production, delegate to the production provider
|
|
64
|
+
try {
|
|
65
|
+
// Try to get the current mode
|
|
66
|
+
const mode = this.provider.getMode();
|
|
67
|
+
if (mode === 'production') {
|
|
68
|
+
// Get production provider - this is a bit hacky but necessary for sync method
|
|
69
|
+
const config = this.provider;
|
|
70
|
+
const production = config.production;
|
|
71
|
+
if (production?.getPublicUrl) {
|
|
72
|
+
return production.getPublicUrl(key);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
// If anything fails, return mock URL
|
|
78
|
+
}
|
|
79
|
+
return `https://mock-r2.storage/${key}`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=three-tier-r2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"three-tier-r2.js","sourceRoot":"","sources":["../../../src/r2/providers/three-tier-r2.ts"],"names":[],"mappings":"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"}
|
package/dist/r2/types.d.ts
CHANGED
|
@@ -285,7 +285,7 @@ export interface SignedUrlOptions {
|
|
|
285
285
|
* Cloudflare environment interface for R2
|
|
286
286
|
*/
|
|
287
287
|
export interface CloudflareStorageEnv {
|
|
288
|
-
STORAGE
|
|
288
|
+
STORAGE?: R2Bucket;
|
|
289
289
|
STORAGE_PROVIDER?: 'r2' | 's3' | 'backblaze';
|
|
290
290
|
STORAGE_PUBLIC_URL?: string;
|
|
291
291
|
AWS_S3_BUCKET?: string;
|
|
@@ -295,6 +295,11 @@ export interface CloudflareStorageEnv {
|
|
|
295
295
|
BACKBLAZE_BUCKET?: string;
|
|
296
296
|
BACKBLAZE_KEY_ID?: string;
|
|
297
297
|
BACKBLAZE_APPLICATION_KEY?: string;
|
|
298
|
+
/** HTTP proxy configuration for preview mode (internal use only) */
|
|
299
|
+
__STORAGE_HTTP_PROXY__?: {
|
|
300
|
+
deploymentUrl: string;
|
|
301
|
+
authToken?: string;
|
|
302
|
+
};
|
|
298
303
|
}
|
|
299
304
|
/**
|
|
300
305
|
* Request wrapper for NextRequest compatibility
|
package/dist/r2/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/r2/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/r2/types.ts"],"names":[],"mappings":"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"}
|