@theia/ai-copilot 1.76.0-next.4 → 1.76.0-next.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +87 -14
  2. package/lib/browser/copilot-auth-dialog.d.ts.map +1 -1
  3. package/lib/browser/copilot-auth-dialog.js +19 -11
  4. package/lib/browser/copilot-auth-dialog.js.map +1 -1
  5. package/lib/browser/copilot-frontend-application-contribution.d.ts +21 -1
  6. package/lib/browser/copilot-frontend-application-contribution.d.ts.map +1 -1
  7. package/lib/browser/copilot-frontend-application-contribution.js +129 -26
  8. package/lib/browser/copilot-frontend-application-contribution.js.map +1 -1
  9. package/lib/common/copilot-auth-service.d.ts +27 -24
  10. package/lib/common/copilot-auth-service.d.ts.map +1 -1
  11. package/lib/common/copilot-language-models-manager.d.ts +6 -22
  12. package/lib/common/copilot-language-models-manager.d.ts.map +1 -1
  13. package/lib/common/copilot-language-models-manager.js +1 -13
  14. package/lib/common/copilot-language-models-manager.js.map +1 -1
  15. package/lib/common/copilot-preferences.d.ts +1 -0
  16. package/lib/common/copilot-preferences.d.ts.map +1 -1
  17. package/lib/common/copilot-preferences.js +24 -6
  18. package/lib/common/copilot-preferences.js.map +1 -1
  19. package/lib/common/index.d.ts +0 -1
  20. package/lib/common/index.d.ts.map +1 -1
  21. package/lib/common/index.js +0 -1
  22. package/lib/common/index.js.map +1 -1
  23. package/lib/node/copilot-auth-service-impl.d.ts +25 -16
  24. package/lib/node/copilot-auth-service-impl.d.ts.map +1 -1
  25. package/lib/node/copilot-auth-service-impl.js +67 -183
  26. package/lib/node/copilot-auth-service-impl.js.map +1 -1
  27. package/lib/node/copilot-auth-service-impl.spec.js +104 -168
  28. package/lib/node/copilot-auth-service-impl.spec.js.map +1 -1
  29. package/lib/node/copilot-backend-module.d.ts.map +1 -1
  30. package/lib/node/copilot-backend-module.js +10 -2
  31. package/lib/node/copilot-backend-module.js.map +1 -1
  32. package/lib/node/copilot-cli-auth-provider.d.ts +146 -0
  33. package/lib/node/copilot-cli-auth-provider.d.ts.map +1 -0
  34. package/lib/node/copilot-cli-auth-provider.js +430 -0
  35. package/lib/node/copilot-cli-auth-provider.js.map +1 -0
  36. package/lib/node/copilot-cli-auth-provider.spec.d.ts +2 -0
  37. package/lib/node/copilot-cli-auth-provider.spec.d.ts.map +1 -0
  38. package/lib/node/copilot-cli-auth-provider.spec.js +249 -0
  39. package/lib/node/copilot-cli-auth-provider.spec.js.map +1 -0
  40. package/lib/node/copilot-cli-locator.d.ts +120 -0
  41. package/lib/node/copilot-cli-locator.d.ts.map +1 -0
  42. package/lib/node/copilot-cli-locator.js +348 -0
  43. package/lib/node/copilot-cli-locator.js.map +1 -0
  44. package/lib/node/copilot-cli-locator.spec.d.ts +2 -0
  45. package/lib/node/copilot-cli-locator.spec.d.ts.map +1 -0
  46. package/lib/node/copilot-cli-locator.spec.js +327 -0
  47. package/lib/node/copilot-cli-locator.spec.js.map +1 -0
  48. package/lib/node/copilot-credential-store.d.ts +45 -0
  49. package/lib/node/copilot-credential-store.d.ts.map +1 -0
  50. package/lib/node/copilot-credential-store.js +96 -0
  51. package/lib/node/copilot-credential-store.js.map +1 -0
  52. package/lib/node/copilot-credential-store.spec.d.ts +2 -0
  53. package/lib/node/copilot-credential-store.spec.d.ts.map +1 -0
  54. package/lib/node/copilot-credential-store.spec.js +93 -0
  55. package/lib/node/copilot-credential-store.spec.js.map +1 -0
  56. package/lib/node/copilot-language-models-manager-impl.d.ts +44 -20
  57. package/lib/node/copilot-language-models-manager-impl.d.ts.map +1 -1
  58. package/lib/node/copilot-language-models-manager-impl.js +112 -65
  59. package/lib/node/copilot-language-models-manager-impl.js.map +1 -1
  60. package/lib/node/copilot-language-models-manager-impl.spec.d.ts +2 -0
  61. package/lib/node/copilot-language-models-manager-impl.spec.d.ts.map +1 -0
  62. package/lib/node/copilot-language-models-manager-impl.spec.js +162 -0
  63. package/lib/node/copilot-language-models-manager-impl.spec.js.map +1 -0
  64. package/lib/node/copilot-runtime-env.d.ts +20 -0
  65. package/lib/node/copilot-runtime-env.d.ts.map +1 -0
  66. package/lib/node/copilot-runtime-env.js +49 -0
  67. package/lib/node/copilot-runtime-env.js.map +1 -0
  68. package/lib/node/copilot-sdk-client-provider.d.ts +103 -0
  69. package/lib/node/copilot-sdk-client-provider.d.ts.map +1 -0
  70. package/lib/node/copilot-sdk-client-provider.js +247 -0
  71. package/lib/node/copilot-sdk-client-provider.js.map +1 -0
  72. package/lib/node/copilot-sdk-client-provider.spec.d.ts +2 -0
  73. package/lib/node/copilot-sdk-client-provider.spec.d.ts.map +1 -0
  74. package/lib/node/copilot-sdk-client-provider.spec.js +215 -0
  75. package/lib/node/copilot-sdk-client-provider.spec.js.map +1 -0
  76. package/lib/node/copilot-sdk-language-model.d.ts +85 -0
  77. package/lib/node/copilot-sdk-language-model.d.ts.map +1 -0
  78. package/lib/node/copilot-sdk-language-model.js +301 -0
  79. package/lib/node/copilot-sdk-language-model.js.map +1 -0
  80. package/lib/node/copilot-sdk-language-model.spec.d.ts +2 -0
  81. package/lib/node/copilot-sdk-language-model.spec.d.ts.map +1 -0
  82. package/lib/node/copilot-sdk-language-model.spec.js +315 -0
  83. package/lib/node/copilot-sdk-language-model.spec.js.map +1 -0
  84. package/lib/node/copilot-sdk-loader.d.ts +57 -0
  85. package/lib/node/copilot-sdk-loader.d.ts.map +1 -0
  86. package/lib/node/copilot-sdk-loader.js +133 -0
  87. package/lib/node/copilot-sdk-loader.js.map +1 -0
  88. package/lib/node/copilot-sdk-loader.spec.d.ts +2 -0
  89. package/lib/node/copilot-sdk-loader.spec.d.ts.map +1 -0
  90. package/lib/node/copilot-sdk-loader.spec.js +113 -0
  91. package/lib/node/copilot-sdk-loader.spec.js.map +1 -0
  92. package/lib/node/copilot-sdk-mappers.d.ts +54 -0
  93. package/lib/node/copilot-sdk-mappers.d.ts.map +1 -0
  94. package/lib/node/copilot-sdk-mappers.js +158 -0
  95. package/lib/node/copilot-sdk-mappers.js.map +1 -0
  96. package/lib/node/copilot-sdk-mappers.spec.d.ts +2 -0
  97. package/lib/node/copilot-sdk-mappers.spec.d.ts.map +1 -0
  98. package/lib/node/copilot-sdk-mappers.spec.js +168 -0
  99. package/lib/node/copilot-sdk-mappers.spec.js.map +1 -0
  100. package/lib/node/copilot-sdk-types.d.ts +208 -0
  101. package/lib/node/copilot-sdk-types.d.ts.map +1 -0
  102. package/lib/{common/copilot-oauth-config.js → node/copilot-sdk-types.js} +2 -13
  103. package/lib/node/copilot-sdk-types.js.map +1 -0
  104. package/lib/node/index.d.ts +9 -1
  105. package/lib/node/index.d.ts.map +1 -1
  106. package/lib/node/index.js +9 -1
  107. package/lib/node/index.js.map +1 -1
  108. package/package.json +4 -6
  109. package/src/browser/copilot-auth-dialog.tsx +20 -16
  110. package/src/browser/copilot-frontend-application-contribution.ts +144 -31
  111. package/src/common/copilot-auth-service.ts +28 -24
  112. package/src/common/copilot-language-models-manager.ts +6 -29
  113. package/src/common/copilot-preferences.ts +24 -5
  114. package/src/common/index.ts +0 -1
  115. package/src/node/copilot-auth-service-impl.spec.ts +122 -207
  116. package/src/node/copilot-auth-service-impl.ts +63 -218
  117. package/src/node/copilot-backend-module.ts +11 -2
  118. package/src/node/copilot-cli-auth-provider.spec.ts +315 -0
  119. package/src/node/copilot-cli-auth-provider.ts +444 -0
  120. package/src/node/copilot-cli-locator.spec.ts +386 -0
  121. package/src/node/copilot-cli-locator.ts +363 -0
  122. package/src/node/copilot-credential-store.spec.ts +106 -0
  123. package/src/node/copilot-credential-store.ts +99 -0
  124. package/src/node/copilot-language-models-manager-impl.spec.ts +188 -0
  125. package/src/node/copilot-language-models-manager-impl.ts +131 -84
  126. package/src/node/copilot-runtime-env.ts +46 -0
  127. package/src/node/copilot-sdk-client-provider.spec.ts +253 -0
  128. package/src/node/copilot-sdk-client-provider.ts +241 -0
  129. package/src/node/copilot-sdk-language-model.spec.ts +377 -0
  130. package/src/node/copilot-sdk-language-model.ts +330 -0
  131. package/src/node/copilot-sdk-loader.spec.ts +126 -0
  132. package/src/node/copilot-sdk-loader.ts +142 -0
  133. package/src/node/copilot-sdk-mappers.spec.ts +190 -0
  134. package/src/node/copilot-sdk-mappers.ts +172 -0
  135. package/src/node/copilot-sdk-types.ts +290 -0
  136. package/src/node/index.ts +9 -1
  137. package/lib/common/copilot-oauth-config.d.ts +0 -33
  138. package/lib/common/copilot-oauth-config.d.ts.map +0 -1
  139. package/lib/common/copilot-oauth-config.js.map +0 -1
  140. package/lib/node/copilot-language-model.d.ts +0 -34
  141. package/lib/node/copilot-language-model.d.ts.map +0 -1
  142. package/lib/node/copilot-language-model.js +0 -236
  143. package/lib/node/copilot-language-model.js.map +0 -1
  144. package/lib/node/copilot-language-model.spec.d.ts +0 -2
  145. package/lib/node/copilot-language-model.spec.d.ts.map +0 -1
  146. package/lib/node/copilot-language-model.spec.js +0 -89
  147. package/lib/node/copilot-language-model.spec.js.map +0 -1
  148. package/src/common/copilot-oauth-config.ts +0 -55
  149. package/src/node/copilot-language-model.spec.ts +0 -106
  150. package/src/node/copilot-language-model.ts +0 -273
