@microsoft/managed-apps-cli 0.7.0 → 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.
Files changed (116) hide show
  1. package/README.md +31 -1
  2. package/dist/ArgumentProvider.d.ts +11 -0
  3. package/dist/ArgumentProvider.d.ts.map +1 -1
  4. package/dist/ArgumentProvider.js +36 -1
  5. package/dist/ArgumentProvider.js.map +1 -1
  6. package/dist/Cli.d.ts.map +1 -1
  7. package/dist/Cli.js +1 -0
  8. package/dist/Cli.js.map +1 -1
  9. package/dist/CliSettings.d.ts.map +1 -1
  10. package/dist/CliSettings.js +1 -2
  11. package/dist/CliSettings.js.map +1 -1
  12. package/dist/CliUtils.d.ts +9 -2
  13. package/dist/CliUtils.d.ts.map +1 -1
  14. package/dist/CliUtils.js +4 -0
  15. package/dist/CliUtils.js.map +1 -1
  16. package/dist/Constants/CommandRegistry.d.ts.map +1 -1
  17. package/dist/Constants/CommandRegistry.js +28 -1
  18. package/dist/Constants/CommandRegistry.js.map +1 -1
  19. package/dist/Constants/HelpStrings.d.ts +54 -4
  20. package/dist/Constants/HelpStrings.d.ts.map +1 -1
  21. package/dist/Constants/HelpStrings.js +104 -33
  22. package/dist/Constants/HelpStrings.js.map +1 -1
  23. package/dist/Errors/GitHubErrorMap.d.ts.map +1 -1
  24. package/dist/Errors/GitHubErrorMap.js +1 -1
  25. package/dist/Errors/GitHubErrorMap.js.map +1 -1
  26. package/dist/FS/CliFs.d.ts.map +1 -1
  27. package/dist/FS/CliFs.js.map +1 -1
  28. package/dist/HttpClient/CliHttpClient.d.ts +17 -0
  29. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
  30. package/dist/HttpClient/CliHttpClient.js +112 -1
  31. package/dist/HttpClient/CliHttpClient.js.map +1 -1
  32. package/dist/Logger/CliLogger.d.ts.map +1 -1
  33. package/dist/Logger/CliLogger.js +1 -1
  34. package/dist/Logger/CliLogger.js.map +1 -1
  35. package/dist/Types/Command.types.d.ts +14 -3
  36. package/dist/Types/Command.types.d.ts.map +1 -1
  37. package/dist/Types/Command.types.js +4 -0
  38. package/dist/Types/Command.types.js.map +1 -1
  39. package/dist/Utils/BuildPolling.d.ts +18 -0
  40. package/dist/Utils/BuildPolling.d.ts.map +1 -0
  41. package/dist/Utils/BuildPolling.js +63 -0
  42. package/dist/Utils/BuildPolling.js.map +1 -0
  43. package/dist/Utils/BuildVerbDescriptionTable.d.ts +11 -1
  44. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -1
  45. package/dist/Utils/BuildVerbDescriptionTable.js +73 -17
  46. package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -1
  47. package/dist/Utils/DcfRecovery.d.ts +84 -0
  48. package/dist/Utils/DcfRecovery.d.ts.map +1 -0
  49. package/dist/Utils/DcfRecovery.js +258 -0
  50. package/dist/Utils/DcfRecovery.js.map +1 -0
  51. package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -1
  52. package/dist/Utils/EnhanceNetworkError.js +2 -0
  53. package/dist/Utils/EnhanceNetworkError.js.map +1 -1
  54. package/dist/Utils/EnvVars.d.ts +1 -1
  55. package/dist/Utils/EnvVars.d.ts.map +1 -1
  56. package/dist/Utils/EnvVars.js.map +1 -1
  57. package/dist/Utils/ResolveCommand.d.ts +7 -1
  58. package/dist/Utils/ResolveCommand.d.ts.map +1 -1
  59. package/dist/Utils/ResolveCommand.js +38 -20
  60. package/dist/Utils/ResolveCommand.js.map +1 -1
  61. package/dist/Verbs/AddConnector.d.ts.map +1 -1
  62. package/dist/Verbs/AddConnector.js.map +1 -1
  63. package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -1
  64. package/dist/Verbs/AddConnectorFlows.js +2 -2
  65. package/dist/Verbs/AddConnectorFlows.js.map +1 -1
  66. package/dist/Verbs/BuildMaafApp.d.ts.map +1 -1
  67. package/dist/Verbs/BuildMaafApp.js +98 -22
  68. package/dist/Verbs/BuildMaafApp.js.map +1 -1
  69. package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -1
  70. package/dist/Verbs/ConnectorHelpers.js.map +1 -1
  71. package/dist/Verbs/CreateMaafApp.d.ts +49 -0
  72. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
  73. package/dist/Verbs/CreateMaafApp.js +197 -215
  74. package/dist/Verbs/CreateMaafApp.js.map +1 -1
  75. package/dist/Verbs/DeployMaafApp.d.ts.map +1 -1
  76. package/dist/Verbs/DeployMaafApp.js +48 -20
  77. package/dist/Verbs/DeployMaafApp.js.map +1 -1
  78. package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -1
  79. package/dist/Verbs/GetMaafBuildStatus.js +66 -17
  80. package/dist/Verbs/GetMaafBuildStatus.js.map +1 -1
  81. package/dist/Verbs/Init.d.ts.map +1 -1
  82. package/dist/Verbs/Init.js +44 -2
  83. package/dist/Verbs/Init.js.map +1 -1
  84. package/dist/Verbs/ListFlows.d.ts.map +1 -1
  85. package/dist/Verbs/ListFlows.js +1 -2
  86. package/dist/Verbs/ListFlows.js.map +1 -1
  87. package/dist/Verbs/PlayMaafApp.d.ts +22 -0
  88. package/dist/Verbs/PlayMaafApp.d.ts.map +1 -0
  89. package/dist/Verbs/PlayMaafApp.js +147 -0
  90. package/dist/Verbs/PlayMaafApp.js.map +1 -0
  91. package/dist/Verbs/RefreshDataSource.d.ts.map +1 -1
  92. package/dist/Verbs/RefreshDataSource.js.map +1 -1
  93. package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -1
  94. package/dist/Verbs/RefreshGitAuth.js +1 -1
  95. package/dist/Verbs/RefreshGitAuth.js.map +1 -1
  96. package/dist/Verbs/ShareLinkCreate.d.ts +23 -0
  97. package/dist/Verbs/ShareLinkCreate.d.ts.map +1 -0
  98. package/dist/Verbs/ShareLinkCreate.js +73 -0
  99. package/dist/Verbs/ShareLinkCreate.js.map +1 -0
  100. package/dist/Verbs/ShareLinkList.d.ts +16 -0
  101. package/dist/Verbs/ShareLinkList.d.ts.map +1 -0
  102. package/dist/Verbs/ShareLinkList.js +84 -0
  103. package/dist/Verbs/ShareLinkList.js.map +1 -0
  104. package/dist/Verbs/ShareLinkRevoke.d.ts +22 -0
  105. package/dist/Verbs/ShareLinkRevoke.d.ts.map +1 -0
  106. package/dist/Verbs/ShareLinkRevoke.js +137 -0
  107. package/dist/Verbs/ShareLinkRevoke.js.map +1 -0
  108. package/dist/Verbs/VerbConstants.d.ts +104 -8
  109. package/dist/Verbs/VerbConstants.d.ts.map +1 -1
  110. package/dist/Verbs/VerbConstants.js +96 -13
  111. package/dist/Verbs/VerbConstants.js.map +1 -1
  112. package/dist/Verbs/index.d.ts +4 -0
  113. package/dist/Verbs/index.d.ts.map +1 -1
  114. package/dist/Verbs/index.js +4 -0
  115. package/dist/Verbs/index.js.map +1 -1
  116. package/package.json +4 -4
