@microsoft/managed-apps-cli 0.5.0 → 0.7.0

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 (192) hide show
  1. package/README.md +65 -24
  2. package/dist/ArgumentProvider.d.ts +10 -2
  3. package/dist/ArgumentProvider.d.ts.map +1 -1
  4. package/dist/ArgumentProvider.js +11 -2
  5. package/dist/ArgumentProvider.js.map +1 -1
  6. package/dist/Authentication/ActiveAccountStore.d.ts +24 -0
  7. package/dist/Authentication/ActiveAccountStore.d.ts.map +1 -0
  8. package/dist/Authentication/ActiveAccountStore.js +54 -0
  9. package/dist/Authentication/ActiveAccountStore.js.map +1 -0
  10. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts +26 -0
  11. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts.map +1 -0
  12. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js +31 -0
  13. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js.map +1 -0
  14. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +57 -3
  15. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
  16. package/dist/Authentication/NodeMsalAuthenticationProvider.js +187 -27
  17. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
  18. package/dist/Cli.d.ts.map +1 -1
  19. package/dist/Cli.js +74 -23
  20. package/dist/Cli.js.map +1 -1
  21. package/dist/CliUtils.d.ts +2 -8
  22. package/dist/CliUtils.d.ts.map +1 -1
  23. package/dist/CliUtils.js.map +1 -1
  24. package/dist/Constants/CommandRegistry.d.ts.map +1 -1
  25. package/dist/Constants/CommandRegistry.js +32 -6
  26. package/dist/Constants/CommandRegistry.js.map +1 -1
  27. package/dist/Constants/HelpStrings.d.ts +39 -3
  28. package/dist/Constants/HelpStrings.d.ts.map +1 -1
  29. package/dist/Constants/HelpStrings.js +63 -10
  30. package/dist/Constants/HelpStrings.js.map +1 -1
  31. package/dist/Constants.d.ts +2 -0
  32. package/dist/Constants.d.ts.map +1 -1
  33. package/dist/Constants.js +2 -0
  34. package/dist/Constants.js.map +1 -1
  35. package/dist/Errors/GitHubErrorMap.d.ts +39 -0
  36. package/dist/Errors/GitHubErrorMap.d.ts.map +1 -0
  37. package/dist/Errors/GitHubErrorMap.js +187 -0
  38. package/dist/Errors/GitHubErrorMap.js.map +1 -0
  39. package/dist/HttpClient/CliHttpClient.d.ts +8 -3
  40. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
  41. package/dist/HttpClient/CliHttpClient.js +33 -13
  42. package/dist/HttpClient/CliHttpClient.js.map +1 -1
  43. package/dist/Logger/ConsoleWriter.d.ts.map +1 -1
  44. package/dist/Logger/ConsoleWriter.js +7 -7
  45. package/dist/Logger/ConsoleWriter.js.map +1 -1
  46. package/dist/Middletier/FunctionsBundler.d.ts +17 -0
  47. package/dist/Middletier/FunctionsBundler.d.ts.map +1 -0
  48. package/dist/Middletier/FunctionsBundler.js +165 -0
  49. package/dist/Middletier/FunctionsBundler.js.map +1 -0
  50. package/dist/Middletier/PackFunctions.d.ts +52 -0
  51. package/dist/Middletier/PackFunctions.d.ts.map +1 -0
  52. package/dist/Middletier/PackFunctions.js +122 -0
  53. package/dist/Middletier/PackFunctions.js.map +1 -0
  54. package/dist/Types/Cli.types.d.ts +42 -1
  55. package/dist/Types/Cli.types.d.ts.map +1 -1
  56. package/dist/Types/Command.types.d.ts +1 -1
  57. package/dist/Types/Command.types.d.ts.map +1 -1
  58. package/dist/Utils/ConsoleOutput.d.ts +6 -0
  59. package/dist/Utils/ConsoleOutput.d.ts.map +1 -1
  60. package/dist/Utils/ConsoleOutput.js +23 -12
  61. package/dist/Utils/ConsoleOutput.js.map +1 -1
  62. package/dist/Utils/EnvVars.d.ts +1 -1
  63. package/dist/Utils/EnvVars.d.ts.map +1 -1
  64. package/dist/Utils/EnvVars.js.map +1 -1
  65. package/dist/Utils/EnvironmentRoutingUtils.d.ts +8 -0
  66. package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +1 -0
  67. package/dist/Utils/EnvironmentRoutingUtils.js +45 -0
  68. package/dist/Utils/EnvironmentRoutingUtils.js.map +1 -0
  69. package/dist/Utils/GitHubDcfFlow.d.ts +59 -0
  70. package/dist/Utils/GitHubDcfFlow.d.ts.map +1 -0
  71. package/dist/Utils/GitHubDcfFlow.js +165 -0
  72. package/dist/Utils/GitHubDcfFlow.js.map +1 -0
  73. package/dist/Utils/GitUtils.d.ts +5 -0
  74. package/dist/Utils/GitUtils.d.ts.map +1 -1
  75. package/dist/Utils/GitUtils.js +15 -0
  76. package/dist/Utils/GitUtils.js.map +1 -1
  77. package/dist/Utils/Paging.d.ts.map +1 -1
  78. package/dist/Utils/Paging.js +4 -4
  79. package/dist/Utils/Paging.js.map +1 -1
  80. package/dist/Utils/RepoUrl.d.ts +13 -0
  81. package/dist/Utils/RepoUrl.d.ts.map +1 -0
  82. package/dist/Utils/RepoUrl.js +6 -0
  83. package/dist/Utils/RepoUrl.js.map +1 -0
  84. package/dist/Utils/Spinner.d.ts +9 -1
  85. package/dist/Utils/Spinner.d.ts.map +1 -1
  86. package/dist/Utils/Spinner.js +25 -5
  87. package/dist/Utils/Spinner.js.map +1 -1
  88. package/dist/Verbs/AddAction.d.ts.map +1 -1
  89. package/dist/Verbs/AddAction.js +12 -41
  90. package/dist/Verbs/AddAction.js.map +1 -1
  91. package/dist/Verbs/AddConnector.d.ts +24 -0
  92. package/dist/Verbs/AddConnector.d.ts.map +1 -0
  93. package/dist/Verbs/AddConnector.js +156 -0
  94. package/dist/Verbs/AddConnector.js.map +1 -0
  95. package/dist/Verbs/AddConnectorFlows.d.ts +72 -0
  96. package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -0
  97. package/dist/Verbs/AddConnectorFlows.js +198 -0
  98. package/dist/Verbs/AddConnectorFlows.js.map +1 -0
  99. package/dist/Verbs/AddDataSource.js +1 -1
  100. package/dist/Verbs/AddDataSource.js.map +1 -1
  101. package/dist/Verbs/AddFlow.d.ts.map +1 -1
  102. package/dist/Verbs/AddFlow.js +3 -2
  103. package/dist/Verbs/AddFlow.js.map +1 -1
  104. package/dist/Verbs/AddTable.d.ts.map +1 -1
  105. package/dist/Verbs/AddTable.js +15 -100
  106. package/dist/Verbs/AddTable.js.map +1 -1
  107. package/dist/Verbs/AuthStatus.d.ts.map +1 -1
  108. package/dist/Verbs/AuthStatus.js +34 -6
  109. package/dist/Verbs/AuthStatus.js.map +1 -1
  110. package/dist/Verbs/AuthSwitch.d.ts +6 -0
  111. package/dist/Verbs/AuthSwitch.d.ts.map +1 -0
  112. package/dist/Verbs/AuthSwitch.js +67 -0
  113. package/dist/Verbs/AuthSwitch.js.map +1 -0
  114. package/dist/Verbs/ConnectorHelpers.d.ts +54 -1
  115. package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -1
  116. package/dist/Verbs/ConnectorHelpers.js +217 -16
  117. package/dist/Verbs/ConnectorHelpers.js.map +1 -1
  118. package/dist/Verbs/CreateMaafApp.d.ts +26 -1
  119. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
  120. package/dist/Verbs/CreateMaafApp.js +310 -135
  121. package/dist/Verbs/CreateMaafApp.js.map +1 -1
  122. package/dist/Verbs/DeployMaafApp.d.ts.map +1 -1
  123. package/dist/Verbs/DeployMaafApp.js +4 -0
  124. package/dist/Verbs/DeployMaafApp.js.map +1 -1
  125. package/dist/Verbs/Dev.js +5 -5
  126. package/dist/Verbs/Dev.js.map +1 -1
  127. package/dist/Verbs/FindDataverseApi.js +15 -15
  128. package/dist/Verbs/FindDataverseApi.js.map +1 -1
  129. package/dist/Verbs/GetSettings.d.ts +1 -1
  130. package/dist/Verbs/GetSettings.js +1 -1
  131. package/dist/Verbs/Init.d.ts.map +1 -1
  132. package/dist/Verbs/Init.js +129 -61
  133. package/dist/Verbs/Init.js.map +1 -1
  134. package/dist/Verbs/ListConnectors.d.ts.map +1 -1
  135. package/dist/Verbs/ListConnectors.js +4 -2
  136. package/dist/Verbs/ListConnectors.js.map +1 -1
  137. package/dist/Verbs/ListDatasets.d.ts.map +1 -1
  138. package/dist/Verbs/ListDatasets.js +5 -0
  139. package/dist/Verbs/ListDatasets.js.map +1 -1
  140. package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +1 -1
  141. package/dist/Verbs/ListSqlStoredProcedures.js +5 -0
  142. package/dist/Verbs/ListSqlStoredProcedures.js.map +1 -1
  143. package/dist/Verbs/ListTables.d.ts.map +1 -1
  144. package/dist/Verbs/ListTables.js +5 -0
  145. package/dist/Verbs/ListTables.js.map +1 -1
  146. package/dist/Verbs/Login.d.ts.map +1 -1
  147. package/dist/Verbs/Login.js +16 -13
  148. package/dist/Verbs/Login.js.map +1 -1
  149. package/dist/Verbs/Logout.d.ts.map +1 -1
  150. package/dist/Verbs/Logout.js +19 -13
  151. package/dist/Verbs/Logout.js.map +1 -1
  152. package/dist/Verbs/MaafAppPermissions.d.ts +26 -6
  153. package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
  154. package/dist/Verbs/MaafAppPermissions.js +193 -28
  155. package/dist/Verbs/MaafAppPermissions.js.map +1 -1
  156. package/dist/Verbs/Pack.d.ts +6 -6
  157. package/dist/Verbs/Pack.d.ts.map +1 -1
  158. package/dist/Verbs/Pack.js +80 -12
  159. package/dist/Verbs/Pack.js.map +1 -1
  160. package/dist/Verbs/RefreshDataSource.d.ts.map +1 -1
  161. package/dist/Verbs/RefreshDataSource.js +4 -3
  162. package/dist/Verbs/RefreshDataSource.js.map +1 -1
  163. package/dist/Verbs/RefreshGitAuth.d.ts +6 -0
  164. package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -0
  165. package/dist/Verbs/RefreshGitAuth.js +153 -0
  166. package/dist/Verbs/RefreshGitAuth.js.map +1 -0
  167. package/dist/Verbs/RemoveFlow.d.ts.map +1 -1
  168. package/dist/Verbs/RemoveFlow.js +4 -3
  169. package/dist/Verbs/RemoveFlow.js.map +1 -1
  170. package/dist/Verbs/SetSetting.d.ts +1 -1
  171. package/dist/Verbs/SetSetting.js +1 -1
  172. package/dist/Verbs/VerbConstants.d.ts +72 -16
  173. package/dist/Verbs/VerbConstants.d.ts.map +1 -1
  174. package/dist/Verbs/VerbConstants.js +64 -16
  175. package/dist/Verbs/VerbConstants.js.map +1 -1
  176. package/dist/Verbs/index.d.ts +3 -0
  177. package/dist/Verbs/index.d.ts.map +1 -1
  178. package/dist/Verbs/index.js +3 -0
  179. package/dist/Verbs/index.js.map +1 -1
  180. package/package.json +8 -8
  181. package/dist/Authentication/OrchardAuthenticationProvider.d.ts +0 -13
  182. package/dist/Authentication/OrchardAuthenticationProvider.d.ts.map +0 -1
  183. package/dist/Authentication/OrchardAuthenticationProvider.js +0 -30
  184. package/dist/Authentication/OrchardAuthenticationProvider.js.map +0 -1
  185. package/dist/HttpClient/OrchardProxy.d.ts +0 -11
  186. package/dist/HttpClient/OrchardProxy.d.ts.map +0 -1
  187. package/dist/HttpClient/OrchardProxy.js +0 -25
  188. package/dist/HttpClient/OrchardProxy.js.map +0 -1
  189. package/dist/HttpClient/Proxy.d.ts +0 -7
  190. package/dist/HttpClient/Proxy.d.ts.map +0 -1
  191. package/dist/HttpClient/Proxy.js +0 -5
  192. package/dist/HttpClient/Proxy.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @microsoft/managed-apps-cli
