clay-server 2.27.0-beta.8 → 2.27.0-beta.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.
@@ -721,6 +721,13 @@ function attachDebate(ctx) {
721
721
  ctx.send({ type: "mention_processing", mateId: mateId, active: active });
722
722
  }
723
723
 
724
+ // Persist a debate message to session history and send to clients
725
+ function debateSendAndRecord(session, msg) {
726
+ session.history.push(msg);
727
+ ctx.sm.appendToSessionFile(session, msg);
728
+ ctx.sendToSession(session.localId, msg);
729
+ }
730
+
724
731
  // --- Live debate ---
725
732
 
726
733
  function startDebateLive(session) {
@@ -771,7 +778,7 @@ function attachDebate(ctx) {
771
778
 
772
779
  // Signal moderator's first turn
773
780
  debateMateProcessing(debate.moderatorId, true);
774
- ctx.sendToSession(debateSession.localId, {
781
+ debateSendAndRecord(debateSession, {
775
782
  type: "debate_turn",
776
783
  mateId: debate.moderatorId,
777
784
  mateName: moderatorProfile.name,
@@ -798,7 +805,7 @@ function attachDebate(ctx) {
798
805
  },
799
806
  onDelta: function (delta) {
800
807
  if (debateSession._debate && debateSession._debate.phase !== "ended") {
801
- ctx.sendToSession(debateSession.localId, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
808
+ debateSendAndRecord(debateSession, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
802
809
  }
803
810
  },
804
811
  onDone: function (fullText) {
@@ -906,7 +913,7 @@ function attachDebate(ctx) {
906
913
 
907
914
  // Notify clients of new turn
908
915
  debateMateProcessing(mateId, true);
909
- ctx.sendToSession(session.localId, {
916
+ debateSendAndRecord(session, {
910
917
  type: "debate_turn",
911
918
  mateId: mateId,
912
919
  mateName: profile.name,
@@ -926,7 +933,7 @@ function attachDebate(ctx) {
926
933
  onDelta: function (delta) {
927
934
  if (session._debate && session._debate.phase !== "ended") {
928
935
  debate._currentTurnText += delta;
929
- ctx.sendToSession(session.localId, { type: "debate_stream", mateId: mateId, mateName: profile.name, delta: delta });
936
+ debateSendAndRecord(session, { type: "debate_stream", mateId: mateId, mateName: profile.name, delta: delta });
930
937
  }
931
938
  },
932
939
  onDone: function (fullText) {
@@ -1071,7 +1078,7 @@ function attachDebate(ctx) {
1071
1078
 
1072
1079
  // Notify clients of moderator turn
1073
1080
  debateMateProcessing(debate.moderatorId, true);
1074
- ctx.sendToSession(session.localId, {
1081
+ debateSendAndRecord(session, {
1075
1082
  type: "debate_turn",
1076
1083
  mateId: debate.moderatorId,
1077
1084
  mateName: moderatorProfile.name,
@@ -1101,7 +1108,7 @@ function attachDebate(ctx) {
1101
1108
  },
1102
1109
  onDelta: function (delta) {
1103
1110
  if (session._debate && session._debate.phase !== "ended") {
1104
- ctx.sendToSession(session.localId, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
1111
+ debateSendAndRecord(session, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
1105
1112
  }
1106
1113
  },
1107
1114
  onDone: function (fullText) {
@@ -1168,7 +1175,7 @@ function attachDebate(ctx) {
1168
1175
  debate.turnInProgress = true;
1169
1176
  var moderatorProfile = ctx.getMateProfile(debate.mateCtx, debate.moderatorId);
1170
1177
 
1171
- ctx.sendToSession(session.localId, {
1178
+ debateSendAndRecord(session, {
1172
1179
  type: "debate_turn",
1173
1180
  mateId: debate.moderatorId,
1174
1181
  mateName: moderatorProfile.name,
@@ -1207,7 +1214,7 @@ function attachDebate(ctx) {
1207
1214
  debate.turnInProgress = true;
1208
1215
  var moderatorProfile = ctx.getMateProfile(debate.mateCtx, debate.moderatorId);
1209
1216
 
1210
- ctx.sendToSession(session.localId, {
1217
+ debateSendAndRecord(session, {
1211
1218
  type: "debate_turn",
1212
1219
  mateId: debate.moderatorId,
1213
1220
  mateName: moderatorProfile.name,
@@ -1238,7 +1245,7 @@ function attachDebate(ctx) {
1238
1245
  },
1239
1246
  onDelta: function (delta) {
1240
1247
  if (session._debate && session._debate.phase !== "ended") {
1241
- ctx.sendToSession(session.localId, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
1248
+ debateSendAndRecord(session, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
1242
1249
  }
1243
1250
  },
1244
1251
  onDone: function (fullText) {
@@ -1287,7 +1294,7 @@ function attachDebate(ctx) {
1287
1294
  var moderatorProfile = ctx.getMateProfile(debate.mateCtx, debate.moderatorId);
1288
1295
 
1289
1296
  debateMateProcessing(debate.moderatorId, true);
1290
- ctx.sendToSession(session.localId, {
1297
+ debateSendAndRecord(session, {
1291
1298
  type: "debate_turn",
1292
1299
  mateId: debate.moderatorId,
1293
1300
  mateName: moderatorProfile.name,
@@ -1477,7 +1484,7 @@ function attachDebate(ctx) {
1477
1484
 
1478
1485
  debate.turnInProgress = true;
1479
1486
  debateMateProcessing(debate.moderatorId, true);
1480
- ctx.sendToSession(session.localId, {
1487
+ debateSendAndRecord(session, {
1481
1488
  type: "debate_turn",
1482
1489
  mateId: debate.moderatorId,
1483
1490
  mateName: moderatorProfile.name,
@@ -1525,7 +1532,7 @@ function attachDebate(ctx) {
1525
1532
  },
1526
1533
  onDelta: function (delta) {
1527
1534
  if (session._debate && session._debate.phase !== "ended") {
1528
- ctx.sendToSession(session.localId, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
1535
+ debateSendAndRecord(session, { type: "debate_stream", mateId: debate.moderatorId, mateName: moderatorProfile.name, delta: delta });
1529
1536
  }
1530
1537
  },
1531
1538
  onDone: function (fullText) {
package/lib/public/app.js CHANGED
@@ -5518,11 +5518,7 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
5518
5518
 
5519
5519
  case "debate_turn_done":
5520
5520
  if (msg.round) updateDebateRound(msg.round);
5521
- if (replayingHistory) {
5522
- renderDebateTurnDone(msg);
5523
- } else {
5524
- handleDebateTurnDone(msg);
5525
- }
5521
+ handleDebateTurnDone(msg);
5526
5522
  break;
5527
5523
 
5528
5524
  case "debate_hand_raised":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clay-server",
3
- "version": "2.27.0-beta.8",
3
+ "version": "2.27.0-beta.9",
4
4
  "description": "Self-hosted Claude Code in your browser. Multi-session, multi-user, push notifications.",
5
5
  "bin": {
6
6
  "clay-server": "./bin/cli.js",