alchemy 0.84.0 → 0.85.0

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 (97) hide show
  1. package/bin/alchemy.js +1 -1
  2. package/lib/cloudflare/api-error.d.ts +11 -0
  3. package/lib/cloudflare/api-error.d.ts.map +1 -1
  4. package/lib/cloudflare/api-error.js +11 -0
  5. package/lib/cloudflare/api-error.js.map +1 -1
  6. package/lib/cloudflare/api.js +1 -1
  7. package/lib/cloudflare/api.js.map +1 -1
  8. package/lib/cloudflare/bindings.d.ts +12 -2
  9. package/lib/cloudflare/bindings.d.ts.map +1 -1
  10. package/lib/cloudflare/bindings.js.map +1 -1
  11. package/lib/cloudflare/bound.d.ts +2 -1
  12. package/lib/cloudflare/bound.d.ts.map +1 -1
  13. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  14. package/lib/cloudflare/d1-database.js +9 -1
  15. package/lib/cloudflare/d1-database.js.map +1 -1
  16. package/lib/cloudflare/index.d.ts +1 -0
  17. package/lib/cloudflare/index.d.ts.map +1 -1
  18. package/lib/cloudflare/index.js +1 -0
  19. package/lib/cloudflare/index.js.map +1 -1
  20. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
  21. package/lib/cloudflare/miniflare/build-worker-options.js +15 -0
  22. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -1
  23. package/lib/cloudflare/miniflare/miniflare-controller.d.ts +1 -1
  24. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
  25. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  26. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +41 -3
  27. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  28. package/lib/cloudflare/vpc-service.d.ts +288 -0
  29. package/lib/cloudflare/vpc-service.d.ts.map +1 -0
  30. package/lib/cloudflare/vpc-service.js +238 -0
  31. package/lib/cloudflare/vpc-service.js.map +1 -0
  32. package/lib/cloudflare/worker-metadata.d.ts +1 -0
  33. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  34. package/lib/cloudflare/worker-metadata.js +8 -0
  35. package/lib/cloudflare/worker-metadata.js.map +1 -1
  36. package/lib/cloudflare/worker.d.ts +9 -0
  37. package/lib/cloudflare/worker.d.ts.map +1 -1
  38. package/lib/cloudflare/worker.js.map +1 -1
  39. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  40. package/lib/cloudflare/wrangler.json.js +9 -0
  41. package/lib/cloudflare/wrangler.json.js.map +1 -1
  42. package/lib/planetscale/api/sdk.gen.d.ts +874 -190
  43. package/lib/planetscale/api/sdk.gen.d.ts.map +1 -1
  44. package/lib/planetscale/api/sdk.gen.js +1250 -306
  45. package/lib/planetscale/api/sdk.gen.js.map +1 -1
  46. package/lib/planetscale/api/types.gen.d.ts +8241 -4128
  47. package/lib/planetscale/api/types.gen.d.ts.map +1 -1
  48. package/lib/planetscale/branch.js +4 -4
  49. package/lib/planetscale/branch.js.map +1 -1
  50. package/lib/planetscale/database.d.ts +43 -24
  51. package/lib/planetscale/database.d.ts.map +1 -1
  52. package/lib/planetscale/database.js +39 -18
  53. package/lib/planetscale/database.js.map +1 -1
  54. package/lib/planetscale/default-role.d.ts +51 -0
  55. package/lib/planetscale/default-role.d.ts.map +1 -0
  56. package/lib/planetscale/default-role.js +100 -0
  57. package/lib/planetscale/default-role.js.map +1 -0
  58. package/lib/planetscale/index.d.ts +1 -0
  59. package/lib/planetscale/index.d.ts.map +1 -1
  60. package/lib/planetscale/index.js +1 -0
  61. package/lib/planetscale/index.js.map +1 -1
  62. package/lib/planetscale/organization.js +1 -1
  63. package/lib/planetscale/organization.js.map +1 -1
  64. package/lib/planetscale/role.d.ts +1 -1
  65. package/lib/planetscale/role.d.ts.map +1 -1
  66. package/lib/planetscale/role.js +1 -1
  67. package/lib/planetscale/role.js.map +1 -1
  68. package/lib/planetscale/utils.d.ts +1 -1
  69. package/lib/planetscale/utils.d.ts.map +1 -1
  70. package/lib/planetscale/utils.js +9 -10
  71. package/lib/planetscale/utils.js.map +1 -1
  72. package/lib/state/sqlite-state-store.js +2 -0
  73. package/lib/state/sqlite-state-store.js.map +1 -1
  74. package/package.json +2 -2
  75. package/src/cloudflare/api-error.ts +19 -0
  76. package/src/cloudflare/api.ts +1 -1
  77. package/src/cloudflare/bindings.ts +15 -2
  78. package/src/cloudflare/bound.ts +6 -3
  79. package/src/cloudflare/d1-database.ts +11 -4
  80. package/src/cloudflare/index.ts +1 -0
  81. package/src/cloudflare/miniflare/build-worker-options.ts +30 -18
  82. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +47 -2
  83. package/src/cloudflare/vpc-service.ts +466 -0
  84. package/src/cloudflare/worker-metadata.ts +8 -0
  85. package/src/cloudflare/worker.ts +9 -0
  86. package/src/cloudflare/wrangler.json.ts +8 -0
  87. package/src/planetscale/api/sdk.gen.ts +2331 -987
  88. package/src/planetscale/api/types.gen.ts +8980 -4574
  89. package/src/planetscale/branch.ts +4 -4
  90. package/src/planetscale/database.ts +87 -46
  91. package/src/planetscale/default-role.ts +162 -0
  92. package/src/planetscale/index.ts +1 -0
  93. package/src/planetscale/organization.ts +1 -1
  94. package/src/planetscale/role.ts +3 -2
  95. package/src/planetscale/utils.ts +10 -10
  96. package/src/state/sqlite-state-store.ts +2 -0
  97. package/workers/tunnel-proxy.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare-worker-proxy.js","sourceRoot":"","sources":["../../../src/cloudflare/miniflare/miniflare-worker-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniflare-worker-proxy.js","sourceRoot":"","sources":["../../../src/cloudflare/miniflare/miniflare-worker-proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,288 @@
