@meetploy/nextjs 1.1.1 → 1.3.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.
package/dist/dev.js CHANGED
@@ -1,4 +1,130 @@
1
+ import { registerHandlers } from "./handler.js";
1
2
  const PLOY_CONTEXT_SYMBOL = Symbol.for("__ploy-context__");
3
+ let queueProcessorInterval = null;
4
+ let workflowHandlerUrlGlobal;
5
+ const PLOY_HANDLERS_PATHS = [
6
+ "ploy.ts",
7
+ "ploy.js",
8
+ "src/ploy.ts",
9
+ "src/ploy.js",
10
+ "app/ploy.ts",
11
+ "app/ploy.js",
12
+ ];
13
+ async function findAndImportHandlers() {
14
+ try {
15
+ const fs = await import("node:fs/promises");
16
+ const path = await import("node:path");
17
+ const cwd = process.cwd();
18
+ for (const handlerPath of PLOY_HANDLERS_PATHS) {
19
+ const fullPath = path.resolve(cwd, handlerPath);
20
+ try {
21
+ await fs.access(fullPath);
22
+ const fileUrl = `file://${fullPath}`;
23
+ const module = await import(fileUrl);
24
+ const handlers = module.default || module;
25
+ if (handlers && (handlers.message || handlers.workflows)) {
26
+ console.log(`[Ploy] Loaded handlers from ${handlerPath}`);
27
+ return handlers;
28
+ }
29
+ }
30
+ catch {
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ }
39
+ function startQueueProcessor(queueBindings, apiUrl, handlerUrl) {
40
+ if (queueProcessorInterval) {
41
+ return;
42
+ }
43
+ async function processQueues() {
44
+ for (const [bindingName, queueName] of Object.entries(queueBindings)) {
45
+ await processQueue(bindingName, queueName);
46
+ }
47
+ }
48
+ async function processQueue(bindingName, queueName) {
49
+ try {
50
+ const receiveResponse = await fetch(`${apiUrl}/queue/receive`, {
51
+ method: "POST",
52
+ headers: { "Content-Type": "application/json" },
53
+ body: JSON.stringify({
54
+ queueName,
55
+ maxMessages: 10,
56
+ visibilityTimeoutSeconds: 30,
57
+ }),
58
+ });
59
+ if (!receiveResponse.ok) {
60
+ return;
61
+ }
62
+ const receiveResult = (await receiveResponse.json());
63
+ if (!receiveResult.success || !receiveResult.messages?.length) {
64
+ return;
65
+ }
66
+ for (const message of receiveResult.messages) {
67
+ try {
68
+ const handlerResponse = await fetch(handlerUrl, {
69
+ method: "POST",
70
+ headers: {
71
+ "Content-Type": "application/json",
72
+ "X-Ploy-Queue-Delivery": "true",
73
+ "X-Ploy-Queue-Name": queueName,
74
+ "X-Ploy-Queue-Binding": bindingName,
75
+ "X-Ploy-Message-Id": message.id,
76
+ "X-Ploy-Delivery-Id": message.deliveryId,
77
+ "X-Ploy-Message-Attempt": String(message.attempt),
78
+ },
79
+ body: JSON.stringify(message.payload),
80
+ });
81
+ if (handlerResponse.ok) {
82
+ await fetch(`${apiUrl}/queue/ack`, {
83
+ method: "POST",
84
+ headers: { "Content-Type": "application/json" },
85
+ body: JSON.stringify({
86
+ messageId: message.id,
87
+ deliveryId: message.deliveryId,
88
+ }),
89
+ });
90
+ }
91
+ else {
92
+ await fetch(`${apiUrl}/queue/retry`, {
93
+ method: "POST",
94
+ headers: { "Content-Type": "application/json" },
95
+ body: JSON.stringify({
96
+ messageId: message.id,
97
+ deliveryId: message.deliveryId,
98
+ }),
99
+ });
100
+ }
101
+ }
102
+ catch {
103
+ await fetch(`${apiUrl}/queue/retry`, {
104
+ method: "POST",
105
+ headers: { "Content-Type": "application/json" },
106
+ body: JSON.stringify({
107
+ messageId: message.id,
108
+ deliveryId: message.deliveryId,
109
+ }),
110
+ }).catch(() => { });
111
+ }
112
+ }
113
+ }
114
+ catch {
115
+ }
116
+ }
117
+ queueProcessorInterval = setInterval(() => {
118
+ processQueues().catch(() => { });
119
+ }, 1000);
120
+ console.log(`[Ploy] Queue processor started, polling ${apiUrl}/queue/receive, delivering to ${handlerUrl}`);
121
+ }
122
+ function stopQueueProcessor() {
123
+ if (queueProcessorInterval) {
124
+ clearInterval(queueProcessorInterval);
125
+ queueProcessorInterval = null;
126
+ }
127
+ }
2
128
  function createDevD1(databaseId, apiUrl) {
3
129
  return {
4
130
  async dump() {
@@ -99,31 +225,186 @@ function createDevD1(databaseId, apiUrl) {
99
225
  },
100
226
  };
101
227
  }
228
+ function createDevPloyAuth(apiUrl) {
229
+ return {
230
+ async getUser(token) {
231
+ try {
232
+ const response = await fetch(`${apiUrl}/auth/me`, {
233
+ headers: {
234
+ Authorization: `Bearer ${token}`,
235
+ },
236
+ });
237
+ if (!response.ok) {
238
+ return null;
239
+ }
240
+ const data = (await response.json());
241
+ return data.user;
242
+ }
243
+ catch {
244
+ return null;
245
+ }
246
+ },
247
+ async verifyToken(token) {
248
+ try {
249
+ const response = await fetch(`${apiUrl}/auth/me`, {
250
+ headers: {
251
+ Authorization: `Bearer ${token}`,
252
+ },
253
+ });
254
+ return response.ok;
255
+ }
256
+ catch {
257
+ return false;
258
+ }
259
+ },
260
+ };
261
+ }
262
+ function createDevQueue(queueName, apiUrl) {
263
+ return {
264
+ async send(payload, opts) {
265
+ const response = await fetch(`${apiUrl}/queue/send`, {
266
+ method: "POST",
267
+ headers: { "Content-Type": "application/json" },
268
+ body: JSON.stringify({
269
+ queueName,
270
+ payload,
271
+ delaySeconds: opts?.delaySeconds,
272
+ }),
273
+ });
274
+ if (!response.ok) {
275
+ throw new Error(`Queue send failed: ${await response.text()}`);
276
+ }
277
+ const result = (await response.json());
278
+ if (!result.success) {
279
+ throw new Error(result.error || "Queue send failed");
280
+ }
281
+ return { messageId: result.messageId };
282
+ },
283
+ async sendBatch(messages) {
284
+ const response = await fetch(`${apiUrl}/queue/batch-send`, {
285
+ method: "POST",
286
+ headers: { "Content-Type": "application/json" },
287
+ body: JSON.stringify({
288
+ queueName,
289
+ messages,
290
+ }),
291
+ });
292
+ if (!response.ok) {
293
+ throw new Error(`Queue batch send failed: ${await response.text()}`);
294
+ }
295
+ const result = (await response.json());
296
+ if (!result.success) {
297
+ throw new Error(result.error || "Queue batch send failed");
298
+ }
299
+ return { messageIds: result.messageIds };
300
+ },
301
+ };
302
+ }
303
+ function createDevWorkflow(workflowName, apiUrl) {
304
+ return {
305
+ async trigger(input) {
306
+ const response = await fetch(`${apiUrl}/workflow/trigger`, {
307
+ method: "POST",
308
+ headers: { "Content-Type": "application/json" },
309
+ body: JSON.stringify({ workflowName, input }),
310
+ });
311
+ if (!response.ok) {
312
+ throw new Error(`Workflow trigger failed: ${await response.text()}`);
313
+ }
314
+ const result = (await response.json());
315
+ if (!result.success) {
316
+ throw new Error(result.error || "Workflow trigger failed");
317
+ }
318
+ if (workflowHandlerUrlGlobal) {
319
+ fetch(workflowHandlerUrlGlobal, {
320
+ method: "POST",
321
+ headers: {
322
+ "Content-Type": "application/json",
323
+ "X-Ploy-Workflow-Execution": "true",
324
+ "X-Ploy-Workflow-Name": workflowName,
325
+ "X-Ploy-Execution-Id": result.executionId,
326
+ },
327
+ body: JSON.stringify(input),
328
+ }).catch(() => {
329
+ });
330
+ }
331
+ return { executionId: result.executionId };
332
+ },
333
+ async getExecution(id) {
334
+ const response = await fetch(`${apiUrl}/workflow/status`, {
335
+ method: "POST",
336
+ headers: { "Content-Type": "application/json" },
337
+ body: JSON.stringify({ executionId: id }),
338
+ });
339
+ if (!response.ok) {
340
+ throw new Error(`Workflow status failed: ${await response.text()}`);
341
+ }
342
+ const result = (await response.json());
343
+ if (!result.success) {
344
+ throw new Error(result.error || "Workflow status failed");
345
+ }
346
+ const exec = result.execution;
347
+ return {
348
+ id: exec.id,
349
+ status: exec.status,
350
+ output: exec.output,
351
+ errorMessage: exec.error,
352
+ };
353
+ },
354
+ async cancel(id) {
355
+ const response = await fetch(`${apiUrl}/workflow/cancel`, {
356
+ method: "POST",
357
+ headers: { "Content-Type": "application/json" },
358
+ body: JSON.stringify({ executionId: id }),
359
+ });
360
+ if (!response.ok) {
361
+ throw new Error(`Workflow cancel failed: ${await response.text()}`);
362
+ }
363
+ const result = (await response.json());
364
+ if (!result.success) {
365
+ throw new Error(result.error || "Workflow cancel failed");
366
+ }
367
+ },
368
+ };
369
+ }
370
+ function parseYamlSection(content, sectionName) {
371
+ const regex = new RegExp(`^${sectionName}:\\s*\\n((?:\\s+\\w+:\\s*.+\\n?)+)`, "m");
372
+ const match = content.match(regex);
373
+ if (!match) {
374
+ return {};
375
+ }
376
+ const bindings = {};
377
+ const bindingLines = match[1].matchAll(/^\s+(\w+):\s*(.+)$/gm);
378
+ for (const line of bindingLines) {
379
+ const bindingName = line[1].trim();
380
+ const value = line[2].trim();
381
+ bindings[bindingName] = value;
382
+ }
383
+ return bindings;
384
+ }
102
385
  async function parseBindingsFromConfig(configPath) {
103
386
  try {
104
387
  const fs = await import("node:fs/promises");
105
388
  const path = await import("node:path");
106
389
  const resolvedPath = path.resolve(process.cwd(), configPath);
107
390
  const content = await fs.readFile(resolvedPath, "utf-8");
108
- const dbMatch = content.match(/^db:\s*\n((?:\s+\w+:\s*.+\n?)+)/m);
109
- if (!dbMatch) {
110
- return { db: {} };
111
- }
112
- const dbBindings = {};
113
- const bindingLines = dbMatch[1].matchAll(/^\s+(\w+):\s*(.+)$/gm);
114
- for (const match of bindingLines) {
115
- const bindingName = match[1].trim();
116
- const databaseId = match[2].trim();
117
- dbBindings[bindingName] = databaseId;
118
- }
119
- return { db: dbBindings };
391
+ const hasAuth = /^auth:\s*\n/m.test(content);
392
+ const dbBindings = parseYamlSection(content, "db");
393
+ const queueBindings = parseYamlSection(content, "queue");
394
+ const workflowBindings = parseYamlSection(content, "workflow");
395
+ return {
396
+ db: dbBindings,
397
+ queue: queueBindings,
398
+ workflow: workflowBindings,
399
+ auth: hasAuth,
400
+ };
120
401
  }
121
402
  catch (error) {
122
403
  if (error instanceof Error && "code" in error && error.code === "ENOENT") {
123
- return { db: {} };
404
+ return { db: {}, queue: {}, workflow: {} };
124
405
  }
125
406
  console.warn("[Ploy] Failed to parse ploy.yaml:", error);
126
- return { db: {} };
407
+ return { db: {}, queue: {}, workflow: {} };
127
408
  }
128
409
  }
129
410
  export async function initPloyForDev(config) {
@@ -138,9 +419,13 @@ export async function initPloyForDev(config) {
138
419
  process.env.PLOY_MOCK_SERVER_URL ||
139
420
  "http://localhost:4003";
140
421
  const configPath = config?.configPath || "./ploy.yaml";
141
- let bindings = config?.bindings;
142
- if (!bindings) {
143
- bindings = await parseBindingsFromConfig(configPath);
422
+ let bindings = config?.bindings ?? {};
423
+ const parsedConfig = await parseBindingsFromConfig(configPath);
424
+ if (!config?.bindings) {
425
+ bindings = parsedConfig;
426
+ }
427
+ else {
428
+ bindings.auth = parsedConfig.auth;
144
429
  }
145
430
  const env = {};
146
431
  if (bindings?.db) {
@@ -148,6 +433,19 @@ export async function initPloyForDev(config) {
148
433
  env[bindingName] = createDevD1(databaseId, apiUrl);
149
434
  }
150
435
  }
436
+ if (bindings?.queue) {
437
+ for (const [bindingName, queueName] of Object.entries(bindings.queue)) {
438
+ env[bindingName] = createDevQueue(queueName, apiUrl);
439
+ }
440
+ }
441
+ if (bindings?.workflow) {
442
+ for (const [bindingName, workflowName] of Object.entries(bindings.workflow)) {
443
+ env[bindingName] = createDevWorkflow(workflowName, apiUrl);
444
+ }
445
+ }
446
+ if (bindings?.auth) {
447
+ env.PLOY_AUTH = createDevPloyAuth(apiUrl);
448
+ }
151
449
  const context = {
152
450
  env,
153
451
  cf: undefined,
@@ -160,9 +458,48 @@ export async function initPloyForDev(config) {
160
458
  },
161
459
  configurable: true,
162
460
  });
163
- const bindingNames = Object.keys(env);
461
+ const features = [];
462
+ const bindingNames = Object.keys(env).filter((k) => k !== "PLOY_AUTH");
164
463
  if (bindingNames.length > 0) {
165
- console.log(`[Ploy] Development context initialized with bindings: ${bindingNames.join(", ")}`);
464
+ features.push(`bindings: ${bindingNames.join(", ")}`);
465
+ }
466
+ if (bindings?.auth) {
467
+ features.push("auth");
468
+ }
469
+ if (features.length > 0) {
470
+ console.log(`[Ploy] Development context initialized (${features.join(", ")})`);
471
+ }
472
+ const port = process.env.PORT || "3000";
473
+ const handlerUrl = config?.queueHandlerUrl || `http://localhost:${port}/ploy-handler`;
474
+ const hasQueueBindings = bindings?.queue && Object.keys(bindings.queue).length > 0;
475
+ const hasWorkflowBindings = bindings?.workflow && Object.keys(bindings.workflow).length > 0;
476
+ if (hasQueueBindings || hasWorkflowBindings) {
477
+ const handlers = await findAndImportHandlers();
478
+ if (handlers) {
479
+ registerHandlers(handlers);
480
+ if (hasQueueBindings && handlers.message) {
481
+ startQueueProcessor(bindings.queue, apiUrl, handlerUrl);
482
+ const cleanup = () => {
483
+ stopQueueProcessor();
484
+ };
485
+ process.on("exit", cleanup);
486
+ process.on("SIGINT", () => {
487
+ cleanup();
488
+ process.exit(0);
489
+ });
490
+ process.on("SIGTERM", () => {
491
+ cleanup();
492
+ process.exit(0);
493
+ });
494
+ }
495
+ if (hasWorkflowBindings && handlers.workflows) {
496
+ workflowHandlerUrlGlobal = handlerUrl;
497
+ console.log(`[Ploy] Workflow executions will be dispatched to ${handlerUrl}`);
498
+ }
499
+ }
500
+ else {
501
+ console.log("[Ploy] Queue/workflow bindings configured but no ploy.ts handlers found.");
502
+ }
166
503
  }
167
504
  }
168
505
  //# sourceMappingURL=dev.js.map
package/dist/dev.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { PloyEnv } from "./types.js";
2
+ import type { ExecutionContext, QueueMessageEvent, WorkflowStep } from "@meetploy/types";
3
+ interface PloyHandlers {
4
+ message?: (event: QueueMessageEvent, env: PloyEnv, ctx: ExecutionContext) => Promise<void>;
5
+ workflows?: Record<string, (context: {
6
+ input: unknown;
7
+ step: WorkflowStep;
8
+ env: PloyEnv;
9
+ }) => Promise<unknown>>;
10
+ }
11
+ export declare function registerHandlers(handlers: PloyHandlers): void;
12
+ export declare function GET(): Promise<Response>;
13
+ export declare function POST(request: Request): Promise<Response>;
14
+ export {};
@@ -0,0 +1,260 @@
1
+ import { getPloyContext } from "./context.js";
2
+ const PLOY_HANDLERS_SYMBOL = Symbol.for("__ploy-handlers__");
3
+ export function registerHandlers(handlers) {
4
+ globalThis[PLOY_HANDLERS_SYMBOL] = handlers;
5
+ }
6
+ const PLOY_HANDLERS_PATHS = [
7
+ "ploy.ts",
8
+ "ploy.js",
9
+ "src/ploy.ts",
10
+ "src/ploy.js",
11
+ "app/ploy.ts",
12
+ "app/ploy.js",
13
+ ];
14
+ async function getHandlers() {
15
+ let handlers = globalThis[PLOY_HANDLERS_SYMBOL];
16
+ if (!handlers && typeof process !== "undefined" && process.cwd) {
17
+ try {
18
+ const fs = await import("node:fs/promises");
19
+ const path = await import("node:path");
20
+ const cwd = process.cwd();
21
+ for (const handlerPath of PLOY_HANDLERS_PATHS) {
22
+ const fullPath = path.resolve(cwd, handlerPath);
23
+ try {
24
+ await fs.access(fullPath);
25
+ const fileUrl = `file://${fullPath}`;
26
+ const module = await import(fileUrl);
27
+ handlers = module.default || module;
28
+ if (handlers && (handlers.message || handlers.workflows)) {
29
+ globalThis[PLOY_HANDLERS_SYMBOL] =
30
+ handlers;
31
+ break;
32
+ }
33
+ }
34
+ catch {
35
+ }
36
+ }
37
+ }
38
+ catch {
39
+ }
40
+ }
41
+ return handlers;
42
+ }
43
+ async function createResponse(body, init) {
44
+ return new Response(JSON.stringify(body), {
45
+ ...init,
46
+ headers: {
47
+ "Content-Type": "application/json",
48
+ ...init?.headers,
49
+ },
50
+ });
51
+ }
52
+ async function handleQueueMessage(request) {
53
+ const handlers = await getHandlers();
54
+ if (!handlers?.message) {
55
+ return await createResponse({ success: false, error: "No queue handler registered" }, { status: 404 });
56
+ }
57
+ try {
58
+ const queueName = request.headers.get("X-Ploy-Queue-Name");
59
+ const messageId = request.headers.get("X-Ploy-Message-Id");
60
+ const attempt = request.headers.get("X-Ploy-Message-Attempt");
61
+ if (!queueName || !messageId) {
62
+ return createResponse({ success: false, error: "Missing queue headers" }, { status: 400 });
63
+ }
64
+ const payload = await request.json();
65
+ const { env } = getPloyContext();
66
+ const event = {
67
+ id: messageId,
68
+ queueName,
69
+ payload,
70
+ attempt: parseInt(attempt || "1", 10),
71
+ timestamp: new Date(),
72
+ };
73
+ const ctx = {
74
+ waitUntil: () => { },
75
+ passThroughOnException: () => { },
76
+ };
77
+ await handlers.message(event, env, ctx);
78
+ return createResponse({
79
+ success: true,
80
+ processed: true,
81
+ messageId,
82
+ });
83
+ }
84
+ catch (error) {
85
+ console.error("[Ploy Handler] Queue error:", error);
86
+ return await createResponse({
87
+ success: false,
88
+ error: error instanceof Error ? error.message : String(error),
89
+ }, { status: 500 });
90
+ }
91
+ }
92
+ async function handleWorkflowExecution(request) {
93
+ const apiUrl = process.env.PLOY_MOCK_SERVER_URL || "http://localhost:4003";
94
+ let executionId = null;
95
+ const handlers = await getHandlers();
96
+ if (!handlers?.workflows) {
97
+ return await createResponse({ success: false, error: "No workflow handlers registered" }, { status: 404 });
98
+ }
99
+ try {
100
+ const workflowName = request.headers.get("X-Ploy-Workflow-Name");
101
+ executionId = request.headers.get("X-Ploy-Execution-Id");
102
+ if (!workflowName || !executionId) {
103
+ return createResponse({ success: false, error: "Missing workflow headers" }, { status: 400 });
104
+ }
105
+ const input = await request.json();
106
+ console.log("[Ploy Handler] Starting workflow:", {
107
+ workflowName,
108
+ executionId,
109
+ });
110
+ const { env } = getPloyContext();
111
+ if (!(workflowName in handlers.workflows)) {
112
+ const errorMessage = `Unknown workflow: ${workflowName}`;
113
+ await fetch(`${apiUrl}/workflow/fail`, {
114
+ method: "POST",
115
+ headers: { "Content-Type": "application/json" },
116
+ body: JSON.stringify({ executionId, error: errorMessage }),
117
+ });
118
+ return createResponse({ success: false, error: errorMessage }, { status: 400 });
119
+ }
120
+ const execId = executionId;
121
+ let stepIndex = 0;
122
+ const step = {
123
+ async run(stepName, fn, options) {
124
+ const currentStepIndex = stepIndex++;
125
+ const maxRetries = options?.retries ?? 0;
126
+ const startResponse = await fetch(`${apiUrl}/workflow/step/start`, {
127
+ method: "POST",
128
+ headers: { "Content-Type": "application/json" },
129
+ body: JSON.stringify({
130
+ executionId: execId,
131
+ stepName,
132
+ stepIndex: currentStepIndex,
133
+ }),
134
+ });
135
+ if (!startResponse.ok) {
136
+ throw new Error(`Failed to start step: ${await startResponse.text()}`);
137
+ }
138
+ const startResult = (await startResponse.json());
139
+ if (startResult.alreadyCompleted) {
140
+ return startResult.output;
141
+ }
142
+ const startTime = Date.now();
143
+ let lastError = null;
144
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
145
+ try {
146
+ const result = await fn();
147
+ const durationMs = Date.now() - startTime;
148
+ await fetch(`${apiUrl}/workflow/step/complete`, {
149
+ method: "POST",
150
+ headers: { "Content-Type": "application/json" },
151
+ body: JSON.stringify({
152
+ executionId: execId,
153
+ stepName,
154
+ output: result,
155
+ durationMs,
156
+ }),
157
+ });
158
+ return result;
159
+ }
160
+ catch (error) {
161
+ lastError =
162
+ error instanceof Error ? error : new Error(String(error));
163
+ if (attempt < maxRetries) {
164
+ await new Promise((resolve) => {
165
+ setTimeout(resolve, Math.min(1000 * Math.pow(2, attempt), 30000));
166
+ });
167
+ }
168
+ }
169
+ }
170
+ const durationMs = Date.now() - startTime;
171
+ await fetch(`${apiUrl}/workflow/step/fail`, {
172
+ method: "POST",
173
+ headers: { "Content-Type": "application/json" },
174
+ body: JSON.stringify({
175
+ executionId: execId,
176
+ stepName,
177
+ error: lastError?.message || "Step execution failed",
178
+ durationMs,
179
+ }),
180
+ });
181
+ throw lastError;
182
+ },
183
+ async sleep(durationMs) {
184
+ const sleepStepName = "__sleep_" + stepIndex++;
185
+ await fetch(`${apiUrl}/workflow/step/start`, {
186
+ method: "POST",
187
+ headers: { "Content-Type": "application/json" },
188
+ body: JSON.stringify({
189
+ executionId: execId,
190
+ stepName: sleepStepName,
191
+ stepIndex: stepIndex - 1,
192
+ }),
193
+ });
194
+ await new Promise((resolve) => {
195
+ setTimeout(resolve, durationMs);
196
+ });
197
+ await fetch(`${apiUrl}/workflow/step/complete`, {
198
+ method: "POST",
199
+ headers: { "Content-Type": "application/json" },
200
+ body: JSON.stringify({
201
+ executionId: execId,
202
+ stepName: sleepStepName,
203
+ output: { sleptMs: durationMs },
204
+ durationMs,
205
+ }),
206
+ });
207
+ },
208
+ };
209
+ const workflowFn = handlers.workflows[workflowName];
210
+ const output = await workflowFn({
211
+ input,
212
+ step,
213
+ env: env,
214
+ });
215
+ await fetch(`${apiUrl}/workflow/complete`, {
216
+ method: "POST",
217
+ headers: { "Content-Type": "application/json" },
218
+ body: JSON.stringify({ executionId, output }),
219
+ });
220
+ console.log("[Ploy Handler] Workflow completed:", output);
221
+ return createResponse({ success: true, output });
222
+ }
223
+ catch (error) {
224
+ console.error("[Ploy Handler] Workflow error:", error);
225
+ if (executionId) {
226
+ await fetch(`${apiUrl}/workflow/fail`, {
227
+ method: "POST",
228
+ headers: { "Content-Type": "application/json" },
229
+ body: JSON.stringify({
230
+ executionId,
231
+ error: error instanceof Error ? error.message : String(error),
232
+ }),
233
+ }).catch(() => { });
234
+ }
235
+ return await createResponse({
236
+ success: false,
237
+ error: error instanceof Error ? error.message : String(error),
238
+ }, { status: 500 });
239
+ }
240
+ }
241
+ export async function GET() {
242
+ const handlers = await getHandlers();
243
+ return await createResponse({
244
+ ploy: true,
245
+ development: true,
246
+ hasQueueHandler: !!handlers?.message,
247
+ hasWorkflowHandlers: !!handlers?.workflows,
248
+ workflowNames: handlers?.workflows ? Object.keys(handlers.workflows) : [],
249
+ });
250
+ }
251
+ export async function POST(request) {
252
+ if (request.headers.get("X-Ploy-Queue-Delivery") === "true") {
253
+ return await handleQueueMessage(request);
254
+ }
255
+ if (request.headers.get("X-Ploy-Workflow-Execution") === "true") {
256
+ return await handleWorkflowExecution(request);
257
+ }
258
+ return await createResponse({ success: false, error: "Unknown request type" }, { status: 400 });
259
+ }
260
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,8 +1,16 @@
1
- import type { D1Database as D1DatabaseType, D1PreparedStatement as D1PreparedStatementType, D1Result as D1ResultType, D1ResultMeta as D1ResultMetaType } from "@meetploy/types";
1
+ import type { D1Database as D1DatabaseType, D1PreparedStatement as D1PreparedStatementType, D1Result as D1ResultType, D1ResultMeta as D1ResultMetaType, QueueBinding as QueueBindingType, QueueSendOptions as QueueSendOptionsType, QueueSendResult as QueueSendResultType, QueueBatchMessage as QueueBatchMessageType, QueueSendBatchResult as QueueSendBatchResultType, WorkflowBinding as WorkflowBindingType, WorkflowExecution as WorkflowExecutionType, WorkflowTriggerResult as WorkflowTriggerResultType } from "@meetploy/types";
2
2
  export type D1Database = D1DatabaseType;
3
3
  export type D1PreparedStatement = D1PreparedStatementType;
4
4
  export type D1Result<T = unknown> = D1ResultType<T>;
5
5
  export type D1ResultMeta = D1ResultMetaType;
6
+ export type QueueBinding = QueueBindingType;
7
+ export type QueueSendOptions = QueueSendOptionsType;
8
+ export type QueueSendResult = QueueSendResultType;
9
+ export type QueueBatchMessage = QueueBatchMessageType;
10
+ export type QueueSendBatchResult = QueueSendBatchResultType;
11
+ export type WorkflowBinding = WorkflowBindingType;
12
+ export type WorkflowExecution = WorkflowExecutionType;
13
+ export type WorkflowTriggerResult = WorkflowTriggerResultType;
6
14
  export interface CfProperties {
7
15
  colo?: string;
8
16
  country?: string;
@@ -34,6 +42,9 @@ export interface PloyDevConfig {
34
42
  configPath?: string;
35
43
  bindings?: {
36
44
  db?: Record<string, string>;
45
+ queue?: Record<string, string>;
46
+ workflow?: Record<string, string>;
37
47
  };
38
48
  apiUrl?: string;
49
+ queueHandlerUrl?: string;
39
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meetploy/nextjs",
3
- "version": "1.1.1",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,6 +14,11 @@
14
14
  "types": "./dist/index.d.ts",
15
15
  "import": "./dist/index.js",
16
16
  "require": "./dist/index.js"
17
+ },
18
+ "./handler": {
19
+ "types": "./dist/handler.d.ts",
20
+ "import": "./dist/handler.js",
21
+ "require": "./dist/handler.js"
17
22
  }
18
23
  },
19
24
  "module": "./dist/index.js",