alchemy 0.84.0 → 0.85.1
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/bin/alchemy.js +32 -23
- package/lib/cloudflare/account-api-token.d.ts +5 -0
- package/lib/cloudflare/account-api-token.d.ts.map +1 -1
- package/lib/cloudflare/account-api-token.js +13 -2
- package/lib/cloudflare/account-api-token.js.map +1 -1
- package/lib/cloudflare/ai-crawler.d.ts +27 -0
- package/lib/cloudflare/ai-crawler.d.ts.map +1 -0
- package/lib/cloudflare/ai-crawler.js +75 -0
- package/lib/cloudflare/ai-crawler.js.map +1 -0
- package/lib/cloudflare/ai-search-token.d.ts +150 -0
- package/lib/cloudflare/ai-search-token.d.ts.map +1 -0
- package/lib/cloudflare/ai-search-token.js +171 -0
- package/lib/cloudflare/ai-search-token.js.map +1 -0
- package/lib/cloudflare/ai-search.d.ts +397 -0
- package/lib/cloudflare/ai-search.d.ts.map +1 -0
- package/lib/cloudflare/ai-search.js +307 -0
- package/lib/cloudflare/ai-search.js.map +1 -0
- package/lib/cloudflare/api-error.d.ts +11 -0
- package/lib/cloudflare/api-error.d.ts.map +1 -1
- package/lib/cloudflare/api-error.js +11 -0
- package/lib/cloudflare/api-error.js.map +1 -1
- package/lib/cloudflare/api.js +1 -1
- package/lib/cloudflare/api.js.map +1 -1
- package/lib/cloudflare/auth.d.ts +3 -2
- package/lib/cloudflare/auth.d.ts.map +1 -1
- package/lib/cloudflare/auth.js +17 -14
- package/lib/cloudflare/auth.js.map +1 -1
- package/lib/cloudflare/bindings.d.ts +12 -2
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/bindings.js.map +1 -1
- package/lib/cloudflare/bound.d.ts +2 -1
- package/lib/cloudflare/bound.d.ts.map +1 -1
- package/lib/cloudflare/bucket-custom-domain.d.ts.map +1 -1
- package/lib/cloudflare/bucket-custom-domain.js +4 -2
- package/lib/cloudflare/bucket-custom-domain.js.map +1 -1
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js +8 -2
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/d1-database.d.ts.map +1 -1
- package/lib/cloudflare/d1-database.js +9 -1
- package/lib/cloudflare/d1-database.js.map +1 -1
- package/lib/cloudflare/index.d.ts +4 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +4 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/build-worker-options.js +15 -0
- package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-controller.d.ts +1 -1
- package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +41 -3
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
- package/lib/cloudflare/permission-groups.d.ts +5 -0
- package/lib/cloudflare/permission-groups.d.ts.map +1 -1
- package/lib/cloudflare/permission-groups.js +6 -0
- package/lib/cloudflare/permission-groups.js.map +1 -1
- package/lib/cloudflare/vpc-service.d.ts +288 -0
- package/lib/cloudflare/vpc-service.d.ts.map +1 -0
- package/lib/cloudflare/vpc-service.js +238 -0
- package/lib/cloudflare/vpc-service.js.map +1 -0
- package/lib/cloudflare/worker-metadata.d.ts +1 -0
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
- package/lib/cloudflare/worker-metadata.js +8 -0
- package/lib/cloudflare/worker-metadata.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +9 -0
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +9 -0
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/planetscale/api/sdk.gen.d.ts +874 -190
- package/lib/planetscale/api/sdk.gen.d.ts.map +1 -1
- package/lib/planetscale/api/sdk.gen.js +1250 -306
- package/lib/planetscale/api/sdk.gen.js.map +1 -1
- package/lib/planetscale/api/types.gen.d.ts +8241 -4128
- package/lib/planetscale/api/types.gen.d.ts.map +1 -1
- package/lib/planetscale/branch.js +4 -4
- package/lib/planetscale/branch.js.map +1 -1
- package/lib/planetscale/database.d.ts +43 -24
- package/lib/planetscale/database.d.ts.map +1 -1
- package/lib/planetscale/database.js +39 -18
- package/lib/planetscale/database.js.map +1 -1
- package/lib/planetscale/default-role.d.ts +51 -0
- package/lib/planetscale/default-role.d.ts.map +1 -0
- package/lib/planetscale/default-role.js +100 -0
- package/lib/planetscale/default-role.js.map +1 -0
- package/lib/planetscale/index.d.ts +1 -0
- package/lib/planetscale/index.d.ts.map +1 -1
- package/lib/planetscale/index.js +1 -0
- package/lib/planetscale/index.js.map +1 -1
- package/lib/planetscale/organization.js +1 -1
- package/lib/planetscale/organization.js.map +1 -1
- package/lib/planetscale/role.d.ts +1 -1
- package/lib/planetscale/role.d.ts.map +1 -1
- package/lib/planetscale/role.js +1 -1
- package/lib/planetscale/role.js.map +1 -1
- package/lib/planetscale/utils.d.ts +1 -1
- package/lib/planetscale/utils.d.ts.map +1 -1
- package/lib/planetscale/utils.js +9 -10
- package/lib/planetscale/utils.js.map +1 -1
- package/lib/scope.d.ts +1 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +10 -5
- package/lib/scope.js.map +1 -1
- package/lib/state/sqlite-state-store.js +2 -0
- package/lib/state/sqlite-state-store.js.map +1 -1
- package/lib/test/bun.d.ts +17 -0
- package/lib/test/bun.d.ts.map +1 -1
- package/lib/test/bun.js +1 -0
- package/lib/test/bun.js.map +1 -1
- package/lib/test/vitest.d.ts +17 -0
- package/lib/test/vitest.d.ts.map +1 -1
- package/lib/test/vitest.js +3 -0
- package/lib/test/vitest.js.map +1 -1
- package/lib/util/snake-to-camel.d.ts +21 -0
- package/lib/util/snake-to-camel.d.ts.map +1 -0
- package/lib/util/snake-to-camel.js +34 -0
- package/lib/util/snake-to-camel.js.map +1 -0
- package/package.json +2 -2
- package/src/cloudflare/account-api-token.ts +23 -6
- package/src/cloudflare/ai-crawler.ts +89 -0
- package/src/cloudflare/ai-search-token.ts +324 -0
- package/src/cloudflare/ai-search.ts +952 -0
- package/src/cloudflare/api-error.ts +19 -0
- package/src/cloudflare/api.ts +1 -1
- package/src/cloudflare/auth.ts +17 -14
- package/src/cloudflare/bindings.ts +15 -2
- package/src/cloudflare/bound.ts +6 -3
- package/src/cloudflare/bucket-custom-domain.ts +4 -1
- package/src/cloudflare/bucket.ts +9 -2
- package/src/cloudflare/d1-database.ts +11 -4
- package/src/cloudflare/index.ts +4 -0
- package/src/cloudflare/miniflare/build-worker-options.ts +30 -18
- package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +47 -2
- package/src/cloudflare/permission-groups.ts +6 -0
- package/src/cloudflare/vpc-service.ts +466 -0
- package/src/cloudflare/worker-metadata.ts +8 -0
- package/src/cloudflare/worker.ts +9 -0
- package/src/cloudflare/wrangler.json.ts +8 -0
- package/src/planetscale/api/sdk.gen.ts +2331 -987
- package/src/planetscale/api/types.gen.ts +8980 -4574
- package/src/planetscale/branch.ts +4 -4
- package/src/planetscale/database.ts +87 -46
- package/src/planetscale/default-role.ts +162 -0
- package/src/planetscale/index.ts +1 -0
- package/src/planetscale/organization.ts +1 -1
- package/src/planetscale/role.ts +3 -2
- package/src/planetscale/utils.ts +10 -10
- package/src/scope.ts +14 -5
- package/src/state/sqlite-state-store.ts +2 -0
- package/src/test/bun.ts +25 -0
- package/src/test/vitest.ts +33 -0
- package/src/util/snake-to-camel.ts +59 -0
- package/workers/tunnel-proxy.js +1 -1
package/src/test/vitest.ts
CHANGED
|
@@ -55,6 +55,29 @@ type test = {
|
|
|
55
55
|
* @param condition If true, test will be skipped
|
|
56
56
|
*/
|
|
57
57
|
skipIf(condition: boolean): test;
|
|
58
|
+
skip: {
|
|
59
|
+
/**
|
|
60
|
+
* Create a test with default options
|
|
61
|
+
* @param name Test name
|
|
62
|
+
* @param fn Test function
|
|
63
|
+
* @param timeout Optional timeout in milliseconds
|
|
64
|
+
*/
|
|
65
|
+
(name: string, fn: (scope: Scope) => Promise<any>, timeout?: number): void;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Create a test with custom options
|
|
69
|
+
* @param name Test name
|
|
70
|
+
* @param options Test configuration options
|
|
71
|
+
* @param fn Test function
|
|
72
|
+
* @param timeout Optional timeout in milliseconds
|
|
73
|
+
*/
|
|
74
|
+
(
|
|
75
|
+
name: string,
|
|
76
|
+
options: TestOptions,
|
|
77
|
+
fn: (scope: Scope) => Promise<any>,
|
|
78
|
+
timeout?: number,
|
|
79
|
+
): void;
|
|
80
|
+
};
|
|
58
81
|
|
|
59
82
|
beforeAll(fn: (scope: Scope) => Promise<void>, timeout?: number): void;
|
|
60
83
|
|
|
@@ -125,6 +148,16 @@ export function test(
|
|
|
125
148
|
}
|
|
126
149
|
return test;
|
|
127
150
|
};
|
|
151
|
+
test.skip = (
|
|
152
|
+
...args:
|
|
153
|
+
| [
|
|
154
|
+
name: string,
|
|
155
|
+
options: TestOptions,
|
|
156
|
+
fn: (scope: Scope) => Promise<void>,
|
|
157
|
+
]
|
|
158
|
+
| [name: string, fn: (scope: Scope) => Promise<void>]
|
|
159
|
+
// @ts-expect-error
|
|
160
|
+
) => it.skip(...args);
|
|
128
161
|
|
|
129
162
|
const scope = new Scope({
|
|
130
163
|
parent: undefined,
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a snake_case string to camelCase.
|
|
3
|
+
* @example "account_id" -> "accountId", "created_at" -> "createdAt"
|
|
4
|
+
*/
|
|
5
|
+
export function snakeToCamelString(s: string): string {
|
|
6
|
+
return s.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Recursively convert an object's keys from snake_case to camelCase.
|
|
11
|
+
* Arrays and nested objects are traversed; primitives, Date, and RegExp are returned as-is.
|
|
12
|
+
*/
|
|
13
|
+
export function snakeToCamelObjectDeep<T>(obj: T): SnakeToCamel<T> {
|
|
14
|
+
if (obj === undefined || obj === null) {
|
|
15
|
+
return obj as SnakeToCamel<T>;
|
|
16
|
+
}
|
|
17
|
+
if (typeof obj !== "object") {
|
|
18
|
+
return obj as SnakeToCamel<T>;
|
|
19
|
+
}
|
|
20
|
+
if (obj instanceof RegExp || obj instanceof Date) {
|
|
21
|
+
return obj as SnakeToCamel<T>;
|
|
22
|
+
}
|
|
23
|
+
if (Array.isArray(obj)) {
|
|
24
|
+
return obj.map(snakeToCamelObjectDeep) as SnakeToCamel<T>;
|
|
25
|
+
}
|
|
26
|
+
return Object.fromEntries(
|
|
27
|
+
Object.entries(obj).map(([key, value]) => [
|
|
28
|
+
snakeToCamelString(key),
|
|
29
|
+
typeof value === "object" && value !== null && !Array.isArray(value)
|
|
30
|
+
? snakeToCamelObjectDeep(value)
|
|
31
|
+
: Array.isArray(value)
|
|
32
|
+
? value.map(snakeToCamelObjectDeep)
|
|
33
|
+
: value,
|
|
34
|
+
]),
|
|
35
|
+
) as SnakeToCamel<T>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Convert a snake_case string to camelCase at the type level.
|
|
40
|
+
*/
|
|
41
|
+
export type SnakeToCamelString<S extends string> =
|
|
42
|
+
S extends `${infer A}_${infer B}`
|
|
43
|
+
? `${A}${Capitalize<SnakeToCamelString<B>>}`
|
|
44
|
+
: S;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Recursively convert an object type's keys from snake_case to camelCase.
|
|
48
|
+
*/
|
|
49
|
+
export type SnakeToCamel<T> = T extends object
|
|
50
|
+
? T extends Array<infer U>
|
|
51
|
+
? Array<SnakeToCamel<U>>
|
|
52
|
+
: T extends Date | RegExp | Function
|
|
53
|
+
? T
|
|
54
|
+
: {
|
|
55
|
+
[K in keyof T as K extends string
|
|
56
|
+
? SnakeToCamelString<K>
|
|
57
|
+
: K]: SnakeToCamel<T[K]>;
|
|
58
|
+
}
|
|
59
|
+
: T;
|
package/workers/tunnel-proxy.js
CHANGED
|
@@ -83,7 +83,7 @@ const renderErrorHtml = (props) => `
|
|
|
83
83
|
Alchemy</a>.</p>
|
|
84
84
|
</div>
|
|
85
85
|
<div class="bg-slate-200 px-5 py-3 flex flex-col w-full max-w-lg">
|
|
86
|
-
<p class="text-sm text-slate-500">Alchemy 0.
|
|
86
|
+
<p class="text-sm text-slate-500">Alchemy 0.85.1</p>
|
|
87
87
|
</div>
|
|
88
88
|
</div>
|
|
89
89
|
</body>
|