1
+ import type { Context } from "../context";
2
+ import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
3
+ import type { Tunnel } from "./tunnel.ts";
4
+ /**
5
+ * Properties for creating or updating a VPC service.
6
+ */
7
+ export interface VpcServiceProps extends CloudflareApiOptions {
8
+ /**
9
+ * The name of the VPC service to create.
10
+ *
11
+ * @default ${app}-${stage}-${id}
12
+ */
13
+ name?: string;
14
+ /**
15
+ * The type of the VPC service. Currently only "http" is supported, but tcp will be supported in the future.
16
+ *
17
+ * @default "http"
18
+ */
19
+ serviceType?: "http";
20
+ /**
21
+ * The TCP port for the VPC service.
22
+ */
23
+ tcpPort?: number;
24
+ /**
25
+ * The application protocol for the VPC service.
26
+ */
27
+ appProtocol?: string;
28
+ /**
29
+ * The HTTP port for the VPC service.
30
+ *
31
+ * @default 80
32
+ */
33
+ httpPort?: number;
34
+ /**
35
+ * The HTTPS port for the VPC service.
36
+ *
37
+ * @default 443
38
+ */
39
+ httpsPort?: number;
40
+ /**
41
+ * The host for the VPC service.
42
+ */
43
+ host: VpcService.IPv4Host | VpcService.IPv6Host | VpcService.DualStackHost | VpcService.HostnameHost;
44
+ /**
45
+ * Whether to adopt the VPC service if it already exists.
46
+ *
47
+ * @default false
48
+ */
49
+ adopt?: boolean;
50
+ }
51
+ export declare namespace VpcService {
52
+ /** Host definition: hostname (with resolver network) or IPv4/IPv6/dual-stack with network. */
53
+ type Host = IPv4Host | IPv6Host | DualStackHost | HostnameHost;
54
+ /**
55
+ * Represents a VPC service that is accessible via an IPv4 address.
56
+ */
57
+ interface IPv4Host {
58
+ ipv4: string;
59
+ network: Network;
60
+ }
61
+ /**
62
+ * Represents a VPC service that is accessible via an IPv6 address.
63
+ */
64
+ interface IPv6Host {
65
+ ipv6: string;
66
+ network: Network;
67
+ }
68
+ /**
69
+ * Represents a VPC service that is accessible via both IPv4 and IPv6 addresses.
70
+ */
71
+ interface DualStackHost {
72
+ ipv4: string;
73
+ ipv6: string;
74
+ network: Network;
75
+ }
76
+ /**
77
+ * Network the VPC service is reached through. Use a `Tunnel` resource or an existing `tunnelId`.
78
+ */
79
+ type Network = {
80
+ tunnelId: string;
81
+ } | {
82
+ tunnel: Tunnel;
83
+ };
84
+ /**
85
+ * Hostname-based host. DNS is resolved over the resolver network (tunnel).
86
+ * Optionally specify `resolverIps` for explicit DNS resolver IPs.
87
+ */
88
+ interface HostnameHost {
89
+ hostname: string;
90
+ resolverNetwork: Network & {
91
+ resolverIps?: string[];
92
+ };
93
+ }
94
+ }
95
+ /**
96
+ * A VPC service instance. Bind to a Worker to allow the Worker to fetch from
97
+ * the private host (hostname or IP) over the configured tunnel.
98
+ */
99
+ export type VpcService = Omit<VpcServiceProps, "name" | "adopt"> & {
100
+ /** Display name of the service. */
101
+ name: string;
102
+ /** Cloudflare-assigned service ID. */
103
+ serviceId: string;
104
+ /** Creation time (Unix ms). */
105
+ createdAt: number;
106
+ /** Last update time (Unix ms). */
107
+ updatedAt: number;
108
+ /** Resource kind for bindings. */
109
+ type: "vpc_service";
110
+ };
111
+ /**
112
+ * Create or update a VPC service that routes Worker traffic to a private host
113
+ * (hostname or IP) through a Cloudflare Tunnel.
114
+ *
115
+ * [VPC Services](https://developers.cloudflare.com/workers-vpc/configuration/vpc-services/)
116
+ * enable Workers to securely access private network resources through Cloudflare Tunnel.
117
+ * Configure a host (hostname or IP) and optional ports, then bind the service to a Worker
118
+ * to reach private backends.
119
+ *
120
+ * @example
121
+ * // Minimal: hostname through a tunnel
122
+ * ```ts
123
+ * const tunnel = await Tunnel("my-tunnel", {
124
+ * ingress: [{ service: "http://localhost:3000" }],
125
+ * });
126
+ * const vpcService = await VpcService("my-service", {
127
+ * host: {
128
+ * hostname: "localhost",
129
+ * resolverNetwork: { tunnel, resolverIps: ["127.0.0.1"] },
130
+ * },
131
+ * });
132
+ * ```
133
+ *
134
+ * @example
135
+ * // IPv4 address
136
+ * ```ts
137
+ * const vpcService = await VpcService("internal-api", {
138
+ * host: {
139
+ * ipv4: "192.168.1.100",
140
+ * network: { tunnel },
141
+ * },
142
+ * });
143
+ * ```
144
+ *
145
+ * @example
146
+ * // IPv6 address
147
+ * ```ts
148
+ * const vpcService = await VpcService("ipv6-service", {
149
+ * host: { ipv6: "::1", network: { tunnel } },
150
+ * });
151
+ * ```
152
+ *
153
+ * @example
154
+ * // Dual stack (IPv4 + IPv6)
155
+ * ```ts
156
+ * const vpcService = await VpcService("dual-stack-service", {
157
+ * host: {
158
+ * ipv4: "192.168.1.100",
159
+ * ipv6: "::1",
160
+ * network: { tunnel },
161
+ * },
162
+ * });
163
+ * ```
164
+ *
165
+ * @example
166
+ * // Custom HTTP/HTTPS ports
167
+ * ```ts
168
+ * const vpcService = await VpcService("dev-server", {
169
+ * httpPort: 5173,
170
+ * httpsPort: 5174,
171
+ * host: {
172
+ * hostname: "localhost",
173
+ * resolverNetwork: { tunnel, resolverIps: ["127.0.0.1"] },
174
+ * },
175
+ * });
176
+ * ```
177
+ *
178
+ * @example
179
+ * // Bind to a Worker
180
+ * ```ts
181
+ * const vpcService = await VpcService("private-api", {
182
+ * httpPort: 8080,
183
+ * host: {
184
+ * hostname: "internal-api",
185
+ * resolverNetwork: { tunnel, resolverIps: ["10.0.0.1"] },
186
+ * },
187
+ * });
188
+ * const worker = await Worker("api-gateway", {
189
+ * entrypoint: "./src/worker.ts",
190
+ * bindings: { PRIVATE_API: vpcService },
191
+ * });
192
+ * ```
193
+ *
194
+ * @example
195
+ * // Existing tunnel by ID
196
+ * ```ts
197
+ * const vpcService = await VpcService("existing-tunnel-service", {
198
+ * host: {
199
+ * hostname: "internal.example.com",
200
+ * resolverNetwork: {
201
+ * tunnelId: "e6a0817c-79c5-40ca-9776-a1c019defe70",
202
+ * resolverIps: ["10.0.0.53"],
203
+ * },
204
+ * },
205
+ * });
206
+ * ```
207
+ *
208
+ * @example
209
+ * // Adopt an existing VPC service
210
+ * ```ts
211
+ * const vpcService = await VpcService("adopted-service", {
212
+ * name: "existing-service-name",
213
+ * adopt: true,
214
+ * host: {
215
+ * hostname: "localhost",
216
+ * resolverNetwork: { tunnel },
217
+ * },
218
+ * });
219
+ * ```
220
+ */
221
+ export declare const VpcService: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<VpcService>, id: string, props: VpcServiceProps) => Promise<VpcService>);
222
+ /**
223
+ * Create a connectivity (VPC) service via the Cloudflare API.
224
+ * @internal
225
+ */
226
+ export declare function createService(api: CloudflareApi, body: ConnectivityService.Input): Promise<ConnectivityService>;
227
+ /**
228
+ * Delete a connectivity (VPC) service. No-op if the service is already gone (404).
229
+ * @internal
230
+ */
231
+ export declare function deleteService(api: CloudflareApi, serviceId: string): Promise<void>;
232
+ /**
233
+ * Fetch a single connectivity (VPC) service by ID.
234
+ * @internal
235
+ */
236
+ export declare function getService(api: CloudflareApi, serviceId: string): Promise<ConnectivityService>;
237
+ /**
238
+ * List connectivity (VPC) services for the account.
239
+ * @internal
240
+ */
241
+ export declare function listServices(api: CloudflareApi): Promise<ConnectivityService[]>;
242
+ /**
243
+ * Update an existing connectivity (VPC) service.
244
+ * @internal
245
+ */
246
+ export declare function updateService(api: CloudflareApi, serviceId: string, body: ConnectivityService.Input): Promise<ConnectivityService>;
247
+ interface ConnectivityService extends ConnectivityService.Input {
248
+ service_id: string;
249
+ created_at: string;
250
+ updated_at: string;
251
+ }
252
+ declare namespace ConnectivityService {
253
+ interface Input {
254
+ name: string;
255
+ type: "http";
256
+ tcp_port?: number;
257
+ app_protocol?: string;
258
+ http_port?: number;
259
+ https_port?: number;
260
+ host: Host;
261
+ }
262
+ type Host = IPv4Host | IPv6Host | DualStackHost | HostnameHost;
263
+ interface IPv4Host {
264
+ ipv4: string;
265
+ network: Network;
266
+ }
267
+ interface IPv6Host {
268
+ ipv6: string;
269
+ network: Network;
270
+ }
271
+ interface DualStackHost {
272
+ ipv4: string;
273
+ ipv6: string;
274
+ network: Network;
275
+ }
276
+ interface Network {
277
+ tunnel_id: string;
278
+ }
279
+ interface HostnameHost {
280
+ hostname: string;
281
+ resolver_network: ResolverNetwork;
282
+ }
283
+ interface ResolverNetwork extends Network {
284
+ resolver_ips?: string[];
285
+ }
286
+ }
287
+ export {};
288
+ //# sourceMappingURL=vpc-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpc-service.d.ts","sourceRoot":"","sources":["../../src/cloudflare/vpc-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ import { Resource } from "../resource.js";
2
+ import { isCloudflareApiError } from "./api-error.js";
3
+ import { extractCloudflareResult } from "./api-response.js";
4
+ import { createCloudflareApi, } from "./api.js";
5
+ /**
6
+ * Create or update a VPC service that routes Worker traffic to a private host
7
+ * (hostname or IP) through a Cloudflare Tunnel.
8
+ *
9
+ * [VPC Services](https://developers.cloudflare.com/workers-vpc/configuration/vpc-services/)
10
+ * enable Workers to securely access private network resources through Cloudflare Tunnel.
11
+ * Configure a host (hostname or IP) and optional ports, then bind the service to a Worker
12
+ * to reach private backends.
13
+ *
14
+ * @example
15
+ * // Minimal: hostname through a tunnel
16
+ * ```ts
17
+ * const tunnel = await Tunnel("my-tunnel", {
18
+ * ingress: [{ service: "http://localhost:3000" }],
19
+ * });
20
+ * const vpcService = await VpcService("my-service", {
21
+ * host: {
22
+ * hostname: "localhost",
23
+ * resolverNetwork: { tunnel, resolverIps: ["127.0.0.1"] },
24
+ * },
25
+ * });
26
+ * ```
27
+ *
28
+ * @example
29
+ * // IPv4 address
30
+ * ```ts
31
+ * const vpcService = await VpcService("internal-api", {
32
+ * host: {
33
+ * ipv4: "192.168.1.100",
34
+ * network: { tunnel },
35
+ * },
36
+ * });
37
+ * ```
38
+ *
39
+ * @example
40
+ * // IPv6 address
41
+ * ```ts
42
+ * const vpcService = await VpcService("ipv6-service", {
43
+ * host: { ipv6: "::1", network: { tunnel } },
44
+ * });
45
+ * ```
46
+ *
47
+ * @example
48
+ * // Dual stack (IPv4 + IPv6)
49
+ * ```ts
50
+ * const vpcService = await VpcService("dual-stack-service", {
51
+ * host: {
52
+ * ipv4: "192.168.1.100",
53
+ * ipv6: "::1",
54
+ * network: { tunnel },
55
+ * },
56
+ * });
57
+ * ```
58
+ *
59
+ * @example
60
+ * // Custom HTTP/HTTPS ports
61
+ * ```ts
62
+ * const vpcService = await VpcService("dev-server", {
63
+ * httpPort: 5173,
64
+ * httpsPort: 5174,
65
+ * host: {
66
+ * hostname: "localhost",
67
+ * resolverNetwork: { tunnel, resolverIps: ["127.0.0.1"] },
68
+ * },
69
+ * });
70
+ * ```
71
+ *
72
+ * @example
73
+ * // Bind to a Worker
74
+ * ```ts
75
+ * const vpcService = await VpcService("private-api", {
76
+ * httpPort: 8080,
77
+ * host: {
78
+ * hostname: "internal-api",
79
+ * resolverNetwork: { tunnel, resolverIps: ["10.0.0.1"] },
80
+ * },
81
+ * });
82
+ * const worker = await Worker("api-gateway", {
83
+ * entrypoint: "./src/worker.ts",
84
+ * bindings: { PRIVATE_API: vpcService },
85
+ * });
86
+ * ```
87
+ *
88
+ * @example
89
+ * // Existing tunnel by ID
90
+ * ```ts
91
+ * const vpcService = await VpcService("existing-tunnel-service", {
92
+ * host: {
93
+ * hostname: "internal.example.com",
94
+ * resolverNetwork: {
95
+ * tunnelId: "e6a0817c-79c5-40ca-9776-a1c019defe70",
96
+ * resolverIps: ["10.0.0.53"],
97
+ * },
98
+ * },
99
+ * });
100
+ * ```
101
+ *
102
+ * @example
103
+ * // Adopt an existing VPC service
104
+ * ```ts
105
+ * const vpcService = await VpcService("adopted-service", {
106
+ * name: "existing-service-name",
107
+ * adopt: true,
108
+ * host: {
109
+ * hostname: "localhost",
110
+ * resolverNetwork: { tunnel },
111
+ * },
112
+ * });
113
+ * ```
114
+ */
115
+ export const VpcService = Resource("cloudflare::VpcService", async function (id, props) {
116
+ const api = await createCloudflareApi(props);
117
+ if (this.phase === "delete") {
118
+ if (this.output?.serviceId) {
119
+ await deleteService(api, this.output.serviceId);
120
+ }
121
+ return this.destroy();
122
+ }
123
+ const input = {
124
+ name: props.name ?? this.scope.createPhysicalName(id),
125
+ type: props.serviceType ?? "http",
126
+ tcp_port: props.tcpPort,
127
+ app_protocol: props.appProtocol,
128
+ http_port: props.httpPort,
129
+ https_port: props.httpsPort,
130
+ host: normalizeHost(props.host),
131
+ };
132
+ switch (this.phase) {
133
+ case "create": {
134
+ const adopt = props.adopt ?? this.scope.adopt;
135
+ const service = await createService(api, input).catch(async (err) => {
136
+ if (isCloudflareApiError(err, { code: 5101 }) && adopt) {
137
+ const services = await listServices(api);
138
+ const service = services.find((s) => s.name === input.name);
139
+ if (service) {
140
+ return await updateService(api, service.service_id, input);
141
+ }
142
+ }
143
+ throw err;
144
+ });
145
+ return formatOutput(service);
146
+ }
147
+ case "update": {
148
+ const service = await updateService(api, this.output.serviceId, input);
149
+ return formatOutput(service);
150
+ }
151
+ }
152
+ function normalizeHost(host) {
153
+ if ("hostname" in host) {
154
+ return {
155
+ hostname: host.hostname,
156
+ resolver_network: normalizeNetwork(host.resolverNetwork),
157
+ };
158
+ }
159
+ return {
160
+ ...host,
161
+ network: normalizeNetwork(host.network),
162
+ };
163
+ }
164
+ function normalizeNetwork(network) {
165
+ if ("tunnelId" in network) {
166
+ const { tunnelId, ...rest } = network;
167
+ return { tunnel_id: network.tunnelId, ...rest };
168
+ }
169
+ const { tunnel, ...rest } = network;
170
+ return { tunnel_id: tunnel.tunnelId, ...rest };
171
+ }
172
+ function formatOutput(service) {
173
+ return {
174
+ name: service.name,
175
+ serviceId: service.service_id,
176
+ serviceType: service.type,
177
+ tcpPort: service.tcp_port,
178
+ appProtocol: service.app_protocol,
179
+ httpPort: service.http_port,
180
+ httpsPort: service.https_port,
181
+ host: "hostname" in service.host
182
+ ? {
183
+ hostname: service.host.hostname,
184
+ resolverNetwork: {
185
+ tunnelId: service.host.resolver_network.tunnel_id,
186
+ resolverIps: service.host.resolver_network.resolver_ips,
187
+ },
188
+ }
189
+ : {
190
+ ...service.host,
191
+ network: { tunnelId: service.host.network.tunnel_id },
192
+ },
193
+ createdAt: new Date(service.created_at).getTime(),
194
+ updatedAt: new Date(service.updated_at).getTime(),
195
+ type: "vpc_service",
196
+ };
197
+ }
198
+ });
199
+ /**
200
+ * Create a connectivity (VPC) service via the Cloudflare API.
201
+ * @internal
202
+ */
203
+ export async function createService(api, body) {
204
+ return await extractCloudflareResult(`create connectivity service`, api.post(`/accounts/${api.accountId}/connectivity/directory/services`, body));
205
+ }
206
+ /**
207
+ * Delete a connectivity (VPC) service. No-op if the service is already gone (404).
208
+ * @internal
209
+ */
210
+ export async function deleteService(api, serviceId) {
211
+ await extractCloudflareResult(`delete connectivity service "${serviceId}"`, api.delete(`/accounts/${api.accountId}/connectivity/directory/services/${serviceId}`)).catch((err) => {
212
+ if (!isCloudflareApiError(err, { status: 404 })) {
213
+ throw err;
214
+ }
215
+ });
216
+ }
217
+ /**
218
+ * Fetch a single connectivity (VPC) service by ID.
219
+ * @internal
220
+ */
221
+ export async function getService(api, serviceId) {
222
+ return await extractCloudflareResult(`get connectivity service "${serviceId}"`, api.get(`/accounts/${api.accountId}/connectivity/directory/services/${serviceId}`));
223
+ }
224
+ /**
225
+ * List connectivity (VPC) services for the account.
226
+ * @internal
227
+ */
228
+ export async function listServices(api) {
229
+ return await extractCloudflareResult(`list connectivity services`, api.get(`/accounts/${api.accountId}/connectivity/directory/services?per_page=1000`));
230
+ }
231
+ /**
232
+ * Update an existing connectivity (VPC) service.
233
+ * @internal
234
+ */
235
+ export async function updateService(api, serviceId, body) {
236
+ return await extractCloudflareResult(`update connectivity service "${serviceId}"`, api.put(`/accounts/${api.accountId}/connectivity/directory/services/${serviceId}`, body));
237
+ }
238
+ //# sourceMappingURL=vpc-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpc-service.js","sourceRoot":"","sources":["../../src/cloudflare/vpc-service.ts"],"names":[],"mappings":"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"}
@@ -170,6 +170,7 @@ export interface WorkerMetadata {
170
170
  placement?: WorkerPlacement;
171
171
  limits?: {
172
172
  cpu_ms?: number;
173
+ subrequests?: number;
173
174
  };
174
175
  tail_consumers?: Array<Worker | {
175
176
  service: string;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-metadata.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-metadata.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,EAAE,GAAG,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE;QACb;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QAEjB;;WAEG;QACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IAEF;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAGD,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;SAC3B,CAAC;QACF,MAAM,CAAC,EAAE;YACP,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;SACzB,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;KACpB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,YAAY,CAAC;KAC5B,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,GACA,OAAO,CAAC,cAAc,CAAC,CA+czB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,sBASnD;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IACrD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAOD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAerC"}
@@ -382,6 +382,14 @@ export async function prepareWorkerMetadata(api, props) {
382
382
  simple: binding.simple,
383
383
  });
384
384
  }
385
+ else if (binding.type === "vpc_service") {
386
+ meta.bindings.push({
387
+ type: "vpc_service",
388
+ name: bindingName,
389
+ service_name: binding.name,
390
+ service_id: binding.serviceId,
391
+ });
392
+ }
385
393
  else {
386
394
  assertNever(binding, `Unsupported binding type: ${
387
395
  // @ts-expect-error - types think it's never