@@ -3,19 +3,13 @@ export declare const COPILOT_AUTH_SERVICE_PATH = "/services/copilot/auth";
3
3
  export declare const CopilotAuthService: unique symbol;
4
4
  export declare const CopilotAuthServiceClient: unique symbol;
5
5
  /**
6
- * Response from GitHub's device code endpoint.
6
+ * The device code flow information reported by the Copilot CLI for the UI to display.
7
7
  */
8
8
  export interface DeviceCodeResponse {
9
9
  /** URL where user should enter the code (e.g., https://github.com/login/device) */
10
10
  verification_uri: string;
11
11
  /** Code to display to the user (e.g., XXXX-XXXX) */
12
12
  user_code: string;
13
- /** Device code used for polling */
14
- device_code: string;
15
- /** Polling interval in seconds */
16
- interval: number;
17
- /** Expiration time in seconds */
18
- expires_in: number;
19
13
  }
20
14
  /**
21
15
  * Current authentication state.
@@ -27,7 +21,10 @@ export interface CopilotAuthState {
27
21
  accountLabel?: string;
28
22
  /** GitHub Enterprise URL if using enterprise */
29
23
  enterpriseUrl?: string;
30
- /** True when credentials were cleared due to a client ID migration */
24
+ /**
25
+ * True when the credentials of a previous version were found and discarded, so that the user can
26
+ * be told why they have to sign in again.
27
+ */
31
28
  migrationRequired?: boolean;
