alchemy 0.12.4 → 0.12.6

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.
@@ -0,0 +1,131 @@
1
+ import type { Context } from "../context.js";
2
+ import { Resource } from "../resource.js";
3
+ import { type CloudflareApiOptions } from "./api.js";
4
+ /**
5
+ * Properties for creating or updating a Cloudflare AI Gateway.
6
+ */
7
+ export interface AiGatewayProps extends CloudflareApiOptions {
8
+ /**
9
+ * Invalidate cache on update.
10
+ * @default true
11
+ */
12
+ cacheInvalidateOnUpdate?: boolean;
13
+ /**
14
+ * Cache TTL in seconds. Set to 0 to disable caching.
15
+ * @default 0
16
+ * @minimum 0
17
+ */
18
+ cacheTtl?: number;
19
+ /**
20
+ * Collect logs for the gateway.
21
+ * @default true
22
+ */
23
+ collectLogs?: boolean;
24
+ /**
25
+ * Rate limiting interval in seconds. Set to 0 to disable rate limiting.
26
+ * @default 0
27
+ * @minimum 0
28
+ */
29
+ rateLimitingInterval?: number;
30
+ /**
31
+ * Rate limiting limit per interval. Set to 0 to disable rate limiting.
32
+ * @default 0
33
+ * @minimum 0
34
+ */
35
+ rateLimitingLimit?: number;
36
+ /**
37
+ * Rate limiting technique.
38
+ * @default "fixed"
39
+ */
40
+ rateLimitingTechnique?: "fixed" | "sliding";
41
+ /**
42
+ * Enable authentication for the gateway.
43
+ * @default false
44
+ */
45
+ authentication?: boolean;
46
+ /**
47
+ * Log retention limit in requests.
48
+ * @default undefined
49
+ * @minimum 10000
50
+ * @maximum 10000000
51
+ */
52
+ logManagement?: number;
53
+ /**
54
+ * Strategy for handling log limits.
55
+ * @default undefined
56
+ */
57
+ logManagementStrategy?: "STOP_INSERTING" | "DELETE_OLDEST";
58
+ /**
59
+ * Enable logpush for the gateway.
60
+ * @default false
61
+ */
62
+ logpush?: boolean;
63
+ /**
64
+ * Public key for logpush encryption.
65
+ * @default undefined
66
+ * @minLength 16
67
+ * @maxLength 1024
68
+ */
69
+ logpushPublicKey?: string;
70
+ }
71
+ /**
72
+ * Output returned after Cloudflare AI Gateway creation/update.
73
+ * IMPORTANT: The interface name MUST match the exported resource name.
74
+ */
75
+ export interface AiGateway extends Resource<"cloudflare::AiGateway">, AiGatewayProps {
76
+ /**
77
+ * The ID (name) of the gateway.
78
+ */
79
+ id: string;
80
+ /**
81
+ * Cloudflare account ID associated with the gateway.
82
+ */
83
+ accountId: string;
84
+ /**
85
+ * Cloudflare account tag associated with the gateway.
86
+ */
87
+ accountTag: string;
88
+ /**
89
+ * Time at which the gateway was created (ISO 8601 format).
90
+ */
91
+ createdAt: string;
92
+ /**
93
+ * The internal UUID of the gateway.
94
+ */
95
+ internalId: string;
96
+ /**
97
+ * Time at which the gateway was last modified (ISO 8601 format).
98
+ */
99
+ modifiedAt: string;
100
+ /**
101
+ * Resource type identifier for binding.
102
+ * @internal
103
+ */
104
+ type: "ai_gateway";
105
+ }
106
+ /**
107
+ * Represents a Cloudflare AI Gateway.
108
+ *
109
+ * @example
110
+ * // Create a basic AI Gateway with default settings:
111
+ * const basicGateway = await AiGateway("my-ai-gateway", {});
112
+ *
113
+ * @example
114
+ * // Create an AI Gateway with authentication and rate limiting:
115
+ * const secureGateway = await AiGateway("secure-ai-gateway", {
116
+ * authentication: true,
117
+ * rateLimitingInterval: 60, // 60 seconds
118
+ * rateLimitingLimit: 100, // 100 requests
119
+ * rateLimitingTechnique: "sliding"
120
+ * });
121
+ *
122
+ * @example
123
+ * // Create an AI Gateway with logging enabled and logpush:
124
+ * const loggingGateway = await AiGateway("logging-ai-gateway", {
125
+ * collectLogs: true,
126
+ * logpush: true,
127
+ * logpushPublicKey: "mypublickey..." // Replace with actual public key
128
+ * });
129
+ */
130
+ export declare const AiGateway: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<AiGateway>, id: string, props?: AiGatewayProps) => Promise<AiGateway>);
131
+ //# sourceMappingURL=ai-gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-gateway.d.ts","sourceRoot":"","sources":["../../src/cloudflare/ai-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAC1D;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE5C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAE3D;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,SACf,SAAQ,QAAQ,CAAC,uBAAuB,CAAC,EACvC,cAAc;IAChB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,yFAIZ,OAAO,CAAC,SAAS,CAAC,MACpB,MAAM,UACH,cAAc,KACpB,OAAO,CAAC,SAAS,CAAC,CA8FtB,CAAC"}
@@ -0,0 +1,160 @@
1
+ import { Resource } from "../resource.js";
2
+ import { handleApiError } from "./api-error.js";
3
+ import { createCloudflareApi } from "./api.js";
4
+ /**
5
+ * Represents a Cloudflare AI Gateway.
6
+ *
7
+ * @example
8
+ * // Create a basic AI Gateway with default settings:
9
+ * const basicGateway = await AiGateway("my-ai-gateway", {});
10
+ *
11
+ * @example
12
+ * // Create an AI Gateway with authentication and rate limiting:
13
+ * const secureGateway = await AiGateway("secure-ai-gateway", {
14
+ * authentication: true,
15
+ * rateLimitingInterval: 60, // 60 seconds
16
+ * rateLimitingLimit: 100, // 100 requests
17
+ * rateLimitingTechnique: "sliding"
18
+ * });
19
+ *
20
+ * @example
21
+ * // Create an AI Gateway with logging enabled and logpush:
22
+ * const loggingGateway = await AiGateway("logging-ai-gateway", {
23
+ * collectLogs: true,
24
+ * logpush: true,
25
+ * logpushPublicKey: "mypublickey..." // Replace with actual public key
26
+ * });
27
+ */
28
+ export const AiGateway = Resource("cloudflare::AiGateway", { alwaysUpdate: true }, // AI Gateway PUT updates, so always run update logic
29
+ async function (id, props = {}) {
30
+ const api = await createCloudflareApi(props);
31
+ const gatewayPath = `/accounts/${api.accountId}/ai-gateway/gateways/${id}`;
32
+ const gatewaysPath = `/accounts/${api.accountId}/ai-gateway/gateways`;
33
+ if (this.phase === "delete") {
34
+ try {
35
+ const deleteResponse = await api.delete(gatewayPath);
36
+ // Only swallow 404 Not Found errors, all other errors should be handled
37
+ if (!deleteResponse.ok && deleteResponse.status !== 404) {
38
+ await handleApiError(deleteResponse, "delete", "ai gateway", id);
39
+ }
40
+ }
41
+ catch (error) {
42
+ console.error(`Error deleting AI Gateway ${id}:`, error);
43
+ throw error;
44
+ }
45
+ return this.destroy();
46
+ }
47
+ // Default values as per Cloudflare documentation examples
48
+ const mergedProps = {
49
+ cacheInvalidateOnUpdate: true,
50
+ cacheTtl: 0,
51
+ collectLogs: true,
52
+ rateLimitingInterval: 0,
53
+ rateLimitingLimit: 0,
54
+ rateLimitingTechnique: "fixed",
55
+ ...props, // User props override defaults
56
+ };
57
+ let response;
58
+ let apiResource;
59
+ try {
60
+ if (this.phase === "update") {
61
+ // Update existing gateway (PUT request)
62
+ const requestBody = mapPropsToApi(id, mergedProps, false);
63
+ response = await api.put(gatewayPath, requestBody);
64
+ }
65
+ else {
66
+ // Check if gateway exists before creating (to avoid conflict)
67
+ const getResponse = await api.get(gatewayPath);
68
+ if (getResponse.status === 200) {
69
+ // Gateway exists, treat as update (PUT)
70
+ console.log(`AI Gateway '${id}' already exists. Updating existing resource.`);
71
+ const requestBody = mapPropsToApi(id, mergedProps, false);
72
+ response = await api.put(gatewayPath, requestBody);
73
+ }
74
+ else if (getResponse.status === 404) {
75
+ // Gateway doesn't exist, create new (POST request)
76
+ const requestBody = mapPropsToApi(id, mergedProps, true); // Include 'id' in POST body
77
+ response = await api.post(gatewaysPath, requestBody);
78
+ }
79
+ else {
80
+ // Unexpected error during GET check
81
+ await handleApiError(getResponse, "get", "ai gateway", id);
82
+ }
83
+ }
84
+ if (!response?.ok) {
85
+ const action = this.phase === "update" ? "update" : "create";
86
+ await handleApiError(response, action, "ai gateway", id);
87
+ }
88
+ const data = await response.json();
89
+ apiResource = data.result;
90
+ }
91
+ catch (error) {
92
+ console.error(`Error ${this.phase} AI Gateway '${id}':`, error);
93
+ throw error; // Re-throw the error to fail the deployment
94
+ }
95
+ // Construct the output object from API response and merged props
96
+ return this({
97
+ ...mergedProps, // Start with the input props (including defaults)
98
+ id: apiResource.id,
99
+ accountId: apiResource.account_id,
100
+ accountTag: apiResource.account_tag,
101
+ createdAt: apiResource.created_at,
102
+ internalId: apiResource.internal_id,
103
+ modifiedAt: apiResource.modified_at,
104
+ // Update props based on the actual response from the API (Cloudflare might set defaults)
105
+ cacheInvalidateOnUpdate: apiResource.cache_invalidate_on_update,
106
+ cacheTtl: apiResource.cache_ttl,
107
+ collectLogs: apiResource.collect_logs,
108
+ rateLimitingInterval: apiResource.rate_limiting_interval,
109
+ rateLimitingLimit: apiResource.rate_limiting_limit,
110
+ rateLimitingTechnique: apiResource.rate_limiting_technique,
111
+ authentication: apiResource.authentication,
112
+ logManagement: apiResource.log_management,
113
+ logManagementStrategy: apiResource.log_management_strategy,
114
+ logpush: apiResource.logpush,
115
+ logpushPublicKey: apiResource.logpush_public_key,
116
+ type: "ai_gateway",
117
+ });
118
+ });
119
+ // Helper function to map props to the API request body format
120
+ function mapPropsToApi(id, props, includeIdInBody = false) {
121
+ const body = {};
122
+ if (includeIdInBody) {
123
+ body.id = id;
124
+ }
125
+ if (props.cacheInvalidateOnUpdate !== undefined) {
126
+ body.cache_invalidate_on_update = props.cacheInvalidateOnUpdate;
127
+ }
128
+ if (props.cacheTtl !== undefined) {
129
+ body.cache_ttl = props.cacheTtl;
130
+ }
131
+ if (props.collectLogs !== undefined) {
132
+ body.collect_logs = props.collectLogs;
133
+ }
134
+ if (props.rateLimitingInterval !== undefined) {
135
+ body.rate_limiting_interval = props.rateLimitingInterval;
136
+ }
137
+ if (props.rateLimitingLimit !== undefined) {
138
+ body.rate_limiting_limit = props.rateLimitingLimit;
139
+ }
140
+ if (props.rateLimitingTechnique !== undefined) {
141
+ body.rate_limiting_technique = props.rateLimitingTechnique;
142
+ }
143
+ if (props.authentication !== undefined) {
144
+ body.authentication = props.authentication;
145
+ }
146
+ if (props.logManagement !== undefined) {
147
+ body.log_management = props.logManagement;
148
+ }
149
+ if (props.logManagementStrategy !== undefined) {
150
+ body.log_management_strategy = props.logManagementStrategy;
151
+ }
152
+ if (props.logpush !== undefined) {
153
+ body.logpush = props.logpush;
154
+ }
155
+ if (props.logpushPublicKey !== undefined) {
156
+ body.logpush_public_key = props.logpushPublicKey;
157
+ }
158
+ return body;
159
+ }
160
+ //# sourceMappingURL=ai-gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-gateway.js","sourceRoot":"","sources":["../../src/cloudflare/ai-gateway.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/
5
5
  */
