@@ -7,10 +7,11 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
77import { AgentSession } from '../../src/core/AgentSession' ;
88import { MemoryStorageProvider } from '../../src/storage/MemoryStorageProvider' ;
99import { MockAgent } from '../mocks/MockAgent' ;
10- import { AgentEventStream } from '@tarko/interface' ;
10+ import { AgentEventStream , SessionInfo } from '@tarko/interface' ;
11+ import { AgentServer } from '../../src/server' ;
1112
1213describe ( 'AgentSession - Context Restore (Simplest Implementation)' , ( ) => {
13- let mockServer : any ;
14+ let mockServer : AgentServer ;
1415 let storageProvider : MemoryStorageProvider ;
1516 let session : AgentSession ;
1617 const sessionId = 'test-session-restore' ;
@@ -20,11 +21,10 @@ describe('AgentSession - Context Restore (Simplest Implementation)', () => {
2021 storageProvider = new MemoryStorageProvider ( ) ;
2122 await storageProvider . initialize ( ) ;
2223
23- // Create mock server
24+ // @ts -expect-error
2425 mockServer = {
2526 storageProvider,
2627 appConfig : {
27- agent : 'test-agent' ,
2828 workspace : '/tmp/test' ,
2929 model : {
3030 provider : 'openai' ,
@@ -56,25 +56,24 @@ describe('AgentSession - Context Restore (Simplest Implementation)', () => {
5656 // Create session info
5757 const sessionInfo = await storageProvider . createSession ( {
5858 id : sessionId ,
59- title : 'Test Session' ,
60- createdAt : new Date ( ) . toISOString ( ) ,
61- updatedAt : new Date ( ) . toISOString ( ) ,
6259 workspace : '/tmp/test' ,
6360 metadata : { } ,
61+ createdAt : Date . now ( ) ,
62+ updatedAt : Date . now ( ) ,
6463 } ) ;
6564
6665 // Create some test events in storage
6766 const userEvent : AgentEventStream . UserMessageEvent = {
6867 id : 'event-1' ,
6968 type : 'user_message' ,
70- timestamp : new Date ( ) . toISOString ( ) ,
69+ timestamp : Date . now ( ) ,
7170 content : 'Hello, this is a test message' ,
7271 } ;
7372
7473 const assistantEvent : AgentEventStream . AssistantMessageEvent = {
7574 id : 'event-2' ,
7675 type : 'assistant_message' ,
77- timestamp : new Date ( ) . toISOString ( ) ,
76+ timestamp : Date . now ( ) ,
7877 content : 'Hello! I understand your test message.' ,
7978 finishReason : 'stop' ,
8079 } ;
@@ -93,27 +92,30 @@ describe('AgentSession - Context Restore (Simplest Implementation)', () => {
9392
9493 // Verify that events were restored
9594 expect ( events . length ) . toBeGreaterThanOrEqual ( 2 ) ;
96-
95+
9796 // Find our test events
98- const restoredUserEvent = events . find ( e => e . id === 'event-1' ) ;
99- const restoredAssistantEvent = events . find ( e => e . id === 'event-2' ) ;
97+ const restoredUserEvent = events . find ( ( e ) => e . id === 'event-1' ) ;
98+ const restoredAssistantEvent = events . find ( ( e ) => e . id === 'event-2' ) ;
10099
101100 expect ( restoredUserEvent ) . toBeDefined ( ) ;
102101 expect ( restoredUserEvent ?. type ) . toBe ( 'user_message' ) ;
103- expect ( ( restoredUserEvent as AgentEventStream . UserMessageEvent ) ?. content ) . toBe ( 'Hello, this is a test message' ) ;
102+ expect ( ( restoredUserEvent as AgentEventStream . UserMessageEvent ) ?. content ) . toBe (
103+ 'Hello, this is a test message' ,
104+ ) ;
104105
105106 expect ( restoredAssistantEvent ) . toBeDefined ( ) ;
106107 expect ( restoredAssistantEvent ?. type ) . toBe ( 'assistant_message' ) ;
107- expect ( ( restoredAssistantEvent as AgentEventStream . AssistantMessageEvent ) ?. content ) . toBe ( 'Hello! I understand your test message.' ) ;
108+ expect ( ( restoredAssistantEvent as AgentEventStream . AssistantMessageEvent ) ?. content ) . toBe (
109+ 'Hello! I understand your test message.' ,
110+ ) ;
108111 } ) ;
109112
110113 it ( 'should not duplicate events when updating model config' , async ( ) => {
111114 // Create session info
112115 const sessionInfo = await storageProvider . createSession ( {
113116 id : sessionId ,
114- title : 'Test Session' ,
115- createdAt : new Date ( ) . toISOString ( ) ,
116- updatedAt : new Date ( ) . toISOString ( ) ,
117+ createdAt : Date . now ( ) ,
118+ updatedAt : Date . now ( ) ,
117119 workspace : '/tmp/test' ,
118120 metadata : { } ,
119121 } ) ;
@@ -127,20 +129,20 @@ describe('AgentSession - Context Restore (Simplest Implementation)', () => {
127129 const testEvent : AgentEventStream . UserMessageEvent = {
128130 id : 'test-event' ,
129131 type : 'user_message' ,
130- timestamp : new Date ( ) . toISOString ( ) ,
132+ timestamp : Date . now ( ) ,
131133 content : 'Test message before model update' ,
132134 } ;
133135 eventStream . sendEvent ( testEvent ) ;
134136
135137 // Wait a bit to ensure event is processed
136- await new Promise ( resolve => setTimeout ( resolve , 10 ) ) ;
138+ await new Promise ( ( resolve ) => setTimeout ( resolve , 10 ) ) ;
137139
138140 // Get initial event count from storage
139141 const initialEvents = await storageProvider . getSessionEvents ( sessionId ) ;
140142 const initialEventCount = initialEvents . length ;
141143
142144 // Update model config (this recreates the agent with EventStream initialEvents)
143- const updatedSessionInfo = {
145+ const updatedSessionInfo : SessionInfo = {
144146 ...sessionInfo ,
145147 metadata : {
146148 modelConfig : {
@@ -152,7 +154,7 @@ describe('AgentSession - Context Restore (Simplest Implementation)', () => {
152154 await session . updateModelConfig ( updatedSessionInfo ) ;
153155
154156 // Wait a bit to ensure events are processed
155- await new Promise ( resolve => setTimeout ( resolve , 10 ) ) ;
157+ await new Promise ( ( resolve ) => setTimeout ( resolve , 10 ) ) ;
156158
157159 // Check that events weren't duplicated in storage
158160 const finalEvents = await storageProvider . getSessionEvents ( sessionId ) ;
@@ -167,9 +169,8 @@ describe('AgentSession - Context Restore (Simplest Implementation)', () => {
167169 // Create session info without any stored events
168170 const sessionInfo = await storageProvider . createSession ( {
169171 id : sessionId ,
170- title : 'Empty Session' ,
171- createdAt : new Date ( ) . toISOString ( ) ,
172- updatedAt : new Date ( ) . toISOString ( ) ,
172+ createdAt : Date . now ( ) ,
173+ updatedAt : Date . now ( ) ,
173174 workspace : '/tmp/test' ,
174175 metadata : { } ,
175176 } ) ;
@@ -181,7 +182,7 @@ describe('AgentSession - Context Restore (Simplest Implementation)', () => {
181182 // Should not throw and should have minimal events
182183 const eventStream = session . agent . getEventStream ( ) ;
183184 const events = eventStream . getEvents ( ) ;
184-
185+
185186 // Should have at least the ready event or similar
186187 expect ( events ) . toBeDefined ( ) ;
187188 expect ( Array . isArray ( events ) ) . toBe ( true ) ;
0 commit comments