@thewhateverapp/platform 0.7.20 → 0.7.22
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 +18 -6
- package/dist/ai/index.js.map +1 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +23 -6
- package/dist/database/index.js.map +1 -1
- package/dist/kv/index.d.ts.map +1 -1
- package/dist/kv/index.js +23 -6
- package/dist/kv/index.js.map +1 -1
- package/dist/r2/index.d.ts.map +1 -1
- package/dist/r2/index.js +23 -6
- package/dist/r2/index.js.map +1 -1
- package/package.json +1 -1
package/dist/ai/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,KAAK,EAIN,MAAM,SAAS,CAAC;AAGjB,mBAAmB,SAAS,CAAC;AAK7B;;;;;;;GAOG;AACH,wBAAsB,KAAK,CACzB,GAAG,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,KAAK,CAAA;CAAE,GAAG,KAAK,GACvC,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,KAAK,EAIN,MAAM,SAAS,CAAC;AAGjB,mBAAmB,SAAS,CAAC;AAK7B;;;;;;;GAOG;AACH,wBAAsB,KAAK,CACzB,GAAG,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,KAAK,CAAA;CAAE,GAAG,KAAK,GACvC,OAAO,CAAC,iBAAiB,CAAC,CAmD5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAGvF"}
|
package/dist/ai/index.js
CHANGED
|
@@ -46,13 +46,25 @@ export async function getAI(req) {
|
|
|
46
46
|
// If no argument provided, try to get context from OpenNext
|
|
47
47
|
if (!req) {
|
|
48
48
|
try {
|
|
49
|
-
//
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
// Import getCloudflareContext from @opennextjs/cloudflare
|
|
50
|
+
// This is available in OpenNext apps running on Cloudflare Workers
|
|
51
|
+
// @ts-ignore - dynamic import, only available at runtime in OpenNext apps
|
|
52
|
+
const { getCloudflareContext } = await import('@opennextjs/cloudflare');
|
|
53
|
+
// Try sync first (works in production worker context)
|
|
54
|
+
let context;
|
|
55
|
+
try {
|
|
56
|
+
context = getCloudflareContext();
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Fall back to async if sync fails (e.g., during SSG or Node.js context)
|
|
60
|
+
context = await getCloudflareContext({ async: true });
|
|
61
|
+
}
|
|
62
|
+
env = context.env;
|
|
53
63
|
}
|
|
54
|
-
catch {
|
|
55
|
-
|
|
64
|
+
catch (error) {
|
|
65
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
66
|
+
throw new Error(`getAI() failed: ${errMsg}. ` +
|
|
67
|
+
'In API routes, you can pass env directly: getAI({ env: getCloudflareContext().env })');
|
|
56
68
|
}
|
|
57
69
|
}
|
|
58
70
|
else if ('env' in req) {
|
package/dist/ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAcH,2BAA2B;AAC3B,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,GAAwC;IAExC,IAAI,GAAsB,CAAC;IAE3B,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIhF,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,GAAG,CAAC,EAAE,eAAe,GAAG;IAAE,GAAG,EAAE,aAAa,CAAA;CAAE,GAAG,aAAa,GAC7D,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIhF,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,GAAG,CAAC,EAAE,eAAe,GAAG;IAAE,GAAG,EAAE,aAAa,CAAA;CAAE,GAAG,aAAa,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CAsF3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,CAenE"}
|
package/dist/database/index.js
CHANGED
|
@@ -34,14 +34,31 @@ export async function getDatabase(req) {
|
|
|
34
34
|
// If no argument provided, try to get context from OpenNext
|
|
35
35
|
if (!req) {
|
|
36
36
|
try {
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
37
|
+
// Import getCloudflareContext from @opennextjs/cloudflare
|
|
38
|
+
// This is available in OpenNext apps running on Cloudflare Workers
|
|
39
|
+
// @ts-ignore - dynamic import, only available at runtime in OpenNext apps
|
|
40
|
+
const { getCloudflareContext } = await import('@opennextjs/cloudflare');
|
|
41
|
+
// Try sync first (works in production worker context)
|
|
42
|
+
let context;
|
|
43
|
+
try {
|
|
44
|
+
context = getCloudflareContext();
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Fall back to async if sync fails (e.g., during SSG or Node.js context)
|
|
48
|
+
context = await getCloudflareContext({ async: true });
|
|
49
|
+
}
|
|
50
|
+
env = context.env;
|
|
51
|
+
// Validate that DB is actually a D1Database with expected methods
|
|
52
|
+
if (env.DB && typeof env.DB.exec !== 'function') {
|
|
53
|
+
console.error('[Platform SDK] env.DB exists but is not a valid D1Database:', typeof env.DB);
|
|
54
|
+
throw new Error(`DB binding exists but is not a valid D1Database. Got type: ${typeof env.DB}. ` +
|
|
55
|
+
'This may be a configuration issue with OpenNext or wrangler.json bindings.');
|
|
56
|
+
}
|
|
42
57
|
}
|
|
43
58
|
catch (error) {
|
|
44
|
-
|
|
59
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
60
|
+
throw new Error(`getDatabase() failed: ${errMsg}. ` +
|
|
61
|
+
'In API routes, you can pass env directly: getDatabase({ env: getCloudflareContext().env })');
|
|
45
62
|
}
|
|
46
63
|
}
|
|
47
64
|
else if ('env' in req) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKrC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAA8D;IAE9D,IAAI,GAA8B,CAAC;IAEnC,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}
|
package/dist/kv/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kv/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAItE,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,eAAe,CAAA;CAAE,GAAG,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kv/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAItE,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,eAAe,CAAA;CAAE,GAAG,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAgF7G;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,UAAU,CAezD"}
|
package/dist/kv/index.js
CHANGED
|
@@ -38,14 +38,31 @@ export async function getKV(req) {
|
|
|
38
38
|
// If no argument provided, try to get context from OpenNext
|
|
39
39
|
if (!req) {
|
|
40
40
|
try {
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
41
|
+
// Import getCloudflareContext from @opennextjs/cloudflare
|
|
42
|
+
// This is available in OpenNext apps running on Cloudflare Workers
|
|
43
|
+
// @ts-ignore - dynamic import, only available at runtime in OpenNext apps
|
|
44
|
+
const { getCloudflareContext } = await import('@opennextjs/cloudflare');
|
|
45
|
+
// Try sync first (works in production worker context)
|
|
46
|
+
let context;
|
|
47
|
+
try {
|
|
48
|
+
context = getCloudflareContext();
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// Fall back to async if sync fails (e.g., during SSG or Node.js context)
|
|
52
|
+
context = await getCloudflareContext({ async: true });
|
|
53
|
+
}
|
|
54
|
+
env = context.env;
|
|
55
|
+
// Validate that KV is actually a KVNamespace with expected methods
|
|
56
|
+
if (env.KV && typeof env.KV.put !== 'function') {
|
|
57
|
+
console.error('[Platform SDK] env.KV exists but is not a valid KVNamespace:', typeof env.KV, env.KV);
|
|
58
|
+
throw new Error(`KV binding exists but is not a valid KVNamespace. Got type: ${typeof env.KV}. ` +
|
|
59
|
+
'This may be a configuration issue with OpenNext or wrangler.json bindings.');
|
|
60
|
+
}
|
|
46
61
|
}
|
|
47
62
|
catch (error) {
|
|
48
|
-
|
|
63
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
64
|
+
throw new Error(`getKV() failed: ${errMsg}. ` +
|
|
65
|
+
'In API routes, you can pass env directly: getKV({ env: getCloudflareContext().env })');
|
|
49
66
|
}
|
|
50
67
|
}
|
|
51
68
|
else if ('env' in req) {
|
package/dist/kv/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kv/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAA4D;IACtF,IAAI,GAAgC,CAAC;IAErC,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kv/index.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;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIrF,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC9B,GAAG,CAAC,EAAE,cAAc,GAAG;IAAE,GAAG,EAAE,oBAAoB,CAAA;CAAE,GAAG,oBAAoB,GAC1E,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/r2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIrF,mBAAmB,SAAS,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC9B,GAAG,CAAC,EAAE,cAAc,GAAG;IAAE,GAAG,EAAE,oBAAoB,CAAA;CAAE,GAAG,oBAAoB,GAC1E,OAAO,CAAC,eAAe,CAAC,CAgF1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,eAAe,CAexE"}
|
package/dist/r2/index.js
CHANGED
|
@@ -38,14 +38,31 @@ export async function getStorage(req) {
|
|
|
38
38
|
// If no argument provided, try to get context from OpenNext
|
|
39
39
|
if (!req) {
|
|
40
40
|
try {
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
41
|
+
// Import getCloudflareContext from @opennextjs/cloudflare
|
|
42
|
+
// This is available in OpenNext apps running on Cloudflare Workers
|
|
43
|
+
// @ts-ignore - dynamic import, only available at runtime in OpenNext apps
|
|
44
|
+
const { getCloudflareContext } = await import('@opennextjs/cloudflare');
|
|
45
|
+
// Try sync first (works in production worker context)
|
|
46
|
+
let context;
|
|
47
|
+
try {
|
|
48
|
+
context = getCloudflareContext();
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// Fall back to async if sync fails (e.g., during SSG or Node.js context)
|
|
52
|
+
context = await getCloudflareContext({ async: true });
|
|
53
|
+
}
|
|
54
|
+
env = context.env;
|
|
55
|
+
// Validate that STORAGE is actually an R2Bucket with expected methods
|
|
56
|
+
if (env.STORAGE && typeof env.STORAGE.put !== 'function') {
|
|
57
|
+
console.error('[Platform SDK] env.STORAGE exists but is not a valid R2Bucket:', typeof env.STORAGE);
|
|
58
|
+
throw new Error(`STORAGE binding exists but is not a valid R2Bucket. Got type: ${typeof env.STORAGE}. ` +
|
|
59
|
+
'This may be a configuration issue with OpenNext or wrangler.json bindings.');
|
|
60
|
+
}
|
|
46
61
|
}
|
|
47
62
|
catch (error) {
|
|
48
|
-
|
|
63
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
64
|
+
throw new Error(`getStorage() failed: ${errMsg}. ` +
|
|
65
|
+
'In API routes, you can pass env directly: getStorage({ env: getCloudflareContext().env })');
|
|
49
66
|
}
|
|
50
67
|
}
|
|
51
68
|
else if ('env' in req) {
|
package/dist/r2/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/r2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAA2E;IAE3E,IAAI,GAAqC,CAAC;IAE1C,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/r2/index.ts"],"names":[],"mappings":"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"}
|