32
29
  }
33
30
  /**
@@ -37,36 +34,42 @@ export interface CopilotAuthServiceClient {
37
34
  onAuthStateChanged(state: CopilotAuthState): void;
38
35
  }
39
36
  /**
40
- * Service for handling GitHub Copilot OAuth Device Flow authentication.
37
+ * Service for signing the GitHub Copilot CLI in, which serves all Copilot requests.
38
+ *
39
+ * The sign-in is a device code flow that the CLI runs and polls itself. This service starts it and
40
+ * reports its progress, so that it can be presented like any other device code flow.
41
41
  */
42
42
  export interface CopilotAuthService {
43
43
  /**
44
- * Initiates the OAuth Device Flow.
45
- * Returns device code information for the UI to display.
46
- * @param enterpriseUrl Optional GitHub Enterprise domain
44
+ * Tells the backend where the Copilot CLI is, as configured by the user.
45
+ *
46
+ * The CLI is not shipped with the application and has to be found on the machine hosting the
47
+ * backend, which cannot read the preferences of the user itself.
48
+ * @param path Location of the CLI executable, or `undefined` to search for it
47
49
  */
48
- initiateDeviceFlow(enterpriseUrl?: string): Promise<DeviceCodeResponse>;
50
+ setExecutablePath(path: string | undefined): Promise<void>;
49
51
  /**
50
- * Polls for the access token after user authorizes.
51
- * @param deviceCode The device code from initiateDeviceFlow
52
- * @param interval Polling interval in seconds
52
+ * Starts the sign-in and resolves once the code the user has to enter is known.
53
53
  * @param enterpriseUrl Optional GitHub Enterprise domain
54
- * @returns true if authentication succeeded, false if expired/denied
55
54
  */
56
- pollForToken(deviceCode: string, interval: number, enterpriseUrl?: string): Promise<boolean>;
55
+ startSignIn(enterpriseUrl?: string): Promise<DeviceCodeResponse>;
57
56
  /**
58
- * Get the current authentication state.
57
+ * Waits for the sign-in started by {@link startSignIn} to complete.
58
+ * @returns true if the sign-in succeeded, false if it was denied or expired
59
59
  */
60
- getAuthState(): Promise<CopilotAuthState>;
60
+ waitForSignIn(): Promise<boolean>;
61
61
  /**
62
- * Get the access token for API calls.
63
- * @returns The access token or undefined if not authenticated
62
+ * Aborts a sign-in that is still in progress, if any.
64
63
  */
65
- getAccessToken(): Promise<string | undefined>;
64
+ cancelSignIn(): Promise<void>;
66
65
  /**
67
- * Sign out and clear stored credentials.
66
+ * Discards the stored credentials of this application.
68
67
  */
69
68
  signOut(): Promise<void>;
69
+ /**
70
+ * Get the current authentication state.
71
+ */
72
+ getAuthState(): Promise<CopilotAuthState>;
70
73
  /**
71
74
  * Set the client to receive auth state change notifications.
72
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-auth-service.d.ts","sourceRoot":"","sources":["../../src/common/copilot-auth-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAExE;;;;;;OAMG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7F;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1C;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"copilot-auth-service.d.ts","sourceRoot":"","sources":["../../src/common/copilot-auth-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrD;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;OAGG;IACH,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEjE;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACxD"}
@@ -1,11 +1,7 @@
1
+ import { ModelDiscoveryResult } from '@theia/ai-core/lib/common';
1
2
  export declare const COPILOT_LANGUAGE_MODELS_MANAGER_PATH = "/services/copilot/language-model-manager";
2
3
  export declare const CopilotLanguageModelsManager: unique symbol;
3
4
  export declare const COPILOT_PROVIDER_ID = "copilot";
4
- export declare const COPILOT_API_BASE_URL = "https://api.githubcopilot.com";
5
- /**
6
- * Returns the Copilot API base URL, taking an optional GitHub Enterprise domain into account.
7
- */
8
- export declare function getCopilotApiBaseUrl(enterpriseUrl?: string): string;
9
5
  export interface CopilotModelDescription {
10
6
  /**
11
7
  * The identifier of the model which will be shown in the UI.
@@ -13,17 +9,9 @@ export interface CopilotModelDescription {
13
9
  */
14
10
  id: string;
15
11
  /**
16
- * The model ID as used by the Copilot API (e.g., 'gpt-4o', 'claude-3.5-sonnet').
12
+ * The model ID as used by the Copilot API (e.g., 'gpt-5.5', 'claude-sonnet-5').
17
13
  */
18
14
  model: string;
19
- /**
20
- * Indicate whether the streaming API shall be used.
21
- */
22
- enableStreaming: boolean;
23
- /**
24
- * Flag to configure whether the model supports structured output.
25
- */
26
- supportsStructuredOutput: boolean;
27
15
  /**
28
16
  * Maximum number of retry attempts when a request fails.
29
17
  */
@@ -38,19 +26,15 @@ export interface CopilotLanguageModelsManager {
38
26
  * Remove language models from the registry.
39
27
  */
40
28
  removeLanguageModels(...modelIds: string[]): void;
41
- /**
42
- * Set the GitHub Enterprise URL for Copilot API requests.
43
- */
44
- setEnterpriseUrl(url: string | undefined): void;
45
29
  /**
46
30
  * Refresh the status of all Copilot models (e.g., after authentication state changes).
47
31
  */
48
32
  refreshModelsStatus(): Promise<void>;
49
33
  /**
50
- * Fetches the list of available model IDs from the Copilot API.
51
- * Requires authentication. Returns an empty array if not authenticated
52
- * or if the API call fails.
34
+ * Fetches the models the Copilot CLI offers. Requires the CLI to be signed in; a failure is
35
+ * reported as {@link ModelDiscoveryResult.error} with no models rather than thrown, since the
36
+ * CLI being absent or signed out is an expected state rather than a fault.
53
37
  */
54
- fetchAvailableModelIds(): Promise<string[]>;
38
+ fetchAvailableModels(): Promise<ModelDiscoveryResult>;
55
39
  }
56
40
  //# sourceMappingURL=copilot-language-models-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,oCAAoC,6CAA6C,CAAC;AAC/F,eAAO,MAAM,4BAA4B,eAAyC,CAAC;AAEnF,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,oBAAoB,kCAAkC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED,MAAM,WAAW,uBAAuB;IACpC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,4BAA4B,CAAC,GAAG,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF;;OAEG;IACH,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC;;;;OAIG;IACH,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"copilot-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,eAAO,MAAM,oCAAoC,6CAA6C,CAAC;AAC/F,eAAO,MAAM,4BAA4B,eAAyC,CAAC;AAEnF,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,MAAM,WAAW,uBAAuB;IACpC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,4BAA4B,CAAC,GAAG,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF;;OAEG;IACH,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC;;;;OAIG;IACH,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzD"}
@@ -15,20 +15,8 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.COPILOT_API_BASE_URL = exports.COPILOT_PROVIDER_ID = exports.CopilotLanguageModelsManager = exports.COPILOT_LANGUAGE_MODELS_MANAGER_PATH = void 0;
19
- exports.getCopilotApiBaseUrl = getCopilotApiBaseUrl;
18
+ exports.COPILOT_PROVIDER_ID = exports.CopilotLanguageModelsManager = exports.COPILOT_LANGUAGE_MODELS_MANAGER_PATH = void 0;
20
19
  exports.COPILOT_LANGUAGE_MODELS_MANAGER_PATH = '/services/copilot/language-model-manager';
21
20
  exports.CopilotLanguageModelsManager = Symbol('CopilotLanguageModelsManager');
22
21
  exports.COPILOT_PROVIDER_ID = 'copilot';
23
- exports.COPILOT_API_BASE_URL = 'https://api.githubcopilot.com';
24
- /**
25
- * Returns the Copilot API base URL, taking an optional GitHub Enterprise domain into account.
26
- */
27
- function getCopilotApiBaseUrl(enterpriseUrl) {
28
- if (enterpriseUrl) {
29
- const domain = enterpriseUrl.replace(/^https?:\/\//, '').replace(/\/$/, '');
30
- return `https://copilot-api.${domain}`;
31
- }
32
- return exports.COPILOT_API_BASE_URL;
33
- }
34
22
  //# sourceMappingURL=copilot-language-models-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-language-models-manager.js","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAWhF,oDAMC;AAfY,QAAA,oCAAoC,GAAG,0CAA0C,CAAC;AAClF,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAEtE,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,oBAAoB,GAAG,+BAA+B,CAAC;AAEpE;;GAEG;AACH,SAAgB,oBAAoB,CAAC,aAAsB;IACvD,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,uBAAuB,MAAM,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,4BAAoB,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"copilot-language-models-manager.js","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAGnE,QAAA,oCAAoC,GAAG,0CAA0C,CAAC;AAClF,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAEtE,QAAA,mBAAmB,GAAG,SAAS,CAAC"}
@@ -2,5 +2,6 @@ import { PreferenceSchema } from '@theia/core';
2
2
  export declare const COPILOT_ENABLED_PREF = "ai-features.copilot.enabled";
3
3
  export declare const COPILOT_MODEL_OVERRIDES_PREF = "ai-features.copilot.modelOverrides";
4
4
  export declare const COPILOT_ENTERPRISE_URL_PREF = "ai-features.copilot.enterpriseUrl";
5
+ export declare const COPILOT_EXECUTABLE_PATH_PREF = "ai-features.copilot.executablePath";
5
6
  export declare const CopilotPreferencesSchema: PreferenceSchema;
6
7
  //# sourceMappingURL=copilot-preferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-preferences.d.ts","sourceRoot":"","sources":["../../src/common/copilot-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,4BAA4B,uCAAuC,CAAC;AACjF,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAE/E,eAAO,MAAM,wBAAwB,EAAE,gBA+BtC,CAAC"}
1
+ {"version":3,"file":"copilot-preferences.d.ts","sourceRoot":"","sources":["../../src/common/copilot-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,4BAA4B,uCAAuC,CAAC;AACjF,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAC/E,eAAO,MAAM,4BAA4B,uCAAuC,CAAC;AAEjF,eAAO,MAAM,wBAAwB,EAAE,gBAiDtC,CAAC"}
@@ -15,21 +15,26 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.CopilotPreferencesSchema = exports.COPILOT_ENTERPRISE_URL_PREF = exports.COPILOT_MODEL_OVERRIDES_PREF = exports.COPILOT_ENABLED_PREF = void 0;
18
+ exports.CopilotPreferencesSchema = exports.COPILOT_EXECUTABLE_PATH_PREF = exports.COPILOT_ENTERPRISE_URL_PREF = exports.COPILOT_MODEL_OVERRIDES_PREF = exports.COPILOT_ENABLED_PREF = void 0;
19
19
  const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
20
20
  const core_1 = require("@theia/core");
21
21
  exports.COPILOT_ENABLED_PREF = 'ai-features.copilot.enabled';
22
22
  exports.COPILOT_MODEL_OVERRIDES_PREF = 'ai-features.copilot.modelOverrides';
23
23
  exports.COPILOT_ENTERPRISE_URL_PREF = 'ai-features.copilot.enterpriseUrl';
24
+ exports.COPILOT_EXECUTABLE_PATH_PREF = 'ai-features.copilot.executablePath';
24
25
  exports.CopilotPreferencesSchema = {
25
26
  properties: {
26
27
  [exports.COPILOT_ENABLED_PREF]: {
27
28
  type: 'boolean',
28
29
  typeDetails: { [ai_core_preferences_1.MODEL_PROVIDER_TYPE_DETAIL]: { label: 'GitHub Copilot' } },
29
30
  markdownDescription: core_1.nls.localize('theia/ai/copilot/enabled/mdDescription', 'Enable the GitHub Copilot provider. When enabled, a status bar entry '
30
- + 'appears for authentication and available models are discovered from your Copilot subscription.'),
31
+ + 'appears for authentication and available models are discovered from your Copilot subscription.\n\n'
32
+ + 'Requests are routed through the official GitHub Copilot CLI, which runs as a background process on the '
33
+ + 'machine hosting the backend. It is given the credentials of your Copilot sign-in and nothing else, so a '
34
+ + 'token in the environment or an existing sign-in of the GitHub CLI is not used.'),
31
35
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
32
- default: true
36
+ default: true,
37
+ tags: ['experimental']
33
38
  },
34
39
  [exports.COPILOT_MODEL_OVERRIDES_PREF]: {
35
40
  type: 'array',
@@ -40,13 +45,26 @@ exports.CopilotPreferencesSchema = {
40
45
  default: [],
41
46
  items: {
42
47
  type: 'string'
43
- }
48
+ },
49
+ tags: ['experimental']
44
50
  },
45
51
  [exports.COPILOT_ENTERPRISE_URL_PREF]: {
46
52
  type: 'string',
47
- markdownDescription: core_1.nls.localize('theia/ai/copilot/enterpriseUrl/mdDescription', 'GitHub Enterprise domain for Copilot API (e.g., `github.mycompany.com`). Leave empty for GitHub.com.'),
53
+ markdownDescription: core_1.nls.localize('theia/ai/copilot/enterpriseUrl/mdDescription', 'GitHub Enterprise domain to authenticate and send requests against (e.g., `github.mycompany.com`). '
54
+ + 'Leave empty for GitHub.com.'),
48
55
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
49
- default: ''
56
+ default: '',
57
+ tags: ['experimental']
58
+ },
59
+ [exports.COPILOT_EXECUTABLE_PATH_PREF]: {
60
+ type: 'string',
61
+ markdownDescription: core_1.nls.localize('theia/ai/copilot/executablePath/mdDescription', 'Location of the GitHub Copilot CLI executable on the machine hosting the backend. '
62
+ + 'When empty (default), the CLI is searched for in the installation of the application, on the `PATH` '
63
+ + 'and in the global `npm` directory. Set this when the CLI is installed somewhere else.\n\n'
64
+ + 'The CLI is not shipped with the application, install it with `npm install -g @github/copilot`.'),
65
+ title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
66
+ default: '',
67
+ tags: ['experimental']
50
68
  }
51
69
  }
52
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-preferences.js","sourceRoot":"","sources":["../../src/common/copilot-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,uFAA+I;AAC/I,sCAAoD;AAEvC,QAAA,oBAAoB,GAAG,6BAA6B,CAAC;AACrD,QAAA,4BAA4B,GAAG,oCAAoC,CAAC;AACpE,QAAA,2BAA2B,GAAG,mCAAmC,CAAC;AAElE,QAAA,wBAAwB,GAAqB;IACtD,UAAU,EAAE;QACR,CAAC,4BAAoB,CAAC,EAAE;YACpB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,EAAE,CAAC,gDAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAoC,EAAE;YAC5G,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,wCAAwC,EACtE,uEAAuE;kBACrE,gGAAgG,CAAC;YACvG,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,IAAI;SAChB;QACD,CAAC,oCAA4B,CAAC,EAAE;YAC5B,IAAI,EAAE,OAAO;YACb,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAC7E,+DAA+D;kBAC7D,wFAAwF;kBACxF,oDAAoD,CAAC;YAC3D,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,mCAA2B,CAAC,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAC5E,sGAAsG,CAAC;YAC3G,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,EAAE;SACd;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"copilot-preferences.js","sourceRoot":"","sources":["../../src/common/copilot-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,uFAA+I;AAC/I,sCAAoD;AAEvC,QAAA,oBAAoB,GAAG,6BAA6B,CAAC;AACrD,QAAA,4BAA4B,GAAG,oCAAoC,CAAC;AACpE,QAAA,2BAA2B,GAAG,mCAAmC,CAAC;AAClE,QAAA,4BAA4B,GAAG,oCAAoC,CAAC;AAEpE,QAAA,wBAAwB,GAAqB;IACtD,UAAU,EAAE;QACR,CAAC,4BAAoB,CAAC,EAAE;YACpB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,EAAE,CAAC,gDAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAoC,EAAE;YAC5G,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,wCAAwC,EACtE,uEAAuE;kBACrE,oGAAoG;kBACpG,yGAAyG;kBACzG,0GAA0G;kBAC1G,gFAAgF,CAAC;YACvF,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC,cAAc,CAAC;SACzB;QACD,CAAC,oCAA4B,CAAC,EAAE;YAC5B,IAAI,EAAE,OAAO;YACb,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAC7E,+DAA+D;kBAC7D,wFAAwF;kBACxF,oDAAoD,CAAC;YAC3D,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;YACD,IAAI,EAAE,CAAC,cAAc,CAAC;SACzB;QACD,CAAC,mCAA2B,CAAC,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAC5E,qGAAqG;kBACnG,6BAA6B,CAAC;YACpC,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,CAAC,cAAc,CAAC;SACzB;QACD,CAAC,oCAA4B,CAAC,EAAE;YAC5B,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAC7E,oFAAoF;kBAClF,sGAAsG;kBACtG,2FAA2F;kBAC3F,gGAAgG,CAAC;YACvG,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,CAAC,cAAc,CAAC;SACzB;KACJ;CACJ,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export * from './copilot-language-models-manager';
2
2
  export * from './copilot-auth-service';
3
- export * from './copilot-oauth-config';
4
3
  export * from './copilot-preferences';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAgBA,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAgBA,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -18,6 +18,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const tslib_1 = require("tslib");
19
19
  tslib_1.__exportStar(require("./copilot-language-models-manager"), exports);
20
20
  tslib_1.__exportStar(require("./copilot-auth-service"), exports);
21
- tslib_1.__exportStar(require("./copilot-oauth-config"), exports);
22
21
  tslib_1.__exportStar(require("./copilot-preferences"), exports);
23
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,4EAAkD;AAClD,iEAAuC;AACvC,iEAAuC;AACvC,gEAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,4EAAkD;AAClD,iEAAuC;AACvC,gEAAsC"}
@@ -1,31 +1,40 @@
1
1
  import { Emitter, Event, ILogger } from '@theia/core';
2
- import { KeyStoreService } from '@theia/core/lib/common/key-store';
3
2
  import { CopilotAuthService, CopilotAuthServiceClient, CopilotAuthState, DeviceCodeResponse } from '../common/copilot-auth-service';
4
- import { CopilotOAuthConfig } from '../common/copilot-oauth-config';
3
+ import { CopilotCliAuthProvider } from './copilot-cli-auth-provider';
4
+ import { CopilotCliLocator } from './copilot-cli-locator';
5
+ import { CopilotCredentialStore } from './copilot-credential-store';
5
6
  /**
6
- * Backend implementation of the GitHub Copilot OAuth Device Flow authentication service.
7
- * Handles device code generation, token polling, and credential storage.
7
+ * Backend implementation of the GitHub Copilot authentication service.
8
+ *
9
+ * All Copilot requests are served by the official Copilot CLI, which owns its credentials, so this
10
+ * service only drives the sign-in of the CLI and reports its state, see {@link CopilotCliAuthProvider}.
8
11
  */
9
12
  export declare class CopilotAuthServiceImpl implements CopilotAuthService {
10
- protected readonly keyStoreService: KeyStoreService;
13
+ protected readonly cliAuthProvider: CopilotCliAuthProvider;
14
+ protected readonly credentialStore: CopilotCredentialStore;
15
+ protected readonly cliLocator: CopilotCliLocator;
11
16
  protected readonly logger: ILogger;
12
- protected readonly oauthConfig: CopilotOAuthConfig;
13
17
  protected client: CopilotAuthServiceClient | undefined;
14
18
  protected cachedState: CopilotAuthState | undefined;
19
+ protected migrationRequired: boolean;
20
+ protected legacyCleanup: Promise<void>;
21
+ protected init(): void;
15
22
  protected readonly onAuthStateChangedEmitter: Emitter<CopilotAuthState>;
16
23
  readonly onAuthStateChanged: Event<CopilotAuthState>;
17
24
  setClient(client: CopilotAuthServiceClient | undefined): void;
18
- protected getOAuthEndpoints(enterpriseUrl?: string): {
19
- deviceCodeUrl: string;
20
- accessTokenUrl: string;
21
- };
22
- initiateDeviceFlow(enterpriseUrl?: string): Promise<DeviceCodeResponse>;
23
- pollForToken(deviceCode: string, interval: number, enterpriseUrl?: string): Promise<boolean>;
24
- protected fetchAccountLabel(accessToken: string, enterpriseUrl?: string): Promise<string | undefined>;
25
- getAuthState(): Promise<CopilotAuthState>;
26
- getAccessToken(): Promise<string | undefined>;
25
+ setExecutablePath(path: string | undefined): Promise<void>;
26
+ startSignIn(enterpriseUrl?: string): Promise<DeviceCodeResponse>;
27
+ waitForSignIn(): Promise<boolean>;
28
+ cancelSignIn(): Promise<void>;
27
29
  signOut(): Promise<void>;
30
+ getAuthState(): Promise<CopilotAuthState>;
31
+ /**
32
+ * The state as it currently is, with the request for a new sign-in attached when the credentials
33
+ * of the previous integration had to be discarded and none have been established since.
34
+ *
35
+ * Does not await the cleanup, so that it can be used from it.
36
+ */
37
+ protected computeAuthState(): Promise<CopilotAuthState>;
28
38
  protected updateAuthState(state: CopilotAuthState): void;
29
- protected delay(ms: number): Promise<void>;
30
39
  }
31
40
  //# sourceMappingURL=copilot-auth-service-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-auth-service-impl.d.ts","sourceRoot":"","sources":["../../src/node/copilot-auth-service-impl.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EACH,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAiBpE;;;GAGG;AACH,qBACa,sBAAuB,YAAW,kBAAkB;IAG7D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAEnD,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD,SAAS,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,4BAAmC;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAwC;IAE5F,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI;IAI7D,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;IAgBhG,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBvE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAsFlF,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwBrG,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA+BzC,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAa7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAMxD,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7C"}
1
+ {"version":3,"file":"copilot-auth-service-impl.d.ts","sourceRoot":"","sources":["../../src/node/copilot-auth-service-impl.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACH,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;;GAKG;AACH,qBACa,sBAAuB,YAAW,kBAAkB;IAG7D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD,SAAS,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvC,SAAS,CAAC,IAAI,IAAI,IAAI;IAYtB,SAAS,CAAC,QAAQ,CAAC,yBAAyB,4BAAmC;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAwC;IAE5F,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI;IAIvD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIhE,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IASjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAW/C;;;;;OAKG;cACa,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAK7D,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;CAK3D"}