@principal-ai/control-tower-core 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/generated/client-connection-auth.types.d.ts +312 -0
  2. package/dist/generated/client-connection-auth.types.d.ts.map +1 -0
  3. package/dist/generated/client-connection-auth.types.js +11 -0
  4. package/dist/generated/control-tower-execution.types.d.ts +445 -0
  5. package/dist/generated/control-tower-execution.types.d.ts.map +1 -0
  6. package/dist/generated/control-tower-execution.types.js +11 -0
  7. package/dist/index.js.map +3 -3
  8. package/dist/index.mjs +39 -6
  9. package/dist/index.mjs.map +3 -3
  10. package/dist/server/BaseServer.d.ts +22 -2
  11. package/dist/server/BaseServer.d.ts.map +1 -1
  12. package/dist/server/BaseServer.js +63 -8
  13. package/dist/telemetry/EventValidationIntegration.d.ts +135 -0
  14. package/dist/telemetry/EventValidationIntegration.d.ts.map +1 -0
  15. package/dist/telemetry/EventValidationIntegration.js +253 -0
  16. package/dist/telemetry/EventValidationIntegration.test.d.ts +7 -0
  17. package/dist/telemetry/EventValidationIntegration.test.d.ts.map +1 -0
  18. package/dist/telemetry/EventValidationIntegration.test.js +322 -0
  19. package/dist/telemetry/TelemetryCapture.d.ts +268 -0
  20. package/dist/telemetry/TelemetryCapture.d.ts.map +1 -0
  21. package/dist/telemetry/TelemetryCapture.js +263 -0
  22. package/dist/telemetry/TelemetryCapture.test.d.ts +7 -0
  23. package/dist/telemetry/TelemetryCapture.test.d.ts.map +1 -0
  24. package/dist/telemetry/TelemetryCapture.test.js +396 -0
  25. package/dist/telemetry-example.d.ts +33 -0
  26. package/dist/telemetry-example.d.ts.map +1 -0
  27. package/dist/telemetry-example.js +124 -0
  28. package/package.json +1 -1
  29. package/dist/adapters/websocket/WebSocketTransportAdapter.d.ts +0 -60
  30. package/dist/adapters/websocket/WebSocketTransportAdapter.d.ts.map +0 -1
  31. package/dist/adapters/websocket/WebSocketTransportAdapter.js +0 -386
package/dist/index.mjs CHANGED
@@ -6309,6 +6309,7 @@ class BaseServer extends TypedEventEmitter {
6309
6309
  const client = {
6310
6310
  id: payload.clientId,
6311
6311
  userId: payload.userId || "",
6312
+ deviceId: payload.clientId,
6312
6313
  roomIds,
6313
6314
  get roomId() {
6314
6315
  return roomIds.size > 0 ? roomIds.values().next().value || null : null;
@@ -6388,6 +6389,7 @@ class BaseServer extends TypedEventEmitter {
6388
6389
  const client = {
6389
6390
  id: clientId,
6390
6391
  userId: "",
6392
+ deviceId: clientId,
6391
6393
  roomIds,
6392
6394
  get roomId() {
6393
6395
  return roomIds.size > 0 ? roomIds.values().next().value || null : null;
@@ -6416,10 +6418,10 @@ class BaseServer extends TypedEventEmitter {
6416
6418
  }
6417
6419
  if (this.presenceManager?.isEnabled() && client.userId) {
6418
6420
  try {
6419
- const presence = await this.presenceManager.disconnectDevice(client.userId, clientId);
6421
+ const presence = await this.presenceManager.disconnectDevice(client.userId, client.deviceId);
6420
6422
  await this.emit("presence_device_disconnected", {
6421
6423
  userId: client.userId,
6422
- deviceId: clientId,
6424
+ deviceId: client.deviceId,
6423
6425
  timestamp: Date.now()
6424
6426
  });
6425
6427
  const presenceConfig = this.presenceManager.getConfig();
@@ -6428,7 +6430,7 @@ class BaseServer extends TypedEventEmitter {
6428
6430
  type: "presence:user_offline",
6429
6431
  payload: {
6430
6432
  userId: client.userId,
6431
- deviceId: clientId,
6433
+ deviceId: client.deviceId,
6432
6434
  status: presence?.status || "offline",
6433
6435
  gracePeriod: presenceConfig.gracePeriod
6434
6436
  }
@@ -6442,6 +6444,17 @@ class BaseServer extends TypedEventEmitter {
6442
6444
  }
6443
6445
  }
6444
6446
  for (const roomId of client.roomIds) {
6447
+ try {
6448
+ await this.experimental.broadcastWhere((c) => c.roomIds.has(roomId) && c.id !== clientId, {
6449
+ type: "member_left",
6450
+ payload: {
6451
+ roomId,
6452
+ userId: client.userId,
6453
+ clientId,
6454
+ timestamp: Date.now()
6455
+ }
6456
+ });
6457
+ } catch {}
6445
6458
  await this.roomManager.leaveRoom(roomId, client.userId);
6446
6459
  await this.emit("client_left_room", { clientId, roomId });
6447
6460
  }
@@ -6458,7 +6471,7 @@ class BaseServer extends TypedEventEmitter {
6458
6471
  return;
6459
6472
  }
6460
6473
  if (this.presenceManager?.isEnabled() && client.userId && client.authenticated) {
6461
- await this.updatePresenceActivity(client.userId, clientId, "message");
6474
+ await this.updatePresenceActivity(client.userId, client.deviceId, "message");
6462
6475
  }
6463
6476
  switch (message.type) {
6464
6477
  case "authenticate":
@@ -6635,6 +6648,17 @@ class BaseServer extends TypedEventEmitter {
6635
6648
  if (!client.roomIds.has(roomId)) {
6636
6649
  continue;
6637
6650
  }
6651
+ try {
6652
+ await this.experimental.broadcastWhere((c) => c.roomIds.has(roomId) && c.id !== clientId, {
6653
+ type: "member_left",
6654
+ payload: {
6655
+ roomId,
6656
+ userId: client.userId,
6657
+ clientId,
6658
+ timestamp: Date.now()
6659
+ }
6660
+ });
6661
+ } catch {}
6638
6662
  await this.roomManager.leaveRoom(roomId, client.userId);
6639
6663
  client.roomIds.delete(roomId);
6640
6664
  await this.emit("client_left_room", { clientId, roomId });
@@ -6807,7 +6831,16 @@ class BaseServer extends TypedEventEmitter {
6807
6831
  });
6808
6832
  }
6809
6833
  getDeviceIdFromClientId(clientId) {
6810
- return clientId;
6834
+ const client = this.clients.get(clientId);
6835
+ return client?.deviceId ?? clientId;
6836
+ }
6837
+ setClientDeviceId(clientId, deviceId) {
6838
+ const client = this.clients.get(clientId);
6839
+ if (client) {
6840
+ client.deviceId = deviceId;
6841
+ return true;
6842
+ }
6843
+ return false;
6811
6844
  }
6812
6845
  }
6813
6846
  // src/server/ServerBuilder.ts
@@ -6970,4 +7003,4 @@ export {
6970
7003
  BaseClient
6971
7004
  };
6972
7005
 
6973
- //# debugId=AC1FE1DD89B6DDC464756E2164756E21
7006
+ //# debugId=A5E31B6ED779287364756E2164756E21