You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
agentHost: Offer SDK download independent of sign-in
Check for a missing SDK before account, entitlement, and signed-out experiment gates so every user can consent to the required download. Keep missing-account guidance behind the existing signed-out checks and cover both sides of the decision boundary.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
{name: 'a request the host has not answered yet is not a fresh offer',inputs: { ...BLOCKED_USER,downloadRequested: true},expected: undefined},
40
40
{name: 'SDK on disk reporting no models means no account',inputs: { ...BLOCKED_USER,download: 'ready'},expected: 'noAccount'},
41
41
{name: 'models are the honest end state, whatever the status says',inputs: { ...BLOCKED_USER,download: 'ready',hasModels: true},expected: 'resolved'},
42
-
{name: 'a signed-in user already has Copilot models',inputs: { ...BLOCKED_USER,signedIn: true},expected: undefined},
43
-
{name: 'nothing shows until entitlement settles, since "signed out" is not yet a fact',inputs: { ...BLOCKED_USER,entitlementResolved: false},expected: undefined},
44
-
{name: 'the whole feature stays behind its flag',inputs: { ...BLOCKED_USER,allowSignedOutWhenUsable: false},expected: undefined},
42
+
{name: 'nothing shows until entitlement settles, since "signed out" is not yet a fact',inputs: { ...BLOCKED_USER,download: 'ready',entitlementResolved: false},expected: undefined},
43
+
{name: 'the missing-account explanation stays behind its flag',inputs: { ...BLOCKED_USER,download: 'ready',allowSignedOutWhenUsable: false},expected: undefined},
44
+
{name: 'a signed-in user is never told they have no account',inputs: { ...BLOCKED_USER,download: 'ready',signedIn: true},expected: undefined},
45
45
{name: 'a signed-in user mid-download is still shown nothing',inputs: { ...BLOCKED_USER,signedIn: true,download: 'downloading'},expected: undefined},
46
+
47
+
// The download is offered to everyone: each of these users can work
48
+
// today, and still has an SDK we are about to fetch onto their machine.
49
+
{name: 'a signed-in user is offered the download too',inputs: { ...BLOCKED_USER,signedIn: true},expected: 'downloadOffered'},
50
+
{name: 'having models does not hide the download',inputs: { ...BLOCKED_USER,signedIn: true,hasModels: true},expected: 'downloadOffered'},
51
+
{name: 'the download offer does not wait for entitlement',inputs: { ...BLOCKED_USER,entitlementResolved: false},expected: 'downloadOffered'},
52
+
{name: 'the download offer is not behind the signed-out flag',inputs: { ...BLOCKED_USER,allowSignedOutWhenUsable: false},expected: 'downloadOffered'},
0 commit comments