alchemy 0.12.7 → 0.12.9
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/lib/cloudflare/bound.d.ts +1 -1
- package/lib/cloudflare/bound.d.ts.map +1 -1
- package/lib/cloudflare/bucket.d.ts +8 -2
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js +1 -1
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/d1-database.d.ts +8 -2
- package/lib/cloudflare/d1-database.d.ts.map +1 -1
- package/lib/cloudflare/d1-database.js +2 -2
- package/lib/cloudflare/d1-database.js.map +1 -1
- package/lib/cloudflare/event-source.d.ts +26 -0
- package/lib/cloudflare/event-source.d.ts.map +1 -0
- package/lib/cloudflare/event-source.js +9 -0
- package/lib/cloudflare/event-source.js.map +1 -0
- package/lib/cloudflare/index.d.ts +1 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +1 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/queue-consumer.d.ts +162 -0
- package/lib/cloudflare/queue-consumer.d.ts.map +1 -0
- package/lib/cloudflare/queue-consumer.js +197 -0
- package/lib/cloudflare/queue-consumer.js.map +1 -0
- package/lib/cloudflare/queue.d.ts +15 -3
- package/lib/cloudflare/queue.d.ts.map +1 -1
- package/lib/cloudflare/queue.js +8 -2
- package/lib/cloudflare/queue.js.map +1 -1
- package/lib/cloudflare/r2-rest-state-store.js +1 -1
- package/lib/cloudflare/r2-rest-state-store.js.map +1 -1
- package/lib/cloudflare/website.d.ts.map +1 -1
- package/lib/cloudflare/website.js +8 -10
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +13 -2
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +67 -3
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +13 -3
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +27 -5
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/package.json +1 -1
- package/src/cloudflare/bound.ts +2 -2
- package/src/cloudflare/bucket.ts +9 -2
- package/src/cloudflare/d1-database.ts +10 -3
- package/src/cloudflare/event-source.ts +33 -0
- package/src/cloudflare/index.ts +1 -0
- package/src/cloudflare/queue-consumer.ts +433 -0
- package/src/cloudflare/queue.ts +83 -63
- package/src/cloudflare/r2-rest-state-store.ts +1 -1
- package/src/cloudflare/website.ts +9 -13
- package/src/cloudflare/worker.ts +102 -5
- package/src/cloudflare/wrangler.json.ts +52 -8
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { Resource } from "../resource.js";
|
|
2
|
+
import { CloudflareApiError, handleApiError } from "./api-error.js";
|
|
3
|
+
import { CloudflareApi, createCloudflareApi, } from "./api.js";
|
|
4
|
+
/**
|
|
5
|
+
* Creates a consumer for a Cloudflare Queue that processes messages using a Worker.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // Create a queue consumer with default settings
|
|
9
|
+
* const queue = await Queue("notifications", {
|
|
10
|
+
* name: "notifications"
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* const consumer = await QueueConsumer("notification-processor", {
|
|
14
|
+
* queue,
|
|
15
|
+
* scriptName: "notification-worker"
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Create a consumer with custom settings
|
|
20
|
+
* const batchConsumer = await QueueConsumer("batch-processor", {
|
|
21
|
+
* queue,
|
|
22
|
+
* scriptName: "batch-worker",
|
|
23
|
+
* settings: {
|
|
24
|
+
* batchSize: 50, // Process 50 messages at once
|
|
25
|
+
* maxConcurrency: 10, // Allow 10 concurrent invocations
|
|
26
|
+
* maxRetries: 5, // Retry failed messages up to 5 times
|
|
27
|
+
* maxWaitTimeMs: 2000, // Wait up to 2 seconds to fill a batch
|
|
28
|
+
* retryDelay: 60 // Wait 60 seconds before retrying failed messages
|
|
29
|
+
* }
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* @see https://developers.cloudflare.com/queues/platform/consumers/
|
|
33
|
+
*/
|
|
34
|
+
export const QueueConsumer = Resource("cloudflare::QueueConsumer", async function (id, props) {
|
|
35
|
+
const api = await createCloudflareApi(props);
|
|
36
|
+
// Get queueId from either props.queue or props.queueId
|
|
37
|
+
const queueId = props.queue?.id || props.queueId;
|
|
38
|
+
if (!queueId) {
|
|
39
|
+
throw new Error("Either queue or queueId must be provided");
|
|
40
|
+
}
|
|
41
|
+
if (this.phase === "delete") {
|
|
42
|
+
console.log(`Deleting Queue Consumer for queue ${queueId}`);
|
|
43
|
+
if (props.delete !== false && this.output?.id) {
|
|
44
|
+
// Delete the consumer
|
|
45
|
+
await deleteQueueConsumer(api, queueId, this.output.id);
|
|
46
|
+
}
|
|
47
|
+
// Return void (a deleted consumer has no content)
|
|
48
|
+
return this.destroy();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
let consumerData;
|
|
52
|
+
if (this.phase === "create") {
|
|
53
|
+
console.log(`Creating Queue Consumer for queue ${queueId}`);
|
|
54
|
+
consumerData = await createQueueConsumer(api, queueId, props);
|
|
55
|
+
}
|
|
56
|
+
else if (this.output?.id) {
|
|
57
|
+
console.log(`Updating Queue Consumer ${this.output.id}`);
|
|
58
|
+
consumerData = await updateQueueConsumer(api, queueId, this.output.id, props);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// If no ID exists, fall back to creating a new consumer
|
|
62
|
+
console.log(`No existing Consumer ID found, creating new Queue Consumer for queue ${queueId}`);
|
|
63
|
+
consumerData = await createQueueConsumer(api, queueId, props);
|
|
64
|
+
}
|
|
65
|
+
return this({
|
|
66
|
+
id: consumerData.result.consumer_id,
|
|
67
|
+
queueId,
|
|
68
|
+
queue: props.queue,
|
|
69
|
+
type: "worker",
|
|
70
|
+
scriptName: props.scriptName,
|
|
71
|
+
settings: consumerData.result.settings
|
|
72
|
+
? {
|
|
73
|
+
batchSize: consumerData.result.settings.batch_size,
|
|
74
|
+
maxConcurrency: consumerData.result.settings.max_concurrency,
|
|
75
|
+
maxRetries: consumerData.result.settings.max_retries,
|
|
76
|
+
maxWaitTimeMs: consumerData.result.settings.max_wait_time_ms,
|
|
77
|
+
retryDelay: consumerData.result.settings.retry_delay,
|
|
78
|
+
}
|
|
79
|
+
: undefined,
|
|
80
|
+
createdOn: consumerData.result.created_on,
|
|
81
|
+
accountId: api.accountId,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
/**
|
|
86
|
+
* Create a new Queue Consumer
|
|
87
|
+
*/
|
|
88
|
+
export async function createQueueConsumer(api, queueId, props) {
|
|
89
|
+
// Prepare the create payload
|
|
90
|
+
const createPayload = {
|
|
91
|
+
script_name: props.scriptName,
|
|
92
|
+
type: "worker",
|
|
93
|
+
};
|
|
94
|
+
// Add settings if provided
|
|
95
|
+
if (props.settings) {
|
|
96
|
+
createPayload.settings = {};
|
|
97
|
+
if (props.settings.batchSize !== undefined) {
|
|
98
|
+
createPayload.settings.batch_size = props.settings.batchSize;
|
|
99
|
+
}
|
|
100
|
+
if (props.settings.maxConcurrency !== undefined) {
|
|
101
|
+
createPayload.settings.max_concurrency = props.settings.maxConcurrency;
|
|
102
|
+
}
|
|
103
|
+
if (props.settings.maxRetries !== undefined) {
|
|
104
|
+
createPayload.settings.max_retries = props.settings.maxRetries;
|
|
105
|
+
}
|
|
106
|
+
if (props.settings.maxWaitTimeMs !== undefined) {
|
|
107
|
+
createPayload.settings.max_wait_time_ms = props.settings.maxWaitTimeMs;
|
|
108
|
+
}
|
|
109
|
+
if (props.settings.retryDelay !== undefined) {
|
|
110
|
+
createPayload.settings.retry_delay = props.settings.retryDelay;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const createResponse = await api.post(`/accounts/${api.accountId}/queues/${queueId}/consumers`, createPayload);
|
|
114
|
+
if (!createResponse.ok) {
|
|
115
|
+
return await handleApiError(createResponse, "creating", "Queue Consumer", `for queue ${queueId}`);
|
|
116
|
+
}
|
|
117
|
+
return (await createResponse.json());
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Delete a Queue Consumer
|
|
121
|
+
*/
|
|
122
|
+
export async function deleteQueueConsumer(api, queueId, consumerId) {
|
|
123
|
+
const deleteResponse = await api.delete(`/accounts/${api.accountId}/queues/${queueId}/consumers/${consumerId}`);
|
|
124
|
+
if (!deleteResponse.ok && deleteResponse.status !== 404) {
|
|
125
|
+
const errorData = await deleteResponse.json().catch(() => ({
|
|
126
|
+
errors: [{ message: deleteResponse.statusText }],
|
|
127
|
+
}));
|
|
128
|
+
throw new CloudflareApiError(`Error deleting Queue Consumer '${consumerId}': ${errorData.errors?.[0]?.message || deleteResponse.statusText}`, deleteResponse);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Update a Queue Consumer
|
|
133
|
+
*/
|
|
134
|
+
async function updateQueueConsumer(api, queueId, consumerId, props) {
|
|
135
|
+
// Prepare the update payload
|
|
136
|
+
const updatePayload = {
|
|
137
|
+
script_name: props.scriptName,
|
|
138
|
+
type: "worker",
|
|
139
|
+
};
|
|
140
|
+
// Add settings if provided
|
|
141
|
+
if (props.settings) {
|
|
142
|
+
updatePayload.settings = {};
|
|
143
|
+
if (props.settings.batchSize !== undefined) {
|
|
144
|
+
updatePayload.settings.batch_size = props.settings.batchSize;
|
|
145
|
+
}
|
|
146
|
+
if (props.settings.maxConcurrency !== undefined) {
|
|
147
|
+
updatePayload.settings.max_concurrency = props.settings.maxConcurrency;
|
|
148
|
+
}
|
|
149
|
+
if (props.settings.maxRetries !== undefined) {
|
|
150
|
+
updatePayload.settings.max_retries = props.settings.maxRetries;
|
|
151
|
+
}
|
|
152
|
+
if (props.settings.maxWaitTimeMs !== undefined) {
|
|
153
|
+
updatePayload.settings.max_wait_time_ms = props.settings.maxWaitTimeMs;
|
|
154
|
+
}
|
|
155
|
+
if (props.settings.retryDelay !== undefined) {
|
|
156
|
+
updatePayload.settings.retry_delay = props.settings.retryDelay;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Use PUT to update the consumer
|
|
160
|
+
const updateResponse = await api.put(`/accounts/${api.accountId}/queues/${queueId}/consumers/${consumerId}`, updatePayload);
|
|
161
|
+
if (!updateResponse.ok) {
|
|
162
|
+
return await handleApiError(updateResponse, "updating", "Queue Consumer", consumerId);
|
|
163
|
+
}
|
|
164
|
+
return (await updateResponse.json());
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* List all consumers for a queue
|
|
168
|
+
*/
|
|
169
|
+
export async function listQueueConsumers(api, queueId) {
|
|
170
|
+
const response = await api.get(`/accounts/${api.accountId}/queues/${queueId}/consumers`);
|
|
171
|
+
if (!response.ok) {
|
|
172
|
+
throw new CloudflareApiError(`Failed to list queue consumers: ${response.statusText}`, response);
|
|
173
|
+
}
|
|
174
|
+
const data = (await response.json());
|
|
175
|
+
if (!data.success) {
|
|
176
|
+
const errorMessage = data.errors?.[0]?.message || "Unknown error";
|
|
177
|
+
throw new Error(`Failed to list queue consumers: ${errorMessage}`);
|
|
178
|
+
}
|
|
179
|
+
// Transform API response
|
|
180
|
+
return (data.result || []).map((consumer) => ({
|
|
181
|
+
id: consumer.consumer_id,
|
|
182
|
+
scriptName: consumer.script,
|
|
183
|
+
queueId: consumer.queue_id,
|
|
184
|
+
queueName: consumer.queue_name,
|
|
185
|
+
createdOn: consumer.created_on,
|
|
186
|
+
settings: consumer.settings
|
|
187
|
+
? {
|
|
188
|
+
batchSize: consumer.settings.batch_size,
|
|
189
|
+
maxConcurrency: consumer.settings.max_concurrency,
|
|
190
|
+
maxRetries: consumer.settings.max_retries,
|
|
191
|
+
maxWaitTimeMs: consumer.settings.max_wait_time_ms,
|
|
192
|
+
retryDelay: consumer.settings.retry_delay,
|
|
193
|
+
}
|
|
194
|
+
: undefined,
|
|
195
|
+
}));
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=queue-consumer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-consumer.js","sourceRoot":"","sources":["../../src/cloudflare/queue-consumer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,mBAAmB,GAEpB,MAAM,UAAU,CAAC;AAmGlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CACnC,2BAA2B,EAC3B,KAAK,WAEH,EAAU,EACV,KAAyB;IAEzB,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE7C,uDAAuD;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;YAC9C,sBAAsB;YACtB,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,kDAAkD;QAClD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,IAAI,YAA6C,CAAC;QAElD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;YAC5D,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,YAAY,GAAG,MAAM,mBAAmB,CACtC,GAAG,EACH,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,KAAK,CACN,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,OAAO,CAAC,GAAG,CACT,wEAAwE,OAAO,EAAE,CAClF,CAAC;YACF,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC;YACV,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW;YACnC,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;gBACpC,CAAC,CAAC;oBACE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU;oBAClD,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe;oBAC5D,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW;oBACpD,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB;oBAC5D,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW;iBACrD;gBACH,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU;YACzC,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAyBF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAkB,EAClB,OAAe,EACf,KAAyB;IAEzB,6BAA6B;IAC7B,MAAM,aAAa,GAAQ;QACzB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,IAAI,EAAE,QAAQ;KACf,CAAC;IAEF,2BAA2B;IAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC;QAE5B,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3C,aAAa,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/D,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAChD,aAAa,CAAC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC5C,aAAa,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC/C,aAAa,CAAC,QAAQ,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC5C,aAAa,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjE,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,IAAI,CACnC,aAAa,GAAG,CAAC,SAAS,WAAW,OAAO,YAAY,EACxD,aAAa,CACd,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,MAAM,cAAc,CACzB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,aAAa,OAAO,EAAE,CACvB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAoC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAkB,EAClB,OAAe,EACf,UAAkB;IAElB,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,MAAM,CACrC,aAAa,GAAG,CAAC,SAAS,WAAW,OAAO,cAAc,UAAU,EAAE,CACvE,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACxD,MAAM,SAAS,GAAQ,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;SACjD,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,kBAAkB,CAC1B,kCAAkC,UAAU,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,EAC/G,cAAc,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,GAAkB,EAClB,OAAe,EACf,UAAkB,EAClB,KAAyB;IAEzB,6BAA6B;IAC7B,MAAM,aAAa,GAAQ;QACzB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,IAAI,EAAE,QAAQ;KACf,CAAC;IAEF,2BAA2B;IAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC;QAE5B,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3C,aAAa,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/D,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAChD,aAAa,CAAC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC5C,aAAa,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC/C,aAAa,CAAC,QAAQ,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC5C,aAAa,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjE,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,GAAG,CAClC,aAAa,GAAG,CAAC,SAAS,WAAW,OAAO,cAAc,UAAU,EAAE,EACtE,aAAa,CACd,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,MAAM,cAAc,CACzB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,UAAU,CACX,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAoC,CAAC;AAC1E,CAAC;AAUD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAkB,EAClB,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAC5B,aAAa,GAAG,CAAC,SAAS,WAAW,OAAO,YAAY,CACzD,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,kBAAkB,CAC1B,mCAAmC,QAAQ,CAAC,UAAU,EAAE,EACxD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAiBlC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,eAAe,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,yBAAyB;IACzB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5C,EAAE,EAAE,QAAQ,CAAC,WAAW;QACxB,UAAU,EAAE,QAAQ,CAAC,MAAM;QAC3B,OAAO,EAAE,QAAQ,CAAC,QAAQ;QAC1B,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YACzB,CAAC,CAAC;gBACE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU;gBACvC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe;gBACjD,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW;gBACzC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB;gBACjD,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW;aAC1C;YACH,CAAC,CAAC,SAAS;KACd,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -29,8 +29,10 @@ export interface QueueProps extends CloudflareApiOptions {
|
|
|
29
29
|
* Name of the queue
|
|
30
30
|
* Required during creation
|
|
31
31
|
* Cannot be changed after creation
|
|
32
|
+
*
|
|
33
|
+
* @default id
|
|
32
34
|
*/
|
|
33
|
-
name
|
|
35
|
+
name?: string;
|
|
34
36
|
/**
|
|
35
37
|
* Settings for the queue
|
|
36
38
|
* These can be updated after queue creation
|
|
@@ -44,10 +46,11 @@ export interface QueueProps extends CloudflareApiOptions {
|
|
|
44
46
|
*/
|
|
45
47
|
delete?: boolean;
|
|
46
48
|
}
|
|
49
|
+
export declare function isQueue(eventSource: any): eventSource is Queue;
|
|
47
50
|
/**
|
|
48
51
|
* Output returned after Cloudflare Queue creation/update
|
|
49
52
|
*/
|
|
50
|
-
export interface Queue extends Resource<"cloudflare::Queue">, QueueProps {
|
|
53
|
+
export interface Queue<Body = unknown> extends Resource<"cloudflare::Queue">, QueueProps {
|
|
51
54
|
/**
|
|
52
55
|
* Type identifier for Cloudflare Queue
|
|
53
56
|
*/
|
|
@@ -56,6 +59,10 @@ export interface Queue extends Resource<"cloudflare::Queue">, QueueProps {
|
|
|
56
59
|
* The unique ID of the queue
|
|
57
60
|
*/
|
|
58
61
|
id: string;
|
|
62
|
+
/**
|
|
63
|
+
* The name of the queue
|
|
64
|
+
*/
|
|
65
|
+
name: string;
|
|
59
66
|
/**
|
|
60
67
|
* Time when the queue was created
|
|
61
68
|
*/
|
|
@@ -64,6 +71,11 @@ export interface Queue extends Resource<"cloudflare::Queue">, QueueProps {
|
|
|
64
71
|
* Modified timestamp
|
|
65
72
|
*/
|
|
66
73
|
modifiedOn: string;
|
|
74
|
+
/**
|
|
75
|
+
* Phantom property to allow type inference
|
|
76
|
+
*/
|
|
77
|
+
Body: Body;
|
|
78
|
+
Batch: MessageBatch<Body>;
|
|
67
79
|
}
|
|
68
80
|
interface CloudflareQueueResponse {
|
|
69
81
|
result: {
|
|
@@ -117,7 +129,7 @@ interface CloudflareQueueResponse {
|
|
|
117
129
|
*
|
|
118
130
|
* @see https://developers.cloudflare.com/queues/
|
|
119
131
|
*/
|
|
120
|
-
export declare const Queue: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<Queue
|
|
132
|
+
export declare const Queue: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | (<T = unknown>(this: Context<Queue<T>>, id: string, props?: QueueProps) => Promise<Queue<T>>);
|
|
121
133
|
/**
|
|
122
134
|
* Create a new Cloudflare Queue
|
|
123
135
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/cloudflare/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EACL,aAAa,EAEb,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,oBAAoB;IACtD
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/cloudflare/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EACL,aAAa,EAEb,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,oBAAoB;IACtD;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,GAAG,GAAG,WAAW,IAAI,KAAK,CAE9D;AAED;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,IAAI,GAAG,OAAO,CACnC,SAAQ,QAAQ,CAAC,mBAAmB,CAAC,EACnC,UAAU;IACZ;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE;YACT,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;SACnC,CAAC;KACH,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,KAAK,mFAChB,CAAC,kBACK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,UAAS,UAAU,KAAQ,OAAO,CACrE,KAAK,CAAC,CAAC,CAAC,CACT,CA+DC,CAAC;AAEH;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,uBAAuB,CAAC,CAkClC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,CAAC,CAUlC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,uBAAuB,CAAC,CAiClC;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CA6BzC"}
|
package/lib/cloudflare/queue.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Resource } from "../resource.js";
|
|
2
2
|
import { CloudflareApiError, handleApiError } from "./api-error.js";
|
|
3
3
|
import { CloudflareApi, createCloudflareApi, } from "./api.js";
|
|
4
|
+
export function isQueue(eventSource) {
|
|
5
|
+
return "Kind" in eventSource && eventSource.Kind === "cloudflare::Queue";
|
|
6
|
+
}
|
|
4
7
|
/**
|
|
5
8
|
* Creates and manages Cloudflare Queues.
|
|
6
9
|
*
|
|
@@ -34,9 +37,9 @@ import { CloudflareApi, createCloudflareApi, } from "./api.js";
|
|
|
34
37
|
*
|
|
35
38
|
* @see https://developers.cloudflare.com/queues/
|
|
36
39
|
*/
|
|
37
|
-
export const Queue = Resource("cloudflare::Queue", async function (id, props) {
|
|
40
|
+
export const Queue = Resource("cloudflare::Queue", async function (id, props = {}) {
|
|
38
41
|
const api = await createCloudflareApi(props);
|
|
39
|
-
const queueName = props.name
|
|
42
|
+
const queueName = props.name ?? id;
|
|
40
43
|
if (this.phase === "delete") {
|
|
41
44
|
console.log("Deleting Cloudflare Queue:", queueName);
|
|
42
45
|
if (props.delete !== false) {
|
|
@@ -83,6 +86,9 @@ export const Queue = Resource("cloudflare::Queue", async function (id, props) {
|
|
|
83
86
|
createdOn: queueData.result.created_on || new Date().toISOString(),
|
|
84
87
|
modifiedOn: queueData.result.modified_on || new Date().toISOString(),
|
|
85
88
|
accountId: api.accountId,
|
|
89
|
+
// phantom properties
|
|
90
|
+
Body: undefined,
|
|
91
|
+
Batch: undefined,
|
|
86
92
|
});
|
|
87
93
|
}
|
|
88
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/cloudflare/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,mBAAmB,GAEpB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/cloudflare/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,7 +81,7 @@ export class R2RestStateStore {
|
|
|
81
81
|
const data = (await response.json());
|
|
82
82
|
// The result structure may be under "result" key in Cloudflare's API
|
|
83
83
|
const result = data.result || data;
|
|
84
|
-
const objects = result.objects ||
|
|
84
|
+
const objects = result.objects || result;
|
|
85
85
|
// Add keys to our list, removing the prefix and converting from storage format
|
|
86
86
|
keys = keys.concat(objects.map((obj) => {
|
|
87
87
|
const keyName = obj.key || obj.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"r2-rest-state-store.js","sourceRoot":"","sources":["../../src/cloudflare/r2-rest-state-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"r2-rest-state-store.js","sourceRoot":"","sources":["../../src/cloudflare/r2-rest-state-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAC9C,SAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC9D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EACH,MAAM,GACN,CAAC;QACC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,YAAY,CAAC,CAAC;IACtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC/D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC,wBAAsB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAC9C,SAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC9D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EACH,MAAM,GACN,CAAC;QACC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,YAAY,CAAC,CAAC;IACtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC/D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC,wBAAsB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CA8ErB"}
|
|
@@ -30,12 +30,6 @@ export async function Website(id, props) {
|
|
|
30
30
|
await Exec("build", {
|
|
31
31
|
command: props.command,
|
|
32
32
|
});
|
|
33
|
-
const dist = typeof props.assets === "string"
|
|
34
|
-
? props.assets
|
|
35
|
-
: (props.assets?.dist ?? "dist");
|
|
36
|
-
const staticAssets = await Assets("assets", {
|
|
37
|
-
path: dist,
|
|
38
|
-
});
|
|
39
33
|
const worker = await Worker("worker", {
|
|
40
34
|
...props,
|
|
41
35
|
name: props.name ?? id,
|
|
@@ -50,15 +44,19 @@ export async function Website(id, props) {
|
|
|
50
44
|
? undefined
|
|
51
45
|
: `
|
|
52
46
|
export default {
|
|
53
|
-
async fetch(request, env) {
|
|
54
|
-
|
|
55
|
-
},
|
|
47
|
+
async fetch(request, env) {
|
|
48
|
+
return new Response("Not Found", { status: 404 });
|
|
49
|
+
},
|
|
56
50
|
};`,
|
|
57
51
|
url: true,
|
|
58
52
|
adopt: true,
|
|
59
53
|
bindings: {
|
|
60
54
|
...props.bindings,
|
|
61
|
-
ASSETS:
|
|
55
|
+
ASSETS: await Assets("assets", {
|
|
56
|
+
path: typeof props.assets === "string"
|
|
57
|
+
? props.assets
|
|
58
|
+
: (props.assets?.dist ?? "dist"),
|
|
59
|
+
}),
|
|
62
60
|
},
|
|
63
61
|
});
|
|
64
62
|
if (props.wrangler) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,MAAM,EAAuC,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA+ClD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,EAAU,EACV,KAAsB;IAEtB,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAChC,4DAA4D;QAC5D,mDAAmD;QAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1E,MAAM,YAAY,GAChB,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE3D,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAa,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,EAAE,CAAC,SAAS,CAChB,YAAa,EACb,IAAI,CAAC,SAAS,CACZ;oBACE,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,kBAAkB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC3D,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,MAAM,EAAuC,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA+ClD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,EAAU,EACV,KAAsB;IAEtB,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAChC,4DAA4D;QAC5D,mDAAmD;QAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1E,MAAM,YAAY,GAChB,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE3D,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAa,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,EAAE,CAAC,SAAS,CAChB,YAAa,EACb,IAAI,CAAC,SAAS,CACZ;oBACE,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,kBAAkB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC3D,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE;YACpC,GAAG,KAAK;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,UAAU,EAAE,KAAK,CAAC,IAAI;YACtB,MAAM,EAAE;gBACN,aAAa,EAAE,qBAAqB;gBACpC,kBAAkB,EAAE,yBAAyB;gBAC7C,gBAAgB,EAAE,KAAK;gBACvB,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1D;YACD,MAAM,EAAE,KAAK,CAAC,IAAI;gBAChB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;;;;;GAKP;YACG,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE;gBACR,GAAG,KAAK,CAAC,QAAQ;gBACjB,MAAM,EAAE,MAAM,MAAM,CAAC,QAAQ,EAAE;oBAC7B,IAAI,EACF,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;wBAC9B,CAAC,CAAC,KAAK,CAAC,MAAM;wBACd,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC;iBACrC,CAAC;aACH;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,YAAY,CAAC,gBAAgB,EAAE;gBACnC,IAAI,EAAE,YAAY;gBAClB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { Resource } from "../resource.js";
|
|
|
4
4
|
import { type CloudflareApiOptions } from "./api.js";
|
|
5
5
|
import type { Bindings } from "./bindings.js";
|
|
6
6
|
import type { Bound } from "./bound.js";
|
|
7
|
+
import { type EventSource } from "./event-source.js";
|
|
7
8
|
import type { SingleStepMigration } from "./worker-migration.js";
|
|
8
9
|
/**
|
|
9
10
|
* Configuration options for static assets
|
|
@@ -68,9 +69,10 @@ export interface WorkerProps<B extends Bindings = Bindings> extends CloudflareAp
|
|
|
68
69
|
format?: "esm" | "cjs";
|
|
69
70
|
/**
|
|
70
71
|
* Name for the worker
|
|
71
|
-
*
|
|
72
|
+
*
|
|
73
|
+
* @default id
|
|
72
74
|
*/
|
|
73
|
-
name
|
|
75
|
+
name?: string;
|
|
74
76
|
/**
|
|
75
77
|
* Bindings to attach to the worker
|
|
76
78
|
*/
|
|
@@ -129,6 +131,11 @@ export interface WorkerProps<B extends Bindings = Bindings> extends CloudflareAp
|
|
|
129
131
|
* @see https://developers.cloudflare.com/workers/configuration/cron-triggers/#examples
|
|
130
132
|
*/
|
|
131
133
|
crons?: string[];
|
|
134
|
+
/**
|
|
135
|
+
* Event sources that this worker will consume.
|
|
136
|
+
* Can include queues, streams, or other event sources.
|
|
137
|
+
*/
|
|
138
|
+
eventSources?: EventSource[];
|
|
132
139
|
}
|
|
133
140
|
/**
|
|
134
141
|
* Output returned after Worker creation/update
|
|
@@ -139,6 +146,10 @@ export interface Worker<B extends Bindings = Bindings> extends Resource<"cloudfl
|
|
|
139
146
|
* The ID of the worker
|
|
140
147
|
*/
|
|
141
148
|
id: string;
|
|
149
|
+
/**
|
|
150
|
+
* The name of the worker
|
|
151
|
+
*/
|
|
152
|
+
name: string;
|
|
142
153
|
/**
|
|
143
154
|
* Time at which the worker was created
|
|
144
155
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
|
package/lib/cloudflare/worker.js
CHANGED
|
@@ -5,8 +5,11 @@ 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
|
+
import { CloudflareApiError, handleApiError } from "./api-error.js";
|
|
9
9
|
import { createCloudflareApi, } from "./api.js";
|
|
10
|
+
import { isQueueEventSource } from "./event-source.js";
|
|
11
|
+
import { QueueConsumer, deleteQueueConsumer, listQueueConsumers, } from "./queue-consumer.js";
|
|
12
|
+
import { isQueue } from "./queue.js";
|
|
10
13
|
import { upsertWorkflow } from "./workflow.js";
|
|
11
14
|
/**
|
|
12
15
|
* A Cloudflare Worker is a serverless function that can be deployed to the Cloudflare network.
|
|
@@ -100,7 +103,7 @@ export const Worker = Resource("cloudflare::Worker", {
|
|
|
100
103
|
// Create Cloudflare API client with automatic account discovery
|
|
101
104
|
const api = await createCloudflareApi(props);
|
|
102
105
|
// Use the provided name
|
|
103
|
-
const workerName = props.name;
|
|
106
|
+
const workerName = props.name ?? id;
|
|
104
107
|
// Validate input - we need either script, entryPoint, or bundle
|
|
105
108
|
if (!props.script && !props.entrypoint) {
|
|
106
109
|
throw new Error("One of script or entryPoint must be provided");
|
|
@@ -141,7 +144,7 @@ export const Worker = Resource("cloudflare::Worker", {
|
|
|
141
144
|
// Upload the assets and get the completion token
|
|
142
145
|
assetUploadResult = await uploadAssets(api, workerName, assetBinding.assets, props.assets);
|
|
143
146
|
}
|
|
144
|
-
const compatibilityDate = props.compatibilityDate ?? "
|
|
147
|
+
const compatibilityDate = props.compatibilityDate ?? "2025-03-01";
|
|
145
148
|
const compatibilityFlags = props.compatibilityFlags ?? [];
|
|
146
149
|
// Prepare metadata with bindings
|
|
147
150
|
const scriptMetadata = await prepareWorkerMetadata(this, oldBindings, {
|
|
@@ -157,6 +160,22 @@ export const Worker = Resource("cloudflare::Worker", {
|
|
|
157
160
|
scriptName: workerName,
|
|
158
161
|
});
|
|
159
162
|
}
|
|
163
|
+
await Promise.all(props.eventSources?.map((eventSource) => {
|
|
164
|
+
if (isQueue(eventSource) || isQueueEventSource(eventSource)) {
|
|
165
|
+
const queue = isQueue(eventSource) ? eventSource : eventSource.queue;
|
|
166
|
+
return QueueConsumer(`${queue.id}-consumer`, {
|
|
167
|
+
queue,
|
|
168
|
+
scriptName: workerName,
|
|
169
|
+
accountId: api.accountId,
|
|
170
|
+
settings: isQueueEventSource(eventSource)
|
|
171
|
+
? eventSource.settings
|
|
172
|
+
: undefined,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
throw new Error(`Unsupported event source type: ${eventSource}`);
|
|
177
|
+
}
|
|
178
|
+
}) ?? []);
|
|
160
179
|
// TODO: it is less than ideal that this can fail, resulting in state problem
|
|
161
180
|
await this.set("bindings", props.bindings);
|
|
162
181
|
// Handle worker URL if requested
|
|
@@ -186,6 +205,7 @@ export const Worker = Resource("cloudflare::Worker", {
|
|
|
186
205
|
observability: scriptMetadata.observability,
|
|
187
206
|
createdAt: now,
|
|
188
207
|
updatedAt: now,
|
|
208
|
+
eventSources: props.eventSources,
|
|
189
209
|
url: workerUrl,
|
|
190
210
|
// Include assets configuration in the output
|
|
191
211
|
assets: props.assets,
|
|
@@ -196,6 +216,8 @@ export const Worker = Resource("cloudflare::Worker", {
|
|
|
196
216
|
});
|
|
197
217
|
});
|
|
198
218
|
async function deleteWorker(ctx, api, workerName) {
|
|
219
|
+
// Delete any queue consumers attached to this worker first
|
|
220
|
+
await deleteQueueConsumers(ctx, api, workerName);
|
|
199
221
|
// Delete worker
|
|
200
222
|
const deleteResponse = await api.delete(`/accounts/${api.accountId}/workers/scripts/${workerName}`);
|
|
201
223
|
// Check for success (2xx status code)
|
|
@@ -713,4 +735,46 @@ async function calculateFileMetadata(filePath) {
|
|
|
713
735
|
size: fileContent.length,
|
|
714
736
|
};
|
|
715
737
|
}
|
|
738
|
+
/**
|
|
739
|
+
* Lists and deletes all queue consumers for a specific worker
|
|
740
|
+
* @param ctx Worker context containing eventSources
|
|
741
|
+
* @param api CloudflareApi instance
|
|
742
|
+
* @param workerName Name of the worker script
|
|
743
|
+
*/
|
|
744
|
+
async function deleteQueueConsumers(ctx, api, workerName) {
|
|
745
|
+
const eventSources = ctx.output?.eventSources || [];
|
|
746
|
+
// Extract queue IDs from event sources
|
|
747
|
+
const queueIds = eventSources.flatMap((eventSource) => {
|
|
748
|
+
if (isQueue(eventSource)) {
|
|
749
|
+
return [eventSource.id];
|
|
750
|
+
}
|
|
751
|
+
else if (isQueueEventSource(eventSource)) {
|
|
752
|
+
return [eventSource.queue.id];
|
|
753
|
+
}
|
|
754
|
+
return [];
|
|
755
|
+
});
|
|
756
|
+
// Process each queue associated with this worker
|
|
757
|
+
await Promise.all(queueIds.map(async (queueId) => {
|
|
758
|
+
try {
|
|
759
|
+
// List all consumers for this queue
|
|
760
|
+
const consumers = await listQueueConsumers(api, queueId);
|
|
761
|
+
// Filter consumers by worker name
|
|
762
|
+
const workerConsumers = consumers.filter((consumer) => consumer.scriptName === workerName);
|
|
763
|
+
// Delete all consumers for this worker in parallel
|
|
764
|
+
await Promise.all(workerConsumers.map(async (consumer) => {
|
|
765
|
+
console.log(`Deleting queue consumer ${consumer.id} for worker ${workerName}`);
|
|
766
|
+
// Use the deleteQueueConsumer function from queue-consumer.ts
|
|
767
|
+
await deleteQueueConsumer(api, consumer.queueId, consumer.id);
|
|
768
|
+
}));
|
|
769
|
+
}
|
|
770
|
+
catch (err) {
|
|
771
|
+
if (err instanceof CloudflareApiError && err.status === 404) {
|
|
772
|
+
// this is OK
|
|
773
|
+
}
|
|
774
|
+
else {
|
|
775
|
+
throw err;
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
}));
|
|
779
|
+
}
|
|
716
780
|
//# sourceMappingURL=worker.js.map
|