@@ -60,13 +60,15 @@ describe('Token Usage Events', () => {
6060 totalTokens : 5000 ,
6161 inputTokens : 4000 ,
6262 cachedInputTokens : 1000 ,
63+ cacheWriteInputTokens : 0 ,
6364 outputTokens : 900 ,
6465 reasoningOutputTokens : 100 ,
6566 } ,
6667 last : {
6768 totalTokens : 2500 ,
6869 inputTokens : 2000 ,
6970 cachedInputTokens : 500 ,
71+ cacheWriteInputTokens : 0 ,
7072 outputTokens : 450 ,
7173 reasoningOutputTokens : 50 ,
7274 } ,
@@ -91,13 +93,15 @@ describe('Token Usage Events', () => {
9193 totalTokens : 3000 ,
9294 inputTokens : 2500 ,
9395 cachedInputTokens : 0 ,
96+ cacheWriteInputTokens : 0 ,
9497 outputTokens : 500 ,
9598 reasoningOutputTokens : 0 ,
9699 } ,
97100 last : {
98101 totalTokens : 1500 ,
99102 inputTokens : 1200 ,
100103 cachedInputTokens : 0 ,
104+ cacheWriteInputTokens : 0 ,
101105 outputTokens : 300 ,
102106 reasoningOutputTokens : 0 ,
103107 } ,
@@ -132,18 +136,18 @@ describe('Token Usage Events', () => {
132136 it ( 'should use last token usage from multiple updates' , async ( ) => {
133137 const notifications : ServerNotification [ ] = [
134138 createTokenUsageNotification ( sessionId , {
135- total : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
136- last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
139+ total : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
140+ last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
137141 modelContextWindow : 128000 ,
138142 } ) ,
139143 createTokenUsageNotification ( sessionId , {
140- total : { totalTokens : 2000 , inputTokens : 1600 , cachedInputTokens : 0 , outputTokens : 400 , reasoningOutputTokens : 0 } ,
141- last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
144+ total : { totalTokens : 2000 , inputTokens : 1600 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 400 , reasoningOutputTokens : 0 } ,
145+ last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
142146 modelContextWindow : 128000 ,
143147 } ) ,
144148 createTokenUsageNotification ( sessionId , {
145- total : { totalTokens : 3500 , inputTokens : 2800 , cachedInputTokens : 500 , outputTokens : 600 , reasoningOutputTokens : 100 } ,
146- last : { totalTokens : 1500 , inputTokens : 1200 , cachedInputTokens : 500 , outputTokens : 200 , reasoningOutputTokens : 100 } ,
149+ total : { totalTokens : 3500 , inputTokens : 2800 , cachedInputTokens : 500 , cacheWriteInputTokens : 0 , outputTokens : 600 , reasoningOutputTokens : 100 } ,
150+ last : { totalTokens : 1500 , inputTokens : 1200 , cachedInputTokens : 500 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 100 } ,
147151 modelContextWindow : 128000 ,
148152 } ) ,
149153 ] ;
@@ -197,13 +201,15 @@ describe('Token Usage Events', () => {
197201 totalTokens : 5000 ,
198202 inputTokens : 4000 ,
199203 cachedInputTokens : 1000 ,
204+ cacheWriteInputTokens : 0 ,
200205 outputTokens : 900 ,
201206 reasoningOutputTokens : 100 ,
202207 } ,
203208 last : {
204209 totalTokens : 2500 ,
205210 inputTokens : 2000 ,
206211 cachedInputTokens : 500 ,
212+ cacheWriteInputTokens : 0 ,
207213 outputTokens : 450 ,
208214 reasoningOutputTokens : 50 ,
209215 } ,
@@ -217,18 +223,18 @@ describe('Token Usage Events', () => {
217223 it ( 'should emit latest turn usage from multiple updates' , async ( ) => {
218224 const events = await setupPromptAndReturnEvents ( [
219225 createTokenUsageNotification ( sessionId , {
220- total : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
221- last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
226+ total : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
227+ last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
222228 modelContextWindow : 128000 ,
223229 } ) ,
224230 createTokenUsageNotification ( sessionId , {
225- total : { totalTokens : 2000 , inputTokens : 1600 , cachedInputTokens : 0 , outputTokens : 400 , reasoningOutputTokens : 0 } ,
226- last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
231+ total : { totalTokens : 2000 , inputTokens : 1600 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 400 , reasoningOutputTokens : 0 } ,
232+ last : { totalTokens : 1000 , inputTokens : 800 , cachedInputTokens : 0 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 0 } ,
227233 modelContextWindow : 128000 ,
228234 } ) ,
229235 createTokenUsageNotification ( sessionId , {
230- total : { totalTokens : 3500 , inputTokens : 2800 , cachedInputTokens : 500 , outputTokens : 600 , reasoningOutputTokens : 100 } ,
231- last : { totalTokens : 1500 , inputTokens : 1200 , cachedInputTokens : 500 , outputTokens : 200 , reasoningOutputTokens : 100 } ,
236+ total : { totalTokens : 3500 , inputTokens : 2800 , cachedInputTokens : 500 , cacheWriteInputTokens : 0 , outputTokens : 600 , reasoningOutputTokens : 100 } ,
237+ last : { totalTokens : 1500 , inputTokens : 1200 , cachedInputTokens : 500 , cacheWriteInputTokens : 0 , outputTokens : 200 , reasoningOutputTokens : 100 } ,
232238 modelContextWindow : 128000 ,
233239 } ) ,
234240 ] ) ( ) ;
@@ -239,8 +245,8 @@ describe('Token Usage Events', () => {
239245 it ( 'should skip usage_update when model context window is unavailable' , async ( ) => {
240246 const events = await setupPromptAndReturnEvents ( [
241247 createTokenUsageNotification ( sessionId , {
242- total : { totalTokens : 5000 , inputTokens : 4000 , cachedInputTokens : 1000 , outputTokens : 900 , reasoningOutputTokens : 100 } ,
243- last : { totalTokens : 2500 , inputTokens : 2000 , cachedInputTokens : 500 , outputTokens : 450 , reasoningOutputTokens : 50 } ,
248+ total : { totalTokens : 5000 , inputTokens : 4000 , cachedInputTokens : 1000 , cacheWriteInputTokens : 0 , outputTokens : 900 , reasoningOutputTokens : 100 } ,
249+ last : { totalTokens : 2500 , inputTokens : 2000 , cachedInputTokens : 500 , cacheWriteInputTokens : 0 , outputTokens : 450 , reasoningOutputTokens : 50 } ,
244250 modelContextWindow : null ,
245251 } ) ,
246252 ] ) ( ) ;
0 commit comments