@microsoft/managed-apps-cli 0.8.0 → 0.9.1

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 (109) hide show
  1. package/README.md +13 -7
  2. package/dist/ArgumentProvider.d.ts.map +1 -1
  3. package/dist/ArgumentProvider.js +30 -21
  4. package/dist/ArgumentProvider.js.map +1 -1
  5. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +16 -0
  6. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
  7. package/dist/Authentication/NodeMsalAuthenticationProvider.js +58 -6
  8. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
  9. package/dist/Cli.d.ts.map +1 -1
  10. package/dist/Cli.js +22 -7
  11. package/dist/Cli.js.map +1 -1
  12. package/dist/CliSettings.d.ts +2 -2
  13. package/dist/CliSettings.d.ts.map +1 -1
  14. package/dist/CliSettings.js +2 -2
  15. package/dist/CliUtils.d.ts +16 -6
  16. package/dist/CliUtils.d.ts.map +1 -1
  17. package/dist/CliUtils.js +15 -23
  18. package/dist/CliUtils.js.map +1 -1
  19. package/dist/Constants/HelpStrings.d.ts +3 -2
  20. package/dist/Constants/HelpStrings.d.ts.map +1 -1
  21. package/dist/Constants/HelpStrings.js +16 -13
  22. package/dist/Constants/HelpStrings.js.map +1 -1
  23. package/dist/Constants.d.ts +1 -1
  24. package/dist/Constants.d.ts.map +1 -1
  25. package/dist/Constants.js +5 -2
  26. package/dist/Constants.js.map +1 -1
  27. package/dist/Errors/GitHubErrorMap.d.ts.map +1 -1
  28. package/dist/Errors/GitHubErrorMap.js +17 -10
  29. package/dist/Errors/GitHubErrorMap.js.map +1 -1
  30. package/dist/HttpClient/CliHttpClient.d.ts +13 -0
  31. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
  32. package/dist/HttpClient/CliHttpClient.js +24 -0
  33. package/dist/HttpClient/CliHttpClient.js.map +1 -1
  34. package/dist/Logger/CliLogger.d.ts +50 -8
  35. package/dist/Logger/CliLogger.d.ts.map +1 -1
  36. package/dist/Logger/CliLogger.js +92 -37
  37. package/dist/Logger/CliLogger.js.map +1 -1
  38. package/dist/Logger/ConsoleWriter.d.ts +5 -0
  39. package/dist/Logger/ConsoleWriter.d.ts.map +1 -1
  40. package/dist/Logger/ConsoleWriter.js +22 -14
  41. package/dist/Logger/ConsoleWriter.js.map +1 -1
  42. package/dist/Middletier/FunctionsBundler.js +5 -1
  43. package/dist/Middletier/FunctionsBundler.js.map +1 -1
  44. package/dist/Middletier/PackFunctions.d.ts +5 -4
  45. package/dist/Middletier/PackFunctions.d.ts.map +1 -1
  46. package/dist/Middletier/PackFunctions.js +8 -7
  47. package/dist/Middletier/PackFunctions.js.map +1 -1
  48. package/dist/Types/Cli.types.d.ts +1 -1
  49. package/dist/Types/Cli.types.d.ts.map +1 -1
  50. package/dist/Utils/DcfRecovery.d.ts.map +1 -1
  51. package/dist/Utils/DcfRecovery.js +12 -4
  52. package/dist/Utils/DcfRecovery.js.map +1 -1
  53. package/dist/Utils/EnvVars.d.ts +1 -1
  54. package/dist/Utils/EnvVars.d.ts.map +1 -1
  55. package/dist/Utils/EnvVars.js.map +1 -1
  56. package/dist/Utils/EnvironmentRoutingUtils.d.ts +55 -0
  57. package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +1 -1
  58. package/dist/Utils/EnvironmentRoutingUtils.js +85 -1
  59. package/dist/Utils/EnvironmentRoutingUtils.js.map +1 -1
  60. package/dist/Utils/HelpBanner.d.ts +11 -0
  61. package/dist/Utils/HelpBanner.d.ts.map +1 -0
  62. package/dist/Utils/HelpBanner.js +15 -0
  63. package/dist/Utils/HelpBanner.js.map +1 -0
  64. package/dist/Utils/RepoUrl.d.ts +11 -6
  65. package/dist/Utils/RepoUrl.d.ts.map +1 -1
  66. package/dist/Utils/RepoUrl.js +1 -1
  67. package/dist/Utils/RepoUrl.js.map +1 -1
  68. package/dist/Utils/ResolveCommand.d.ts +32 -2
  69. package/dist/Utils/ResolveCommand.d.ts.map +1 -1
  70. package/dist/Utils/ResolveCommand.js +70 -11
  71. package/dist/Utils/ResolveCommand.js.map +1 -1
  72. package/dist/Verbs/CreateMaafApp.d.ts +5 -5
  73. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
  74. package/dist/Verbs/CreateMaafApp.js +46 -39
  75. package/dist/Verbs/CreateMaafApp.js.map +1 -1
  76. package/dist/Verbs/DeployMaafApp.js +2 -2
  77. package/dist/Verbs/DeployMaafApp.js.map +1 -1
  78. package/dist/Verbs/GetSettings.d.ts.map +1 -1
  79. package/dist/Verbs/GetSettings.js +9 -18
  80. package/dist/Verbs/GetSettings.js.map +1 -1
  81. package/dist/Verbs/Init.d.ts.map +1 -1
  82. package/dist/Verbs/Init.js +33 -81
  83. package/dist/Verbs/Init.js.map +1 -1
  84. package/dist/Verbs/ListConnectorActions.d.ts.map +1 -1
  85. package/dist/Verbs/ListConnectorActions.js +16 -5
  86. package/dist/Verbs/ListConnectorActions.js.map +1 -1
  87. package/dist/Verbs/ListConnectors.d.ts.map +1 -1
  88. package/dist/Verbs/ListConnectors.js +16 -5
  89. package/dist/Verbs/ListConnectors.js.map +1 -1
  90. package/dist/Verbs/ListMaafApps.js +1 -1
  91. package/dist/Verbs/ListMaafApps.js.map +1 -1
  92. package/dist/Verbs/MaafAppPermissions.d.ts +12 -6
  93. package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
  94. package/dist/Verbs/MaafAppPermissions.js +208 -66
  95. package/dist/Verbs/MaafAppPermissions.js.map +1 -1
  96. package/dist/Verbs/Pack.d.ts.map +1 -1
  97. package/dist/Verbs/Pack.js +11 -0
  98. package/dist/Verbs/Pack.js.map +1 -1
  99. package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -1
  100. package/dist/Verbs/RefreshGitAuth.js +30 -15
  101. package/dist/Verbs/RefreshGitAuth.js.map +1 -1
  102. package/dist/Verbs/SetSetting.d.ts.map +1 -1
  103. package/dist/Verbs/SetSetting.js +39 -49
  104. package/dist/Verbs/SetSetting.js.map +1 -1
  105. package/dist/Verbs/VerbConstants.d.ts +23 -19
  106. package/dist/Verbs/VerbConstants.d.ts.map +1 -1
  107. package/dist/Verbs/VerbConstants.js +20 -22
  108. package/dist/Verbs/VerbConstants.js.map +1 -1
  109. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