2
2
 
3
- Command-line interface for the Microsoft Apps (MAAF) platform. Manage app lifecycle, sharing, and developer workflows from your terminal.
3
+ Command-line interface for the Managed Apps platform. Manage app lifecycle, sharing, and developer workflows from your terminal.
4
4
 
5
5
  ## Installation
6
6
 
@@ -26,7 +26,7 @@ You can pass options on the command line, set them via environment variables (se
26
26
 
27
27
  ### `app create`
28
28
 
29
- Create a new MAAF app in the environment. Initializes a local git repo and scaffolds the app into `apps/<server-app-guid>`.
29
+ Create a new Managed App in the environment. Initializes a local git repo and scaffolds the app into `apps/<server-app-guid>`.
30
30
 
31
31
  ```bash
32
32
  npx ms app create --display-name "My App" --repository-id <id>
@@ -42,7 +42,7 @@ npx ms app init --display-name "My App" --environment-id <id>
42
42
 
43
43
  ### `app list`
44
44
 
45
- List all code apps in the environment.
45
+ List all Managed Apps in the environment.
46
46
 
47
47
  ```bash
48
48
  npx ms app list
@@ -68,7 +68,7 @@ npx ms app info --app my-app
68
68
 
69
69
  ### `app build` / `app build-status`
70
70
 
71
- Initiate a cloud build for a MAAF app and poll its status.
71
+ Initiate a cloud build for a Managed App and poll its status.
72
72
 
73
73
  ```bash
74
74
  npx ms app build --app my-app --commit abc1234
@@ -110,7 +110,7 @@ npx ms app dev --port 8080 --local-app-url http://localhost:3000
110
110
 
111
111
  ### `app delete`
112
112
 
113
- Soft-delete a MAAF app. The server distinguishes "found and deleted" from "did not exist"; the CLI surfaces the latter as a warning rather than an error so the verb is safe to run idempotently in automation.
113
+ Soft-delete a Managed App. The server distinguishes "found and deleted" from "did not exist"; the CLI surfaces the latter as a warning rather than an error so the verb is safe to run idempotently in automation.
114
114
 
115
115
  ```bash
116
116
  # Delete the app from the current ms.config.json directory
@@ -133,17 +133,26 @@ In interactive mode the verb prompts for confirmation before deleting. `--force`
133
133
 
134
134
  ### `app share` / `app unshare`
135
135
 
136
- Share or unshare a MAAF app with users and groups. `share` grants the `Microsoft App Reader` role at the app scope; `unshare` revokes all role assignments at that scope. Both verbs take a comma-separated positional list of principals — each entry is either a Microsoft Entra object ID (GUID) or an email address. Emails are resolved against your tenant via Microsoft Graph (`User.ReadBasic.All` and `Group.Read.All`).
136
+ Share or unshare a Managed App with users and groups. Each invocation targets a single access level via `--access`:
137
+
138
+ - **`--access play`** (default) — grants/revokes the ability to run the app (the `MicrosoftAppReader` role at the app scope).
139
+ - **`--access edit`** — grants/revokes the ability to modify the app (the `RepositoryContributor` role on the underlying git repository).
140
+
141
+ Each invocation only touches the requested access level, so `unshare --access edit` leaves play access intact (and vice-versa). Both verbs take a comma-separated positional list of principals — each entry is either a Microsoft Entra object ID (GUID) or an email address. Emails are resolved against your tenant via Microsoft Graph (`User.ReadBasic.All` and `Group.Read.All`).
137
142
 
138
143
  ```bash
139
- # Share by email (resolved via Graph)
144
+ # Share play access by email (default — resolved via Graph)
140
145
  npx ms app share alice@contoso.com,bob@contoso.com
141
146
 
147
+ # Share edit access (lets the principal modify the app)
148
+ npx ms app share alice@contoso.com --access edit
149
+
142
150
  # Share by AAD object id
143
151
  npx ms app share 11111111-1111-4111-8111-111111111111
144
152
 
145
153
  # Unshare by email or id
146
154
  npx ms app unshare alice@contoso.com
155
+ npx ms app unshare alice@contoso.com --access edit
147
156
  npx ms app unshare 22222222-2222-4222-8222-222222222222
148
157
 
149
158
  # Override the app name from ms.config.json
@@ -155,22 +164,29 @@ npx ms app unshare alice@contoso.com --json
155
164
 
156
165
  If some entries can't be resolved (typo'd email, unsupported principal type, or insufficient Graph permissions), they're listed as a warning and the operation proceeds for the resolvable subset. If nothing resolves, the verb errors out with the per-entry reasons.
157
166
 
158
- In `--json` mode the output is an envelope so automation can detect partial success without parsing stderr:
167
+ On unshare, principals that have no existing role assignment for the requested access level are silent no-ops — they're surfaced as an info line, not a warning, because the post-condition the user wanted (no assignment) already holds.
168
+
169
+ In `--json` mode the output is an envelope so automation can detect partial success without parsing stderr. The envelope's `access` field echoes back the resolved access level so consumers don't have to re-parse the input. The server response is spread flat into the envelope (no nested `result` key), and on unshare the action-layer bookkeeping is included so JSON consumers get the same fidelity as the text summary:
159
170
 
160
171
  ```json
161
172
  {
162
- "result": {
163
- "put": [
164
- /* server response */
165
- ]
166
- },
173
+ "success": true,
174
+ "access": "play",
175
+ "partialFailure": false,
176
+ "put": [
177
+ /* server response: granted assignments (share only) */
178
+ ],
179
+ "revokedCount": 1,
180
+ "revokedPrincipalCount": 1,
181
+ "notFound": [{ "id": "...", "label": "Carol Contoso" }],
182
+ "skipped": [],
167
183
  "warnings": [
168
184
  { "input": "unknown@contoso.com", "reason": "no user or group found in this tenant ..." }
169
185
  ]
170
186
  }
171
187
  ```
172
188
 
173
- `warnings` is always present (empty array on full success).
189
+ `warnings` is always present (empty array on full success). The `revokedCount` / `revokedPrincipalCount` / `notFound` / `skipped` keys appear on `unshare` only — `revokedCount` is the number of role assignments deleted on the wire, while `revokedPrincipalCount` is the number of distinct principals whose access was revoked (typically equal, but `revokedCount` can be higher when a principal had multiple stale assignments at the same scope).
174
190
 
175
191
  ### `app refresh`
176
192
 
@@ -181,13 +197,16 @@ npx ms app refresh
181
197
  npx ms app refresh --data-source-name contact
182
198
  ```
183
199
 
184
- ### `app add action` / `app add table` / `app add procedure` / `app remove table` / `app remove procedure`
200
+ ### `app add connector` / `app add action` / `app add table` / `app add procedure` / `app remove table` / `app remove procedure`
185
201
 
186
- Bind or unbind data sources (connector actions, Dataverse tables, SQL stored procedures, etc.) to the app. `app add action` adds a non-tabular connector (e.g. Office 365); `app add table` adds a tabular connector data source. Both verbs run a DLP preflight, prompt for a connection when `--connection-id` is omitted, and offer to create one for you. Use `--skip-codegen` to skip TypeScript regeneration.
202
+ Bind or unbind data sources (connector actions, Dataverse tables, SQL stored procedures, etc.) to the app. `app add connector` is the recommended entry point — it inspects the connector's capabilities and dispatches to the right flow (table or actions), prompting you when both are valid. The targeted verb `app add table` remains available when you know exactly which shape you want. All `add` verbs run a DLP preflight, prompt for a connection when `--connection-id` is omitted, and offer to create one for you. Use `--skip-codegen` to skip TypeScript regeneration.
203
+
204
+ > **Note:** `app add action` is **temporarily disabled** pending spec rework. Use `app add connector` instead — for non-tabular connectors it dispatches to the same action flow internally. The implementation is preserved in source for easy re-enabling.
187
205
 
188
206
  ```bash
189
- npx ms app add action --api-id shared_office365
190
- npx ms app add action --api-id shared_sql --connection-id <id>
207
+ npx ms app add connector --api-id shared_office365
208
+ npx ms app add connector --api-id shared_sql --as table --connection-id <id> --dataset <db> --table <tbl>
209
+ npx ms app add connector --api-id shared_sharepointonline --as action
191
210
  npx ms app add table --api-id shared_sql --connection-id <id> --dataset <db> --table <tbl>
192
211
  npx ms app add procedure --api-id shared_sql --connection-id <id> --dataset <db>
193
212
  npx ms app remove table --api-id dataverse --data-source-name contact --force
@@ -212,29 +231,51 @@ npx ms connector list-actions --search "account"
212
231
 
213
232
  ### `auth login`
214
233
 
215
- Sign in interactively using MSAL (opens the system browser). Optionally pass `--hint` to pre-fill the username.
234
+ Sign in interactively using MSAL (opens the system browser). Always triggers interactive flow — run it again to add a second account. The signed-in account becomes the active one. Optionally pass `--account` to pre-fill the username in the browser prompt. Note: on `login`, `--account` is a hint passed to the identity provider, not validated against the local cache — use `auth switch --account` for an exact match against cached accounts.
216
235
 
217
236
  ```bash
218
237
  npx ms auth login
219
- npx ms auth login --hint alice@contoso.com
238
+ npx ms auth login --account alice@contoso.com
239
+ npx ms auth login --json
220
240
  ```
221
241
 
222
- On success prints `Signed in as <email>`.
242
+ On success prints `Signed in as <email>` (or emits `{ success: true, account: { username, homeAccountId } }` under `--json`).
223
243
 
224
244
  ### `auth status`
225
245
 
226
- Print the currently signed-in account (or a prompt to run `auth login` if not signed in).
246
+ List cached Entra ID accounts. When more than one is cached, the active account (the one used by other CLI commands) is marked with `*`. The global `--json` flag emits a machine-readable envelope (shape documented in the architecture doc).
227
247
 
228
248
  ```bash
229
249
  npx ms auth status
250
+ npx ms auth status --json
251
+ ```
252
+
253
+ ### `auth switch`
254
+
255
+ Choose which cached account other CLI commands run as. With a single account it's a no-op confirmation. With multiple accounts: in interactive mode, prompts you to pick one; in non-interactive mode (CI, piped stdin) or under `--json`, `--account` is required (JSON callers can't answer the picker).
256
+
257
+ ```bash
258
+ npx ms auth switch
259
+ npx ms auth switch --account alice@contoso.com
260
+ npx ms auth switch --account alice@contoso.com --json
230
261
  ```
231
262
 
232
263
  ### `auth logout`
233
264
 
234
- Remove the cached Entra ID account.
265
+ Clear all cached credentials. Always removes every cached account and the active-account pointer — there is no selective form. To change which cached account is currently active without logging out, use `auth switch`. Under `--json`, emits `{ success: true, cleared: boolean }`.
235
266
 
236
267
  ```bash
237
268
  npx ms auth logout
269
+ npx ms auth logout --json
270
+ ```
271
+
272
+ ### `git auth refresh`
273
+
274
+ Refresh (or establish) the mapping between your Microsoft Entra identity and a GitHub user with access to the specified GHE repo, via the Managed Apps GitHub App's Device Code Flow. By default the CLI prints a verification URL and user code for you to open manually; pass `--open-browser` to best-effort launch the system browser instead. On success prints `Authenticated as <github-login> for <owner>/<repo>.` followed by `Mapping established; expires around <timestamp>.`.
275
+
276
+ ```bash
277
+ npx ms git auth refresh --repo contoso.ghe.com/contoso/my-app
278
+ npx ms git auth refresh -r contoso.ghe.com/contoso/my-app --open-browser --json
238
279
  ```
239
280
 
240
281
  ### `telemetry enable` / `telemetry disable` / `telemetry status`
@@ -265,7 +306,7 @@ The CLI reads configuration from `ms.config.json` in the current directory. Nota
265
306
 
266
307
  ## Telemetry
267
308
 
268
- CLI events are tagged with `clientType: NodeCLI` (or `PacCLI` when invoked through `pac`) and prefixed `MicrosoftAppsCLI.`. Disable transmission with `npx ms telemetry disable`.
309
+ Disable transmission with `npx ms telemetry disable`.
269
310
 
270
311
  ## Design Docs
271
312
 
@@ -5,7 +5,7 @@ import type { IHttpClient } from '@microsoft/managed-apps-actions';
5
5
  import { type Cloud } from '@microsoft/managed-apps-common/services';
6
6
  import type { CliLogger } from './Logger/CliLogger.js';
7
7
  import type { CliOption } from './Types/Argument.types.js';
8
- import type { IAuthenticationProvider } from './Types/Cli.types.js';
8
+ import type { IAccountManager, IAuthenticationProvider } from './Types/Cli.types.js';
9
9
  import type { ResolvedCommand } from './Types/Command.types.js';
10
10
  export interface IArgumentProvider {
11
11
  addOption(cliOption: CliOption): void;
@@ -20,6 +20,12 @@ export interface IArgumentProvider {
20
20
  handleGlobalHelpOrFlagsAndExit(): void;
21
21
  getOption<T>(key: string, ignorePrompt?: boolean): Promise<T>;
22
22
  getAuthenticationProvider(): IAuthenticationProvider;
23
+ /**
24
+ * Returns the account manager for the current auth mode. Throws `UsageError` when the
25
+ * current mode (service principal, HTTP forward) does not support account management —
26
+ * only interactive MSAL does.
27
+ */
28
+ getAccountManager(): IAccountManager;
23
29
  getHttpClient(): IHttpClient;
24
30
  getTenantIdAsync(): Promise<string | undefined>;
25
31
  getAuthResourceUrl(): string;
@@ -36,6 +42,7 @@ export declare class ArgumentProvider implements IArgumentProvider {
36
42
  private _httpClient;
37
43
  private _logger;
38
44
  private _authenticationProvider;
45
+ private _accountManager?;
39
46
  private _environmentId;
40
47
  private _cloud;
41
48
  private _region;
@@ -47,7 +54,7 @@ export declare class ArgumentProvider implements IArgumentProvider {
47
54
  private _positionalArgs;
48
55
  private _positionalArgNames;
49
56
  private _isParsed;
50
- constructor(_httpClient: IHttpClient, _logger: CliLogger, _authenticationProvider: IAuthenticationProvider);
57
+ constructor(_httpClient: IHttpClient, _logger: CliLogger, _authenticationProvider: IAuthenticationProvider, _accountManager?: IAccountManager | undefined);
51
58
  addSwitch(cliOption: CliOption): void;
52
59
  addSwitches(cliOptions: CliOption[]): void;
53
60
  /**
@@ -67,6 +74,7 @@ export declare class ArgumentProvider implements IArgumentProvider {
67
74
  getResolvedCommand(): ResolvedCommand | null;
68
75
  getOption<T>(key: string, ignorePrompt?: boolean): Promise<T>;
69
76
  getAuthenticationProvider(): IAuthenticationProvider;
77
+ getAccountManager(): IAccountManager;
70
78
  getHttpClient(): IHttpClient;
71
79
  /**
72
80
  * Returns the tenant ID for the authenticated user, acquiring a token first if needed.
@@ -1 +1 @@
1
- {"version":3,"file":"ArgumentProvider.d.ts","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArgumentProvider.d.ts","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
- import { getAuthResource, initializePlayerServices, updateRegion } from '@microsoft/managed-apps-actions';
4
+ import { getAuthResource, initializePlayerServices, updateRegion, } from '@microsoft/managed-apps-actions';
5
5
  import { Clouds, cloudToRegion, } from '@microsoft/managed-apps-common/services';
6
6
  import { Command } from 'commander';
7
7
  import packageJson from '../package.json' with { type: 'json' };
@@ -20,6 +20,7 @@ export class ArgumentProvider {
20
20
  _httpClient;
21
21
  _logger;
22
22
  _authenticationProvider;
23
+ _accountManager;
23
24
  _environmentId;
24
25
  _cloud;
25
26
  _region;
@@ -31,10 +32,11 @@ export class ArgumentProvider {
31
32
  _positionalArgs = [];
32
33
  _positionalArgNames = [];
33
34
  _isParsed = false;
34
- constructor(_httpClient, _logger, _authenticationProvider) {
35
+ constructor(_httpClient, _logger, _authenticationProvider, _accountManager) {
35
36
  this._httpClient = _httpClient;
36
37
  this._logger = _logger;
37
38
  this._authenticationProvider = _authenticationProvider;
39
+ this._accountManager = _accountManager;
38
40
  // Resolve command using multi-token matching against the command registry
39
41
  this._resolvedCommand = resolveCommand(process.argv, COMMAND_TREE);
40
42
  if (this._resolvedCommand) {
@@ -253,6 +255,13 @@ export class ArgumentProvider {
253
255
  getAuthenticationProvider() {
254
256
  return this._authenticationProvider;
255
257
  }
258
+ getAccountManager() {
259
+ if (!this._accountManager) {
260
+ throw new UsageError(`Account management commands (auth login/logout/status/switch) are only available in interactive mode. ` +
261
+ `They cannot be used with service principal or HTTP forward authentication.`);
262
+ }
263
+ return this._accountManager;
264
+ }
256
265
  getHttpClient() {
257
266
  return this._httpClient;
258
267
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArgumentProvider.js","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArgumentProvider.js","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export interface ActiveAccount {
5
+ homeAccountId: string;
6
+ username: string;
7
+ }
8
+ /**
9
+ * Persists which cached MSAL account the CLI should treat as "active" — the one
10
+ * silent token acquisition will target when 2+ accounts are cached.
11
+ *
12
+ * Storage is a tiny JSON file in the auth cache directory. The class takes the
13
+ * directory in its constructor so tests can point it at a temp directory; the
14
+ * default is `~/.ms-cli/cache/auth/`.
15
+ */
16
+ export declare class ActiveAccountStore {
17
+ private readonly _cacheDir;
18
+ private readonly _filePath;
19
+ constructor(_cacheDir?: string);
20
+ read(): ActiveAccount | undefined;
21
+ write(account: ActiveAccount): void;
22
+ clear(): void;
23
+ }
24
+ //# sourceMappingURL=ActiveAccountStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveAccountStore.d.ts","sourceRoot":"","sources":["../../src/Authentication/ActiveAccountStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAGV,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEC,SAAS,GAAE,MAA6B;IAIrE,IAAI,IAAI,aAAa,GAAG,SAAS;IAmBjC,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAQnC,KAAK,IAAI,IAAI;CAKrB"}
@@ -0,0 +1,54 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import * as fs from 'fs';
5
+ import * as path from 'path';
6
+ import { AUTH_CACHE_DIRECTORY } from '../Constants.js';
7
+ const ACTIVE_ACCOUNT_FILE_NAME = 'active-account.json';
8
+ /**
9
+ * Persists which cached MSAL account the CLI should treat as "active" — the one
10
+ * silent token acquisition will target when 2+ accounts are cached.
11
+ *
12
+ * Storage is a tiny JSON file in the auth cache directory. The class takes the
13
+ * directory in its constructor so tests can point it at a temp directory; the
14
+ * default is `~/.ms-cli/cache/auth/`.
15
+ */
16
+ export class ActiveAccountStore {
17
+ _cacheDir;
18
+ _filePath;
19
+ constructor(_cacheDir = AUTH_CACHE_DIRECTORY) {
20
+ this._cacheDir = _cacheDir;
21
+ this._filePath = path.join(this._cacheDir, ACTIVE_ACCOUNT_FILE_NAME);
22
+ }
23
+ read() {
24
+ if (!fs.existsSync(this._filePath))
25
+ return undefined;
26
+ try {
27
+ const raw = fs.readFileSync(this._filePath, 'utf-8');
28
+ const parsed = JSON.parse(raw);
29
+ if (typeof parsed.homeAccountId === 'string' &&
30
+ typeof parsed.username === 'string' &&
31
+ parsed.homeAccountId.length > 0) {
32
+ return { homeAccountId: parsed.homeAccountId, username: parsed.username };
33
+ }
34
+ return undefined;
35
+ }
36
+ catch {
37
+ // Corrupted file is treated as "no active account" — the next login or switch overwrites it.
38
+ return undefined;
39
+ }
40
+ }
41
+ write(account) {
42
+ fs.mkdirSync(this._cacheDir, { recursive: true });
43
+ // Atomic write: write to a tmp file then rename, so a parallel read never sees a torn file.
44
+ const tmp = `${this._filePath}.${process.pid}.tmp`;
45
+ fs.writeFileSync(tmp, JSON.stringify(account, null, 2), 'utf-8');
46
+ fs.renameSync(tmp, this._filePath);
47
+ }
48
+ clear() {
49
+ if (fs.existsSync(this._filePath)) {
50
+ fs.rmSync(this._filePath, { force: true });
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=ActiveAccountStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveAccountStore.js","sourceRoot":"","sources":["../../src/Authentication/ActiveAccountStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOpD,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAkB;IAGO;IAFnB,SAAS,CAAS;IAEnC,YAAoC,YAAoB,oBAAoB;QAAxC,cAAS,GAAT,SAAS,CAA+B;QAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACvE,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC;YACzD,IACE,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;gBACxC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBACnC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAC/B,CAAC;gBACD,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5E,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,6FAA6F;YAC7F,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAsB;QACjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,4FAA4F;QAC5F,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QACnD,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK;QACV,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { Region } from '@microsoft/managed-apps-common/services';
5
+ import type { IAuthenticationProvider } from '../Types/Cli.types.js';
6
+ /**
7
+ * Reads a pre-acquired bearer token from `MS_CLI_HTTP_FORWARD_AUTH_TOKEN` and
8
+ * the user's tenant ID from `MS_CLI_HTTP_FORWARD_TENANT_ID` instead of
9
+ * acquiring them interactively. Used when the CLI runs behind an HTTP forward
10
+ * service (`MS_CLI_USE_HTTP_FORWARD=true`) where the forward service owns
11
+ * identity.
12
+ *
13
+ * `getAccessTokenForResource` returns an empty string when the token env var
14
+ * is unset — `CliHttpClient` omits the `Authorization` header in that case,
15
+ * so the forward service can run without any token at all.
16
+ *
17
+ * `getUserTenantId` returns `MS_CLI_HTTP_FORWARD_TENANT_ID` if set; otherwise
18
+ * `undefined` (and most `ms app *` verbs will refuse to run).
19
+ */
20
+ export declare class EnvironmentVariableAuthenticationProvider implements IAuthenticationProvider {
21
+ initAsync(_region: Region): Promise<void>;
22
+ getAccessTokenForResource(_resource: string, _loginHint?: string): Promise<string>;
23
+ getUserTenantId(): string | undefined;
24
+ getCachedAccountAsync(): Promise<string | undefined>;
25
+ }
26
+ //# sourceMappingURL=EnvironmentVariableAuthenticationProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentVariableAuthenticationProvider.d.ts","sourceRoot":"","sources":["../../src/Authentication/EnvironmentVariableAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE;;;;;;;;;;;;;GAaG;AACH,qBAAa,yCAA0C,YAAW,uBAAuB;IACjF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxF,eAAe,IAAI,MAAM,GAAG,SAAS;IAI/B,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAG3D"}
@@ -0,0 +1,31 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { getCliEnvVar } from '../Utils/EnvVars.js';
5
+ /**
6
+ * Reads a pre-acquired bearer token from `MS_CLI_HTTP_FORWARD_AUTH_TOKEN` and
7
+ * the user's tenant ID from `MS_CLI_HTTP_FORWARD_TENANT_ID` instead of
8
+ * acquiring them interactively. Used when the CLI runs behind an HTTP forward
9
+ * service (`MS_CLI_USE_HTTP_FORWARD=true`) where the forward service owns
10
+ * identity.
11
+ *
12
+ * `getAccessTokenForResource` returns an empty string when the token env var
13
+ * is unset — `CliHttpClient` omits the `Authorization` header in that case,
14
+ * so the forward service can run without any token at all.
15
+ *
16
+ * `getUserTenantId` returns `MS_CLI_HTTP_FORWARD_TENANT_ID` if set; otherwise
17
+ * `undefined` (and most `ms app *` verbs will refuse to run).
18
+ */
19
+ export class EnvironmentVariableAuthenticationProvider {
20
+ async initAsync(_region) { }
21
+ async getAccessTokenForResource(_resource, _loginHint) {
22
+ return getCliEnvVar('HTTP_FORWARD_AUTH_TOKEN') ?? '';
23
+ }
24
+ getUserTenantId() {
25
+ return getCliEnvVar('HTTP_FORWARD_TENANT_ID');
26
+ }
27
+ async getCachedAccountAsync() {
28
+ return undefined;
29
+ }
30
+ }
31
+ //# sourceMappingURL=EnvironmentVariableAuthenticationProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentVariableAuthenticationProvider.js","sourceRoot":"","sources":["../../src/Authentication/EnvironmentVariableAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,yCAAyC;IACpD,KAAK,CAAC,SAAS,CAAC,OAAe,IAAkB,CAAC;IAElD,KAAK,CAAC,yBAAyB,CAAC,SAAiB,EAAE,UAAmB;QACpE,OAAO,YAAY,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,eAAe;QACb,OAAO,YAAY,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -2,17 +2,71 @@
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
4
  import type { Region } from '@microsoft/managed-apps-common/services';
5
- import type { IAuthenticationProvider } from '../Types/Cli.types.js';
6
- export declare class NodeMsalAuthenticationProvider implements IAuthenticationProvider {
5
+ import type { CachedAccount, IAccountManager, IAuthenticationProvider } from '../Types/Cli.types.js';
6
+ /**
7
+ * Interactive MSAL provider. Implements both the token surface (`IAuthenticationProvider`)
8
+ * and the account-management surface (`IAccountManager`). Built on `@azure/msal-node`'s
9
+ * `PublicClientApplication` with the `msal-node-extensions` DPAPI-encrypted persistent
10
+ * cache.
11
+ */
12
+ export declare class NodeMsalAuthenticationProvider implements IAuthenticationProvider, IAccountManager {
7
13
  private _msalClient;
8
14
  private _tenantId;
9
15
  private _region;
10
- constructor();
16
+ private readonly _activeStore;
17
+ private readonly _cacheDirectory;
18
+ /**
19
+ * `cacheDirectory` defaults to the production auth cache (`~/.ms-cli/cache/auth/`).
20
+ * Tests pass a tmpdir so they can verify cache-write/clear behavior without touching
21
+ * the user's real cache.
22
+ */
23
+ constructor(cacheDirectory?: string);
11
24
  initAsync(region: Region): Promise<void>;
12
25
  getAccessTokenForResource(resource: string, loginHint?: string): Promise<string>;
13
26
  getUserTenantId(): string | undefined;
14
27
  getCachedAccountAsync(): Promise<string | undefined>;
28
+ listCachedAccountsAsync(): Promise<CachedAccount[]>;
29
+ setActiveAccountAsync(accountKey: string): Promise<CachedAccount>;
30
+ loginInteractiveAsync(resource: string, loginHint?: string): Promise<CachedAccount>;
31
+ clearCacheAsync(): Promise<boolean>;
32
+ private _getAccounts;
33
+ /**
34
+ * Case-insensitive lookup against `homeAccountId` first, then `username`. The two-field
35
+ * search lets callers pass either form without a discriminator. Username has a known
36
+ * collision shape: the same UPN can appear in multiple tenants for guest accounts; when
37
+ * the caller might hit that, prefer `homeAccountId`.
38
+ */
39
+ private _findAccount;
40
+ /**
41
+ * Pure. Resolves which cached account should be treated as active:
42
+ * 0 accounts → undefined
43
+ * 1 account → that one (regardless of pointer state)
44
+ * 2+ + valid active pointer → the matching account
45
+ * 2+ + missing or stale active pointer → undefined (caller decides how to handle)
46
+ */
47
+ private _pickActiveAccount;
48
+ /**
49
+ * Idempotent: writes the active-account pointer only when the persisted value doesn't
50
+ * already match. Called from token-acquisition success paths so that a fresh 3.x → 5.x
51
+ * upgrade (single account in cache, no pointer file yet) migrates implicitly on first
52
+ * use, without needing an explicit migration step.
53
+ */
54
+ private _ensureActivePointer;
15
55
  private _acquireTokenInternal;
56
+ /**
57
+ * Single code path for every interactive sign-in: `auth login`, the 0-accounts fresh-login
58
+ * branch, and the `InteractionRequiredAuthError` fallback all route through here. Keeps
59
+ * the "open browser → record tenant → persist active pointer" sequence in one place so
60
+ * future changes (telemetry, retry logic, etc.) don't have to be replicated three times.
61
+ * Uses the idempotent `_ensureActivePointer` so an unchanged-active scenario doesn't
62
+ * rewrite the pointer file unnecessarily.
63
+ *
64
+ * `options.prompt` forwards to MSAL's `prompt` parameter. Callers opt in to it only when
65
+ * they need to override the IdP's default behavior — `auth login` passes `'select_account'`
66
+ * so users can add a second account; the silent-fallback paths leave it unset so token
67
+ * expiry doesn't pop a picker the user didn't ask for.
68
+ */
69
+ private _signInInteractiveAndPersist;
16
70
  private _getInteractiveLoginRequest;
17
71
  }
18
72
  //# sourceMappingURL=NodeMsalAuthenticationProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeMsalAuthenticationProvider.d.ts","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAKtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,qBAAa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAAqB;;IAIvB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BxC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtF,eAAe,IAAI,MAAM,GAAG,SAAS;IAI/B,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAMnD,qBAAqB;IAwCnC,OAAO,CAAC,2BAA2B;CAgBpC"}
1
+ {"version":3,"file":"NodeMsalAuthenticationProvider.d.ts","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAQtE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAIlG;;;;;GAKG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB,EAAE,eAAe;IAC7F,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC;;;;OAIG;gBACgB,cAAc,GAAE,MAA6B;IAKnD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BxC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtF,eAAe,IAAI,MAAM,GAAG,SAAS;IAI/B,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOpD,uBAAuB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAWnD,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYjE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBnF,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;YAUlC,YAAY;IAkB1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;YASd,qBAAqB;IAyCnC;;;;;;;;;;;;OAYG;YACW,4BAA4B;IAkB1C,OAAO,CAAC,2BAA2B;CAgBpC"}