@@ -20,6 +20,7 @@ describe("cli-session helpers", () => {
2020 sessionId : "cli-session-1" ,
2121 authProfileId : "anthropic:work" ,
2222 authEpoch : "auth-epoch" ,
23+ authEpochVersion : 2 ,
2324 extraSystemPromptHash : "prompt-hash" ,
2425 mcpConfigHash : "mcp-hash" ,
2526 mcpResumeHash : "mcp-resume-hash" ,
@@ -31,6 +32,7 @@ describe("cli-session helpers", () => {
3132 sessionId : "cli-session-1" ,
3233 authProfileId : "anthropic:work" ,
3334 authEpoch : "auth-epoch" ,
35+ authEpochVersion : 2 ,
3436 extraSystemPromptHash : "prompt-hash" ,
3537 mcpConfigHash : "mcp-hash" ,
3638 mcpResumeHash : "mcp-resume-hash" ,
@@ -84,6 +86,7 @@ describe("cli-session helpers", () => {
8486 sessionId : "cli-session-1" ,
8587 authProfileId : "anthropic:work" ,
8688 authEpoch : "auth-epoch-a" ,
89+ authEpochVersion : 2 ,
8790 extraSystemPromptHash : "prompt-a" ,
8891 mcpConfigHash : "mcp-a" ,
8992 } ;
@@ -93,6 +96,7 @@ describe("cli-session helpers", () => {
9396 binding,
9497 authProfileId : "anthropic:personal" ,
9598 authEpoch : "auth-epoch-a" ,
99+ authEpochVersion : 2 ,
96100 extraSystemPromptHash : "prompt-a" ,
97101 mcpConfigHash : "mcp-a" ,
98102 } ) ,
@@ -102,6 +106,7 @@ describe("cli-session helpers", () => {
102106 binding,
103107 authProfileId : "anthropic:work" ,
104108 authEpoch : "auth-epoch-b" ,
109+ authEpochVersion : 2 ,
105110 extraSystemPromptHash : "prompt-a" ,
106111 mcpConfigHash : "mcp-a" ,
107112 } ) ,
@@ -111,6 +116,7 @@ describe("cli-session helpers", () => {
111116 binding,
112117 authProfileId : "anthropic:work" ,
113118 authEpoch : "auth-epoch-a" ,
119+ authEpochVersion : 2 ,
114120 extraSystemPromptHash : "prompt-b" ,
115121 mcpConfigHash : "mcp-a" ,
116122 } ) ,
@@ -120,17 +126,40 @@ describe("cli-session helpers", () => {
120126 binding,
121127 authProfileId : "anthropic:work" ,
122128 authEpoch : "auth-epoch-a" ,
129+ authEpochVersion : 2 ,
123130 extraSystemPromptHash : "prompt-a" ,
124131 mcpConfigHash : "mcp-b" ,
125132 } ) ,
126133 ) . toEqual ( { invalidatedReason : "mcp" } ) ;
127134 } ) ;
128135
136+ it ( "accepts unversioned auth epochs for binding upgrades" , ( ) => {
137+ const binding = {
138+ sessionId : "cli-session-1" ,
139+ authProfileId : "anthropic:work" ,
140+ authEpoch : "previous-auth-epoch" ,
141+ extraSystemPromptHash : "prompt-a" ,
142+ mcpConfigHash : "mcp-a" ,
143+ } ;
144+
145+ expect (
146+ resolveCliSessionReuse ( {
147+ binding,
148+ authProfileId : "anthropic:work" ,
149+ authEpoch : "auth-epoch-a" ,
150+ authEpochVersion : 2 ,
151+ extraSystemPromptHash : "prompt-a" ,
152+ mcpConfigHash : "mcp-a" ,
153+ } ) ,
154+ ) . toEqual ( { sessionId : "cli-session-1" } ) ;
155+ } ) ;
156+
129157 it ( "does not treat model changes as a session mismatch" , ( ) => {
130158 const binding = {
131159 sessionId : "cli-session-1" ,
132160 authProfileId : "anthropic:work" ,
133161 authEpoch : "auth-epoch-a" ,
162+ authEpochVersion : 2 ,
134163 extraSystemPromptHash : "prompt-a" ,
135164 mcpConfigHash : "mcp-a" ,
136165 } ;
@@ -140,6 +169,7 @@ describe("cli-session helpers", () => {
140169 binding,
141170 authProfileId : "anthropic:work" ,
142171 authEpoch : "auth-epoch-a" ,
172+ authEpochVersion : 2 ,
143173 extraSystemPromptHash : "prompt-a" ,
144174 mcpConfigHash : "mcp-a" ,
145175 } ) ,
@@ -151,6 +181,7 @@ describe("cli-session helpers", () => {
151181 sessionId : "cli-session-1" ,
152182 authProfileId : "anthropic:work" ,
153183 authEpoch : "auth-epoch-a" ,
184+ authEpochVersion : 2 ,
154185 extraSystemPromptHash : "prompt-a" ,
155186 mcpConfigHash : "mcp-config-a" ,
156187 mcpResumeHash : "mcp-resume-a" ,
@@ -161,6 +192,7 @@ describe("cli-session helpers", () => {
161192 binding,
162193 authProfileId : "anthropic:work" ,
163194 authEpoch : "auth-epoch-a" ,
195+ authEpochVersion : 2 ,
164196 extraSystemPromptHash : "prompt-a" ,
165197 mcpConfigHash : "mcp-config-b" ,
166198 mcpResumeHash : "mcp-resume-a" ,
@@ -171,6 +203,7 @@ describe("cli-session helpers", () => {
171203 binding,
172204 authProfileId : "anthropic:work" ,
173205 authEpoch : "auth-epoch-a" ,
206+ authEpochVersion : 2 ,
174207 extraSystemPromptHash : "prompt-a" ,
175208 mcpConfigHash : "mcp-config-a" ,
176209 mcpResumeHash : "mcp-resume-b" ,
@@ -183,6 +216,7 @@ describe("cli-session helpers", () => {
183216 sessionId : "cli-session-1" ,
184217 authProfileId : "anthropic:work" ,
185218 authEpoch : "auth-epoch-a" ,
219+ authEpochVersion : 2 ,
186220 extraSystemPromptHash : "prompt-a" ,
187221 mcpConfigHash : "mcp-config-a" ,
188222 } ;
@@ -192,6 +226,7 @@ describe("cli-session helpers", () => {
192226 binding,
193227 authProfileId : "anthropic:work" ,
194228 authEpoch : "auth-epoch-a" ,
229+ authEpochVersion : 2 ,
195230 extraSystemPromptHash : "prompt-a" ,
196231 mcpConfigHash : "mcp-config-a" ,
197232 mcpResumeHash : "mcp-resume-a" ,
@@ -202,6 +237,7 @@ describe("cli-session helpers", () => {
202237 binding,
203238 authProfileId : "anthropic:work" ,
204239 authEpoch : "auth-epoch-a" ,
240+ authEpochVersion : 2 ,
205241 extraSystemPromptHash : "prompt-a" ,
206242 mcpConfigHash : "mcp-config-b" ,
207243 mcpResumeHash : "mcp-resume-a" ,
0 commit comments