6
6
  import type { Secret } from "../secret.js";
7
+ import type { AiGateway } from "./ai-gateway.js";
7
8
  import type { Assets } from "./assets.js";
8
9
  import type { R2Bucket } from "./bucket.js";
9
10
  import type { D1Database } from "./d1-database.js";
@@ -20,7 +21,7 @@ export type Bindings = {
20
21
  /**
21
22
  * L2 Binding Resources.
22
23
  */
23
- export type Binding = Assets | D1Database | DurableObjectNamespace | KVNamespace | Pipeline | Queue | R2Bucket | Secret | string | VectorizeIndex | Worker | Workflow;
24
+ export type Binding = Assets | D1Database | DurableObjectNamespace | KVNamespace | Pipeline | Queue | R2Bucket | Secret | string | VectorizeIndex | Worker | Workflow | AiGateway;
24
25
  /**
25
26
  * Union type for all Worker binding types (API spec)
26
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bindings.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Pipeline } from "cloudflare:pipelines";
2
2
  import type { Secret } from "../secret.js";
3
+ import type { AiGateway as _AiGateway } from "./ai-gateway.js";
3
4
  import type { Assets } from "./assets.js";
4
5
  import type { Binding } from "./bindings.js";
5
6
  import type { R2Bucket as _R2Bucket } from "./bucket.js";
@@ -11,5 +12,5 @@ import type { Queue as _Queue } from "./queue.js";
11
12
  import type { VectorizeIndex as _VectorizeIndex } from "./vectorize-index.js";
12
13
  import type { Worker as _Worker } from "./worker.js";
13
14
  import type { Workflow as _Workflow } from "./workflow.js";
14
- export type Bound<T extends Binding> = T extends _DurableObjectNamespace ? DurableObjectNamespace : T extends _KVNamespace ? KVNamespace : T extends _Worker ? Worker : T extends _R2Bucket ? R2Bucket : T extends Secret ? string : T extends Assets ? Service : T extends _Workflow<infer P> ? Workflow<P> : T extends _D1Database ? D1Database : T extends _VectorizeIndex ? VectorizeIndex : T extends _Queue ? Queue : T extends _Pipeline<infer R> ? Pipeline<R> : T extends string ? string : Service;
15
+ export type Bound<T extends Binding> = T extends _DurableObjectNamespace ? DurableObjectNamespace : T extends _KVNamespace ? KVNamespace : T extends _Worker ? Worker : T extends _R2Bucket ? R2Bucket : T extends _AiGateway ? AiGateway : T extends Secret ? string : T extends Assets ? Service : T extends _Workflow<infer P> ? Workflow<P> : T extends _D1Database ? D1Database : T extends _VectorizeIndex ? VectorizeIndex : T extends _Queue ? Queue : T extends _Pipeline<infer R> ? Pipeline<R> : T extends string ? string : Service;
15
16
  //# sourceMappingURL=bound.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,uBAAuB,GACpE,sBAAsB,GACtB,CAAC,SAAS,YAAY,GACpB,WAAW,GACX,CAAC,SAAS,OAAO,GACf,MAAM,GACN,CAAC,SAAS,SAAS,GACjB,QAAQ,GACR,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,MAAM,GACd,OAAO,GACP,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,WAAW,GACnB,UAAU,GACV,CAAC,SAAS,eAAe,GACvB,cAAc,GACd,CAAC,SAAS,MAAM,GACd,KAAK,GACL,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,MAAM,GACd,MAAM,GACN,OAAO,CAAC"}
1
+ {"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,uBAAuB,GACpE,sBAAsB,GACtB,CAAC,SAAS,YAAY,GACpB,WAAW,GACX,CAAC,SAAS,OAAO,GACf,MAAM,GACN,CAAC,SAAS,SAAS,GACjB,QAAQ,GACR,CAAC,SAAS,UAAU,GAClB,SAAS,GACT,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,MAAM,GACd,OAAO,GACP,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,WAAW,GACnB,UAAU,GACV,CAAC,SAAS,eAAe,GACvB,cAAc,GACd,CAAC,SAAS,MAAM,GACd,KAAK,GACL,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,MAAM,GACd,MAAM,GACN,OAAO,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./account-api-token.js";
2
+ export * from "./ai-gateway.js";
2
3
  export * from "./api-error.js";
3
4
  export * from "./api.js";
4
5
  export * from "./assets.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./account-api-token.js";
2
+ export * from "./ai-gateway.js";
2
3
  export * from "./api-error.js";
3
4
  export * from "./api.js";
4
5
  export * from "./assets.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
@@ -2,7 +2,7 @@ import type { Context } from "../context.js";
2
2
  import { type BundleProps } from "../esbuild/bundle.js";
3
3
  import { Resource } from "../resource.js";
4
4
  import { type CloudflareApiOptions } from "./api.js";
5
- import { type Bindings } from "./bindings.js";
5
+ import type { Bindings } from "./bindings.js";
6
6
  import type { Bound } from "./bound.js";
7
7
  import type { SingleStepMigration } from "./worker-migration.js";
8
8
  /**
@@ -121,6 +121,14 @@ export interface WorkerProps<B extends Bindings = Bindings> extends CloudflareAp
121
121
  * Configuration for static assets
122
122
  */
123
123
  assets?: AssetsConfig;
124
+ /**
125
+ * Cron expressions for the trigger.
126
+ * Uses standard cron syntax (e.g. "0 0 * * *" for daily at midnight)
127
+ * To clear all cron triggers, pass an empty array.
128
+ *
129
+ * @see https://developers.cloudflare.com/workers/configuration/cron-triggers/#examples
130
+ */
131
+ crons?: string[];
124
132
  }