@@ -0,0 +1,147 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { infoAsync } from '@microsoft/managed-apps-actions';
5
+ import open from 'open';
6
+ import { getCliLogger } from '../CliSettings.js';
7
+ import { resolveAppNameAsync, resolveEnvironmentId } from '../CliUtils.js';
8
+ import { HelpStrings } from '../Constants/HelpStrings.js';
9
+ import { UsageError } from '../Errors/CliError.js';
10
+ import { printInfo, printJsonSuccess, printSuccess, printWarning } from '../Utils/ConsoleOutput.js';
11
+ import { PlayMaafAppArguments } from './VerbConstants.js';
12
+ /**
13
+ * Implements `ms app play` — opens a Microsoft App in the browser and prints
14
+ * the launch URL.
15
+ *
16
+ * Modes:
17
+ * - `live` (default): fetches the deployed app via `infoAsync` and opens
18
+ * `appPlayUri`. Warns that the live build is a snapshot — users must run
19
+ * `ms app deploy` to update it. If no `appPlayUri` exists yet, surfaces a
20
+ * `UsageError` directing the user to deploy first.
21
+ * - `preview`: opens the returned `appPlayUri` with a preview route suffix:
22
+ * `/branch/main` by default, or `/commit/:commitId` when `--commit` is
23
+ * supplied.
24
+ */
25
+ export async function playMaafAppAsync(argumentProvider) {
26
+ configureOptionSchema(argumentProvider);
27
+ await argumentProvider.runVerb();
28
+ const appName = await resolveAppNameAsync(argumentProvider);
29
+ const environmentId = await resolveEnvironmentId(argumentProvider);
30
+ const tenantId = await argumentProvider.getTenantIdAsync();
31
+ if (!tenantId) {
32
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
33
+ }
34
+ const mode = await resolveMode(argumentProvider);
35
+ const noBrowser = (await argumentProvider.getOption('noBrowser', /* ignorePrompt */ true)) === true;
36
+ const isJson = argumentProvider.isJsonMode();
37
+ const commitId = await argumentProvider.getOption(PlayMaafAppArguments.CommitSha.name,
38
+ /* ignorePrompt */ true);
39
+ if (mode === 'live' && commitId) {
40
+ throw new UsageError(`--commit is only valid with --mode preview.`);
41
+ }
42
+ await playAsync({
43
+ appName,
44
+ environmentId,
45
+ tenantId,
46
+ noBrowser,
47
+ isJson,
48
+ mode,
49
+ commitId,
50
+ });
51
+ }
52
+ async function playAsync(ctx) {
53
+ const { appName, environmentId, tenantId, noBrowser, isJson, mode, commitId } = ctx;
54
+ const app = await infoAsync({
55
+ tenantId,
56
+ environmentId,
57
+ logger: getCliLogger(),
58
+ actionsParams: { appName },
59
+ });
60
+ const url = buildPlayUrl(app.appPlayUri, mode, commitId);
61
+ if (!url) {
62
+ throw new UsageError(mode === 'live'
63
+ ? `No live build is available for app '${appName}' yet. Run 'ms app deploy' to deploy one, then re-run 'ms app play'.`
64
+ : `No appPlayUri is available for app '${appName}' in environment '${environmentId}'.`);
65
+ }
66
+ if (isJson) {
67
+ printJsonSuccess({ appName, mode, url, commitHash: app.commitHash ?? null });
68
+ return;
69
+ }
70
+ printSuccess(`${mode === 'live' ? 'Live' : 'Preview'} URL for '${app.displayName ?? appName}': ${url}`);
71
+ if (mode === 'live') {
72
+ printWarning("Live does not auto-update. Run 'ms app deploy' to publish a new version to the live URL.");
73
+ }
74
+ await openBrowserAsync(url, noBrowser);
75
+ }
76
+ // Mirrors the player routes in apps/maaf-player/src/App.tsx:
77
+ // /appframework/e/:envId/app/:appId, /branch/:branch, and /commit/:commit.
78
+ // Branch values are URL-encoded so names containing `/` remain a single route segment.
79
+ export function buildPlayUrl(appPlayUri, mode, commitId, branchName = 'main') {
80
+ if (!appPlayUri) {
81
+ return undefined;
82
+ }
83
+ if (mode === 'live') {
84
+ return appPlayUri;
85
+ }
86
+ const baseUrl = appPlayUri.replace(/\/$/, '');
87
+ return commitId
88
+ ? `${baseUrl}/commit/${commitId}`
89
+ : `${baseUrl}/branch/${encodeURIComponent(branchName)}`;
90
+ }
91
+ async function openBrowserAsync(url, noBrowser) {
92
+ if (noBrowser) {
93
+ return;
94
+ }
95
+ printInfo(`Opening browser at ${url}`);
96
+ try {
97
+ await open(url, { wait: false });
98
+ }
99
+ catch {
100
+ printInfo(`Could not open browser automatically. Please navigate to:\n ${url}`);
101
+ }
102
+ }
103
+ async function resolveMode(argumentProvider) {
104
+ const raw = await argumentProvider.getOption(PlayMaafAppArguments.Mode.name,
105
+ /* ignorePrompt */ true);
106
+ const value = (raw ?? PlayMaafAppArguments.Mode.defaultValue).trim().toLowerCase();
107
+ if (value !== 'live' && value !== 'preview') {
108
+ throw new UsageError(`Invalid --mode value '${raw}'. Expected 'live' or 'preview'.`);
109
+ }
110
+ return value;
111
+ }
112
+ function configureOptionSchema(argumentProvider) {
113
+ argumentProvider.setDescription(HelpStrings.app.play.description);
114
+ argumentProvider.addExamples(HelpStrings.app.play.examples);
115
+ argumentProvider.addSwitch({
116
+ flags: { key: PlayMaafAppArguments.NoBrowser.name },
117
+ description: HelpStrings.app.play.options.noBrowser,
118
+ });
119
+ argumentProvider.addOptions([
120
+ {
121
+ flags: { key: PlayMaafAppArguments.AppName.name },
122
+ env: PlayMaafAppArguments.AppName.envVar,
123
+ description: HelpStrings.app.play.options.app,
124
+ optionalInNonInteractive: true,
125
+ },
126
+ {
127
+ flags: {
128
+ key: PlayMaafAppArguments.Mode.name,
129
+ alias: PlayMaafAppArguments.Mode.alias,
130
+ },
131
+ env: PlayMaafAppArguments.Mode.envVar,
132
+ default: PlayMaafAppArguments.Mode.defaultValue,
133
+ description: HelpStrings.app.play.options.mode,
134
+ optionalInNonInteractive: true,
135
+ },
136
+ {
137
+ flags: {
138
+ key: PlayMaafAppArguments.CommitSha.name,
139
+ alias: PlayMaafAppArguments.CommitSha.alias,
140
+ },
141
+ env: PlayMaafAppArguments.CommitSha.envVar,
142
+ description: HelpStrings.app.play.options.commit,
143
+ optionalInNonInteractive: true,
144
+ },
145
+ ]);
146
+ }
147
+ //# sourceMappingURL=PlayMaafApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayMaafApp.js","sourceRoot":"","sources":["../../src/Verbs/PlayMaafApp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshDataSource.d.ts","sourceRoot":"","sources":["../../src/Verbs/RefreshDataSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C9F"}
1
+ {"version":3,"file":"RefreshDataSource.d.ts","sourceRoot":"","sources":["../../src/Verbs/RefreshDataSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshDataSource.js","sourceRoot":"","sources":["../../src/Verbs/RefreshDataSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefreshDataSource.js","sourceRoot":"","sources":["../../src/Verbs/RefreshDataSource.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;AAc5D,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;AAiBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2G3F"}
@@ -16,7 +16,7 @@ import { HelpStrings } from '../Constants/HelpStrings.js';
16
16
  import { UsageError } from '../Errors/CliError.js';
17
17
  import { mapGitHubServerErrorToCliError } from '../Errors/GitHubErrorMap.js';
18
18
  import { printJsonSuccess, printSuccess } from '../Utils/ConsoleOutput.js';
19
- import { ConsoleGitHubDcfDisplay, JsonGitHubDcfDisplay, } from '../Utils/GitHubDcfFlow.js';
19
+ import { ConsoleGitHubDcfDisplay, JsonGitHubDcfDisplay } from '../Utils/GitHubDcfFlow.js';
20
20
  import { parseGitHubRepoUrl } from '../Utils/RepoUrl.js';
21
21
  import { GitAuthRefreshArguments } from './VerbConstants.js';
22
22
  export async function refreshGitAuthAsync(argumentProvider) {
@@ -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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"}
@@ -0,0 +1,23 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ /**
6
+ * Implements `ms app share link create` — creates a tenant-wide share link for
7
+ * the current MAAF app.
8
+ *
9
+ * Pipeline:
10
+ * 1. Register option schema and run the verb (so `--help` works without a project).
11
+ * 2. Resolve `environmentId` (`--environment-id` flag wins; otherwise config)
12
+ * and `tenantId` from auth.
13
+ * 3. Resolve `appName` (config-first, `--app` override).
14
+ * 4. Call the action and emit either a JSON envelope or a human-readable success
15
+ * with the share link URL on its own line so it copies cleanly.
16
+ *
17
+ * `resolveEnvironmentId` and `resolveAppNameAsync` each throw a config-pointing
18
+ * `UsageError` when neither the corresponding flag nor `ms.config.json` is
19
+ * present, so the verb runs cleanly from a directory without config when both
20
+ * `--app` and `--environment-id` are supplied explicitly.
21
+ */
22
+ export declare function shareLinkCreateAsync(argumentProvider: ArgumentProvider): Promise<void>;
23
+ //# sourceMappingURL=ShareLinkCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareLinkCreate.d.ts","sourceRoot":"","sources":["../../src/Verbs/ShareLinkCreate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B5F"}
@@ -0,0 +1,73 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { createShareLinkAsync } from '@microsoft/managed-apps-actions';
5
+ import { getCliLogger } from '../CliSettings.js';
6
+ import { resolveAppNameAsync, resolveEnvironmentId } from '../CliUtils.js';
7
+ import { HelpStrings } from '../Constants/HelpStrings.js';
8
+ import { UsageError } from '../Errors/CliError.js';
9
+ import { printInfo, printJsonSuccess, printSuccess } from '../Utils/ConsoleOutput.js';
10
+ import { ShareLinkCreateArguments } from './VerbConstants.js';
11
+ /**
12
+ * Implements `ms app share link create` — creates a tenant-wide share link for
13
+ * the current MAAF app.
14
+ *
15
+ * Pipeline:
16
+ * 1. Register option schema and run the verb (so `--help` works without a project).
17
+ * 2. Resolve `environmentId` (`--environment-id` flag wins; otherwise config)
18
+ * and `tenantId` from auth.
19
+ * 3. Resolve `appName` (config-first, `--app` override).
20
+ * 4. Call the action and emit either a JSON envelope or a human-readable success
21
+ * with the share link URL on its own line so it copies cleanly.
22
+ *
23
+ * `resolveEnvironmentId` and `resolveAppNameAsync` each throw a config-pointing
24
+ * `UsageError` when neither the corresponding flag nor `ms.config.json` is
25
+ * present, so the verb runs cleanly from a directory without config when both
26
+ * `--app` and `--environment-id` are supplied explicitly.
27
+ */
28
+ export async function shareLinkCreateAsync(argumentProvider) {
29
+ configureOptionSchema(argumentProvider);
30
+ await argumentProvider.runVerb();
31
+ const environmentId = await resolveEnvironmentId(argumentProvider);
32
+ const tenantId = await argumentProvider.getTenantIdAsync();
33
+ if (!tenantId) {
34
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
35
+ }
36
+ const appName = await resolveAppNameAsync(argumentProvider);
37
+ const result = await createShareLinkAsync({
38
+ tenantId,
39
+ environmentId,
40
+ logger: getCliLogger(),
41
+ actionsParams: { appName },
42
+ });
43
+ if (argumentProvider.isJsonMode()) {
44
+ printJsonSuccess({ appName, ...result });
45
+ return;
46
+ }
47
+ printSuccess(`Share link created for '${appName}' (id: ${result.appShareLinkId}). Anyone in your tenant who opens this link will be granted Microsoft App Reader access. Share URL:`);
48
+ printInfo(result.shareLinkUrl);
49
+ }
50
+ function configureOptionSchema(argumentProvider) {
51
+ argumentProvider.setDescription(HelpStrings.app.shareLink.create.description);
52
+ argumentProvider.addExamples(HelpStrings.app.shareLink.create.examples);
53
+ argumentProvider.addOptions([
54
+ {
55
+ flags: {
56
+ key: ShareLinkCreateArguments.AppName.name,
57
+ },
58
+ env: ShareLinkCreateArguments.AppName.envVar,
59
+ description: HelpStrings.app.shareLink.create.options.app,
60
+ optionalInNonInteractive: true,
61
+ },
62
+ {
63
+ flags: {
64
+ key: ShareLinkCreateArguments.EnvironmentId.name,
65
+ alias: ShareLinkCreateArguments.EnvironmentId.alias,
66
+ },
67
+ env: ShareLinkCreateArguments.EnvironmentId.envVar,
68
+ description: HelpStrings.app.shareLink.create.options.environmentId,
69
+ optionalInNonInteractive: true,
70
+ },
71
+ ]);
72
+ }
73
+ //# sourceMappingURL=ShareLinkCreate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareLinkCreate.js","sourceRoot":"","sources":["../../src/Verbs/ShareLinkCreate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,gBAAkC;IAC3E,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;QACxC,QAAQ;QACR,aAAa;QACb,MAAM,EAAE,YAAY,EAAE;QACtB,aAAa,EAAE,EAAE,OAAO,EAAE;KAC3B,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,gBAAgB,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,YAAY,CACV,2BAA2B,OAAO,UAAU,MAAM,CAAC,cAAc,sGAAsG,CACxK,CAAC;IACF,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,qBAAqB,CAAC,gBAAkC;IAC/D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9E,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxE,gBAAgB,CAAC,UAAU,CAAC;QAC1B;YACE,KAAK,EAAE;gBACL,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI;aAC3C;YACD,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,MAAM;YAC5C,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;YACzD,wBAAwB,EAAE,IAAI;SAC/B;QACD;YACE,KAAK,EAAE;gBACL,GAAG,EAAE,wBAAwB,CAAC,aAAa,CAAC,IAAI;gBAChD,KAAK,EAAE,wBAAwB,CAAC,aAAa,CAAC,KAAK;aACpD;YACD,GAAG,EAAE,wBAAwB,CAAC,aAAa,CAAC,MAAM;YAClD,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa;YACnE,wBAAwB,EAAE,IAAI;SAC/B;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ /**
6
+ * Implements `ms app share link list` — lists every share link issued for the
7
+ * current MAAF app. The server emits no pagination cursor today, so `value` is
8
+ * the complete set.
9
+ *
10
+ * `resolveEnvironmentId` and `resolveAppNameAsync` each throw a config-pointing
11
+ * `UsageError` when neither the corresponding flag nor `ms.config.json` is
12
+ * present, so the verb runs cleanly from a directory without config when both
13
+ * `--app` and `--environment-id` are supplied explicitly.
14
+ */
15
+ export declare function shareLinkListAsync(argumentProvider: ArgumentProvider): Promise<void>;
16
+ //# sourceMappingURL=ShareLinkList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareLinkList.d.ts","sourceRoot":"","sources":["../../src/Verbs/ShareLinkList.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C1F"}
@@ -0,0 +1,84 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { listShareLinksAsync } from '@microsoft/managed-apps-actions';
5
+ import { getCliLogger } from '../CliSettings.js';
6
+ import { resolveAppNameAsync, resolveEnvironmentId } from '../CliUtils.js';
7
+ import { HelpStrings } from '../Constants/HelpStrings.js';
8
+ import { UsageError } from '../Errors/CliError.js';
9
+ import { printJsonSuccess, printTable } from '../Utils/ConsoleOutput.js';
10
+ import { ShareLinkListArguments } from './VerbConstants.js';
11
+ /**
12
+ * Implements `ms app share link list` — lists every share link issued for the
13
+ * current MAAF app. The server emits no pagination cursor today, so `value` is
14
+ * the complete set.
15
+ *
16
+ * `resolveEnvironmentId` and `resolveAppNameAsync` each throw a config-pointing
17
+ * `UsageError` when neither the corresponding flag nor `ms.config.json` is
18
+ * present, so the verb runs cleanly from a directory without config when both
19
+ * `--app` and `--environment-id` are supplied explicitly.
20
+ */
21
+ export async function shareLinkListAsync(argumentProvider) {
22
+ configureOptionSchema(argumentProvider);
23
+ await argumentProvider.runVerb();
24
+ const environmentId = await resolveEnvironmentId(argumentProvider);
25
+ const tenantId = await argumentProvider.getTenantIdAsync();
26
+ if (!tenantId) {
27
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
28
+ }
29
+ const appName = await resolveAppNameAsync(argumentProvider);
30
+ const result = await listShareLinksAsync({
31
+ tenantId,
32
+ environmentId,
33
+ logger: getCliLogger(),
34
+ actionsParams: { appName },
35
+ });
36
+ if (argumentProvider.isJsonMode()) {
37
+ printJsonSuccess({ appName, ...result });
38
+ return;
39
+ }
40
+ // URL is intentionally omitted from the human-readable table — M365 deep
41
+ // links can exceed 100 chars and wrap ugly. Users who need the URL can run
42
+ // `--json` (returns every field) or re-`create` the link.
43
+ printTable({
44
+ title: `Share links for '${appName}'`,
45
+ columns: [
46
+ { header: 'LINK ID' },
47
+ { header: 'ROLE' },
48
+ { header: 'REDEEMERS' },
49
+ { header: 'CREATED BY', maxWidth: 36 },
50
+ ],
51
+ rows: result.value.map((link) => [
52
+ link.appShareLinkId,
53
+ link.maafAppRoleName,
54
+ String(link.redeemedPrincipalIds.length),
55
+ link.createdByObjectId,
56
+ ]),
57
+ emptyMessage: `No share links issued for '${appName}'.`,
58
+ totalLabel: 'link(s)',
59
+ });
60
+ }
61
+ function configureOptionSchema(argumentProvider) {
62
+ argumentProvider.setDescription(HelpStrings.app.shareLink.list.description);
63
+ argumentProvider.addExamples(HelpStrings.app.shareLink.list.examples);
64
+ argumentProvider.addOptions([
65
+ {
66
+ flags: {
67
+ key: ShareLinkListArguments.AppName.name,
68
+ },
69
+ env: ShareLinkListArguments.AppName.envVar,
70
+ description: HelpStrings.app.shareLink.list.options.app,
71
+ optionalInNonInteractive: true,
72
+ },
73
+ {
74
+ flags: {
75
+ key: ShareLinkListArguments.EnvironmentId.name,
76
+ alias: ShareLinkListArguments.EnvironmentId.alias,
77
+ },
78
+ env: ShareLinkListArguments.EnvironmentId.envVar,
79
+ description: HelpStrings.app.shareLink.list.options.environmentId,
80
+ optionalInNonInteractive: true,
81
+ },
82
+ ]);
83
+ }
84
+ //# sourceMappingURL=ShareLinkList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareLinkList.js","sourceRoot":"","sources":["../../src/Verbs/ShareLinkList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ /**
6
+ * Implements `ms app share link revoke` — revokes a previously-issued share
7
+ * link by id. The server attempts to remove the `MicrosoftAppReader` role for
8
+ * every prior redeemer before tearing down the link record; individual revoke
9
+ * failures are logged server-side but do not block the link's deletion.
10
+ *
11
+ * `404 AppShareLinkNotFound` is surfaced as a clean warning rather than an
12
+ * error — mirrors `ms app delete`'s "did not exist" handling. Any other 404
13
+ * (wrong route, wrong app, wrong environment) propagates so the caller sees
14
+ * the real failure.
15
+ *
16
+ * `resolveEnvironmentId` and `resolveAppNameAsync` each throw a config-pointing
17
+ * `UsageError` when neither the corresponding flag nor `ms.config.json` is
18
+ * present, so the verb runs cleanly from a directory without config when both
19
+ * `--app` and `--environment-id` are supplied explicitly.
20
+ */
21
+ export declare function shareLinkRevokeAsync(argumentProvider: ArgumentProvider): Promise<void>;
22
+ //# sourceMappingURL=ShareLinkRevoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareLinkRevoke.d.ts","sourceRoot":"","sources":["../../src/Verbs/ShareLinkRevoke.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5F"}
@@ -0,0 +1,137 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { revokeShareLinkAsync } from '@microsoft/managed-apps-actions';
5
+ import { HttpClientError } from '@microsoft/managed-apps-common/services';
6
+ import { getCliLogger, getSettings } from '../CliSettings.js';
7
+ import { promptConfirm, resolveAppNameAsync, resolveEnvironmentId } from '../CliUtils.js';
8
+ import { HelpStrings } from '../Constants/HelpStrings.js';
9
+ import { UsageError } from '../Errors/CliError.js';
10
+ import { printJsonSuccess, printSuccess, printWarning } from '../Utils/ConsoleOutput.js';
11
+ import { ShareLinkRevokeArguments } from './VerbConstants.js';
12
+ /**
13
+ * Implements `ms app share link revoke` — revokes a previously-issued share
14
+ * link by id. The server attempts to remove the `MicrosoftAppReader` role for
15
+ * every prior redeemer before tearing down the link record; individual revoke
16
+ * failures are logged server-side but do not block the link's deletion.
17
+ *
18
+ * `404 AppShareLinkNotFound` is surfaced as a clean warning rather than an
19
+ * error — mirrors `ms app delete`'s "did not exist" handling. Any other 404
20
+ * (wrong route, wrong app, wrong environment) propagates so the caller sees
21
+ * the real failure.
22
+ *
23
+ * `resolveEnvironmentId` and `resolveAppNameAsync` each throw a config-pointing
24
+ * `UsageError` when neither the corresponding flag nor `ms.config.json` is
25
+ * present, so the verb runs cleanly from a directory without config when both
26
+ * `--app` and `--environment-id` are supplied explicitly.
27
+ */
28
+ export async function shareLinkRevokeAsync(argumentProvider) {
29
+ configureOptionSchema(argumentProvider);
30
+ await argumentProvider.runVerb();
31
+ const environmentId = await resolveEnvironmentId(argumentProvider);
32
+ const tenantId = await argumentProvider.getTenantIdAsync();
33
+ if (!tenantId) {
34
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
35
+ }
36
+ const appName = await resolveAppNameAsync(argumentProvider);
37
+ const linkId = await argumentProvider.getOption(ShareLinkRevokeArguments.LinkId.name);
38
+ if (!linkId) {
39
+ throw new UsageError('Provide a share link ID via --link-id.');
40
+ }
41
+ const force = await argumentProvider.getOption(ShareLinkRevokeArguments.Force.name,
42
+ /* ignorePrompt */ true);
43
+ if (!force && getSettings().interactive) {
44
+ const confirmed = await promptConfirm({
45
+ message: `Revoke share link '${linkId}' for app '${appName}'? Anyone who has not yet redeemed it will lose access; redeemers will have their Microsoft App Reader role revoked.`,
46
+ });
47
+ if (!confirmed) {
48
+ printWarning('Revoke cancelled.');
49
+ return;
50
+ }
51
+ }
52
+ try {
53
+ await revokeShareLinkAsync({
54
+ tenantId,
55
+ environmentId,
56
+ logger: getCliLogger(),
57
+ actionsParams: { appName, appShareLinkId: linkId },
58
+ });
59
+ }
60
+ catch (error) {
61
+ if (isShareLinkNotFound(error)) {
62
+ if (argumentProvider.isJsonMode()) {
63
+ printJsonSuccess({ appName, linkId, existed: false });
64
+ return;
65
+ }
66
+ printWarning(`Share link '${linkId}' was not found on '${appName}'; nothing was revoked.`);
67
+ return;
68
+ }
69
+ throw error;
70
+ }
71
+ if (argumentProvider.isJsonMode()) {
72
+ printJsonSuccess({ appName, linkId, existed: true });
73
+ return;
74
+ }
75
+ printSuccess(`Share link '${linkId}' revoked for '${appName}'.`);
76
+ }
77
+ /**
78
+ * Recognises the 404 / `AppShareLinkNotFound` envelope returned by the server
79
+ * when the id does not exist. The check requires the explicit error code, so
80
+ * other 404s (wrong route, wrong app, wrong environment, bodyless responses)
81
+ * propagate to callers as real failures instead of being swallowed as a clean
82
+ * "did not exist" warning.
83
+ */
84
+ function isShareLinkNotFound(error) {
85
+ if (!(error instanceof HttpClientError))
86
+ return false;
87
+ if (error.status !== 404)
88
+ return false;
89
+ if (!error.body)
90
+ return false;
91
+ try {
92
+ const parsed = JSON.parse(error.body);
93
+ return parsed.error?.code === 'AppShareLinkNotFound';
94
+ }
95
+ catch {
96
+ return false;
97
+ }
98
+ }
99
+ function configureOptionSchema(argumentProvider) {
100
+ argumentProvider.setDescription(HelpStrings.app.shareLink.revoke.description);
101
+ argumentProvider.addExamples(HelpStrings.app.shareLink.revoke.examples);
102
+ argumentProvider.addSwitch({
103
+ flags: {
104
+ key: ShareLinkRevokeArguments.Force.name,
105
+ alias: ShareLinkRevokeArguments.Force.alias,
106
+ },
107
+ description: HelpStrings.app.shareLink.revoke.options.force,
108
+ });
109
+ argumentProvider.addOptions([
110
+ {
111
+ flags: {
112
+ key: ShareLinkRevokeArguments.LinkId.name,
113
+ alias: ShareLinkRevokeArguments.LinkId.alias,
114
+ },
115
+ env: ShareLinkRevokeArguments.LinkId.envVar,
116
+ description: HelpStrings.app.shareLink.revoke.options.linkId,
117
+ },
118
+ {
119
+ flags: {
120
+ key: ShareLinkRevokeArguments.AppName.name,
121
+ },
122
+ env: ShareLinkRevokeArguments.AppName.envVar,
123
+ description: HelpStrings.app.shareLink.revoke.options.app,
124
+ optionalInNonInteractive: true,
125
+ },
126
+ {
127
+ flags: {
128
+ key: ShareLinkRevokeArguments.EnvironmentId.name,
129
+ alias: ShareLinkRevokeArguments.EnvironmentId.alias,
130
+ },
131
+ env: ShareLinkRevokeArguments.EnvironmentId.envVar,
132
+ description: HelpStrings.app.shareLink.revoke.options.environmentId,
133
+ optionalInNonInteractive: true,
134
+ },
135
+ ]);
136
+ }
137
+ //# sourceMappingURL=ShareLinkRevoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareLinkRevoke.js","sourceRoot":"","sources":["../../src/Verbs/ShareLinkRevoke.ts"],"names":[],"mappings":"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"}