- import { GrsRepositoryContributorRoleName, infoAsync, MaafAppReaderRoleName, modifyGrsRoleAssignmentsAsync, modifyMaafRoleAssignmentsAsync, resolvePrincipalByEmailAsync, unshareGrsRepoByPrincipalsAsync, unshareMaafAppByPrincipalsAsync, } from '@microsoft/managed-apps-actions';
4
+ import { GrsRepositoryContributorRoleName, infoAsync, MaafAppContributorRoleName, MaafAppReaderRoleName, modifyGrsRoleAssignmentsAsync, modifyMaafRoleAssignmentsAsync, resolvePrincipalByEmailAsync, unshareGrsRepoByPrincipalsAsync, unshareMaafAppByPrincipalsAsync, } from '@microsoft/managed-apps-actions';
5
5
  import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
6
6
  import { HttpClientError } from '@microsoft/managed-apps-common/services';
7
7
  import { getCliLogger, getSettings } from '../CliSettings.js';
@@ -27,8 +27,11 @@ import { ShareMaafAppArguments, UnshareMaafAppArguments } from './VerbConstants.
27
27
  * to AAD object ids via Graph, pass GUID-shaped inputs through unchanged.
28
28
  * 5. Dispatch to the matching share/unshare path:
29
29
  * - `play` → MAAF `modifyRoleAssignments` (`MicrosoftAppReader` at app scope).
30
- * - `edit` → fetch the app's `repositoryId` then GRS `modifyRoleAssignments`
31
- * (`RepositoryContributor` at repo scope).
30
+ * - `edit` + `repoType === 'native'` → fetch the app's `repositoryId` then
31
+ * GRS `modifyRoleAssignments` (`RepositoryContributor` at repo scope).
32
+ * - `edit` + `repoType === 'none' | 'github'` → MAAF `modifyRoleAssignments`
33
+ * (`MicrosoftAppContributor` at app scope); GRS is skipped because the
34
+ * platform does not manage the repository.
32
35
  * For unshare, paginate the matching list endpoint and pass through the