125
133
  /**
126
134
  * Output returned after Worker creation/update
@@ -239,7 +247,16 @@ export interface Worker<B extends Bindings = Bindings> extends Resource<"cloudfl
239
247
  * }
240
248
  * });
241
249
  *
242
- * @see https://developers.cloudflare.com/workers/
250
+ * @example
251
+ * // Create a worker with scheduled cron triggers:
252
+ * const cronWorker = await Worker("scheduled-tasks", {
253
+ * name: "cron-worker",
254
+ * entrypoint: "./src/scheduled.ts",
255
+ * crons: ['* 15 * * *', '0 0 * * *', '0 12 * * MON']
256
+ * })
257
+ *
258
+ * @see
259
+ * https://developers.cloudflare.com/workers/
243
260
  */
244
261
  export declare const Worker: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | (<const B extends Bindings>(this: Context<Worker<NoInfer<B>>>, id: string, props: WorkerProps<B>) => Promise<Worker<B>>);
245
262
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,8 @@ import { Resource } from "../resource.js";
5
5
  import { getContentType } from "../util/content-type.js";
6
6
  import { withExponentialBackoff } from "../util/retry.js";
7
7
  import { slugify } from "../util/slugify.js";
8
+ import { handleApiError } from "./api-error.js";
8
9
  import { createCloudflareApi, } from "./api.js";
