@donkeylabs/server 2.0.25 → 2.0.26

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@donkeylabs/server",
3
- "version": "2.0.25",
3
+ "version": "2.0.26",
4
4
  "type": "module",
5
5
  "description": "Type-safe plugin system for building RPC-style APIs with Bun",
6
6
  "main": "./src/index.ts",
@@ -1484,6 +1484,14 @@ class WorkflowsImpl implements Workflows {
1484
1484
  data: event.data,
1485
1485
  };
1486
1486
 
1487
+ const ssePayload = {
1488
+ id: `workflow_event_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
1489
+ event: event.event,
1490
+ stepName: event.data?.stepName,
1491
+ data: event.data,
1492
+ createdAt: new Date().toISOString(),
1493
+ };
1494
+
1487
1495
  await this.emitEvent("workflow.event", payload);
1488
1496
  if (workflowName) {
1489
1497
  await this.emitEvent(`workflow.${workflowName}.event`, payload);
@@ -1491,8 +1499,12 @@ class WorkflowsImpl implements Workflows {
1491
1499
  await this.emitEvent(`workflow.${instanceId}.event`, payload);
1492
1500
 
1493
1501
  if (this.sse) {
1494
- this.sse.broadcast(`workflow:${instanceId}`, "event", payload);
1495
- this.sse.broadcast("workflows:all", "workflow.event", payload);
1502
+ this.sse.broadcast(`workflow:${instanceId}`, "event", ssePayload);
1503
+ this.sse.broadcast("workflows:all", "workflow.event", {
1504
+ ...ssePayload,
1505
+ instanceId,
1506
+ workflowName,
1507
+ });
1496
1508
  }
1497
1509
  break;
1498
1510
  }
@@ -1500,6 +1512,16 @@ class WorkflowsImpl implements Workflows {
1500
1512
  case "log": {
1501
1513
  const workflowName = event.workflowName ?? (await this.adapter.getInstance(instanceId))?.workflowName;
1502
1514
 
1515
+ const ssePayload = {
1516
+ id: `workflow_log_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
1517
+ level: event.level,
1518
+ event: "log",
1519
+ stepName: event.data?.stepName,
1520
+ message: event.message,
1521
+ data: event.data,
1522
+ createdAt: new Date().toISOString(),
1523
+ };
1524
+
1503
1525
  if (this.core?.logs && event.level && event.message) {
1504
1526
  this.core.logs.write({
1505
1527
  level: event.level,
@@ -1512,12 +1534,7 @@ class WorkflowsImpl implements Workflows {
1512
1534
  }
1513
1535
 
1514
1536
  if (this.sse) {
1515
- this.sse.broadcast(`workflow:${instanceId}`, "log", {
1516
- level: event.level,
1517
- message: event.message,
1518
- data: event.data,
1519
- workflowName,
1520
- });
1537
+ this.sse.broadcast(`workflow:${instanceId}`, "log", ssePayload);
1521
1538
  }
1522
1539
  break;
1523
1540
  }