@microsoft/managed-apps-cli 0.6.1 → 0.8.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.
- package/README.md +56 -10
- package/dist/ArgumentProvider.d.ts +21 -2
- package/dist/ArgumentProvider.d.ts.map +1 -1
- package/dist/ArgumentProvider.js +47 -3
- package/dist/ArgumentProvider.js.map +1 -1
- package/dist/Authentication/ActiveAccountStore.d.ts +24 -0
- package/dist/Authentication/ActiveAccountStore.d.ts.map +1 -0
- package/dist/Authentication/ActiveAccountStore.js +54 -0
- package/dist/Authentication/ActiveAccountStore.js.map +1 -0
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +57 -3
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.js +187 -27
- package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +8 -2
- package/dist/Cli.js.map +1 -1
- package/dist/CliSettings.d.ts.map +1 -1
- package/dist/CliSettings.js +1 -2
- package/dist/CliSettings.js.map +1 -1
- package/dist/CliUtils.d.ts +2 -1
- package/dist/CliUtils.d.ts.map +1 -1
- package/dist/CliUtils.js +4 -0
- package/dist/CliUtils.js.map +1 -1
- package/dist/Constants/CommandRegistry.d.ts.map +1 -1
- package/dist/Constants/CommandRegistry.js +44 -6
- package/dist/Constants/CommandRegistry.js.map +1 -1
- package/dist/Constants/HelpStrings.d.ts +75 -3
- package/dist/Constants/HelpStrings.d.ts.map +1 -1
- package/dist/Constants/HelpStrings.js +143 -41
- package/dist/Constants/HelpStrings.js.map +1 -1
- package/dist/Errors/GitHubErrorMap.d.ts +3 -3
- package/dist/Errors/GitHubErrorMap.d.ts.map +1 -1
- package/dist/Errors/GitHubErrorMap.js +12 -7
- package/dist/Errors/GitHubErrorMap.js.map +1 -1
- package/dist/FS/CliFs.d.ts.map +1 -1
- package/dist/FS/CliFs.js.map +1 -1
- package/dist/HttpClient/CliHttpClient.d.ts +17 -0
- package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
- package/dist/HttpClient/CliHttpClient.js +112 -1
- package/dist/HttpClient/CliHttpClient.js.map +1 -1
- package/dist/Logger/CliLogger.d.ts.map +1 -1
- package/dist/Logger/CliLogger.js +1 -1
- package/dist/Logger/CliLogger.js.map +1 -1
- package/dist/Logger/ConsoleWriter.d.ts.map +1 -1
- package/dist/Logger/ConsoleWriter.js +7 -7
- package/dist/Logger/ConsoleWriter.js.map +1 -1
- package/dist/Middletier/FunctionsBundler.d.ts +17 -0
- package/dist/Middletier/FunctionsBundler.d.ts.map +1 -0
- package/dist/Middletier/FunctionsBundler.js +165 -0
- package/dist/Middletier/FunctionsBundler.js.map +1 -0
- package/dist/Middletier/PackFunctions.d.ts +52 -0
- package/dist/Middletier/PackFunctions.d.ts.map +1 -0
- package/dist/Middletier/PackFunctions.js +122 -0
- package/dist/Middletier/PackFunctions.js.map +1 -0
- package/dist/Types/Cli.types.d.ts +42 -1
- package/dist/Types/Cli.types.d.ts.map +1 -1
- package/dist/Types/Command.types.d.ts +14 -3
- package/dist/Types/Command.types.d.ts.map +1 -1
- package/dist/Types/Command.types.js +4 -0
- package/dist/Types/Command.types.js.map +1 -1
- package/dist/Utils/BuildPolling.d.ts +18 -0
- package/dist/Utils/BuildPolling.d.ts.map +1 -0
- package/dist/Utils/BuildPolling.js +63 -0
- package/dist/Utils/BuildPolling.js.map +1 -0
- package/dist/Utils/BuildVerbDescriptionTable.d.ts +11 -1
- package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -1
- package/dist/Utils/BuildVerbDescriptionTable.js +73 -17
- package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -1
- package/dist/Utils/ConsoleOutput.d.ts.map +1 -1
- package/dist/Utils/ConsoleOutput.js +15 -12
- package/dist/Utils/ConsoleOutput.js.map +1 -1
- package/dist/Utils/DcfRecovery.d.ts +84 -0
- package/dist/Utils/DcfRecovery.d.ts.map +1 -0
- package/dist/Utils/DcfRecovery.js +258 -0
- package/dist/Utils/DcfRecovery.js.map +1 -0
- package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -1
- package/dist/Utils/EnhanceNetworkError.js +2 -0
- package/dist/Utils/EnhanceNetworkError.js.map +1 -1
- package/dist/Utils/EnvVars.d.ts +1 -1
- package/dist/Utils/EnvVars.d.ts.map +1 -1
- package/dist/Utils/EnvVars.js.map +1 -1
- package/dist/Utils/EnvironmentRoutingUtils.d.ts +8 -0
- package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +1 -0
- package/dist/Utils/EnvironmentRoutingUtils.js +45 -0
- package/dist/Utils/EnvironmentRoutingUtils.js.map +1 -0
- package/dist/Utils/GitHubDcfFlow.d.ts +4 -5
- package/dist/Utils/GitHubDcfFlow.d.ts.map +1 -1
- package/dist/Utils/GitHubDcfFlow.js +4 -5
- package/dist/Utils/GitHubDcfFlow.js.map +1 -1
- package/dist/Utils/GitUtils.d.ts +5 -0
- package/dist/Utils/GitUtils.d.ts.map +1 -1
- package/dist/Utils/GitUtils.js +15 -0
- package/dist/Utils/GitUtils.js.map +1 -1
- package/dist/Utils/Paging.d.ts.map +1 -1
- package/dist/Utils/Paging.js +4 -4
- package/dist/Utils/Paging.js.map +1 -1
- package/dist/Utils/ResolveCommand.d.ts +7 -1
- package/dist/Utils/ResolveCommand.d.ts.map +1 -1
- package/dist/Utils/ResolveCommand.js +38 -20
- package/dist/Utils/ResolveCommand.js.map +1 -1
- package/dist/Utils/Spinner.d.ts +9 -1
- package/dist/Utils/Spinner.d.ts.map +1 -1
- package/dist/Utils/Spinner.js +25 -5
- package/dist/Utils/Spinner.js.map +1 -1
- package/dist/Verbs/AddAction.d.ts.map +1 -1
- package/dist/Verbs/AddAction.js +12 -41
- package/dist/Verbs/AddAction.js.map +1 -1
- package/dist/Verbs/AddConnector.d.ts +24 -0
- package/dist/Verbs/AddConnector.d.ts.map +1 -0
- package/dist/Verbs/AddConnector.js +156 -0
- package/dist/Verbs/AddConnector.js.map +1 -0
- package/dist/Verbs/AddConnectorFlows.d.ts +72 -0
- package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -0
- package/dist/Verbs/AddConnectorFlows.js +198 -0
- package/dist/Verbs/AddConnectorFlows.js.map +1 -0
- package/dist/Verbs/AddDataSource.js +1 -1
- package/dist/Verbs/AddDataSource.js.map +1 -1
- package/dist/Verbs/AddTable.d.ts.map +1 -1
- package/dist/Verbs/AddTable.js +15 -100
- package/dist/Verbs/AddTable.js.map +1 -1
- package/dist/Verbs/AuthStatus.d.ts.map +1 -1
- package/dist/Verbs/AuthStatus.js +34 -6
- package/dist/Verbs/AuthStatus.js.map +1 -1
- package/dist/Verbs/AuthSwitch.d.ts +6 -0
- package/dist/Verbs/AuthSwitch.d.ts.map +1 -0
- package/dist/Verbs/AuthSwitch.js +67 -0
- package/dist/Verbs/AuthSwitch.js.map +1 -0
- package/dist/Verbs/BuildMaafApp.d.ts.map +1 -1
- package/dist/Verbs/BuildMaafApp.js +98 -22
- package/dist/Verbs/BuildMaafApp.js.map +1 -1
- package/dist/Verbs/ConnectorHelpers.d.ts +54 -1
- package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -1
- package/dist/Verbs/ConnectorHelpers.js +217 -16
- package/dist/Verbs/ConnectorHelpers.js.map +1 -1
- package/dist/Verbs/CreateMaafApp.d.ts +75 -0
- package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
- package/dist/Verbs/CreateMaafApp.js +273 -75
- package/dist/Verbs/CreateMaafApp.js.map +1 -1
- package/dist/Verbs/DeployMaafApp.d.ts.map +1 -1
- package/dist/Verbs/DeployMaafApp.js +52 -20
- package/dist/Verbs/DeployMaafApp.js.map +1 -1
- package/dist/Verbs/Dev.js +5 -5
- package/dist/Verbs/Dev.js.map +1 -1
- package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -1
- package/dist/Verbs/GetMaafBuildStatus.js +66 -17
- package/dist/Verbs/GetMaafBuildStatus.js.map +1 -1
- package/dist/Verbs/Init.d.ts.map +1 -1
- package/dist/Verbs/Init.js +170 -60
- package/dist/Verbs/Init.js.map +1 -1
- package/dist/Verbs/ListConnectors.d.ts.map +1 -1
- package/dist/Verbs/ListConnectors.js +4 -2
- package/dist/Verbs/ListConnectors.js.map +1 -1
- package/dist/Verbs/ListDatasets.d.ts.map +1 -1
- package/dist/Verbs/ListDatasets.js +5 -0
- package/dist/Verbs/ListDatasets.js.map +1 -1
- package/dist/Verbs/ListFlows.d.ts.map +1 -1
- package/dist/Verbs/ListFlows.js +1 -2
- package/dist/Verbs/ListFlows.js.map +1 -1
- package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +1 -1
- package/dist/Verbs/ListSqlStoredProcedures.js +5 -0
- package/dist/Verbs/ListSqlStoredProcedures.js.map +1 -1
- package/dist/Verbs/ListTables.d.ts.map +1 -1
- package/dist/Verbs/ListTables.js +5 -0
- package/dist/Verbs/ListTables.js.map +1 -1
- package/dist/Verbs/Login.d.ts.map +1 -1
- package/dist/Verbs/Login.js +16 -13
- package/dist/Verbs/Login.js.map +1 -1
- package/dist/Verbs/Logout.d.ts.map +1 -1
- package/dist/Verbs/Logout.js +19 -13
- package/dist/Verbs/Logout.js.map +1 -1
- package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
- package/dist/Verbs/MaafAppPermissions.js +4 -0
- package/dist/Verbs/MaafAppPermissions.js.map +1 -1
- package/dist/Verbs/Pack.d.ts +6 -6
- package/dist/Verbs/Pack.d.ts.map +1 -1
- package/dist/Verbs/Pack.js +80 -12
- package/dist/Verbs/Pack.js.map +1 -1
- package/dist/Verbs/PlayMaafApp.d.ts +22 -0
- package/dist/Verbs/PlayMaafApp.d.ts.map +1 -0
- package/dist/Verbs/PlayMaafApp.js +147 -0
- package/dist/Verbs/PlayMaafApp.js.map +1 -0
- package/dist/Verbs/RefreshDataSource.d.ts.map +1 -1
- package/dist/Verbs/RefreshDataSource.js.map +1 -1
- package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -1
- package/dist/Verbs/RefreshGitAuth.js +1 -1
- package/dist/Verbs/RefreshGitAuth.js.map +1 -1
- package/dist/Verbs/ShareLinkCreate.d.ts +23 -0
- package/dist/Verbs/ShareLinkCreate.d.ts.map +1 -0
- package/dist/Verbs/ShareLinkCreate.js +73 -0
- package/dist/Verbs/ShareLinkCreate.js.map +1 -0
- package/dist/Verbs/ShareLinkList.d.ts +16 -0
- package/dist/Verbs/ShareLinkList.d.ts.map +1 -0
- package/dist/Verbs/ShareLinkList.js +84 -0
- package/dist/Verbs/ShareLinkList.js.map +1 -0
- package/dist/Verbs/ShareLinkRevoke.d.ts +22 -0
- package/dist/Verbs/ShareLinkRevoke.d.ts.map +1 -0
- package/dist/Verbs/ShareLinkRevoke.js +137 -0
- package/dist/Verbs/ShareLinkRevoke.js.map +1 -0
- package/dist/Verbs/VerbConstants.d.ts +151 -21
- package/dist/Verbs/VerbConstants.d.ts.map +1 -1
- package/dist/Verbs/VerbConstants.js +127 -21
- package/dist/Verbs/VerbConstants.js.map +1 -1
- package/dist/Verbs/index.d.ts +6 -0
- package/dist/Verbs/index.d.ts.map +1 -1
- package/dist/Verbs/index.js +6 -0
- package/dist/Verbs/index.js.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -38,6 +38,10 @@ Initialize a `ms.config.json` for an existing app.
|
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
npx ms app init --display-name "My App" --environment-id <id>
|
|
41
|
+
# If the project's git remote is a GHE repo (*.ghe.com), --use-existing-git-repo
|
|
42
|
+
# binds the app to it. Inline DCF re-auth fires automatically if the Entra↔GitHub
|
|
43
|
+
# mapping is missing or expired; pass --open-browser to launch the system browser.
|
|
44
|
+
npx ms app init --display-name "My App" --use-existing-git-repo --open-browser
|
|
41
45
|
```
|
|
42
46
|
|
|
43
47
|
### `app list`
|
|
@@ -72,7 +76,7 @@ Initiate a cloud build for a Managed App and poll its status.
|
|
|
72
76
|
|
|
73
77
|
```bash
|
|
74
78
|
npx ms app build --app my-app --commit abc1234
|
|
75
|
-
npx ms app build-status --app my-app --
|
|
79
|
+
npx ms app build-status --app my-app --commit abc1234
|
|
76
80
|
```
|
|
77
81
|
|
|
78
82
|
### `app deploy`
|
|
@@ -188,6 +192,32 @@ In `--json` mode the output is an envelope so automation can detect partial succ
|
|
|
188
192
|
|
|
189
193
|
`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).
|
|
190
194
|
|
|
195
|
+
### `app share link create` / `app share link list` / `app share link revoke`
|
|
196
|
+
|
|
197
|
+
Manage tenant-wide share links for a MAAF app. A share link is a JIT-redemption URL: the first time a recipient opens it, they are granted the `Microsoft App Reader` role at the app scope. Links can be listed and revoked at any time.
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Create a share link for the current app (URL is printed on a dedicated line for easy copy)
|
|
201
|
+
npx ms app share link create
|
|
202
|
+
|
|
203
|
+
# List every link issued for the app
|
|
204
|
+
npx ms app share link list
|
|
205
|
+
|
|
206
|
+
# Revoke a link by id (4-char hex returned at creation)
|
|
207
|
+
npx ms app share link revoke --link-id a3f1
|
|
208
|
+
|
|
209
|
+
# Skip the confirmation prompt
|
|
210
|
+
npx ms app share link revoke --link-id a3f1 --force
|
|
211
|
+
|
|
212
|
+
# JSON output
|
|
213
|
+
npx ms app share link create --json
|
|
214
|
+
npx ms app share link list --json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
`share link revoke` is idempotent in spirit: revoking a link that does not exist exits cleanly with a warning (`--json` returns `existed: false`), mirroring `ms app delete`.
|
|
218
|
+
|
|
219
|
+
Only the `Microsoft App Reader` role is supported today, so no `--role` flag is exposed yet — the role enum is open server-side for future expansion.
|
|
220
|
+
|
|
191
221
|
### `app refresh`
|
|
192
222
|
|
|
193
223
|
Refresh data sources in the current app.
|
|
@@ -197,13 +227,16 @@ npx ms app refresh
|
|
|
197
227
|
npx ms app refresh --data-source-name contact
|
|
198
228
|
```
|
|
199
229
|
|
|
200
|
-
### `app add action` / `app add table` / `app add procedure` / `app remove table` / `app remove procedure`
|
|
230
|
+
### `app add connector` / `app add action` / `app add table` / `app add procedure` / `app remove table` / `app remove procedure`
|
|
201
231
|
|
|
202
|
-
Bind or unbind data sources (connector actions, Dataverse tables, SQL stored procedures, etc.) to the app. `app add
|
|
232
|
+
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.
|
|
233
|
+
|
|
234
|
+
> **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.
|
|
203
235
|
|
|
204
236
|
```bash
|
|
205
|
-
npx ms app add
|
|
206
|
-
npx ms app add
|
|
237
|
+
npx ms app add connector --api-id shared_office365
|
|
238
|
+
npx ms app add connector --api-id shared_sql --as table --connection-id <id> --dataset <db> --table <tbl>
|
|
239
|
+
npx ms app add connector --api-id shared_sharepointonline --as action
|
|
207
240
|
npx ms app add table --api-id shared_sql --connection-id <id> --dataset <db> --table <tbl>
|
|
208
241
|
npx ms app add procedure --api-id shared_sql --connection-id <id> --dataset <db>
|
|
209
242
|
npx ms app remove table --api-id dataverse --data-source-name contact --force
|
|
@@ -228,29 +261,42 @@ npx ms connector list-actions --search "account"
|
|
|
228
261
|
|
|
229
262
|
### `auth login`
|
|
230
263
|
|
|
231
|
-
Sign in interactively using MSAL (opens the system browser). Optionally pass `--
|
|
264
|
+
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.
|
|
232
265
|
|
|
233
266
|
```bash
|
|
234
267
|
npx ms auth login
|
|
235
|
-
npx ms auth login --
|
|
268
|
+
npx ms auth login --account alice@contoso.com
|
|
269
|
+
npx ms auth login --json
|
|
236
270
|
```
|
|
237
271
|
|
|
238
|
-
On success prints `Signed in as <email
|
|
272
|
+
On success prints `Signed in as <email>` (or emits `{ success: true, account: { username, homeAccountId } }` under `--json`).
|
|
239
273
|
|
|
240
274
|
### `auth status`
|
|
241
275
|
|
|
242
|
-
|
|
276
|
+
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).
|
|
243
277
|
|
|
244
278
|
```bash
|
|
245
279
|
npx ms auth status
|
|
280
|
+
npx ms auth status --json
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### `auth switch`
|
|
284
|
+
|
|
285
|
+
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).
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
npx ms auth switch
|
|
289
|
+
npx ms auth switch --account alice@contoso.com
|
|
290
|
+
npx ms auth switch --account alice@contoso.com --json
|
|
246
291
|
```
|
|
247
292
|
|
|
248
293
|
### `auth logout`
|
|
249
294
|
|
|
250
|
-
|
|
295
|
+
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 }`.
|
|
251
296
|
|
|
252
297
|
```bash
|
|
253
298
|
npx ms auth logout
|
|
299
|
+
npx ms auth logout --json
|
|
254
300
|
```
|
|
255
301
|
|
|
256
302
|
### `git auth refresh`
|
|
@@ -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
|
/**
|
|
@@ -63,10 +70,22 @@ export declare class ArgumentProvider implements IArgumentProvider {
|
|
|
63
70
|
addOptions(cliOptions: CliOption[]): void;
|
|
64
71
|
runVerb(): Promise<void>;
|
|
65
72
|
handleGlobalHelpOrFlagsAndExit(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Detects `--help` requests on nested typed-verb paths the resolver can't
|
|
75
|
+
* leaf-match (e.g. `ms app share link --help` — `link` is a nested typed
|
|
76
|
+
* verb with no handler of its own) and prints the typed verb's flattened
|
|
77
|
+
* subcommand list. Returns true if it handled the request.
|
|
78
|
+
*
|
|
79
|
+
* Skips when the user is asking for help on a path the resolver already
|
|
80
|
+
* fully matched (those paths route through Commander's normal `--help`
|
|
81
|
+
* handling at the leaf level).
|
|
82
|
+
*/
|
|
83
|
+
private _tryPrintDeepTypedHelp;
|
|
66
84
|
getVerb(): string;
|
|
67
85
|
getResolvedCommand(): ResolvedCommand | null;
|
|
68
86
|
getOption<T>(key: string, ignorePrompt?: boolean): Promise<T>;
|
|
69
87
|
getAuthenticationProvider(): IAuthenticationProvider;
|
|
88
|
+
getAccountManager(): IAccountManager;
|
|
70
89
|
getHttpClient(): IHttpClient;
|
|
71
90
|
/**
|
|
72
91
|
* 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":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ArgumentProvider.d.ts","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/ArgumentProvider.js
CHANGED
|
@@ -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' };
|
|
@@ -11,7 +11,7 @@ import { CLI_BINARY_NAME } from './Constants/CliConstants.js';
|
|
|
11
11
|
import { COMMAND_TREE } from './Constants/CommandRegistry.js';
|
|
12
12
|
import { HelpStrings } from './Constants/HelpStrings.js';
|
|
13
13
|
import { UsageError } from './Errors/CliError.js';
|
|
14
|
-
import { buildNounHelpText, buildTypedSubcommandHelpText, buildVerbDescriptionTable, } from './Utils/BuildVerbDescriptionTable.js';
|
|
14
|
+
import { buildNounHelpText, buildPathTypedHelpText, buildTypedSubcommandHelpText, buildVerbDescriptionTable, } from './Utils/BuildVerbDescriptionTable.js';
|
|
15
15
|
import { printInfo } from './Utils/ConsoleOutput.js';
|
|
16
16
|
import { cliEnvVarFullName, getCliEnvVar } from './Utils/EnvVars.js';
|
|
17
17
|
import { hasTypedSubcommands, isKnownNoun, resolveCommand } from './Utils/ResolveCommand.js';
|
|
@@ -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) {
|
|
@@ -180,6 +182,13 @@ export class ArgumentProvider {
|
|
|
180
182
|
this._isParsed = true;
|
|
181
183
|
return;
|
|
182
184
|
}
|
|
185
|
+
// Deep typed-verb help: when the user has drilled past the resolver's leaf
|
|
186
|
+
// match (e.g. `ms app share link --help` resolves to the `share` hybrid
|
|
187
|
+
// parent + extra positional args), surface the deeper typed verb's
|
|
188
|
+
// subcommand list rather than letting Commander print the parent's help.
|
|
189
|
+
if (this._tryPrintDeepTypedHelp()) {
|
|
190
|
+
process.exit(0);
|
|
191
|
+
}
|
|
183
192
|
// If no command resolved, check for partial matches that should show contextual help
|
|
184
193
|
if (!this._resolvedCommand) {
|
|
185
194
|
const secondToken = process.argv[3];
|
|
@@ -209,6 +218,34 @@ export class ArgumentProvider {
|
|
|
209
218
|
throw new UsageError(`Unknown command '${firstToken}'. Run "${CLI_BINARY_NAME} --help" for available commands.`);
|
|
210
219
|
}
|
|
211
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Detects `--help` requests on nested typed-verb paths the resolver can't
|
|
223
|
+
* leaf-match (e.g. `ms app share link --help` — `link` is a nested typed
|
|
224
|
+
* verb with no handler of its own) and prints the typed verb's flattened
|
|
225
|
+
* subcommand list. Returns true if it handled the request.
|
|
226
|
+
*
|
|
227
|
+
* Skips when the user is asking for help on a path the resolver already
|
|
228
|
+
* fully matched (those paths route through Commander's normal `--help`
|
|
229
|
+
* handling at the leaf level).
|
|
230
|
+
*/
|
|
231
|
+
_tryPrintDeepTypedHelp() {
|
|
232
|
+
const argv = process.argv.slice(2);
|
|
233
|
+
const helpIdx = argv.findIndex((t) => t === '--help' || t === '-h');
|
|
234
|
+
if (helpIdx === -1)
|
|
235
|
+
return false;
|
|
236
|
+
const pathTokens = argv.slice(0, helpIdx).filter((t) => !t.startsWith('-'));
|
|
237
|
+
// Bail when the resolver consumed every non-flag path token already —
|
|
238
|
+
// those are leaf matches (or noun-only / typed-parent help, both of
|
|
239
|
+
// which are handled by the existing branches below).
|
|
240
|
+
if (this._resolvedCommand && pathTokens.length <= this._resolvedCommand.tokensConsumed) {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
const helpText = buildPathTypedHelpText(pathTokens);
|
|
244
|
+
if (!helpText)
|
|
245
|
+
return false;
|
|
246
|
+
printInfo(helpText);
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
212
249
|
getVerb() {
|
|
213
250
|
if (!this._resolvedCommand) {
|
|
214
251
|
throw new UsageError(`No command specified. Run "${CLI_BINARY_NAME} --help" for available commands.`);
|
|
@@ -253,6 +290,13 @@ export class ArgumentProvider {
|
|
|
253
290
|
getAuthenticationProvider() {
|
|
254
291
|
return this._authenticationProvider;
|
|
255
292
|
}
|
|
293
|
+
getAccountManager() {
|
|
294
|
+
if (!this._accountManager) {
|
|
295
|
+
throw new UsageError(`Account management commands (auth login/logout/status/switch) are only available in interactive mode. ` +
|
|
296
|
+
`They cannot be used with service principal or HTTP forward authentication.`);
|
|
297
|
+
}
|
|
298
|
+
return this._accountManager;
|
|
299
|
+
}
|
|
256
300
|
getHttpClient() {
|
|
257
301
|
return this._httpClient;
|
|
258
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentProvider.js","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC1G,OAAO,EAEL,MAAM,EACN,aAAa,GAGd,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA4BxD,MAAM,OAAO,gBAAgB;IAcjB;IACA;IACA;IAfF,cAAc,CAAqB;IACnC,MAAM,CAAoB;IAC1B,OAAO,CAAqB;IAC5B,KAAK,CAAqB;IAC1B,gBAAgB,CAAyB;IACzC,eAAe,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAU;IAClB,QAAQ,GAA8B,EAAE,CAAC;IACzC,eAAe,GAA8B,EAAE,CAAC;IAChD,mBAAmB,GAAa,EAAE,CAAC;IACnC,SAAS,GAAG,KAAK,CAAC;IAE1B,YACU,WAAwB,EACxB,OAAkB,EAClB,uBAAgD;QAFhD,gBAAW,GAAX,WAAW,CAAa;QACxB,YAAO,GAAP,OAAO,CAAW;QAClB,4BAAuB,GAAvB,uBAAuB,CAAyB;QAExD,0EAA0E;QAC1E,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEnE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,gFAAgF;YAChF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QAE9B,sDAAsD;QACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,mBAAmB,EACnB,8GAA8G,CAC/G,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QAE7D,uEAAuE;QACvE,6CAA6C;QAC7C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEjE,gEAAgE;QAChE,2EAA2E;QAC3E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC9C,gEAAgE;YAChE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO,IAAI,GAAG,yBAAyB,EAAE,GAAG,IAAI,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,8EAA8E;QAC9E,kFAAkF;QAClF,wEAAwE;QACxE,2EAA2E;QAC3E,wDAAwD;QACxD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QACxD,MAAM,kBAAkB,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,kBAAkB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC;YACzC,SAAS,CACP,WAAW,iBAAiB,CAAC,2BAA2B,CAAC,mBAAmB,IAAI,CAAC,cAAc,sBAAsB,CACtH,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAE,MAA4B,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,UAAU,CAClB,wBAAwB,WAAW,0CAA0C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,UAAmB,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,6CAA6C;YAC7C,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE;oBACL,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI;iBAChC;gBACD,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM;gBACjC,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK;aACtC,CAAC,CAAC;QACL,CAAC;QAED,wBAAwB,CAAC;YACvB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC;YAC/C,eAAe,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CAAC,SAAoB;QACnC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW,CAAC,UAAuB;QACxC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,IAAY;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,iFAAiF;QACjF,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzE,CAAC;IAEM,gBAAgB,CAAC,KAAa;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEM,SAAS,CAAC,SAAoB;QACnC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAEM,UAAU,CAAC,UAAuB;QACvC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,4EAA4E;QAC5E,mFAAmF;QACnF,uEAAuE;QACvE,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;aAChD,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,UAAU,CAClB,6CAA6C,iBAAiB,CAAC,gBAAgB,CAAC,wBAAwB,CACzG,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE;YAC5C,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,iFAAiF;IAC1E,8BAA8B;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,2CAA2C;QACnE,CAAC;QAED,kFAAkF;QAClF,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO;QACT,CAAC;QAED,qFAAqF;QACrF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEnC,iEAAiE;YACjE,IACE,WAAW;gBACX,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC5B,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC;gBACrC,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,EAC1D,CAAC;gBACD,mDAAmD;gBACnD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,UAAU,CAClB,iBAAiB,UAAU,UAAU,eAAe,IAAI,UAAU,IAAI,WAAW,WAAW,eAAe,IAAI,UAAU,IAAI,WAAW,+BAA+B,CACxK,CAAC;gBACJ,CAAC;gBACD,SAAS,CAAC,4BAA4B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,oCAAoC;YACpC,IAAI,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC1C,uDAAuD;gBACvD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,UAAU,CAClB,oBAAoB,WAAW,YAAY,eAAe,IAAI,UAAU,WAAW,eAAe,IAAI,UAAU,kCAAkC,CACnJ,CAAC;gBACJ,CAAC;gBACD,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,4EAA4E;YAC5E,MAAM,IAAI,UAAU,CAClB,oBAAoB,UAAU,WAAW,eAAe,kCAAkC,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAClB,8BAA8B,eAAe,kCAAkC,CAChF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAM,CAAC;IACrB,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,SAAS,CAAI,GAAW,EAAE,YAAsB;QAC3D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAElC,2DAA2D;QAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAChD,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,2DAA2D;QAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;oBACpC,6EAA6E;gBAC/E,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;oBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;oBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACvE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7E,MAAM,IAAI,UAAU,CAClB,2BAA2B,QAAQ,GAAG,OAAO,gGAAgG,CAC9I,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,OAAO,KAAU,CAAC;IACpB,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,gBAAgB;QAC3B,iGAAiG;QACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC;QAChE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,OAAyB,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC;IAEM,kBAAkB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,eAAe,EAAE,CAAC,MAAwB,CAAC,CAAC;IACrD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,iBAAiB,CAAC,QAAgB;QACvC,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,WAAmB;QACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAEM,UAAU;QACf,qEAAqE;QACrE,yEAAyE;QACzE,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;QAC5C,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEM,WAAW,CAAC,QAAkB;QACnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAChC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB;QACvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,IAAI;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,uFAAuF;YACvF,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtD,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAS,OAAO,CAAC,CAAC;YACvD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAE,MAA4B,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxD,MAAM,IAAI,UAAU,CAClB,0BAA0B,QAAQ,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/E,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,UAAmB,CAAC;gBAClC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,SAAoB,EAAE,WAAoB,IAAI;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CACvC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EACxF,SAAS,CAAC,WAAW,CACtB,CAAC;QAEF,2FAA2F;QAC3F,6DAA6D;QAE7D,gEAAgE;QAChE,gFAAgF;QAChF,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEhC,iEAAiE;QACjE,8EAA8E;QAC9E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC;IACpD,CAAC;IAEO,YAAY,CAAC,KAAY;QAC/B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;IACtE,CAAC;IAEO,kBAAkB,CAAC,KAAY;QACrC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACpD,CAAC;CACF"}
|
|
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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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;
|
|
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"}
|