File tree Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' @openai/agents-core ' : patch
3+ ---
4+
5+ Adjust Usage object to accept empty data
Original file line number Diff line number Diff line change @@ -61,8 +61,14 @@ export class Usage {
6161 this . inputTokens += newUsage . inputTokens ;
6262 this . outputTokens += newUsage . outputTokens ;
6363 this . totalTokens += newUsage . totalTokens ;
64- this . inputTokensDetails . push ( ...newUsage . inputTokensDetails ) ;
65- this . outputTokensDetails . push ( ...newUsage . outputTokensDetails ) ;
64+ if ( newUsage . inputTokensDetails ) {
65+ // The type does not allow undefined, but it could happen runtime
66+ this . inputTokensDetails . push ( ...newUsage . inputTokensDetails ) ;
67+ }
68+ if ( newUsage . outputTokensDetails ) {
69+ // The type does not allow undefined, but it could happen runtime
70+ this . outputTokensDetails . push ( ...newUsage . outputTokensDetails ) ;
71+ }
6672 }
6773}
6874
Original file line number Diff line number Diff line change @@ -46,4 +46,11 @@ describe('Usage', () => {
4646 expect ( usageA . outputTokens ) . toBe ( 5 ) ; // 1 + 4
4747 expect ( usageA . totalTokens ) . toBe ( 9 ) ; // 2 + 7
4848 } ) ;
49+
50+ it ( 'the add method accepts an empty object' , ( ) => {
51+ const usage = new Usage ( { } ) ;
52+ usage . add ( { } as Usage ) ;
53+ expect ( usage . inputTokensDetails ) . toEqual ( [ ] ) ;
54+ expect ( usage . outputTokensDetails ) . toEqual ( [ ] ) ;
55+ } ) ;
4956} ) ;
You can’t perform that action at this time.
0 commit comments