33
36
  * full `RoleAssignment[]` records on `delete` (the strict wire contract
34
37
  * requires `roleAssignmentId`, which only the list endpoint provides).
@@ -50,72 +53,144 @@ export async function executeMaafAppPermissionsAsync(argumentProvider, mode) {
50
53
  }
51
54
  const appName = await resolveAppNameAsync(argumentProvider);
52
55
  const access = parseAccessLevel(await argumentProvider.getOption('access'));
53
- const repoType = cliSettings.appConfig.repoType ?? 'native';
54
- if (access === 'edit' && repoType === 'none') {
55
- throw new UsageError(`App '${appName}' has no associated repository in the platform, so edit access cannot be modified.`);
56
- }
56
+ // `repoType` only affects edit routing. For play we should never fail on the
57
+ // strict migration check for legacy config shape.
58
+ const repoType = access === 'edit'
59
+ ? resolveRepoType(cliSettings.appConfig)
60
+ : (cliSettings.appConfig.repoType ?? 'none');
57
61
  const inputs = parseInputs(argumentProvider.getPositionalArg(0));
58
62
  if (inputs.length === 0) {
59
63
  throw new UsageError('Provide at least one principal as a comma-separated list (AAD object IDs or email addresses).');
60
64
  }
61
- // Failures (bad shape, no Graph match, transport error) are collected here so
62
- // we can warn the user but still proceed with the entries that resolved.
63
- const failures = [];
64
- const refs = await resolveAllAsync(inputs, failures);
65
- // If nothing resolved, the operation has no inputs to apply — abort with a
66
- // single error listing every failure rather than calling the RP with an empty
67
- // array.
68
- if (refs.length === 0) {
69
- throw new UsageError(formatFailures(failures));
70
- }
71
- // Otherwise warn about the unresolved entries up front (so they're visible
72
- // before the success line), then proceed with the resolved subset.
73
- if (failures.length > 0) {
74
- printWarning(formatFailures(failures));
75
- }
76
- const dispatch = mode === 'share' ? shareDispatchAsync : unshareDispatchAsync;
77
- const outcome = await dispatch({ tenantId, environmentId, appName, access, refs });
78
- if (argumentProvider.isJsonMode()) {
79
- // Envelope semantics for this verb: `success: true` means the modify call
80
- // reached the RP and returned. When some inputs failed to resolve before
81
- // the modify, `partialFailure` is `true` and `warnings` lists the
82
- // unresolved entries. Consumers requiring full success must check both
83
- // `success === true && partialFailure === false`. `warnings` is always
84
- // present (empty array on full success) so consumers can treat its
85
- // length uniformly. The server response is spread flat into the envelope
86
- // (matching every other verb that emits JSON) instead of nested under a
87
- // `result` key. For unshare we also include the action-layer bookkeeping
88
- // (`revokedCount`, `revokedPrincipalCount`, `notFound`, `skipped`) that
89
- // would otherwise only appear in the human summary — so automation gets
90
- // the same fidelity as text mode.
91
- printJsonSuccess({
65
+ // Top-level scenario that ties together every server call the verb makes:
66
+ // Graph principal resolution (`ResolvePrincipalByEmail` per email), optional
67
+ // app-info fetch (`GetMaafApp`) when the edit path needs the `repositoryId`,
68
+ // and the final modify call (one of `ModifyMaafRoleAssignments`,
69
+ // `ModifyGrsRepositoryRoleAssignments`, `UnshareMaafAppByPrincipals`, or
70
+ // `UnshareGrsRepoByPrincipals`). Each of those actions already emits its own
71
+ // wire-scoped scenario; this scenario captures the verb-level outcome plus
72
+ // the routing decision (scope/role) so we can correlate. All properties are
73
+ // PII-safe — counts and routing flags only, no emails / GUIDs / app names.
74
+ const logger = getCliLogger();
75
+ const scenario = logger.trackScenario('MaafApp.SharePermissions', {
76
+ mode,
77
+ access,
78
+ repoType,
79
+ inputCount: inputs.length,
80
+ });
81
+ try {
82
+ // Failures (bad shape, no Graph match, transport error) are collected here so
83
+ // we can warn the user but still proceed with the entries that resolved.
84
+ const failures = [];
85
+ const refs = await resolveAllAsync(inputs, failures);
86
+ // Verb-level summary of the Graph fan-out. Each underlying lookup also
87
+ // emits a `ResolvePrincipalByEmail` scenario; this event makes the
88
+ // aggregate result queryable per share/unshare invocation.
89
+ logger.trackActivityEvent('MaafApp.SharePermissions.PrincipalResolution', {
90
+ mode,
91
+ inputCount: inputs.length,
92
+ resolvedCount: refs.length,
93
+ failedCount: failures.length,
94
+ });
95
+ // If nothing resolved, the operation has no inputs to apply — abort with a
96
+ // single error listing every failure rather than calling the RP with an empty
97
+ // array.
98
+ if (refs.length === 0) {
99
+ throw new UsageError(formatFailures(failures));
100
+ }
101
+ // Otherwise warn about the unresolved entries up front (so they're visible
102
+ // before the success line), then proceed with the resolved subset.
103
+ if (failures.length > 0) {
104
+ printWarning(formatFailures(failures));
105
+ }
106
+ const dispatch = mode === 'share' ? shareDispatchAsync : unshareDispatchAsync;
107
+ const outcome = await dispatch({
108
+ tenantId,
109
+ environmentId,
110
+ appName,
92
111
  access,
93
- partialFailure: failures.length > 0,
94
- ...outcome.result,
112
+ refs,
113
+ repoType,
114
+ jsonMode: argumentProvider.isJsonMode(),
115
+ });
116
+ scenario.complete({
117
+ resolvedCount: refs.length,
118
+ failedResolutionCount: failures.length,
119
+ scope: outcome.scope,
120
+ role: outcome.role,
121
+ // App-scope contributor fallback for `edit` is the noteworthy routing
122
+ // case introduced for non-native `repoType`. Tagged here so it's a
123
+ // simple boolean filter on the success event.
124
+ appScopeContributorFallback: access === 'edit' && outcome.scope === 'app',
95
125
  ...(mode === 'unshare' && {
96
126
  revokedCount: outcome.revokedCount ?? 0,
97
127
  revokedPrincipalCount: outcome.revokedPrincipalCount ?? 0,
98
- notFound: (outcome.notFound ?? []).map(toJsonRef),
99
- skipped: (outcome.skipped ?? []).map(toJsonRef),
128
+ notFoundCount: outcome.notFound?.length ?? 0,
129
+ skippedCount: outcome.skipped?.length ?? 0,
100
130
  }),
101
- warnings: failures,
102
131
  });
132
+ if (argumentProvider.isJsonMode()) {
133
+ // Envelope semantics for this verb: `success: true` means the modify call
134
+ // reached the RP and returned. When some inputs failed to resolve before
135
+ // the modify, `partialFailure` is `true` and `warnings` lists the
136
+ // unresolved entries. Consumers requiring full success must check both
137
+ // `success === true && partialFailure === false`. `warnings` is always
138
+ // present (empty array on full success) so consumers can treat its
139
+ // length uniformly. The server response is spread flat into the envelope
140
+ // (matching every other verb that emits JSON) instead of nested under a
141
+ // `result` key. For unshare we also include the action-layer bookkeeping
142
+ // (`revokedCount`, `revokedPrincipalCount`, `notFound`, `skipped`) that
143
+ // would otherwise only appear in the human summary — so automation gets
144
+ // the same fidelity as text mode.
145
+ printJsonSuccess({
146
+ access,
147
+ partialFailure: failures.length > 0,
148
+ ...outcome.result,
149
+ ...(mode === 'unshare' && {
150
+ revokedCount: outcome.revokedCount ?? 0,
151
+ revokedPrincipalCount: outcome.revokedPrincipalCount ?? 0,
152
+ notFound: (outcome.notFound ?? []).map(toJsonRef),
153
+ skipped: (outcome.skipped ?? []).map(toJsonRef),
154
+ }),
155
+ warnings: failures,
156
+ });
157
+ }
158
+ else {
159
+ printSummary({ appName, mode, access, inputCount: refs.length, outcome });
160
+ }
103
161
  }
104
- else {
105
- printSummary({ appName, mode, access, inputCount: refs.length, outcome });
162
+ catch (error) {
163
+ scenario.failure(error);
164
+ throw error;
106
165
  }
107
166
  }
108
167
  async function shareDispatchAsync(inputs) {
109
- const { tenantId, environmentId, appName, access, refs } = inputs;
168
+ const { tenantId, environmentId, appName, access, refs, repoType, jsonMode } = inputs;
110
169
  if (access === 'play') {
111
- const entries = refs.map(toMaafPermissionEntry);
170
+ const entries = refs.map((r) => toMaafPermissionEntry(r, MaafAppReaderRoleName));
171
+ const result = await modifyMaafRoleAssignmentsAsync({
172
+ tenantId,
173
+ environmentId,
174
+ logger: getCliLogger(),
175
+ actionsParams: { appName, put: entries, delete: [] },
176
+ });
177
+ return { result, scope: 'app', role: MaafAppReaderRoleName };
178
+ }
179
+ // access === 'edit': route by repoType.
180
+ if (repoType !== 'native') {
181
+ // The app has no platform-managed repository, so grant contributor access
182
+ // at the app scope instead of going through GRS.
183
+ if (!jsonMode) {
184
+ printInfo(`App '${appName}' has no platform-managed repository, so granting contributor access at the app scope instead of repository scope.`);
185
+ }
186
+ const entries = refs.map((r) => toMaafPermissionEntry(r, MaafAppContributorRoleName));
112
187
  const result = await modifyMaafRoleAssignmentsAsync({
113
188
  tenantId,
114
189
  environmentId,
115
190
  logger: getCliLogger(),
116
191
  actionsParams: { appName, put: entries, delete: [] },
117
192
  });
118
- return { result };
193
+ return { result, scope: 'app', role: MaafAppContributorRoleName };
119
194
  }
120
195
  const repoId = await resolveRepositoryIdAsync({ tenantId, environmentId, appName });
121
196
  const entries = refs.map(toGrsPermissionEntry);
@@ -125,30 +200,49 @@ async function shareDispatchAsync(inputs) {
125
200
  logger: getCliLogger(),
126
201
  actionsParams: { repoId, put: entries, delete: [] },
127
202
  });
128
- return { result };
203
+ return { result, scope: 'repo', role: GrsRepositoryContributorRoleName };
129
204
  }
130
205
  async function unshareDispatchAsync(inputs) {
131
- const { tenantId, environmentId, appName, access, refs } = inputs;
206
+ const { tenantId, environmentId, appName, access, refs, repoType, jsonMode } = inputs;
132
207
  const principalIds = refs.map((r) => r.id);
133
208
  const refsByPrincipalId = new Map(refs.map((r) => [r.id, r]));
134
- const actionResult = access === 'play'
135
- ? await unshareMaafAppByPrincipalsAsync({
209
+ const useAppScope = access === 'play' || repoType !== 'native';
210
+ const role = useAppScope
211
+ ? access === 'play'
212
+ ? MaafAppReaderRoleName
213
+ : MaafAppContributorRoleName
214
+ : GrsRepositoryContributorRoleName;
215
+ let actionResult;
216
+ if (useAppScope) {
217
+ if (access === 'edit') {
218
+ if (!jsonMode) {
219
+ printInfo(`App '${appName}' has no platform-managed repository, so revoking contributor access at the app scope instead of repository scope.`);
220
+ }
221
+ }
222
+ actionResult = await unshareMaafAppByPrincipalsAsync({
136
223
  tenantId,
137
224
  environmentId,
138
225
  logger: getCliLogger(),
139
- actionsParams: { appName, principalIds },
140
- })
141
- : await (async () => {
142
- const repoId = await resolveRepositoryIdAsync({ tenantId, environmentId, appName });
143
- return unshareGrsRepoByPrincipalsAsync({
144
- tenantId,
145
- environmentId,
146
- logger: getCliLogger(),
147
- actionsParams: { repoId, principalIds },
148
- });
149
- })();
226
+ actionsParams: {
227
+ appName,
228
+ principalIds,
229
+ roleDefinitionName: role,
230
+ },
231
+ });
232
+ }
233
+ else {
234
+ const repoId = await resolveRepositoryIdAsync({ tenantId, environmentId, appName });
235
+ actionResult = await unshareGrsRepoByPrincipalsAsync({
236
+ tenantId,
237
+ environmentId,
238
+ logger: getCliLogger(),
239
+ actionsParams: { repoId, principalIds },
240
+ });
241
+ }
150
242
  return {
151
243
  result: actionResult.result,
244
+ scope: useAppScope ? 'app' : 'repo',
245
+ role,
152
246
  revokedCount: actionResult.revokedCount,
153
247
  revokedPrincipalCount: actionResult.revokedPrincipalCount,
154
248
  notFound: actionResult.notFoundPrincipalIds.map((id) => refsByPrincipalId.get(id) ?? { id, input: id }),
@@ -156,6 +250,27 @@ async function unshareDispatchAsync(inputs) {
156
250
  { id: s.principalObjectId, input: s.principalObjectId }),
157
251
  };
158
252
  }
253
+ /**
254
+ * Resolves the effective {@link RepoType} from an `AppConfig`.
255
+ *
256
+ * Hard rule: if `repoType` is missing AND the config carries a (non-empty,
257
+ * non-zero-GUID) `repositoryId`, refuse to guess - the user must re-run
258
+ * `app init` to migrate the config. When both are missing we treat it as
259
+ * `'none'`: there is no repo-scope to act on, and the app-scope fallback in
260
+ * the share/unshare dispatchers handles edit correctly.
261
+ */
262
+ function resolveRepoType(appConfig) {
263
+ if (appConfig.repoType) {
264
+ return appConfig.repoType;
265
+ }
266
+ const hasRepoId = !!appConfig.repositoryId && appConfig.repositoryId !== '00000000-0000-0000-0000-000000000000';
267
+ if (hasRepoId) {
268
+ throw new UsageError(`${AppConfigFileName} is missing the 'repoType' field but has a 'repositoryId' set. ` +
269
+ `This usually means the file was written by an older CLI. ` +
270
+ `Re-run "npx ${CLI_BINARY_NAME} app init" to migrate the config, then retry.`);
271
+ }
272
+ return 'none';
273
+ }
159
274
  /**
160
275
  * Fetches the app's `repositoryId` via the info action. Used by the `edit`
161
276
  * access paths to drive the GRS repo-scope share/unshare endpoints.
@@ -177,13 +292,16 @@ async function resolveRepositoryIdAsync(args) {
177
292
  * verb keeps its pre-flag behaviour for callers that haven't migrated. Throws
178
293
  * a `UsageError` on any other value — Commander.js doesn't enforce enum
179
294
  * membership by default and we want a precise error message.
295
+ *
296
+ * `play` and `edit` are the only externally visible levels. The role and scope
297
+ * the level resolves to are decided downstream (see {@link MaafAppAccessLevel}).
180
298
  */
181
299
  function parseAccessLevel(raw) {
182
300
  const value = (raw ?? 'play').trim().toLowerCase();
183
301
  if (value === 'play' || value === 'edit') {
184
302
  return value;
185
303
  }
186
- throw new UsageError(`Unknown --access value '${raw}'. Use 'play' (default — app access) or 'edit' (repository access).`);
304
+ throw new UsageError(`Unknown --access value '${raw}'. Use 'play' (default — app access) or 'edit' (edit access).`);
187
305
  }
188
306
  /**
189
307
  * Splits a comma-separated string into a deduplicated, trimmed list of inputs.
@@ -289,6 +407,15 @@ function formatFailures(failures) {
289
407
  */
290
408
  function extractGraphErrorMessage(error) {
291
409
  if (error instanceof HttpClientError) {
410
+ // A 403 from Graph is a consent/permission problem with the caller's
411
+ // sign-in, not a bad principal. Echoing Graph's opaque "Insufficient
412
+ // privileges to complete the operation" under the "Could not resolve
413
+ // <email>" heading misleads users into thinking the email is wrong, so we
414
+ // replace it with an actionable message naming the real cause and the
415
+ // ways forward. See {@link formatGraphPermissionError}.
416
+ if (error.status === 403) {
417
+ return formatGraphPermissionError(error.status);
418
+ }
292
419
  const message = extractGraphMessageFromBody(error.body);
293
420
  if (message !== undefined) {
294
421
  return `Graph ${error.status}: ${message}`;
@@ -297,6 +424,21 @@ function extractGraphErrorMessage(error) {
297
424
  }
298
425
  return error instanceof Error ? error.message : String(error);
299
426
  }
427
+ /**
428
+ * Builds the actionable reason for a Graph 403 hit during principal resolution.
429
+ * The email→object-id lookup needs the `User.ReadBasic.All` and
430
+ * `Group.Read.All` delegated Graph permissions; a 403 means the active
431
+ * account's token doesn't carry them in this tenant (consent was never
432
+ * granted). Rather than surface Graph's opaque "Insufficient privileges", we
433
+ * name the cause and the two ways forward: get those permissions consented, or
434
+ * skip the lookup entirely by passing the AAD object ID (GUID) instead of an
435
+ * email.
436
+ */
437
+ function formatGraphPermissionError(status) {
438
+ return (`Graph ${status}: your sign-in lacks permission to look up accounts by email. ` +
439
+ `Pass the AAD object ID (GUID) instead, or have an admin grant the ` +
440
+ `User.ReadBasic.All and Group.Read.All Graph permissions.`);
441
+ }
300
442
  /**
301
443
  * Parses a Graph error body string and returns the inner `error.message`. Returns
302
444
  * `undefined` if the body is missing, not valid JSON, or doesn't carry the
@@ -331,11 +473,11 @@ function looksLikeEmail(input) {
331
473
  * (when the user supplied one) keeps the wire payload self-describing for server
332
474
  * logs even though the response strips it.
333
475
  */
334
- function toMaafPermissionEntry(ref) {
476
+ function toMaafPermissionEntry(ref, role) {
335
477
  return {
336
478
  name: ref.displayName ?? ref.input,
337
479
  properties: {
338
- roleName: MaafAppReaderRoleName,
480
+ roleName: role,
339
481
  principal: ref.email ? { id: ref.id, email: ref.email } : { id: ref.id },
340
482
  },
341
483
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MaafAppPermissions.js","sourceRoot":"","sources":["../../src/Verbs/MaafAppPermissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaafAppPermissions.js","sourceRoot":"","sources":["../../src/Verbs/MaafAppPermissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pack.d.ts","sourceRoot":"","sources":["../../src/Verbs/Pack.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAOvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAsB5D,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,6HAA6H;IAC7H,gBAAgB,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,SAAS,IAAI,SAAS,GAC/B,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAY5E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CA0GzF;AAiDD,wBAAsB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcjF"}
1
+ {"version":3,"file":"Pack.d.ts","sourceRoot":"","sources":["../../src/Verbs/Pack.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAOvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAsB5D,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,6HAA6H;IAC7H,gBAAgB,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,SAAS,IAAI,SAAS,GAC/B,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAY5E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwHzF;AAiDD,wBAAsB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcjF"}
@@ -95,6 +95,16 @@ export async function packAppArtifactAsync(options = {}) {
95
95
  if (hasFunctionsArchive && baseDirName !== undefined) {
96
96
  Object.assign(routes, buildFunctionRoutes(functions, baseDirName));
97
97
  }
98
+ let iconFileName;
99
+ if (appConfig.iconPath) {
100
+ const resolvedIconPath = path.join(projectRoot, appConfig.iconPath);
101
+ const ext = path.extname(resolvedIconPath).toLowerCase();
102
+ if (ext !== '.png' && ext !== '.jpg') {
103
+ throw new ConfigurationError(`iconPath in ${AppConfigFileName} must reference a .png or .jpg file, but got "${path.basename(resolvedIconPath)}".`);
104
+ }
105
+ iconFileName = path.basename(resolvedIconPath);
106
+ await fsp.copyFile(resolvedIconPath, path.join(packAppOutputDir, iconFileName));
107
+ }
98
108
  const manifest = {
99
109
  cliVersion: packageJson.version,
100
110
  manifestVersion: PACK_MANIFEST_VERSION,
@@ -108,6 +118,7 @@ export async function packAppArtifactAsync(options = {}) {
108
118
  },
109
119
  }
110
120
  : {}),
121
+ ...(iconFileName ? { iconPath: iconFileName } : {}),
111
122
  routes,
112
123
  };
113
124
  const manifestContent = JSON.stringify(manifest, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"Pack.js","sourceRoot":"","sources":["../../src/Verbs/Pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pack.js","sourceRoot":"","sources":["../../src/Verbs/Pack.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshGitAuth.d.ts","sourceRoot":"","sources":["../../src/Verbs/RefreshGitAuth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2G3F"}
1
+ {"version":3,"file":"RefreshGitAuth.d.ts","sourceRoot":"","sources":["../../src/Verbs/RefreshGitAuth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H3F"}
@@ -2,11 +2,12 @@
2
2
  * Copyright (C) Microsoft Corporation. All rights reserved.
3
3
  */
4
4
  /**
5
- * `git auth refresh` verb: bind the caller's GitHub identity to a `ghe.com` repo by
6
- * running the GitHub Device Code Flow through the Managed Apps GitHub App. The
7
- * verb owns argument parsing, display selection (console vs NDJSON), browser
8
- * launching policy, and error mapping; the action layer
9
- * (`authenticateForRepoAsync`) owns the DCF state machine itself.
5
+ * `git auth refresh` verb: bind the caller's GitHub identity to a GitHub repo
6
+ * (a `*.ghe.com` tenant URL or `github.com`) by running the GitHub Device Code
7
+ * Flow through the Managed Apps GitHub App. The verb owns argument parsing,
8
+ * display selection (console vs NDJSON), browser launching policy, and error
9
+ * mapping; the action layer (`authenticateForRepoAsync`) owns the DCF state
10
+ * machine itself.
10
11
  */
11
12
  import { authenticateForRepoAsync, GrsServerError, } from '@microsoft/managed-apps-actions';
12
13
  import { computeRepoHash } from '@microsoft/managed-apps-common/utils/RepoHash';
@@ -17,7 +18,7 @@ import { UsageError } from '../Errors/CliError.js';
17
18
  import { mapGitHubServerErrorToCliError } from '../Errors/GitHubErrorMap.js';
18
19
  import { printJsonSuccess, printSuccess } from '../Utils/ConsoleOutput.js';
19
20
  import { ConsoleGitHubDcfDisplay, JsonGitHubDcfDisplay } from '../Utils/GitHubDcfFlow.js';
20
- import { parseGitHubRepoUrl } from '../Utils/RepoUrl.js';
21
+ import { parseRemoteUrl } from '../Utils/RepoUrl.js';
21
22
  import { GitAuthRefreshArguments } from './VerbConstants.js';
22
23
  export async function refreshGitAuthAsync(argumentProvider) {
23
24
  createOptionSchema(argumentProvider);
@@ -43,14 +44,22 @@ export async function refreshGitAuthAsync(argumentProvider) {
43
44
  const repoUrl = await argumentProvider.getOption(GitAuthRefreshArguments.Repo.name);
44
45
  if (!repoUrl) {
45
46
  throw new UsageError('Argument repo is required. Use --repo or -r to specify the GitHub repository ' +
46
- '(e.g. --repo contoso.ghe.com/contoso/my-app).');
47
+ '(e.g. --repo https://contoso.ghe.com/contoso/my-app).');
47
48
  }
48
- // parseGitHubRepoUrl throws UsageError for hosts outside `*.ghe.com` and malformed input.
49
- const { host, owner, repo } = parseGitHubRepoUrl(repoUrl);
50
- // Emit Git.Auth.Refresh.Start once the verb knows it has a well-formed
51
- // GHE-tenant target. Properties are PII-safe (host is the parsed string and
52
- // repoHash is a truncated SHA256 see computeRepoHash).
53
- const repoHash = computeRepoHash(owner, repo);
49
+ // Best-effort generic URL split: used only for PII-safe telemetry shaping
50
+ // (host + repoHash) and to normalize the URL we forward to the actions
51
+ // layer. The CLI no longer performs scheme/host/shape validation — the
52
+ // server is the sole authoritative validator, and the actions layer also
53
+ // forwards untouched URLs (it only requires a non-empty host so it can
54
+ // compose an OAuth base URI). On parse failure we still emit
55
+ // Git.Auth.Refresh.Start with empty repoHost/repoHash (preserving the
56
+ // property keys for downstream Kusto consumers) and forward the unmodified
57
+ // URL to the actions layer.
58
+ const { host, owner, repo } = parseRemoteUrl(repoUrl);
59
+ const repoHash = owner && repo ? computeRepoHash(owner, repo) : '';
60
+ // Emit Git.Auth.Refresh.Start. Properties are PII-safe (host is the parsed
61
+ // string and repoHash is a truncated SHA256 — see computeRepoHash). When the
62
+ // URL fails to parse, both fields are emitted as empty strings.
54
63
  getCliLogger().trackActivityEvent('Git.Auth.Refresh.Start', {
55
64
  repoHost: host,
56
65
  repoHash,
@@ -70,9 +79,15 @@ export async function refreshGitAuthAsync(argumentProvider) {
70
79
  controller.abort();
71
80
  };
72
81
  process.once('SIGINT', onSigint);
82
+ // When parse succeeded, normalize the URL to a canonical https://host/owner/repo
83
+ // shape; otherwise pass the user-supplied URL through to the server unchanged.
84
+ const normalizedRemoteUrl = host && owner && repo ? `https://${host}/${owner}/${repo}` : repoUrl;
85
+ // Likewise, the success message uses owner/repo when known and falls back
86
+ // to the raw URL otherwise.
87
+ const repoLabel = owner && repo ? `${owner}/${repo}` : repoUrl;
73
88
  try {
74
89
  const result = await authenticateForRepoAsync({
75
- remoteUrl: `https://${host}/${owner}/${repo}`,
90
+ remoteUrl: normalizedRemoteUrl,
76
91
  tenantId,
77
92
  logger: getCliLogger(),
78
93
  display,
@@ -90,7 +105,7 @@ export async function refreshGitAuthAsync(argumentProvider) {
90
105
  else {
91
106
  // "expires around" wording (vs. "valid until") signals that the timestamp
92
107
  // is approximate — the server may revise it via TTL config changes (D16).
93
- printSuccess(`Authenticated as ${result.githubLogin} for ${owner}/${repo}.`);
108
+ printSuccess(`Authenticated as ${result.githubLogin} for ${repoLabel}.`);
94
109
  printSuccess(`Mapping established; expires around ${result.mappingExpiresAt}.`);
95
110
  }
96
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshGitAuth.js","sourceRoot":"","sources":["../../src/Verbs/RefreshGitAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefreshGitAuth.js","sourceRoot":"","sources":["../../src/Verbs/RefreshGitAuth.ts"],"names":[],"mappings":"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"}