thinkpool-pair 0.7.64 → 0.7.65
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/bridge.mjs +9 -0
- package/package.json +1 -1
package/bridge.mjs
CHANGED
|
@@ -708,6 +708,15 @@ function printLocal(evt) {
|
|
|
708
708
|
// first). EVERY event that joins entry.log must go through here so the client's
|
|
709
709
|
// "drop ≤ seqHi" cursor stays correct (a logged event with no seq would break it).
|
|
710
710
|
function pushLog(entry, evt) {
|
|
711
|
+
// Single stamp point: guarantee ts+cid on EVERY logged event. echoYou() and the
|
|
712
|
+
// /model,/clear control lines called pushLog WITHOUT a prior stampEvent, so
|
|
713
|
+
// `you`/`control` were logged with a seq but NO ts. On a long session the
|
|
714
|
+
// client's capEvents evicts the agent turns below an old `you` line, leaving it
|
|
715
|
+
// with no lower-seq checkpoint → orderEvents pins the ts-less line to ts 0 and
|
|
716
|
+
// every old user message stacks at the TOP of the timeline (room XE3IQ, 2026-06-25).
|
|
717
|
+
// A real ts makes ordering wall-clock — immune to eviction AND /clear seq resets.
|
|
718
|
+
// stampEvent is idempotent, so the callers that already stamp are unaffected.
|
|
719
|
+
stampEvent(evt)
|
|
711
720
|
// Only TRANSCRIPT events consume a seq (seqable) — replay-chrome kinds the web
|
|
712
721
|
// filters out (system/thinking_tokens/effort) ride the log seq-less so they don't
|
|
713
722
|
// hole the client's applied sequence. See event-id.mjs NO_SEQ_KINDS.
|