11import type { AxChatRequest , AxChatResponseResult } from '../ai/types.js' ;
22
3- import type { AxAIMemory } from './types.js' ;
4-
5- type Writeable < T > = { - readonly [ P in keyof T ] : T [ P ] } ;
3+ import type { AxAIMemory , AxWritableChatPrompt } from './types.js' ;
64
75export class AxMemory implements AxAIMemory {
8- private data : AxChatRequest [ 'chatPrompt' ] = [ ] ;
9- private sdata = new Map < string , AxChatRequest [ 'chatPrompt' ] > ( ) ;
6+ private data : AxWritableChatPrompt = [ ] ;
7+ private sdata = new Map < string , AxWritableChatPrompt > ( ) ;
108 private limit : number ;
119
1210 constructor ( limit = 50 ) {
@@ -53,9 +51,7 @@ export class AxMemory implements AxAIMemory {
5351 ) : void {
5452 const items = this . get ( sessionId ) ;
5553
56- const lastItem = items . at ( - 1 ) as unknown as Writeable <
57- AxChatRequest [ 'chatPrompt' ] [ 0 ]
58- > ;
54+ const lastItem = items . at ( - 1 ) ;
5955
6056 if ( ! lastItem || lastItem . role !== 'assistant' ) {
6157 this . addResult ( { content, name, functionCalls } , sessionId ) ;
@@ -77,10 +73,6 @@ export class AxMemory implements AxAIMemory {
7773 return this . get ( sessionId ) ;
7874 }
7975
80- peek ( sessionId ?: string ) : AxChatRequest [ 'chatPrompt' ] {
81- return this . get ( sessionId ) ;
82- }
83-
8476 getLast ( sessionId ?: string ) : AxChatRequest [ 'chatPrompt' ] [ 0 ] | undefined {
8577 const d = this . get ( sessionId ) ;
8678 return d . at ( - 1 ) ;
@@ -94,7 +86,7 @@ export class AxMemory implements AxAIMemory {
9486 }
9587 }
9688
97- private get ( sessionId ?: string ) : AxChatRequest [ 'chatPrompt' ] {
89+ private get ( sessionId ?: string ) : AxWritableChatPrompt {
9890 if ( ! sessionId ) {
9991 return this . data ;
10092 }
0 commit comments