@walkhi/code-relax 0.1.0-beta.19 → 0.1.0-beta.20
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.
|
@@ -266,8 +266,10 @@ export function connectBridgeRelay({ relayUrl, hostKey, bridgeUrl, bridgeToken,
|
|
|
266
266
|
const turnKind = usage.created ? 'start' : response.body?.usage?.kind;
|
|
267
267
|
send(remote, { type: 'usage-message', session: message.session, requestId: response.id,
|
|
268
268
|
threadId, messageKey: usage.messageKey, turnId, turnKind,
|
|
269
|
-
completed: completedTurns.has(`${threadId}:${turnId}`), observerReady: turnObserverReady
|
|
270
|
-
|
|
269
|
+
completed: completedTurns.has(`${threadId}:${turnId}`), observerReady: turnObserverReady,
|
|
270
|
+
active: activeTurns.get(threadId) === turnId });
|
|
271
|
+
if (['start', 'steer'].includes(turnKind) && typeof turnId === 'string' &&
|
|
272
|
+
!completedTurns.has(`${threadId}:${turnId}`)) {
|
|
271
273
|
trackedTurns.set(threadId, turnId); saveTrackedTurns();
|
|
272
274
|
if (turnObserverReady && !activeTurns.has(threadId)) queueTurnResync(threadId, turnId);
|
|
273
275
|
}
|
|
@@ -507,16 +507,19 @@ export async function startSelfRelay({ port = 0, hostKey = secret(), pairingTtlM
|
|
|
507
507
|
try {
|
|
508
508
|
await meter.action(arm, room.id, arm.clientId, 'message', message.messageKey);
|
|
509
509
|
diagnostics?.record('message-counted', 'confirmed');
|
|
510
|
-
if (
|
|
510
|
+
if (['start', 'steer'].includes(message.turnKind) &&
|
|
511
|
+
plainText(message.threadId, 80, false) && plainText(message.turnId, 80, false)) {
|
|
511
512
|
const key = `${message.threadId}:${message.turnId}`;
|
|
512
|
-
if (key.length <= 128
|
|
513
|
-
const
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
await meter.
|
|
518
|
-
if (
|
|
519
|
-
|
|
513
|
+
if (key.length <= 128) {
|
|
514
|
+
const counted = await meter.action(arm, room.id, arm.clientId, 'turn', key);
|
|
515
|
+
if (counted) diagnostics?.record('turn-counted', 'confirmed');
|
|
516
|
+
if (!room.usageTasks.has(key) && message.observerReady === true && message.completed !== true &&
|
|
517
|
+
(message.turnKind === 'start' || message.active === true)) {
|
|
518
|
+
const task = await meter.turnOrigin(room.id, key);
|
|
519
|
+
if (task) {
|
|
520
|
+
await meter.pulse(task, true, room.id, task.clientId, key);
|
|
521
|
+
room.usageTasks.set(key, task);
|
|
522
|
+
}
|
|
520
523
|
}
|
|
521
524
|
}
|
|
522
525
|
}
|