9
- import {} from "./assets.js";
10
- import {} from "./bindings.js";
11
- import {} from "./durable-object-namespace.js";
12
10
  import { upsertWorkflow } from "./workflow.js";
13
11
  /**
14
12
  * A Cloudflare Worker is a serverless function that can be deployed to the Cloudflare network.
@@ -85,7 +83,16 @@ import { upsertWorkflow } from "./workflow.js";
85
83
  * }
86
84
  * });
87
85
  *
88
- * @see https://developers.cloudflare.com/workers/
86
+ * @example
87
+ * // Create a worker with scheduled cron triggers:
88
+ * const cronWorker = await Worker("scheduled-tasks", {
89
+ * name: "cron-worker",
90
+ * entrypoint: "./src/scheduled.ts",
91
+ * crons: ['* 15 * * *', '0 0 * * *', '0 12 * * MON']
92
+ * })
93
+ *
94
+ * @see
95
+ * https://developers.cloudflare.com/workers/
89
96
  */
90
97
  export const Worker = Resource("cloudflare::Worker", {
91
98
  alwaysUpdate: true,
@@ -156,6 +163,13 @@ export const Worker = Resource("cloudflare::Worker", {
156
163
  const workerUrl = await configureURL(this, api, workerName, props.url ?? false);
157
164
  // Get current timestamp
158
165
  const now = Date.now();
166
+ // Update cron triggers
167
+ if (props.crons) {
168
+ const res = await api.put(`/accounts/${api.accountId}/workers/scripts/${workerName}/schedules`, props.crons.map((cron) => ({ cron })));
169
+ if (!res.ok) {
170
+ await handleApiError(res, "updating cron triggers", "worker", workerName);
171
+ }
172
+ }
159
173
  // Construct the output
160
174
  return this({
161
175
  ...props,
@@ -175,6 +189,8 @@ export const Worker = Resource("cloudflare::Worker", {
175
189
  url: workerUrl,
176
190
  // Include assets configuration in the output
177
191
  assets: props.assets,
192
+ // Include cron triggers in the output
193
+ crons: props.crons,
178
194
  // phantom property
179
195
  Env: undefined,
180
196
  });
@@ -407,6 +423,13 @@ async function prepareWorkerMetadata(ctx, oldBindings, props, assetUploadResult)
407
423
  index_name: binding.name,
408
424
  });
409
425
  }
426
+ else if (binding.type === "ai_gateway") {
427
+ // AI Gateway binding - just needs the name property
428
+ meta.bindings.push({
429
+ type: "ai",
430
+ name: bindingName,
431
+ });
432
+ }
410
433
  else {
411
434
  // @ts-expect-error - we should never reach here
412
435
  throw new Error(`Unsupported binding type: ${binding.type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemy",
3
- "version": "0.12.4",
3
+ "version": "0.12.6",
4
4
  "type": "module",
5
5
  "module": "./lib/index.js",
6
6
  "scripts": {
@@ -0,0 +1,299 @@
1
+ import type { Context } from "../context.js";
2
+ import { Resource } from "../resource.js";
3
+ import { handleApiError } from "./api-error.js";
4
+ import { createCloudflareApi, type CloudflareApiOptions } from "./api.js";
5
+
6
+ /**
7
+ * Properties for creating or updating a Cloudflare AI Gateway.
8
+ */
9
+ export interface AiGatewayProps extends CloudflareApiOptions {
10
+ /**
11
+ * Invalidate cache on update.
12
+ * @default true
13
+ */
14
+ cacheInvalidateOnUpdate?: boolean;
15
+
16
+ /**
17
+ * Cache TTL in seconds. Set to 0 to disable caching.
18
+ * @default 0
19
+ * @minimum 0
20
+ */
21
+ cacheTtl?: number;
22
+
23
+ /**
24
+ * Collect logs for the gateway.
25
+ * @default true
26
+ */
27
+ collectLogs?: boolean;
28
+
29
+ /**
30
+ * Rate limiting interval in seconds. Set to 0 to disable rate limiting.
31
+ * @default 0
32
+ * @minimum 0
33
+ */
34
+ rateLimitingInterval?: number;
35
+
36
+ /**
37
+ * Rate limiting limit per interval. Set to 0 to disable rate limiting.
38
+ * @default 0
39
+ * @minimum 0
40
+ */
41
+ rateLimitingLimit?: number;
42
+
43
+ /**
44
+ * Rate limiting technique.
45
+ * @default "fixed"
46
+ */
47
+ rateLimitingTechnique?: "fixed" | "sliding";
48
+
49
+ /**
50
+ * Enable authentication for the gateway.
51
+ * @default false
52
+ */
53
+ authentication?: boolean;
54
+
55
+ /**
56
+ * Log retention limit in requests.
57
+ * @default undefined
58
+ * @minimum 10000
59
+ * @maximum 10000000
60
+ */
61
+ logManagement?: number;
62
+
63
+ /**
64
+ * Strategy for handling log limits.
65
+ * @default undefined
66
+ */
67
+ logManagementStrategy?: "STOP_INSERTING" | "DELETE_OLDEST";
68
+
69
+ /**
70
+ * Enable logpush for the gateway.
71
+ * @default false
72
+ */
73
+ logpush?: boolean;
74
+
75
+ /**
76
+ * Public key for logpush encryption.
77
+ * @default undefined
78
+ * @minLength 16
79
+ * @maxLength 1024
80
+ */
81
+ logpushPublicKey?: string;
82
+ }
83
+
84
+ /**
85
+ * Output returned after Cloudflare AI Gateway creation/update.
86
+ * IMPORTANT: The interface name MUST match the exported resource name.
87
+ */
88
+ export interface AiGateway
89
+ extends Resource<"cloudflare::AiGateway">,
90
+ AiGatewayProps {
91
+ /**
92
+ * The ID (name) of the gateway.
93
+ */
94
+ id: string;
95
+
96
+ /**
97
+ * Cloudflare account ID associated with the gateway.
98
+ */
99
+ accountId: string;
100
+
101
+ /**
102
+ * Cloudflare account tag associated with the gateway.
103
+ */
104
+ accountTag: string;
105
+
106
+ /**
107
+ * Time at which the gateway was created (ISO 8601 format).
108
+ */
109
+ createdAt: string;
110
+
111
+ /**
112
+ * The internal UUID of the gateway.
113
+ */
114
+ internalId: string;
115
+
116
+ /**
117
+ * Time at which the gateway was last modified (ISO 8601 format).
118
+ */
119
+ modifiedAt: string;
120
+
121
+ /**
122
+ * Resource type identifier for binding.
123
+ * @internal
124
+ */
125
+ type: "ai_gateway";
126
+ }
127
+
128
+ /**
129
+ * Represents a Cloudflare AI Gateway.
130
+ *
131
+ * @example
132
+ * // Create a basic AI Gateway with default settings:
133
+ * const basicGateway = await AiGateway("my-ai-gateway", {});
134
+ *
135
+ * @example
136
+ * // Create an AI Gateway with authentication and rate limiting:
137
+ * const secureGateway = await AiGateway("secure-ai-gateway", {
138
+ * authentication: true,
139
+ * rateLimitingInterval: 60, // 60 seconds
140
+ * rateLimitingLimit: 100, // 100 requests
141
+ * rateLimitingTechnique: "sliding"
142
+ * });
143
+ *
144
+ * @example
145
+ * // Create an AI Gateway with logging enabled and logpush:
146
+ * const loggingGateway = await AiGateway("logging-ai-gateway", {
147
+ * collectLogs: true,
148
+ * logpush: true,
149
+ * logpushPublicKey: "mypublickey..." // Replace with actual public key
150
+ * });
151
+ */
152
+ export const AiGateway = Resource(
153
+ "cloudflare::AiGateway",
154
+ { alwaysUpdate: true }, // AI Gateway PUT updates, so always run update logic
155
+ async function (
156
+ this: Context<AiGateway>,
157
+ id: string,
158
+ props: AiGatewayProps = {}
159
+ ): Promise<AiGateway> {
160
+ const api = await createCloudflareApi(props);
161
+ const gatewayPath = `/accounts/${api.accountId}/ai-gateway/gateways/${id}`;
162
+ const gatewaysPath = `/accounts/${api.accountId}/ai-gateway/gateways`;
163
+
164
+ if (this.phase === "delete") {
165
+ try {
166
+ const deleteResponse = await api.delete(gatewayPath);
167
+ // Only swallow 404 Not Found errors, all other errors should be handled
168
+ if (!deleteResponse.ok && deleteResponse.status !== 404) {
169
+ await handleApiError(deleteResponse, "delete", "ai gateway", id);
170
+ }
171
+ } catch (error) {
172
+ console.error(`Error deleting AI Gateway ${id}:`, error);
173
+ throw error;
174
+ }
175
+ return this.destroy();
176
+ }
177
+
178
+ // Default values as per Cloudflare documentation examples
179
+ const mergedProps: AiGatewayProps = {
180
+ cacheInvalidateOnUpdate: true,
181
+ cacheTtl: 0,
182
+ collectLogs: true,
183
+ rateLimitingInterval: 0,
184
+ rateLimitingLimit: 0,
185
+ rateLimitingTechnique: "fixed",
186
+ ...props, // User props override defaults
187
+ };
188
+
189
+ let response: Response | undefined;
190
+ let apiResource: any;
191
+
192
+ try {
193
+ if (this.phase === "update") {
194
+ // Update existing gateway (PUT request)
195
+ const requestBody = mapPropsToApi(id, mergedProps, false);
196
+ response = await api.put(gatewayPath, requestBody);
197
+ } else {
198
+ // Check if gateway exists before creating (to avoid conflict)
199
+ const getResponse = await api.get(gatewayPath);
200
+ if (getResponse.status === 200) {
201
+ // Gateway exists, treat as update (PUT)
202
+ console.log(
203
+ `AI Gateway '${id}' already exists. Updating existing resource.`
204
+ );
205
+ const requestBody = mapPropsToApi(id, mergedProps, false);
206
+ response = await api.put(gatewayPath, requestBody);
207
+ } else if (getResponse.status === 404) {
208
+ // Gateway doesn't exist, create new (POST request)
209
+ const requestBody = mapPropsToApi(id, mergedProps, true); // Include 'id' in POST body
210
+ response = await api.post(gatewaysPath, requestBody);
211
+ } else {
212
+ // Unexpected error during GET check
213
+ await handleApiError(getResponse, "get", "ai gateway", id);
214
+ }
215
+ }
216
+
217
+ if (!response?.ok) {
218
+ const action = this.phase === "update" ? "update" : "create";
219
+ await handleApiError(response!, action, "ai gateway", id);
220
+ }
221
+
222
+ const data: { result: Record<string, any> } = await response!.json();
223
+ apiResource = data.result;
224
+ } catch (error) {
225
+ console.error(`Error ${this.phase} AI Gateway '${id}':`, error);
226
+ throw error; // Re-throw the error to fail the deployment
227
+ }
228
+
229
+ // Construct the output object from API response and merged props
230
+ return this({
231
+ ...mergedProps, // Start with the input props (including defaults)
232
+ id: apiResource.id,
233
+ accountId: apiResource.account_id,
234
+ accountTag: apiResource.account_tag,
235
+ createdAt: apiResource.created_at,
236
+ internalId: apiResource.internal_id,
237
+ modifiedAt: apiResource.modified_at,
238
+ // Update props based on the actual response from the API (Cloudflare might set defaults)
239
+ cacheInvalidateOnUpdate: apiResource.cache_invalidate_on_update,
240
+ cacheTtl: apiResource.cache_ttl,
241
+ collectLogs: apiResource.collect_logs,
242
+ rateLimitingInterval: apiResource.rate_limiting_interval,
243
+ rateLimitingLimit: apiResource.rate_limiting_limit,
244
+ rateLimitingTechnique: apiResource.rate_limiting_technique,
245
+ authentication: apiResource.authentication,
246
+ logManagement: apiResource.log_management,
247
+ logManagementStrategy: apiResource.log_management_strategy,
248
+ logpush: apiResource.logpush,
249
+ logpushPublicKey: apiResource.logpush_public_key,
250
+ type: "ai_gateway",
251
+ });
252
+ }
253
+ );
254
+
255
+ // Helper function to map props to the API request body format
256
+ function mapPropsToApi(
257
+ id: string,
258
+ props: AiGatewayProps,
259
+ includeIdInBody: boolean = false
260
+ ): Record<string, any> {
261
+ const body: Record<string, any> = {};
262
+ if (includeIdInBody) {
263
+ body.id = id;
264
+ }
265
+ if (props.cacheInvalidateOnUpdate !== undefined) {
266
+ body.cache_invalidate_on_update = props.cacheInvalidateOnUpdate;
267
+ }
268
+ if (props.cacheTtl !== undefined) {
269
+ body.cache_ttl = props.cacheTtl;
270
+ }
271
+ if (props.collectLogs !== undefined) {
272
+ body.collect_logs = props.collectLogs;
273
+ }
274
+ if (props.rateLimitingInterval !== undefined) {
275
+ body.rate_limiting_interval = props.rateLimitingInterval;
276
+ }
277
+ if (props.rateLimitingLimit !== undefined) {
278
+ body.rate_limiting_limit = props.rateLimitingLimit;
279
+ }
280
+ if (props.rateLimitingTechnique !== undefined) {
281
+ body.rate_limiting_technique = props.rateLimitingTechnique;
282
+ }
283
+ if (props.authentication !== undefined) {
284
+ body.authentication = props.authentication;
285
+ }
286
+ if (props.logManagement !== undefined) {
287
+ body.log_management = props.logManagement;
288
+ }
289
+ if (props.logManagementStrategy !== undefined) {
290
+ body.log_management_strategy = props.logManagementStrategy;
291
+ }
292
+ if (props.logpush !== undefined) {
293
+ body.logpush = props.logpush;
294
+ }
295
+ if (props.logpushPublicKey !== undefined) {
296
+ body.logpush_public_key = props.logpushPublicKey;
297
+ }
298
+ return body;
299
+ }
@@ -4,6 +4,7 @@
4
4
  * https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/
5
5
  */
6
6
  import type { Secret } from "../secret.js";
7
+ import type { AiGateway } from "./ai-gateway.js";
7
8
  import type { Assets } from "./assets.js";
8
9
  import type { R2Bucket } from "./bucket.js";
9
10
  import type { D1Database } from "./d1-database.js";
@@ -34,7 +35,8 @@ export type Binding =
34
35
  | string
35
36
  | VectorizeIndex
36
37
  | Worker
37
- | Workflow;
38
+ | Workflow
39
+ | AiGateway;
38
40
 
39
41
  /**
40
42
  * Union type for all Worker binding types (API spec)
@@ -1,5 +1,6 @@
1
1
  import type { Pipeline } from "cloudflare:pipelines";
2
2
  import type { Secret } from "../secret.js";
3
+ import type { AiGateway as _AiGateway } from "./ai-gateway.js";
3
4
  import type { Assets } from "./assets.js";
4
5
  import type { Binding } from "./bindings.js";
5
6
  import type { R2Bucket as _R2Bucket } from "./bucket.js";
@@ -20,20 +21,22 @@ export type Bound<T extends Binding> = T extends _DurableObjectNamespace
20
21
  ? Worker
21
22
  : T extends _R2Bucket
22
23
  ? R2Bucket
23
- : T extends Secret
24
- ? string
25
- : T extends Assets
26
- ? Service
27
- : T extends _Workflow<infer P>
28
- ? Workflow<P>
29
- : T extends _D1Database
30
- ? D1Database
31
- : T extends _VectorizeIndex
32
- ? VectorizeIndex
33
- : T extends _Queue
34
- ? Queue
35
- : T extends _Pipeline<infer R>
36
- ? Pipeline<R>
37
- : T extends string
38
- ? string
39
- : Service;
24
+ : T extends _AiGateway
25
+ ? AiGateway
26
+ : T extends Secret
27
+ ? string
28
+ : T extends Assets
29
+ ? Service
30
+ : T extends _Workflow<infer P>
31
+ ? Workflow<P>
32
+ : T extends _D1Database
33
+ ? D1Database
34
+ : T extends _VectorizeIndex
35
+ ? VectorizeIndex
36
+ : T extends _Queue
37
+ ? Queue
38
+ : T extends _Pipeline<infer R>
39
+ ? Pipeline<R>
40
+ : T extends string
41
+ ? string
42
+ : Service;
@@ -1,4 +1,5 @@
1
1
  export * from "./account-api-token.js";
2
+ export * from "./ai-gateway.js";
2
3
  export * from "./api-error.js";
3
4
  export * from "./api.js";
4
5
  export * from "./assets.js";
@@ -6,18 +6,19 @@ import { Resource } from "../resource.js";
6
6
  import { getContentType } from "../util/content-type.js";
7
7
  import { withExponentialBackoff } from "../util/retry.js";
8
8
  import { slugify } from "../util/slugify.js";
9
+ import { handleApiError } from "./api-error.js";
9
10
  import {
10
- createCloudflareApi,
11
11
  type CloudflareApi,
12
12
  type CloudflareApiOptions,
13
+ createCloudflareApi,
13
14
  } from "./api.js";
14
- import { type Assets } from "./assets.js";
15
- import { type Bindings, type WorkerBindingSpec } from "./bindings.js";
15
+ import type { Assets } from "./assets.js";
16
+ import type { Bindings, WorkerBindingSpec } from "./bindings.js";
16
17
  import type { Bound } from "./bound.js";
17
- import { type DurableObjectNamespace } from "./durable-object-namespace.js";
18
+ import type { DurableObjectNamespace } from "./durable-object-namespace.js";
18
19
  import type { WorkerScriptMetadata } from "./worker-metadata.js";
19
20
  import type { SingleStepMigration } from "./worker-migration.js";
20
- import { upsertWorkflow, type Workflow } from "./workflow.js";
21
+ import { type Workflow, upsertWorkflow } from "./workflow.js";
21
22
 
22
23
  /**
23
24
  * Configuration options for static assets
@@ -159,6 +160,15 @@ export interface WorkerProps<B extends Bindings = Bindings>
159
160
  * Configuration for static assets
160
161
  */
161
162
  assets?: AssetsConfig;
163
+
164
+ /**
165
+ * Cron expressions for the trigger.
166
+ * Uses standard cron syntax (e.g. "0 0 * * *" for daily at midnight)
167
+ * To clear all cron triggers, pass an empty array.
168
+ *
169
+ * @see https://developers.cloudflare.com/workers/configuration/cron-triggers/#examples
170
+ */
171
+ crons?: string[];
162
172
  }
163
173
 
164
174
  /**
@@ -291,7 +301,16 @@ export interface Worker<B extends Bindings = Bindings>
291
301
  * }
292
302
  * });
293
303
  *
294
- * @see https://developers.cloudflare.com/workers/
304
+ * @example
305
+ * // Create a worker with scheduled cron triggers:
306
+ * const cronWorker = await Worker("scheduled-tasks", {
307
+ * name: "cron-worker",
308
+ * entrypoint: "./src/scheduled.ts",
309
+ * crons: ['* 15 * * *', '0 0 * * *', '0 12 * * MON']
310
+ * })
311
+ *
312
+ * @see
313
+ * https://developers.cloudflare.com/workers/
295
314
  */
296
315
  export const Worker = Resource(
297
316
  "cloudflare::Worker",
@@ -399,6 +418,23 @@ export const Worker = Resource(
399
418
  // Get current timestamp
400
419
  const now = Date.now();
401
420
 
421
+ // Update cron triggers
422
+ if (props.crons) {
423
+ const res = await api.put(
424
+ `/accounts/${api.accountId}/workers/scripts/${workerName}/schedules`,
425
+ props.crons.map((cron) => ({ cron }))
426
+ );
427
+
428
+ if (!res.ok) {
429
+ await handleApiError(
430
+ res,
431
+ "updating cron triggers",
432
+ "worker",
433
+ workerName
434
+ );
435
+ }
436
+ }
437
+
402
438
  // Construct the output
403
439
  return this({
404
440
  ...props,
@@ -418,6 +454,8 @@ export const Worker = Resource(
418
454
  url: workerUrl,
419
455
  // Include assets configuration in the output
420
456
  assets: props.assets,
457
+ // Include cron triggers in the output
458
+ crons: props.crons,
421
459
  // phantom property
422
460
  Env: undefined!,
423
461
  });
@@ -558,6 +596,10 @@ interface WorkerMetadata {
558
596
  keep_assets?: boolean;
559
597
  config?: AssetsConfig;
560
598
  };
599
+ cron_triggers?: {
600
+ cron: string;
601
+ suspended: boolean;
602
+ }[];
561
603
  }
562
604
 
563
605
  interface AssetUploadResult {
@@ -736,6 +778,12 @@ async function prepareWorkerMetadata<B extends Bindings>(
736
778
  name: bindingName,
737
779
  index_name: binding.name,
738
780
  });
781
+ } else if (binding.type === "ai_gateway") {
782
+ // AI Gateway binding - just needs the name property
783
+ meta.bindings.push({
784
+ type: "ai",
785
+ name: bindingName,
786
+ });
739
787
  } else {
740
788
  // @ts-expect-error - we should never reach here
741
789
  throw new Error(`Unsupported binding type: ${binding.type}`);