@thewhateverapp/platform 0.13.8 → 0.13.10
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 +7 -1
- package/dist/ai/index.js.map +1 -1
- 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 +8 -0
- package/dist/ai/providers/index.d.ts.map +1 -0
- package/dist/ai/providers/index.js +13 -0
- package/dist/ai/providers/index.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/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 +7 -1
- package/dist/database/index.js.map +1 -1
- 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 +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/types.d.ts +6 -1
- package/dist/database/types.d.ts.map +1 -1
- package/dist/env.d.ts +21 -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 +7 -0
- package/dist/keyspace/index.js.map +1 -1
- 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 +7 -0
- package/dist/keyspace/providers/index.d.ts.map +1 -0
- package/dist/keyspace/providers/index.js +9 -0
- package/dist/keyspace/providers/index.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.d.ts.map +1 -1
- package/dist/kv/index.js +7 -3
- package/dist/kv/index.js.map +1 -1
- package/dist/kv/providers/http-proxy-kv.d.ts +38 -0
- package/dist/kv/providers/http-proxy-kv.d.ts.map +1 -0
- package/dist/kv/providers/http-proxy-kv.js +122 -0
- package/dist/kv/providers/http-proxy-kv.js.map +1 -0
- 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/types.d.ts +6 -1
- package/dist/kv/types.d.ts.map +1 -1
- package/dist/r2/index.d.ts.map +1 -1
- package/dist/r2/index.js +7 -1
- package/dist/r2/index.js.map +1 -1
- 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 +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/types.d.ts +6 -1
- package/dist/r2/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP Proxy KV provider for preview mode
|
|
3
|
+
*
|
|
4
|
+
* Proxies all KV operations to a deployed tile's /proxy/kv/op endpoint.
|
|
5
|
+
* Used in browser previews to access real Cloudflare KV via the deployed skeleton tile.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* HTTP Proxy KV implementation
|
|
9
|
+
*
|
|
10
|
+
* All operations are proxied to the deployed tile's /proxy/kv/op endpoint.
|
|
11
|
+
*/
|
|
12
|
+
export class HTTPProxyKV {
|
|
13
|
+
deploymentUrl;
|
|
14
|
+
authToken;
|
|
15
|
+
prefix = '[HTTPProxyKV]';
|
|
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(operation, params) {
|
|
22
|
+
const url = `${this.deploymentUrl}/proxy/kv/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} ${operation.toUpperCase()}`, params);
|
|
30
|
+
try {
|
|
31
|
+
const res = await fetch(url, {
|
|
32
|
+
method: 'POST',
|
|
33
|
+
headers,
|
|
34
|
+
body: JSON.stringify({ operation, ...params }),
|
|
35
|
+
});
|
|
36
|
+
if (!res.ok) {
|
|
37
|
+
const errorText = await res.text().catch(() => res.statusText);
|
|
38
|
+
throw new Error(`KV ${operation} failed (${res.status}): ${errorText}`);
|
|
39
|
+
}
|
|
40
|
+
const data = await res.json();
|
|
41
|
+
console.log(`${this.prefix} ${operation.toUpperCase()} result:`, data);
|
|
42
|
+
return data;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error(`${this.prefix} ${operation.toUpperCase()} error:`, error);
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async get(key) {
|
|
50
|
+
const data = await this.proxyRequest('get', { key, type: 'text' });
|
|
51
|
+
return data.value ?? null;
|
|
52
|
+
}
|
|
53
|
+
async put(key, value, options) {
|
|
54
|
+
if (typeof value !== 'string') {
|
|
55
|
+
throw new Error(`kv.put() only accepts strings. Got ${typeof value}. ` +
|
|
56
|
+
`For objects, use kv.putJson() instead.`);
|
|
57
|
+
}
|
|
58
|
+
await this.proxyRequest('put', {
|
|
59
|
+
key,
|
|
60
|
+
value,
|
|
61
|
+
options: options ? {
|
|
62
|
+
expirationTtl: options.ttl,
|
|
63
|
+
metadata: options.metadata,
|
|
64
|
+
} : undefined,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async getJson(key) {
|
|
68
|
+
const data = await this.proxyRequest('get', { key, type: 'json' });
|
|
69
|
+
return data.value ?? null;
|
|
70
|
+
}
|
|
71
|
+
async putJson(key, value, options) {
|
|
72
|
+
await this.proxyRequest('put', {
|
|
73
|
+
key,
|
|
74
|
+
value: JSON.stringify(value),
|
|
75
|
+
options: options ? {
|
|
76
|
+
expirationTtl: options.ttl,
|
|
77
|
+
metadata: options.metadata,
|
|
78
|
+
} : undefined,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async set(key, value, options) {
|
|
82
|
+
return this.put(key, value, options);
|
|
83
|
+
}
|
|
84
|
+
async delete(key) {
|
|
85
|
+
await this.proxyRequest('delete', { key });
|
|
86
|
+
}
|
|
87
|
+
async deleteMany(keys) {
|
|
88
|
+
await Promise.all(keys.map((key) => this.delete(key)));
|
|
89
|
+
}
|
|
90
|
+
async has(key) {
|
|
91
|
+
const value = await this.get(key);
|
|
92
|
+
return value !== null;
|
|
93
|
+
}
|
|
94
|
+
async list(prefix) {
|
|
95
|
+
const data = await this.proxyRequest('list', {
|
|
96
|
+
options: prefix ? { prefix } : undefined,
|
|
97
|
+
});
|
|
98
|
+
// The proxy returns { keys: [...], list_complete: bool }
|
|
99
|
+
// We just want the array of key names
|
|
100
|
+
return data.keys?.map((k) => k.name) || [];
|
|
101
|
+
}
|
|
102
|
+
async getMetadata(key) {
|
|
103
|
+
const data = await this.proxyRequest('getWithMetadata', { key, type: 'text' });
|
|
104
|
+
if (data.value === null) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
metadata: data.metadata,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
async increment(key, amount = 1) {
|
|
112
|
+
const current = await this.get(key);
|
|
113
|
+
const currentValue = current ? parseInt(current, 10) : 0;
|
|
114
|
+
const newValue = currentValue + amount;
|
|
115
|
+
await this.put(key, String(newValue));
|
|
116
|
+
return newValue;
|
|
117
|
+
}
|
|
118
|
+
async decrement(key, amount = 1) {
|
|
119
|
+
return this.increment(key, -amount);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=http-proxy-kv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-proxy-kv.js","sourceRoot":"","sources":["../../../src/kv/providers/http-proxy-kv.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kv/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/kv/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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kv/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kv/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAA2B,MAAM,iBAAiB,CAAC;AAEvE,oBAAoB;AACpB,4CAA4C;AAC5C,0CAA0C"}
|
package/dist/kv/types.d.ts
CHANGED
|
@@ -159,12 +159,17 @@ export interface KVMetadata {
|
|
|
159
159
|
* Cloudflare environment interface for KV
|
|
160
160
|
*/
|
|
161
161
|
export interface CloudflareKVEnv {
|
|
162
|
-
KV
|
|
162
|
+
KV?: KVNamespace;
|
|
163
163
|
KV_PROVIDER?: 'cloudflare' | 'upstash' | 'vercel';
|
|
164
164
|
UPSTASH_REDIS_REST_URL?: string;
|
|
165
165
|
UPSTASH_REDIS_REST_TOKEN?: string;
|
|
166
166
|
VERCEL_KV_REST_URL?: string;
|
|
167
167
|
VERCEL_KV_REST_TOKEN?: string;
|
|
168
|
+
/** HTTP proxy configuration for preview mode (internal use only) */
|
|
169
|
+
__KV_HTTP_PROXY__?: {
|
|
170
|
+
deploymentUrl: string;
|
|
171
|
+
authToken?: string;
|
|
172
|
+
};
|
|
168
173
|
}
|
|
169
174
|
/**
|
|
170
175
|
* Request wrapper for NextRequest compatibility
|
package/dist/kv/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kv/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kv/types.ts"],"names":[],"mappings":"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"}
|
package/dist/r2/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/r2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKrF,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,GAAG,CAAC,EAAE,cAAc,GAAG;IAAE,GAAG,EAAE,oBAAoB,CAAA;CAAE,GAAG,oBAAoB,GAC1E,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/r2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKrF,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,GAAG,CAAC,EAAE,cAAc,GAAG;IAAE,GAAG,EAAE,oBAAoB,CAAA;CAAE,GAAG,oBAAoB,GAC1E,eAAe,CA8DjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,eAAe,CAexE"}
|
package/dist/r2/index.js
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* }
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
import { CloudflareR2 } from './providers';
|
|
28
|
+
import { CloudflareR2, HTTPProxyR2 } from './providers';
|
|
29
29
|
import { getPlatformEnv, isPlatformEnvConfigured } from '../env';
|
|
30
30
|
/**
|
|
31
31
|
* Get a storage instance for the current request
|
|
@@ -62,6 +62,12 @@ export function getStorage(req) {
|
|
|
62
62
|
if (!env) {
|
|
63
63
|
throw new Error('No environment found in request. Ensure you are running in edge runtime.');
|
|
64
64
|
}
|
|
65
|
+
// Check for HTTP proxy marker (set by platform-config module in preview mode)
|
|
66
|
+
if (env.__STORAGE_HTTP_PROXY__) {
|
|
67
|
+
const proxyOptions = env.__STORAGE_HTTP_PROXY__;
|
|
68
|
+
console.log('[PLATFORM-SDK] Using HTTPProxyR2 with deployment URL:', proxyOptions.deploymentUrl);
|
|
69
|
+
return new HTTPProxyR2(proxyOptions);
|
|
70
|
+
}
|
|
65
71
|
// Check for R2 binding
|
|
66
72
|
if (!env.STORAGE) {
|
|
67
73
|
throw new Error('No R2 bucket binding found. Add an R2 bucket binding named "STORAGE" to your wrangler.jsonc');
|
package/dist/r2/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/r2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/r2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,YAAY,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AAKjE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,GAA2E;IAE3E,IAAI,GAAqC,CAAC;IAE1C,2DAA2D;IAC3D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,6EAA6E;gBAC3E,qHAAqH,CACxH,CAAC;QACJ,CAAC;QACD,GAAG,GAAG,cAAc,EAA0B,CAAC;IACjD,CAAC;SAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;SAAM,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QAC5B,oBAAoB;QACpB,GAAG,GAAG,GAA2B,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,GAAG,GAAI,GAAW,CAAC,GAAG,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IAED,8EAA8E;IAC9E,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,GAAG,CAAC,sBAA4C,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,uDAAuD,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QACjG,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAE9C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE/D,KAAK,IAAI;YACP,gCAAgC;YAChC,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;QAEJ,KAAK,WAAW;YACd,sCAAsC;YACtC,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;QAEJ;YACE,OAAO,CAAC,IAAI,CAAC,6BAA6B,QAAQ,kCAAkC,CAAC,CAAC;YACtF,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,GAAyB;IACrD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAE9C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE/D;YACE,OAAO,CAAC,IAAI,CAAC,6BAA6B,QAAQ,kCAAkC,CAAC,CAAC;YACtF,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
import type { StorageProvider, StorageValue, PutOptions, PutResult, GetOptions, StorageObject, StorageMetadata, ListOptions, ListResult, PublicUrlOptions, SignedUrlOptions } from '../types';
|
|
8
|
+
export interface HTTPProxyR2Options {
|
|
9
|
+
/** Base URL of the deployed tile (e.g., https://tile-id.whatever.tube) */
|
|
10
|
+
deploymentUrl: string;
|
|
11
|
+
/** Optional auth token for authenticated requests */
|
|
12
|
+
authToken?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* HTTP Proxy R2 implementation
|
|
16
|
+
*
|
|
17
|
+
* All operations are proxied to the deployed tile's /proxy/storage/op endpoint.
|
|
18
|
+
*/
|
|
19
|
+
export declare class HTTPProxyR2 implements StorageProvider {
|
|
20
|
+
private deploymentUrl;
|
|
21
|
+
private authToken?;
|
|
22
|
+
private prefix;
|
|
23
|
+
constructor(options: HTTPProxyR2Options);
|
|
24
|
+
private proxyRequest;
|
|
25
|
+
/**
|
|
26
|
+
* Encode data to base64 for transmission
|
|
27
|
+
*/
|
|
28
|
+
private encodeData;
|
|
29
|
+
put(key: string, data: StorageValue, options?: PutOptions): Promise<PutResult>;
|
|
30
|
+
get(key: string, options?: GetOptions): Promise<StorageObject | null>;
|
|
31
|
+
delete(key: string): Promise<void>;
|
|
32
|
+
deleteMany(keys: string[]): Promise<void>;
|
|
33
|
+
exists(key: string): Promise<boolean>;
|
|
34
|
+
list(options?: ListOptions): Promise<ListResult>;
|
|
35
|
+
head(key: string): Promise<StorageMetadata | null>;
|
|
36
|
+
getPublicUrl(key: string, options?: PublicUrlOptions): string;
|
|
37
|
+
getSignedUrl(key: string, options?: SignedUrlOptions): Promise<string>;
|
|
38
|
+
copy(sourceKey: string, destinationKey: string): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=http-proxy-r2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-proxy-r2.d.ts","sourceRoot":"","sources":["../../../src/r2/providers/http-proxy-r2.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,eAAe;IACjD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAmB;gBAErB,OAAO,EAAE,kBAAkB;YAMzB,YAAY;IAiC1B;;OAEG;YACW,UAAU;IA8ClB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAU9E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAkDrE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAKhD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAexD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAQvD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAItE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQrE"}
|
|
@@ -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":"AAAA;;;;;GAKG;AAuBH;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACd,aAAa,CAAS;IACtB,SAAS,CAAU;IACnB,MAAM,GAAG,eAAe,CAAC;IAEjC,YAAY,OAA2B;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;QACvF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,qCAAqC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAA+B;QACxE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,mBAAmB,CAAC;QACrD,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkB,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACtE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,IAAkB;QACzC,IAAI,UAAsB,CAAC;QAE3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,+BAA+B;YAC/B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;YAC1C,+BAA+B;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,MAAM,GAAiB,EAAE,CAAC;YAChC,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEjC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;YAEf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YACzB,CAAC;YAED,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YACvC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;YACtC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,+BAA+B;QAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACxC,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAkB,EAAE,OAAoB;QAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC5C,GAAG;YACH,KAAK,EAAE,WAAW;YAClB,OAAO;SACR,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,OAAoB;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qBAAqB;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,GAAQ,UAAU,CAAC,MAAM,CAAC;QAClC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,MAAM;oBACT,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,aAAa;oBAChB,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;oBACzB,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,GAAG,IAAI,cAAc,CAAC;wBACxB,KAAK,CAAC,UAAU;4BACd,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;4BAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;wBACrB,CAAC;qBACF,CAAC,CAAC;oBACH,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI;YACJ,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAc;QAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,QAAQ,KAAK,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAqB;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,OAA0B;QAClD,0EAA0E;QAC1E,MAAM,OAAO,GAAG,OAAO,EAAE,SAAS,IAAI,GAAG,IAAI,CAAC,aAAa,UAAU,CAAC;QACtE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,OAA0B;QACxD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,cAAsB;QAClD,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAoB,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -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"}
|
|
@@ -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;AAEvE,oBAAoB;AACpB,oCAAoC;AACpC,gDAAgD"}
|
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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"}
|