@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
@@ -1,21 +1,42 @@
1
1
  /*!
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
+ import * as fs from 'node:fs';
4
5
  import { InteractionRequiredAuthError, PublicClientApplication } from '@azure/msal-node';
5
6
  import open from 'open';
7
+ import { getSettings } from '../CliSettings.js';
6
8
  import { getAuthority } from '../CliUtils.js';
7
9
  import { AUTH_CACHE_DIRECTORY, CLI_CLIENT_ID } from '../Constants.js';
8
- import { printError, printInfo } from '../Utils/ConsoleOutput.js';
10
+ import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
11
+ import { UsageError } from '../Errors/CliError.js';
12
+ import { printError, printWarning } from '../Utils/ConsoleOutput.js';
13
+ import { ActiveAccountStore } from './ActiveAccountStore.js';
14
+ /**
15
+ * Interactive MSAL provider. Implements both the token surface (`IAuthenticationProvider`)
16
+ * and the account-management surface (`IAccountManager`). Built on `@azure/msal-node`'s
17
+ * `PublicClientApplication` with the `msal-node-extensions` DPAPI-encrypted persistent
18
+ * cache.
19
+ */
9
20
  export class NodeMsalAuthenticationProvider {
10
21
  _msalClient;
11
22
  _tenantId;
12
23
  _region;
13
- constructor() { }
24
+ _activeStore;
25
+ _cacheDirectory;
26
+ /**
27
+ * `cacheDirectory` defaults to the production auth cache (`~/.ms-cli/cache/auth/`).
28
+ * Tests pass a tmpdir so they can verify cache-write/clear behavior without touching
29
+ * the user's real cache.
30
+ */
31
+ constructor(cacheDirectory = AUTH_CACHE_DIRECTORY) {
32
+ this._cacheDirectory = cacheDirectory;
33
+ this._activeStore = new ActiveAccountStore(cacheDirectory);
34
+ }
14
35
  async initAsync(region) {
15
36
  this._region = region;
16
37
  const { DataProtectionScope, PersistenceCachePlugin, PersistenceCreator } = await import('@azure/msal-node-extensions');
17
38
  const persistenceConfiguration = {
18
- cachePath: AUTH_CACHE_DIRECTORY + '/msal_cache.json',
39
+ cachePath: this._cacheDirectory + '/msal_cache.json',
19
40
  dataProtectionScope: DataProtectionScope.CurrentUser,
20
41
  // TODO: Leaving as power-apps since we are soon to remove node-msal-extensions in favor of our own persistence layer.
21
42
  serviceName: 'power-apps',
@@ -34,6 +55,7 @@ export class NodeMsalAuthenticationProvider {
34
55
  };
35
56
  this._msalClient = new PublicClientApplication(authConfig);
36
57
  }
58
+ // ─── IAuthenticationProvider ─────────────────────────────────────────────────
37
59
  async getAccessTokenForResource(resource, loginHint) {
38
60
  const result = await this._acquireTokenInternal(resource + '/.default', loginHint);
39
61
  this._tenantId = result.tenantId;
@@ -43,41 +65,179 @@ export class NodeMsalAuthenticationProvider {
43
65
  return this._tenantId;
44
66
  }
45
67
  async getCachedAccountAsync() {
46
- if (!this._msalClient)
68
+ const accounts = await this._getAccounts();
69
+ return this._pickActiveAccount(accounts)?.username;
70
+ }
71
+ // ─── IAccountManager ─────────────────────────────────────────────────────────
72
+ async listCachedAccountsAsync() {
73
+ const accounts = await this._getAccounts();
74
+ if (accounts.length === 0)
75
+ return [];
76
+ const active = this._pickActiveAccount(accounts);
77
+ return accounts.map((account) => ({
78
+ homeAccountId: account.homeAccountId,
79
+ username: account.username,
80
+ isActive: account.homeAccountId === active?.homeAccountId,
81
+ }));
82
+ }
83
+ async setActiveAccountAsync(accountKey) {
84
+ const accounts = await this._getAccounts();
85
+ const match = this._findAccount(accounts, accountKey);
86
+ if (!match) {
87
+ throw new UsageError(`No cached account matches '${accountKey}'. Run \`${CLI_BINARY_NAME} auth status\` to list cached accounts.`);
88
+ }
89
+ this._activeStore.write({ homeAccountId: match.homeAccountId, username: match.username });
90
+ return { homeAccountId: match.homeAccountId, username: match.username, isActive: true };
91
+ }
92
+ async loginInteractiveAsync(resource, loginHint) {
93
+ // Two paths, mutually exclusive:
94
+ // 1. `--account <email>` was passed → use the value as MSAL `loginHint` and DON'T
95
+ // force the picker. Entra honors the hint (SSO if a session matches, otherwise
96
+ // pre-fills the sign-in form). The user said "use this one," we use it.
97
+ // 2. No `--account` → force `prompt: 'select_account'` so the user can pick an
98
+ // existing account or add a new one. Without this, the browser's SSO session
99
+ // would silently reuse the same account on every `ms auth login` — defeating
100
+ // the multi-account scenario the verb exists for.
101
+ // Mixing `loginHint` with `prompt: 'select_account'` is not what we want: Entra
102
+ // shows the picker and treats the hint only as a fallback for credential entry,
103
+ // so passing both gives the picker UI even when the user asked for a specific account.
104
+ const result = await this._signInInteractiveAndPersist(resource + '/.default', loginHint, {
105
+ prompt: loginHint ? undefined : 'select_account',
106
+ });
107
+ if (!result.account) {
108
+ throw new Error('Interactive sign-in did not return an account.');
109
+ }
110
+ return {
111
+ homeAccountId: result.account.homeAccountId,
112
+ username: result.account.username,
113
+ isActive: true,
114
+ };
115
+ }
116
+ async clearCacheAsync() {
117
+ if (!fs.existsSync(this._cacheDirectory)) {
118
+ return false;
119
+ }
120
+ fs.rmSync(this._cacheDirectory, { recursive: true, force: true });
121
+ return true;
122
+ }
123
+ // ─── Internals ───────────────────────────────────────────────────────────────
124
+ async _getAccounts() {
125
+ if (!this._msalClient) {
126
+ throw new Error('Authentication not initialized yet');
127
+ }
128
+ try {
129
+ return await this._msalClient.getTokenCache().getAllAccounts();
130
+ }
131
+ catch (err) {
132
+ // Most likely cause is a cache file written by an older CLI version that the current
133
+ // MSAL major can't parse. Treat as "no cached accounts" so the next command triggers
134
+ // a fresh interactive sign-in, which rewrites the cache in the current format.
135
+ printWarning(`Could not read the MSAL token cache (${err.message}). ` +
136
+ `It may have been written by an older CLI version. Run \`${CLI_BINARY_NAME} auth logout\` and sign in again to reset it.`);
137
+ return [];
138
+ }
139
+ }
140
+ /**
141
+ * Case-insensitive lookup against `homeAccountId` first, then `username`. The two-field
142
+ * search lets callers pass either form without a discriminator. Username has a known
143
+ * collision shape: the same UPN can appear in multiple tenants for guest accounts; when
144
+ * the caller might hit that, prefer `homeAccountId`.
145
+ */
146
+ _findAccount(accounts, key) {
147
+ const lower = key.toLowerCase();
148
+ return (accounts.find((a) => a.homeAccountId.toLowerCase() === lower) ??
149
+ accounts.find((a) => a.username.toLowerCase() === lower));
150
+ }
151
+ /**
152
+ * Pure. Resolves which cached account should be treated as active:
153
+ * 0 accounts → undefined
154
+ * 1 account → that one (regardless of pointer state)
155
+ * 2+ + valid active pointer → the matching account
156
+ * 2+ + missing or stale active pointer → undefined (caller decides how to handle)
157
+ */
158
+ _pickActiveAccount(accounts) {
159
+ if (accounts.length === 0)
47
160
  return undefined;
48
- const accounts = await this._msalClient.getTokenCache().getAllAccounts();
49
- return accounts[0]?.username;
161
+ if (accounts.length === 1)
162
+ return accounts[0];
163
+ const active = this._activeStore.read();
164
+ if (!active)
165
+ return undefined;
166
+ return accounts.find((a) => a.homeAccountId === active.homeAccountId);
167
+ }
168
+ /**
169
+ * Idempotent: writes the active-account pointer only when the persisted value doesn't
170
+ * already match. Called from token-acquisition success paths so that a fresh 3.x → 5.x
171
+ * upgrade (single account in cache, no pointer file yet) migrates implicitly on first
172
+ * use, without needing an explicit migration step.
173
+ */
174
+ _ensureActivePointer(account) {
175
+ const existing = this._activeStore.read();
176
+ if (existing?.homeAccountId === account.homeAccountId)
177
+ return;
178
+ this._activeStore.write({
179
+ homeAccountId: account.homeAccountId,
180
+ username: account.username,
181
+ });
50
182
  }
51
183
  async _acquireTokenInternal(resource, loginHint) {
52
184
  if (!this._msalClient) {
53
185
  throw new Error('Authentication not initialized yet');
54
186
  }
55
- const accounts = await this._msalClient.getTokenCache().getAllAccounts();
56
- if (accounts.length === 1) {
57
- const silentRequest = {
58
- account: accounts[0],
187
+ const accounts = await this._getAccounts();
188
+ if (accounts.length === 0) {
189
+ return this._signInInteractiveAndPersist(resource, loginHint);
190
+ }
191
+ const active = this._pickActiveAccount(accounts);
192
+ if (!active) {
193
+ // 2+ accounts and no valid active pointer — refuse rather than guess.
194
+ const names = accounts.map((a) => ` - ${a.username}`).join('\n');
195
+ const hint = getSettings().interactive
196
+ ? `Run \`${CLI_BINARY_NAME} auth switch\` to choose one, or \`${CLI_BINARY_NAME} auth logout\` to clear all cached accounts and start over.`
197
+ : `Run \`${CLI_BINARY_NAME} auth switch --account <email>\` to resolve, then retry.`;
198
+ throw new UsageError(`Multiple accounts are cached and no active account is selected:\n${names}\n${hint}`);
199
+ }
200
+ try {
201
+ const result = await this._msalClient.acquireTokenSilent({
202
+ account: active,
59
203
  scopes: [resource],
60
- };
61
- try {
62
- const result = await this._msalClient.acquireTokenSilent(silentRequest);
63
- return result;
64
- }
65
- catch (error) {
66
- if (error instanceof InteractionRequiredAuthError) {
67
- return this._msalClient.acquireTokenInteractive(this._getInteractiveLoginRequest(resource, loginHint));
68
- }
69
- throw error;
204
+ });
205
+ this._ensureActivePointer(result.account ?? active);
206
+ return result;
207
+ }
208
+ catch (error) {
209
+ if (error instanceof InteractionRequiredAuthError) {
210
+ return this._signInInteractiveAndPersist(resource, loginHint ?? active.username);
70
211
  }
212
+ throw error;
71
213
  }
72
- else if (accounts.length > 1) {
73
- accounts.forEach((account) => {
74
- printInfo(account.username);
75
- });
76
- return Promise.reject('Multiple accounts found. Please use the logout command to remove existing accounts.');
214
+ }
215
+ /**
216
+ * Single code path for every interactive sign-in: `auth login`, the 0-accounts fresh-login
217
+ * branch, and the `InteractionRequiredAuthError` fallback all route through here. Keeps
218
+ * the "open browser record tenant persist active pointer" sequence in one place so
219
+ * future changes (telemetry, retry logic, etc.) don't have to be replicated three times.
220
+ * Uses the idempotent `_ensureActivePointer` so an unchanged-active scenario doesn't
221
+ * rewrite the pointer file unnecessarily.
222
+ *
223
+ * `options.prompt` forwards to MSAL's `prompt` parameter. Callers opt in to it only when
224
+ * they need to override the IdP's default behavior — `auth login` passes `'select_account'`
225
+ * so users can add a second account; the silent-fallback paths leave it unset so token
226
+ * expiry doesn't pop a picker the user didn't ask for.
227
+ */
228
+ async _signInInteractiveAndPersist(resource, loginHint, options) {
229
+ if (!this._msalClient) {
230
+ throw new Error('Authentication not initialized yet');
77
231
  }
78
- else {
79
- return this._msalClient.acquireTokenInteractive(this._getInteractiveLoginRequest(resource, loginHint));
232
+ const request = this._getInteractiveLoginRequest(resource, loginHint);
233
+ if (options?.prompt) {
234
+ request.prompt = options.prompt;
80
235
  }
236
+ const result = await this._msalClient.acquireTokenInteractive(request);
237
+ this._tenantId = result.tenantId;
238
+ if (result.account)
239
+ this._ensureActivePointer(result.account);
240
+ return result;
81
241
  }
82
242
  _getInteractiveLoginRequest(resource, loginHint) {
83
243
  const openBrowser = async (url) => {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeMsalAuthenticationProvider.js","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,OAAO,8BAA8B;IACjC,WAAW,CAAsC;IACjD,SAAS,CAAqB;IAC9B,OAAO,CAAqB;IAEpC,gBAAsB,CAAC;IAEhB,KAAK,CAAC,SAAS,CAAC,MAAc;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,GACvE,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC9C,MAAM,wBAAwB,GAAG;YAC/B,SAAS,EAAE,oBAAoB,GAAG,kBAAkB;YACpD,mBAAmB,EAAE,mBAAmB,CAAC,WAAW;YACpD,sHAAsH;YACtH,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,YAAY;YACzB,uBAAuB,EAAE,KAAK;SAC/B,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;QAEzF,MAAM,UAAU,GAAkB;YAChC,IAAI,EAAE;gBACJ,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACrD,QAAQ,EAAE,aAAa;aACxB;YACD,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI,sBAAsB,CAAC,WAAW,CAAC;aACrD;SACF,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,QAAgB,EAAE,SAAkB;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC;QACnF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,QAAgB,EAChB,SAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,CAAC,QAAQ,CAAC;aACnB,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBACxE,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,4BAA4B,EAAE,CAAC;oBAClD,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC7C,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtD,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CACnB,qFAAqF,CACtF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC7C,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,2BAA2B,CAAC,QAAgB,EAAE,SAAkB;QACtE,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;YACvD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,2BAA2B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,WAAW;YACX,eAAe,EAAE,gCAAgC;YACjD,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;SAChC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"NodeMsalAuthenticationProvider.js","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"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"}
package/dist/Cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAiBA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA8E1C"}
1
+ {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AA2CA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAsH1C"}
package/dist/Cli.js CHANGED
@@ -1,19 +1,44 @@
1
1
  /*!
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
- import { cloudToRegion, cloudToRegionSafe } from '@microsoft/managed-apps-common/services';
4
+ import { setGrsServiceConfig } from '@microsoft/managed-apps-actions';
5
5
  import { ArgumentProvider } from './ArgumentProvider.js';
6
- import { OrchardAuthenticationProvider } from './Authentication/OrchardAuthenticationProvider.js';
7
6
  import { initializeCliSettings, setCliLogger } from './CliSettings.js';
8
7
  import { AppError } from './Errors/CliError.js';
9
8
  import { CliHttpClient } from './HttpClient/CliHttpClient.js';
10
- import { OrchardProxy } from './HttpClient/OrchardProxy.js';
11
9
  import { CliLogger } from './Logger/CliLogger.js';
12
10
  import { printError, printJsonError } from './Utils/ConsoleOutput.js';
13
- import { getCliEnvVarBool, getSystemEnvVar, setSystemEnvVar } from './Utils/EnvVars.js';
11
+ import { cliEnvVarFullName, getCliEnvVar, getCliEnvVarBool, getSystemEnvVar, setSystemEnvVar, } from './Utils/EnvVars.js';
14
12
  let logger;
15
- let exitCode = 0;
13
+ function formatThrown(err) {
14
+ if (err instanceof Error)
15
+ return err.message;
16
+ if (typeof err === 'string')
17
+ return err;
18
+ if (err === null || err === undefined)
19
+ return String(err);
20
+ try {
21
+ // Handle plain objects (e.g. `throw { code, message }`), preserving as much
22
+ // detail as possible. JSON.stringify with a circular-safe replacer so we
23
+ // don't crash on cyclic shapes (Bun fetch rejection objects can be cyclic).
24
+ const seen = new WeakSet();
25
+ return JSON.stringify(err, (_k, v) => {
26
+ if (typeof v === 'object' && v !== null) {
27
+ if (seen.has(v))
28
+ return '[Circular]';
29
+ seen.add(v);
30
+ }
31
+ return v;
32
+ });
33
+ }
34
+ catch {
35
+ return String(err);
36
+ }
37
+ }
16
38
  export async function boot() {
39
+ // Scoped per invocation so a second boot() call (notably in tests that
40
+ // exercise the boot path) cannot inherit a non-zero code from a prior run.
41
+ let exitCode = 0;
17
42
  let argumentProvider;
18
43
  try {
19
44
  if (process.argv.includes('--no-color')) {
@@ -24,30 +49,46 @@ export async function boot() {
24
49
  const source = 'standalone';
25
50
  const interactive = !isTestRun && !hasNonInteractiveFlag && process.stdin.isTTY === true;
26
51
  const cliSettings = await initializeCliSettings({ source, interactive });
52
+ // Wire the GRS endpoint override (dev-only) into the actions package via
53
+ // config injection. The actions package is CLI-agnostic and does not read
54
+ // MS_CLI_* env vars directly; the CLI host is responsible for this hookup.
55
+ const grsEndpointOverride = getCliEnvVar('MAAF_GRS_ENDPOINT_OVERRIDE');
56
+ setGrsServiceConfig({ endpointOverride: grsEndpointOverride });
57
+ const trimmedGrsOverride = grsEndpointOverride?.trim();
58
+ if (trimmedGrsOverride && trimmedGrsOverride.length > 0) {
59
+ // stderr (not stdout) so JSON-mode output is not polluted.
60
+ process.stderr.write(`[debug] MS_CLI_MAAF_GRS_ENDPOINT_OVERRIDE is set; using '${trimmedGrsOverride}' as GRS endpoint.\n`);
61
+ }
27
62
  let authenticationProvider;
28
- let httpClient;
29
- if (getCliEnvVarBool('CONFIG_PROXY')) {
30
- const region = cloudToRegionSafe(cliSettings.appConfig?.cloud) ?? cloudToRegion('public');
31
- authenticationProvider = new OrchardAuthenticationProvider();
32
- httpClient = new CliHttpClient(authenticationProvider, [new OrchardProxy(region)]);
63
+ let forwardUrl;
64
+ let accountManager;
65
+ if (getCliEnvVarBool('USE_HTTP_FORWARD')) {
66
+ forwardUrl = getCliEnvVar('HTTP_FORWARD_URL');
67
+ if (!forwardUrl) {
68
+ throw new AppError(`${cliEnvVarFullName('USE_HTTP_FORWARD')}=true requires ${cliEnvVarFullName('HTTP_FORWARD_URL')} to be set.`);
69
+ }
70
+ const { EnvironmentVariableAuthenticationProvider } = await import('./Authentication/EnvironmentVariableAuthenticationProvider.js');
71
+ authenticationProvider = new EnvironmentVariableAuthenticationProvider();
72
+ }
73
+ else if (isTestRun || getCliEnvVarBool('USE_SP_AUTH')) {
74
+ const { ServicePrincipalAuthenticationProvider } = await import('./Authentication/ServicePrincipalAuthenticationProvider.js');
75
+ authenticationProvider = new ServicePrincipalAuthenticationProvider();
33
76
  }
34
77
  else {
35
- if (isTestRun || getCliEnvVarBool('USE_SP_AUTH')) {
36
- const { ServicePrincipalAuthenticationProvider } = await import('./Authentication/ServicePrincipalAuthenticationProvider.js');
37
- authenticationProvider = new ServicePrincipalAuthenticationProvider();
38
- }
39
- else {
40
- // Dynamically import NodeMsalAuthenticationProvider only when needed
41
- const { NodeMsalAuthenticationProvider } = await import('./Authentication/NodeMsalAuthenticationProvider.js');
42
- authenticationProvider = new NodeMsalAuthenticationProvider();
43
- }
44
- httpClient = new CliHttpClient(authenticationProvider);
78
+ // Dynamically import NodeMsalAuthenticationProvider only when needed
79
+ const { NodeMsalAuthenticationProvider } = await import('./Authentication/NodeMsalAuthenticationProvider.js');
80
+ const msalProvider = new NodeMsalAuthenticationProvider();
81
+ authenticationProvider = msalProvider;
82
+ // Only the interactive MSAL provider implements account management; SP and HTTP
83
+ // forward modes have no concept of a "cached signed-in account."
84
+ accountManager = msalProvider;
45
85
  }
86
+ const httpClient = new CliHttpClient(authenticationProvider, forwardUrl);
46
87
  // The CLI logger might need to use httpClient and environment info during its initialization
47
88
  // So we create it after the httpClient and authenticationProvider are ready
48
89
  logger = await CliLogger.create(cliSettings, httpClient);
49
90
  setCliLogger(logger);
50
- argumentProvider = new ArgumentProvider(httpClient, logger, authenticationProvider);
91
+ argumentProvider = new ArgumentProvider(httpClient, logger, authenticationProvider, accountManager);
51
92
  argumentProvider.handleGlobalHelpOrFlagsAndExit();
52
93
  // Dispatch via the resolved command from the registry
53
94
  const resolved = argumentProvider.getResolvedCommand();
@@ -60,7 +101,7 @@ export async function boot() {
60
101
  }
61
102
  }
62
103
  catch (err) {
63
- const message = err instanceof Error ? err.message : String(err);
104
+ const message = formatThrown(err);
64
105
  exitCode = err instanceof AppError ? err.exitCode : 1;
65
106
  // Prefer the ArgumentProvider's parsed view of `--json` once it exists —
66
107
  // it won't be fooled by `--json` appearing as a value to another flag
@@ -85,7 +126,17 @@ export async function boot() {
85
126
  if (logger) {
86
127
  await logger.flush();
87
128
  }
88
- process.exit(exitCode);
129
+ // Set exit code rather than calling process.exit() so any in-flight fetch
130
+ // sockets, abort handlers, or logger background work can finish closing
131
+ // cleanly. Forcing exit during teardown can trigger a libuv assertion on
132
+ // Windows (UV_HANDLE_CLOSING in async.c).
133
+ process.exitCode = exitCode;
134
+ // Defense-in-depth: if any verb leaves an unref'd handle alive (a non-
135
+ // detached child, an MSAL refresh timer, a stuck fetch socket), the
136
+ // process would otherwise hang at the terminal. After a grace window for
137
+ // normal teardown, force-exit. unref() so this timer itself never keeps
138
+ // the process alive if everything closes cleanly.
139
+ setTimeout(() => process.exit(exitCode), 5000).unref();
89
140
  }
90
141
  }
91
142
  //# sourceMappingURL=Cli.js.map
package/dist/Cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAErF,IAAI,MAAiB,CAAC;AACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,IAAI,gBAA8C,CAAC;IACnD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;QACnD,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,MAAM,WAAW,GAAG,CAAC,SAAS,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;QAEzF,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAEzE,IAAI,sBAAsB,CAAC;QAC3B,IAAI,UAAU,CAAC;QACf,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1F,sBAAsB,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAC7D,UAAU,GAAG,IAAI,aAAa,CAAC,sBAAsB,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,IAAI,SAAS,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjD,MAAM,EAAE,sCAAsC,EAAE,GAC9C,MAAM,MAAM,CAAC,yDAAyD,CAAC,CAAC;gBAC1E,sBAAsB,GAAG,IAAI,sCAAsC,EAAE,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,qEAAqE;gBACrE,MAAM,EAAE,8BAA8B,EAAE,GACtC,MAAM,MAAM,CAAC,iDAAiD,CAAC,CAAC;gBAClE,sBAAsB,GAAG,IAAI,8BAA8B,EAAE,CAAC;YAChE,CAAC;YACD,UAAU,GAAG,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACzD,CAAC;QAED,6FAA6F;QAC7F,4EAA4E;QAC5E,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzD,YAAY,CAAC,MAAM,CAAC,CAAC;QAErB,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAEpF,gBAAgB,CAAC,8BAA8B,EAAE,CAAC;QAElD,sDAAsD;QACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,mEAAmE;YACnE,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,QAAQ,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,yEAAyE;QACzE,sEAAsE;QACtE,gEAAgE;QAChE,+DAA+D;QAC/D,oBAAoB;QACpB,MAAM,MAAM,GAAG,gBAAgB,EAAE,UAAU,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,EAAE,eAAe,CAAC,oBAAoB,EAAE;YAC5C,OAAO;YACP,QAAQ;YACR,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,8BAA8B;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type SelectOptions } from '@clack/prompts';
1
2
  import type { Region } from '@microsoft/managed-apps-common/services';
2
3
  import type { ArgumentProvider } from './ArgumentProvider.js';
3
4
  import type { CliOption, DefaultStringOption } from './Types/Argument.types.js';
@@ -18,14 +19,7 @@ export declare function promptConfirm(options: {
18
19
  /**
19
20
  * Prompts the user to select from a list of options. Exits the process if the user cancels.
20
21
  */
21
- export declare function promptSelect<T>(options: {
22
- message: string;
23
- options: Array<{
24
- value: T;
25
- label: string;
26
- hint?: string;
27
- }>;
28
- }): Promise<T>;
22
+ export declare function promptSelect<T extends string>(options: SelectOptions<T>): Promise<T>;
29
23
  /**
30
24
  * Prompts the user to select from a list, with search filtering and an "Enter manually..."
31
25
  * fallback. When the list exceeds pageSize (default 10), shows a search prompt first so the
@@ -1 +1 @@
1
- {"version":3,"file":"CliUtils.d.ts","sourceRoot":"","sources":["../src/CliUtils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D,GAAG,OAAO,CAAC,CAAC,CAAC,CAOb;AAQD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmClB;AA+DD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAWzF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG7C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU7F"}
1
+ {"version":3,"file":"CliUtils.d.ts","sourceRoot":"","sources":["../src/CliUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO1F;AAQD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmClB;AA+DD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAWzF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG7C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU7F"}
@@ -1 +1 @@
1
- {"version":3,"file":"CliUtils.js","sourceRoot":"","sources":["../src/CliUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CliUtils.js","sourceRoot":"","sources":["../src/CliUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAsB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAI1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAGhC;IACC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,YAAY,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAGnC;IACC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,YAAY,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAmB,OAAyB;IAC5E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,YAAY,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAC5C,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAKzC;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAEjC,oEAAoE;IACpE,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,kEAAkE;IAClE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,QAAQ,GAAG,YAAY,CAAC;IAC5B,OAAO,QAAQ,KAAK,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM;YACrB,CAAC,CAAC,QAAQ,CAAC,MAAM,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CACtF;YACH,CAAC,CAAC,QAAQ,CAAC;QAEb,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,iBAAiB,MAAM,MAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG;YACpE,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,SAAS,CAAC;QAClC,QAAQ,GAAG,MAAM,eAAe,CAC9B,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,EAAE,EACjC,QAAQ,EACR,OAAO,CAAC,mBAAmB,EAC3B,QAAQ,CACT,CAAC;QAEF,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAAe,EACf,KAA6D,EAC7D,mBAAuC,EACvC,QAAgB;IAEhB,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IACtD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,SAAS,CAAC;IAEzB,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;QACvD,MAAM,OAAO,GAA2D,EAAE,CAAC;QAE3E,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3B,IAAI,IAAI,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,SAAS,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,GAAG,OAAO,UAAU,IAAI,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC;QAChE,QAAQ,GAAG,MAAM,YAAY,CAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,OAAe,EACf,KAA6D,EAC7D,mBAAuC,EACvC,kBAA2B;IAE3B,MAAM,OAAO,GAA2D,CAAC,GAAG,KAAK,CAAC,CAAC;IACnF,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAA4B;IACpE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAC1F,OAAO;QACL,KAAK;QACL,GAAG;QACH,WAAW;QACX,OAAO,EAAE,YAAsB;QAC/B,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,OAAO,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,gBAAkC;IAC1E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAS,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;IAClD,MAAM,OAAO,GAAG,QAAQ,IAAI,UAAU,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAClB,kGAAkG,iBAAiB,kCAAkC,CACtJ,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,gBAAkC;IAC3E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAC/C,eAAe;IACf,kBAAkB,CAAC,IAAI,CACxB,CAAC;IACF,MAAM,aAAa,GAAG,QAAQ,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IACtE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAClB,kHAAkH,iBAAiB,kCAAkC,CACtK,CAAC;IACJ,CAAC;IACD,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACrC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,MAAM,SAAS,GAAG,4EAA4E,CAAC;IAC/F,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAA0B,EAAE,QAA4B;IACnF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,KAAK;YACR,OAAO,oCAAoC,QAAQ,IAAI,eAAe,EAAE,CAAC;QAC3E,KAAK,UAAU;YACb,OAAO,4CAA4C,QAAQ,IAAI,eAAe,EAAE,CAAC;QACnF;YACE,OAAO,qCAAqC,QAAQ,IAAI,eAAe,EAAE,CAAC;IAC9E,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandRegistry.d.ts","sourceRoot":"","sources":["../../src/Constants/CommandRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAoC1E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,EAAE,WA0K1B,CAAC"}
1
+ {"version":3,"file":"CommandRegistry.d.ts","sourceRoot":"","sources":["../../src/Constants/CommandRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA0C1E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,EAAE,WAgM1B,CAAC"}
@@ -1,7 +1,12 @@
1
1
  /*!
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
- import { addActionAsync, addDataSourceAsync, addTableAsync, authStatusAsync, buildMaafAppAsync, createMaafAppAsync, deleteDataSourceAsync, deleteMaafAppAsync, deployMaafAppAsync, devAsync, getMaafAppInfoAsync, getMaafBuildStatusAsync, getSettingsAsync, initAsync, listConnectorActionsCliAsync, listConnectorsCliAsync, listMaafAppsAsync, loginAsync, logoutAsync, packAsync, refreshDataSourceAsync, setSettingAsync, shareMaafAppAsync, showMaafAppAsync, telemetryDisableAsync, telemetryEnableAsync, telemetryStatusAsync, unshareMaafAppAsync, } from '../Verbs/index.js';
4
+ import {
5
+ // TODO(eschavez): `ms app add action` is temporarily disabled — implementation in
6
+ // Verbs/AddAction.ts is preserved but not wired up. Re-enable below once the verb
7
+ // matches the spec. The action flow is still reachable via `ms app add connector`.
8
+ // addActionAsync,
9
+ addConnectorAsync, addDataSourceAsync, addTableAsync, authStatusAsync, authSwitchAsync, buildMaafAppAsync, createMaafAppAsync, deleteDataSourceAsync, deleteMaafAppAsync, deployMaafAppAsync, devAsync, getMaafAppInfoAsync, getMaafBuildStatusAsync, getSettingsAsync, initAsync, listConnectorActionsCliAsync, listConnectorsCliAsync, listMaafAppsAsync, loginAsync, logoutAsync, packAsync, refreshDataSourceAsync, refreshGitAuthAsync, setSettingAsync, shareMaafAppAsync, showMaafAppAsync, telemetryDisableAsync, telemetryEnableAsync, telemetryStatusAsync, unshareMaafAppAsync, } from '../Verbs/index.js';
5
10
  import { HelpStrings } from './HelpStrings.js';
6
11
  /** Placeholder handler for commands not yet implemented. */
7
12
  const NOT_YET_IMPLEMENTED = async () => { };
@@ -40,8 +45,8 @@ export const COMMAND_TREE = {
40
45
  handler: authStatusAsync,
41
46
  },
42
47
  switch: {
43
- '@helpText': 'Switch the active account for CLI commands.',
44
- handler: NOT_YET_IMPLEMENTED,
48
+ '@helpText': HelpStrings.auth.switch.description,
49
+ handler: authSwitchAsync,
45
50
  },
46
51
  },
47
52
  },
@@ -108,9 +113,15 @@ export const COMMAND_TREE = {
108
113
  add: {
109
114
  typed: true,
110
115
  commands: {
111
- action: {
112
- '@helpText': HelpStrings.app.add.action.description,
113
- handler: addActionAsync,
116
+ // TODO(eschavez): `ms app add action` is temporarily disabled — needs spec rework.
117
+ // Re-enable by uncommenting the block below (and the addActionAsync import above).
118
+ // action: {
119
+ // '@helpText': HelpStrings.app.add.action.description,
120
+ // handler: addActionAsync,
121
+ // },
122
+ connector: {
123
+ '@helpText': HelpStrings.app.add.connector.description,
124
+ handler: addConnectorAsync,
114
125
  },
115
126
  table: {
116
127
  '@helpText': HelpStrings.app.add.table.description,
@@ -171,6 +182,21 @@ export const COMMAND_TREE = {
171
182
  },
172
183
  },
173
184
  },
185
+ // ── git ──────────────────────────────────────────────────────────────────
186
+ git: {
187
+ '@description': 'Manage GitHub integration for apps.',
188
+ commands: {
189
+ auth: {
190
+ typed: true,
191
+ commands: {
192
+ refresh: {
193
+ '@helpText': HelpStrings.git.auth.refresh.description,
194
+ handler: refreshGitAuthAsync,
195
+ },
196
+ },
197
+ },
198
+ },
199
+ },
174
200
  // ── telemetry ────────────────────────────────────────────────────────────
175
201
  telemetry: {
176
202
  '@description': 'Manage CLI telemetry settings.',
@@ -1 +1 @@
1
- {"version":3,"file":"CommandRegistry.js","sourceRoot":"","sources":["../../src/Constants/CommandRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandRegistry.js","sourceRoot":"","sources":["../../src/Constants/CommandRegistry.ts"],"names":[],"mappings":"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"}