fix(chat): translate session replay cursors
Memind CI / Test, build, and release guards (pull_request) Successful in 2m55s
Memind CI / Test, build, and release guards (pull_request) Successful in 2m55s
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
isTerminalSessionEvent,
|
||||
parseSessionSseBlock,
|
||||
parseSessionStreamLastEventId,
|
||||
resolveUpstreamResumeEventId,
|
||||
shouldPersistSessionStreamEvent,
|
||||
shouldSkipUpstreamAfterSessionReplay,
|
||||
} from './session-stream.mjs';
|
||||
@@ -44,3 +45,34 @@ test('terminal detection and upstream skip policy', () => {
|
||||
assert.equal(isSessionStreamReplayEnabled({ MEMIND_SESSION_STREAM_REPLAY: '1' }), true);
|
||||
assert.equal(parseSessionStreamLastEventId(' abc '), 'abc');
|
||||
});
|
||||
|
||||
test('upstream resume cursor never falls back to a Portal replay id', () => {
|
||||
assert.equal(
|
||||
resolveUpstreamResumeEventId([], {
|
||||
id: 'portal-uuid',
|
||||
upstreamEventId: null,
|
||||
}),
|
||||
null,
|
||||
);
|
||||
assert.equal(
|
||||
resolveUpstreamResumeEventId([], {
|
||||
id: 'portal-uuid',
|
||||
upstreamEventId: 'upstream-7',
|
||||
}),
|
||||
'upstream-7',
|
||||
);
|
||||
});
|
||||
|
||||
test('upstream resume cursor uses the newest mappable replay event across turns', () => {
|
||||
assert.equal(
|
||||
resolveUpstreamResumeEventId(
|
||||
[
|
||||
{ upstreamEventId: 'upstream-old-finish' },
|
||||
{ upstreamEventId: 'upstream-new-message' },
|
||||
{ upstreamEventId: null },
|
||||
],
|
||||
{ upstreamEventId: 'upstream-cursor' },
|
||||
),
|
||||
'upstream-new-message',
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user