@microsoft/managed-apps-cli 0.5.0 → 0.6.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.
- package/README.md +40 -15
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts +26 -0
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts.map +1 -0
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js +31 -0
- package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js.map +1 -0
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +68 -22
- package/dist/Cli.js.map +1 -1
- package/dist/Constants/CommandRegistry.d.ts.map +1 -1
- package/dist/Constants/CommandRegistry.js +16 -1
- package/dist/Constants/CommandRegistry.js.map +1 -1
- package/dist/Constants/HelpStrings.d.ts +14 -0
- package/dist/Constants/HelpStrings.d.ts.map +1 -1
- package/dist/Constants/HelpStrings.js +24 -2
- package/dist/Constants/HelpStrings.js.map +1 -1
- package/dist/Constants.d.ts +2 -0
- package/dist/Constants.d.ts.map +1 -1
- package/dist/Constants.js +2 -0
- package/dist/Constants.js.map +1 -1
- package/dist/Errors/GitHubErrorMap.d.ts +39 -0
- package/dist/Errors/GitHubErrorMap.d.ts.map +1 -0
- package/dist/Errors/GitHubErrorMap.js +182 -0
- package/dist/Errors/GitHubErrorMap.js.map +1 -0
- package/dist/HttpClient/CliHttpClient.d.ts +8 -3
- package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
- package/dist/HttpClient/CliHttpClient.js +33 -13
- package/dist/HttpClient/CliHttpClient.js.map +1 -1
- package/dist/Types/Command.types.d.ts +1 -1
- package/dist/Types/Command.types.d.ts.map +1 -1
- package/dist/Utils/ConsoleOutput.d.ts +6 -0
- package/dist/Utils/ConsoleOutput.d.ts.map +1 -1
- package/dist/Utils/ConsoleOutput.js +8 -0
- package/dist/Utils/ConsoleOutput.js.map +1 -1
- package/dist/Utils/EnvVars.d.ts +1 -1
- package/dist/Utils/EnvVars.d.ts.map +1 -1
- package/dist/Utils/EnvVars.js.map +1 -1
- package/dist/Utils/GitHubDcfFlow.d.ts +60 -0
- package/dist/Utils/GitHubDcfFlow.d.ts.map +1 -0
- package/dist/Utils/GitHubDcfFlow.js +166 -0
- package/dist/Utils/GitHubDcfFlow.js.map +1 -0
- package/dist/Utils/RepoUrl.d.ts +13 -0
- package/dist/Utils/RepoUrl.d.ts.map +1 -0
- package/dist/Utils/RepoUrl.js +6 -0
- package/dist/Utils/RepoUrl.js.map +1 -0
- package/dist/Verbs/AddFlow.d.ts.map +1 -1
- package/dist/Verbs/AddFlow.js +3 -2
- package/dist/Verbs/AddFlow.js.map +1 -1
- package/dist/Verbs/CreateMaafApp.d.ts +0 -1
- package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
- package/dist/Verbs/CreateMaafApp.js +19 -60
- package/dist/Verbs/CreateMaafApp.js.map +1 -1
- package/dist/Verbs/FindDataverseApi.js +15 -15
- package/dist/Verbs/FindDataverseApi.js.map +1 -1
- package/dist/Verbs/GetSettings.d.ts +1 -1
- package/dist/Verbs/GetSettings.js +1 -1
- package/dist/Verbs/MaafAppPermissions.d.ts +26 -6
- package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
- package/dist/Verbs/MaafAppPermissions.js +189 -28
- package/dist/Verbs/MaafAppPermissions.js.map +1 -1
- package/dist/Verbs/RefreshDataSource.d.ts.map +1 -1
- package/dist/Verbs/RefreshDataSource.js +4 -3
- package/dist/Verbs/RefreshDataSource.js.map +1 -1
- package/dist/Verbs/RefreshGitAuth.d.ts +6 -0
- package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -0
- package/dist/Verbs/RefreshGitAuth.js +153 -0
- package/dist/Verbs/RefreshGitAuth.js.map +1 -0
- package/dist/Verbs/RemoveFlow.d.ts.map +1 -1
- package/dist/Verbs/RemoveFlow.js +4 -3
- package/dist/Verbs/RemoveFlow.js.map +1 -1
- package/dist/Verbs/SetSetting.d.ts +1 -1
- package/dist/Verbs/SetSetting.js +1 -1
- package/dist/Verbs/VerbConstants.d.ts +22 -0
- package/dist/Verbs/VerbConstants.d.ts.map +1 -1
- package/dist/Verbs/VerbConstants.js +25 -0
- package/dist/Verbs/VerbConstants.js.map +1 -1
- package/dist/Verbs/index.d.ts +1 -0
- package/dist/Verbs/index.d.ts.map +1 -1
- package/dist/Verbs/index.js +1 -0
- package/dist/Verbs/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/Authentication/OrchardAuthenticationProvider.d.ts +0 -13
- package/dist/Authentication/OrchardAuthenticationProvider.d.ts.map +0 -1
- package/dist/Authentication/OrchardAuthenticationProvider.js +0 -30
- package/dist/Authentication/OrchardAuthenticationProvider.js.map +0 -1
- package/dist/HttpClient/OrchardProxy.d.ts +0 -11
- package/dist/HttpClient/OrchardProxy.d.ts.map +0 -1
- package/dist/HttpClient/OrchardProxy.js +0 -25
- package/dist/HttpClient/OrchardProxy.js.map +0 -1
- package/dist/HttpClient/Proxy.d.ts +0 -7
- package/dist/HttpClient/Proxy.d.ts.map +0 -1
- package/dist/HttpClient/Proxy.js +0 -5
- package/dist/HttpClient/Proxy.js.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { type AppError } from './CliError.js';
|
|
5
|
+
/** Server error envelope (subset of GrsServerError) accepted by the mapper. */
|
|
6
|
+
export interface ServerErrorPayload {
|
|
7
|
+
code?: string;
|
|
8
|
+
message: string;
|
|
9
|
+
status: number;
|
|
10
|
+
details?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface MapErrorContext {
|
|
13
|
+
/** Optional repository URL — used to interpolate `{owner}/{repo}` into messages. */
|
|
14
|
+
repoUrl?: string;
|
|
15
|
+
/** The CLI verb that triggered the error (e.g. `'git auth refresh'`). Reserved for future telemetry. */
|
|
16
|
+
verb: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Map a structured server error code to a CLI-facing {@link AppError}.
|
|
20
|
+
* Returns `null` for codes the CLI doesn't recognize so callers can fall back
|
|
21
|
+
* to generic error handling. Mirrors design §6.2.
|
|
22
|
+
*/
|
|
23
|
+
export declare function mapGitHubServerErrorToCliError(payload: ServerErrorPayload, context: MapErrorContext): AppError | null;
|
|
24
|
+
/**
|
|
25
|
+
* Inspect an unknown error and decide whether the CLI should run the DCF
|
|
26
|
+
* recovery flow (i.e. the verb's catch-and-retry path). Returns the parsed
|
|
27
|
+
* payload + matched code, or `null` if the error is unrelated.
|
|
28
|
+
*
|
|
29
|
+
* Matches:
|
|
30
|
+
* - `GrsServerError` with `code === 'GitHubMappingMissing' | 'GitHubMappingExpired'`
|
|
31
|
+
* - A plain `Error` with `.status === 401` whose message is JSON containing
|
|
32
|
+
* `error.code` of one of the above values (legacy path before catch-and-retry
|
|
33
|
+
* wires `allowErrorResponse` everywhere).
|
|
34
|
+
*/
|
|
35
|
+
export declare function matchGitHubAuthError(error: unknown): {
|
|
36
|
+
code: 'GitHubMappingMissing' | 'GitHubMappingExpired';
|
|
37
|
+
payload: ServerErrorPayload;
|
|
38
|
+
} | null;
|
|
39
|
+
//# sourceMappingURL=GitHubErrorMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubErrorMap.d.ts","sourceRoot":"","sources":["../../src/Errors/GitHubErrorMap.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH,OAAO,EAAE,KAAK,QAAQ,EAAqE,MAAM,YAAY,CAAC;AAE9G,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wGAAwG;IACxG,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,eAAe,GACvB,QAAQ,GAAG,IAAI,CA8GjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG;IACpD,IAAI,EAAE,sBAAsB,GAAG,sBAAsB,CAAC;IACtD,OAAO,EAAE,kBAAkB,CAAC;CAC7B,GAAG,IAAI,CAyCP"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Maps structured server error codes from GRS into CLI-facing {@link AppError}
|
|
6
|
+
* subclasses with user-actionable wording. The mapping table mirrors the
|
|
7
|
+
* server error catalog; keep this file in lock-step with the GRS service contract.
|
|
8
|
+
*
|
|
9
|
+
* Two entry points:
|
|
10
|
+
* - {@link mapGitHubServerErrorToCliError} — call from a verb's catch block
|
|
11
|
+
* after a {@link GrsServerError}; returns `null` for unrecognized codes
|
|
12
|
+
* so the caller can fall back to its default error path.
|
|
13
|
+
* - {@link matchGitHubAuthError} — used by catch-and-retry callers (e.g.
|
|
14
|
+
* `app build` re-running DCF on a 401) to detect the two recoverable
|
|
15
|
+
* mapping-error codes regardless of whether the error came back as a
|
|
16
|
+
* {@link GrsServerError} or a legacy plain {@link Error}.
|
|
17
|
+
*/
|
|
18
|
+
import { GrsServerError } from '@microsoft/managed-apps-actions';
|
|
19
|
+
import { parseGitHubRepoUrl } from '../Utils/RepoUrl.js';
|
|
20
|
+
import { AuthenticationError, ConfigurationError, NetworkError, UsageError } from './CliError.js';
|
|
21
|
+
/**
|
|
22
|
+
* Map a structured server error code to a CLI-facing {@link AppError}.
|
|
23
|
+
* Returns `null` for codes the CLI doesn't recognize so callers can fall back
|
|
24
|
+
* to generic error handling. Mirrors design §6.2.
|
|
25
|
+
*/
|
|
26
|
+
export function mapGitHubServerErrorToCliError(payload, context) {
|
|
27
|
+
const code = payload.code;
|
|
28
|
+
if (!code)
|
|
29
|
+
return null;
|
|
30
|
+
const { host, ownerRepo } = parseRepoContext(context.repoUrl);
|
|
31
|
+
const repoUrl = context.repoUrl ?? '<repo-url>';
|
|
32
|
+
const details = payload.details ?? {};
|
|
33
|
+
switch (code) {
|
|
34
|
+
case 'GitHubMappingMissing':
|
|
35
|
+
return new AuthenticationError(`Your GitHub identity isn't established for ${ownerRepo}. ` +
|
|
36
|
+
`Run \`ms git auth refresh --repo ${host}/${ownerRepo}\` and retry.`);
|
|
37
|
+
case 'GitHubMappingExpired':
|
|
38
|
+
return new AuthenticationError(`Your GitHub authentication for ${ownerRepo} has expired. ` +
|
|
39
|
+
`Run \`ms git auth refresh --repo ${host}/${ownerRepo}\` to refresh.`);
|
|
40
|
+
case 'GitHubMappingStale':
|
|
41
|
+
return new AuthenticationError(`Your stored GitHub identity for ${ownerRepo} no longer matches your GitHub account ` +
|
|
42
|
+
`(it may have been renamed or reassigned). Run \`ms git auth refresh --repo ${host}/${ownerRepo}\` to refresh.`);
|
|
43
|
+
case 'GitHubAppNotInstalled': {
|
|
44
|
+
const appName = stringDetail(details, 'appName') ?? '<app-name>';
|
|
45
|
+
return new ConfigurationError(`The Managed Apps GitHub App isn't installed on the org owning ${ownerRepo}. ` +
|
|
46
|
+
`Ask an admin to install it: https://${host}/apps/${appName}/installations/new`);
|
|
47
|
+
}
|
|
48
|
+
case 'GitHubUserLacksAccess':
|
|
49
|
+
return new AuthenticationError(`Your GitHub account doesn't have access to ${ownerRepo}. ` +
|
|
50
|
+
`Ask the repository admin to grant you access.`);
|
|
51
|
+
case 'GitHubUserLacksRequiredLevel': {
|
|
52
|
+
const minLevel = stringDetail(details, 'minLevel') ?? 'a higher level of';
|
|
53
|
+
const actualLevel = stringDetail(details, 'actualLevel') ?? 'lower';
|
|
54
|
+
return new AuthenticationError(`Operation requires ${minLevel} access on ${ownerRepo}; you have ${actualLevel}.`);
|
|
55
|
+
}
|
|
56
|
+
case 'GitHubRepoArchived':
|
|
57
|
+
return new UsageError(`${ownerRepo} is archived. Unarchive it before continuing.`);
|
|
58
|
+
case 'GitHubInstallationSuspended':
|
|
59
|
+
return new ConfigurationError(`The Managed Apps GitHub App installation for the org owning ${ownerRepo} is suspended. ` +
|
|
60
|
+
`Ask an admin to unsuspend it.`);
|
|
61
|
+
case 'GitHubAuthSessionExpired': {
|
|
62
|
+
const expiresIn = numericDetail(details, 'expiresIn');
|
|
63
|
+
const window = expiresIn !== undefined ? `${expiresIn} seconds` : 'the displayed time window';
|
|
64
|
+
return new AuthenticationError(`Authentication session expired before completion. Re-run the command and complete ` +
|
|
65
|
+
`the GitHub sign-in within ${window}.`);
|
|
66
|
+
}
|
|
67
|
+
case 'GitHubAuthSessionNotFound':
|
|
68
|
+
return new AuthenticationError('Authentication session was not found (the server may have restarted). Re-run the command.');
|
|
69
|
+
case 'GitHubAuthDenied':
|
|
70
|
+
return new AuthenticationError("You declined to authorize the Managed Apps GitHub App. The repository binding can't proceed without authorization.");
|
|
71
|
+
case 'GitHubAuthCancelled':
|
|
72
|
+
// Surfaced when the user hits Ctrl+C / SIGINT during the polling loop.
|
|
73
|
+
// Routed to AuthenticationError for consistent exitCode (3) with the
|
|
74
|
+
// other auth-flow terminations.
|
|
75
|
+
return new AuthenticationError('Authentication cancelled.');
|
|
76
|
+
case 'GitHubRateLimited': {
|
|
77
|
+
const retryAfter = numericDetail(details, 'retryAfterSeconds');
|
|
78
|
+
const window = retryAfter !== undefined ? `${retryAfter} seconds` : 'a few minutes';
|
|
79
|
+
return new NetworkError(`GitHub rate limit reached. Try again in ${window}.`);
|
|
80
|
+
}
|
|
81
|
+
case 'GitHubInvalidRepoUrl':
|
|
82
|
+
return new UsageError(`${repoUrl} is not a valid GitHub Enterprise Cloud (*.ghe.com) URL. ` +
|
|
83
|
+
`Build only supports GHE Cloud tenant repositories.`);
|
|
84
|
+
case 'GitHubUpstreamError': {
|
|
85
|
+
// Upstream errors carry server diagnostics (e.g. Key Vault failures, GitHub
|
|
86
|
+
// API responses) that are the only useful diagnostic for the user. Surface
|
|
87
|
+
// the underlying message verbatim rather than swallowing it.
|
|
88
|
+
const detail = payload.message?.trim();
|
|
89
|
+
return new NetworkError(detail
|
|
90
|
+
? `GitHub returned an unexpected error: ${detail}`
|
|
91
|
+
: 'GitHub returned an unexpected error. Try again.');
|
|
92
|
+
}
|
|
93
|
+
default:
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Inspect an unknown error and decide whether the CLI should run the DCF
|
|
99
|
+
* recovery flow (i.e. the verb's catch-and-retry path). Returns the parsed
|
|
100
|
+
* payload + matched code, or `null` if the error is unrelated.
|
|
101
|
+
*
|
|
102
|
+
* Matches:
|
|
103
|
+
* - `GrsServerError` with `code === 'GitHubMappingMissing' | 'GitHubMappingExpired'`
|
|
104
|
+
* - A plain `Error` with `.status === 401` whose message is JSON containing
|
|
105
|
+
* `error.code` of one of the above values (legacy path before catch-and-retry
|
|
106
|
+
* wires `allowErrorResponse` everywhere).
|
|
107
|
+
*/
|
|
108
|
+
export function matchGitHubAuthError(error) {
|
|
109
|
+
if (error instanceof GrsServerError) {
|
|
110
|
+
if (error.code === 'GitHubMappingMissing' || error.code === 'GitHubMappingExpired') {
|
|
111
|
+
return {
|
|
112
|
+
code: error.code,
|
|
113
|
+
payload: {
|
|
114
|
+
code: error.code,
|
|
115
|
+
message: error.message,
|
|
116
|
+
status: error.status,
|
|
117
|
+
details: error.details,
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
// Legacy fallback: a plain Error whose message embeds the JSON envelope.
|
|
124
|
+
if (error instanceof Error) {
|
|
125
|
+
const statusMatch = error.message.match(/status:\s*(\d+)/i);
|
|
126
|
+
if (!statusMatch || statusMatch[1] !== '401')
|
|
127
|
+
return null;
|
|
128
|
+
const jsonMatch = error.message.match(/\{[\s\S]*\}/);
|
|
129
|
+
if (!jsonMatch)
|
|
130
|
+
return null;
|
|
131
|
+
try {
|
|
132
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
133
|
+
const code = parsed?.error?.code;
|
|
134
|
+
if (code === 'GitHubMappingMissing' || code === 'GitHubMappingExpired') {
|
|
135
|
+
return {
|
|
136
|
+
code,
|
|
137
|
+
payload: {
|
|
138
|
+
code,
|
|
139
|
+
message: parsed.error.message ?? error.message,
|
|
140
|
+
status: 401,
|
|
141
|
+
details: parsed.error.details,
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Not JSON — not a match.
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
// === Helpers ==================================================================
|
|
153
|
+
function parseRepoContext(repoUrl) {
|
|
154
|
+
if (!repoUrl)
|
|
155
|
+
return { host: '<tenant>.ghe.com', ownerRepo: '<owner>/<repo>' };
|
|
156
|
+
try {
|
|
157
|
+
const { host, owner, repo } = parseGitHubRepoUrl(repoUrl);
|
|
158
|
+
return { host, ownerRepo: `${owner}/${repo}` };
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return { host: '<tenant>.ghe.com', ownerRepo: '<owner>/<repo>' };
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
function stringDetail(details, key) {
|
|
165
|
+
const v = details[key];
|
|
166
|
+
return typeof v === 'string' ? v : undefined;
|
|
167
|
+
}
|
|
168
|
+
function numericDetail(details, key) {
|
|
169
|
+
const v = details[key];
|
|
170
|
+
if (typeof v === 'number' && Number.isFinite(v))
|
|
171
|
+
return v;
|
|
172
|
+
// Servers sometimes encode integer details as strings (e.g. JSON producers
|
|
173
|
+
// that stringify all `number | bigint` fields). Coerce on a best-effort basis
|
|
174
|
+
// so the user-facing message keeps the seconds/retry value instead of
|
|
175
|
+
// silently dropping it.
|
|
176
|
+
if (typeof v === 'string') {
|
|
177
|
+
const n = Number(v);
|
|
178
|
+
return Number.isFinite(n) ? n : undefined;
|
|
179
|
+
}
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=GitHubErrorMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubErrorMap.js","sourceRoot":"","sources":["../../src/Errors/GitHubErrorMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { IHttpClient, RequestConfig, Response as HttpClientResponse } from '@microsoft/managed-apps-actions';
|
|
5
5
|
import type { IAuthenticationProvider } from '../Types/Cli.types.js';
|
|
6
|
-
import type { IURLProxy } from './Proxy.js';
|
|
7
6
|
export declare class CliHttpClient implements IHttpClient {
|
|
8
7
|
private _authenticationProvider;
|
|
9
|
-
private
|
|
8
|
+
private _forwardUrl?;
|
|
10
9
|
private _inflight;
|
|
11
10
|
private _spinner;
|
|
12
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @param _authenticationProvider — provides bearer tokens for `authResource`-tagged requests.
|
|
13
|
+
* @param _forwardUrl — when set, every request is forwarded to this URL with the original
|
|
14
|
+
* URL surfaced via the `x-ms-target-url` header and the resource audience (if any) via
|
|
15
|
+
* `x-ms-auth-resource`. Used for proxy / dev-tunnel scenarios.
|
|
16
|
+
*/
|
|
17
|
+
constructor(_authenticationProvider: IAuthenticationProvider, _forwardUrl?: string | undefined);
|
|
13
18
|
get<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
14
19
|
post<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
15
20
|
patch<T = unknown>(url: string, config?: RequestConfig): Promise<HttpClientResponse<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliHttpClient.d.ts","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,QAAQ,IAAI,kBAAkB,EAC/B,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"CliHttpClient.d.ts","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,QAAQ,IAAI,kBAAkB,EAC/B,MAAM,iCAAiC,CAAC;AAUzC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAIlE,qBAAa,aAAc,YAAW,WAAW;IAW7C,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,WAAW,CAAC;IAXtB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAoB;IAEpC;;;;;OAKG;gBAEO,uBAAuB,EAAE,uBAAuB,EAChD,WAAW,CAAC,EAAE,MAAM,YAAA;IAGjB,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,IAAI,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,KAAK,CAAC,CAAC,GAAG,OAAO,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAGpB,MAAM,CAAC,CAAC,GAAG,IAAI,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAInB,iBAAiB;IAoF/B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;YAON,cAAc;YAkBd,iBAAiB;CAOhC"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import { encodeBody, HttpClientError, parseServerErrorCode } from '@microsoft/managed-apps-common/services';
|
|
4
|
+
import { encodeBody, HttpClientError, parseServerErrorCode, } from '@microsoft/managed-apps-common/services';
|
|
5
5
|
import { randomUUID } from 'crypto';
|
|
6
6
|
import { getSettings } from '../CliSettings.js';
|
|
7
|
-
import { MS_CLIENT_REQUESTID } from '../Constants.js';
|
|
7
|
+
import { MS_AUTH_RESOURCE, MS_CLIENT_REQUESTID, MS_TARGET_URL } from '../Constants.js';
|
|
8
8
|
import { enhanceNetworkError } from '../Utils/EnhanceNetworkError.js';
|
|
9
9
|
import { CliSpinner } from '../Utils/Spinner.js';
|
|
10
10
|
export class CliHttpClient {
|
|
11
11
|
_authenticationProvider;
|
|
12
|
-
|
|
12
|
+
_forwardUrl;
|
|
13
13
|
_inflight = 0;
|
|
14
14
|
_spinner = new CliSpinner();
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* @param _authenticationProvider — provides bearer tokens for `authResource`-tagged requests.
|
|
17
|
+
* @param _forwardUrl — when set, every request is forwarded to this URL with the original
|
|
18
|
+
* URL surfaced via the `x-ms-target-url` header and the resource audience (if any) via
|
|
19
|
+
* `x-ms-auth-resource`. Used for proxy / dev-tunnel scenarios.
|
|
20
|
+
*/
|
|
21
|
+
constructor(_authenticationProvider, _forwardUrl) {
|
|
16
22
|
this._authenticationProvider = _authenticationProvider;
|
|
17
|
-
this.
|
|
23
|
+
this._forwardUrl = _forwardUrl;
|
|
18
24
|
}
|
|
19
25
|
async get(url, config) {
|
|
20
26
|
return this._sendRequestAsync(url, 'GET', config);
|
|
@@ -37,7 +43,10 @@ export class CliHttpClient {
|
|
|
37
43
|
const headers = config?.headers || {};
|
|
38
44
|
if (config?.authResource) {
|
|
39
45
|
const token = await this._authenticationProvider.getAccessTokenForResource(config.authResource);
|
|
40
|
-
|
|
46
|
+
// Forward mode supplies an optional static token; omit Authorization when blank.
|
|
47
|
+
if (token) {
|
|
48
|
+
headers.Authorization = `Bearer ${token}`;
|
|
49
|
+
}
|
|
41
50
|
}
|
|
42
51
|
if (config?.contentType) {
|
|
43
52
|
headers['Content-Type'] = config.contentType;
|
|
@@ -46,26 +55,36 @@ export class CliHttpClient {
|
|
|
46
55
|
headers['Content-Type'] = 'application/json';
|
|
47
56
|
}
|
|
48
57
|
headers[MS_CLIENT_REQUESTID] = randomUUID();
|
|
58
|
+
let targetUrl = url;
|
|
59
|
+
if (this._forwardUrl) {
|
|
60
|
+
headers[MS_TARGET_URL] = url;
|
|
61
|
+
if (config?.authResource) {
|
|
62
|
+
headers[MS_AUTH_RESOURCE] = config.authResource;
|
|
63
|
+
}
|
|
64
|
+
targetUrl = this._forwardUrl;
|
|
65
|
+
}
|
|
49
66
|
const bodyContent = encodeBody(config?.body, headers['Content-Type']);
|
|
50
67
|
const requestOptions = {
|
|
51
68
|
method,
|
|
52
69
|
headers,
|
|
53
70
|
body: bodyContent,
|
|
54
71
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
const response = await fetch(url, requestOptions);
|
|
59
|
-
if (!response.ok) {
|
|
72
|
+
const response = await fetch(targetUrl, requestOptions);
|
|
73
|
+
if (!response.ok && !config?.allowErrorResponse) {
|
|
60
74
|
const correlationId = response.headers.get('x-ms-correlation-id');
|
|
61
75
|
const correlationSuffix = correlationId ? ` (correlation ID: ${correlationId})` : '';
|
|
62
76
|
const errorBody = await response.text();
|
|
63
|
-
|
|
77
|
+
// In forward mode the response came from the forwarder, not the
|
|
78
|
+
// original target — surface both so it's clear which hop failed.
|
|
79
|
+
const urlSuffix = this._forwardUrl ? `${url} via ${this._forwardUrl}` : url;
|
|
80
|
+
throw new HttpClientError(`HTTP error status: ${response.status} for ${method} ${urlSuffix}${correlationSuffix}: ${errorBody}`, {
|
|
64
81
|
status: response.status,
|
|
65
82
|
code: parseServerErrorCode(errorBody),
|
|
66
83
|
body: errorBody,
|
|
67
84
|
});
|
|
68
85
|
}
|
|
86
|
+
// When allowErrorResponse is true and we got a non-2xx, fall through to parse the body
|
|
87
|
+
// so callers can inspect the structured error envelope (e.g. { error: { code, message } }).
|
|
69
88
|
const data = await this._parseResponse(response);
|
|
70
89
|
return {
|
|
71
90
|
data,
|
|
@@ -74,7 +93,8 @@ export class CliHttpClient {
|
|
|
74
93
|
};
|
|
75
94
|
}
|
|
76
95
|
catch (error) {
|
|
77
|
-
|
|
96
|
+
const errorUrl = this._forwardUrl ? `${url} via ${this._forwardUrl}` : url;
|
|
97
|
+
throw enhanceNetworkError(error, method, errorUrl);
|
|
78
98
|
}
|
|
79
99
|
finally {
|
|
80
100
|
this._stopSpinner();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliHttpClient.js","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,
|
|
1
|
+
{"version":3,"file":"CliHttpClient.js","sourceRoot":"","sources":["../../src/HttpClient/CliHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export interface NounDef {
|
|
|
33
33
|
* - Index access with an unvalidated string is a compile-time error
|
|
34
34
|
* Update this union whenever a noun is added to or removed from COMMAND_TREE.
|
|
35
35
|
*/
|
|
36
|
-
export type NounKey = 'auth' | 'app' | 'connector' | 'telemetry';
|
|
36
|
+
export type NounKey = 'auth' | 'app' | 'connector' | 'git' | 'telemetry';
|
|
37
37
|
/**
|
|
38
38
|
* The full command tree (noun → verb → [type →] command).
|
|
39
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Command.types.d.ts","sourceRoot":"","sources":["../../src/Types/Command.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnF,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,SAAS,MAAM,EAAE,CAAC;AAI5C,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,KAAK,IAAI,YAAY,CAE1F;AAED,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Command.types.d.ts","sourceRoot":"","sources":["../../src/Types/Command.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnF,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,SAAS,MAAM,EAAE,CAAC;AAI5C,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,KAAK,IAAI,YAAY,CAE1F;AAED,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,KAAK,GAAG,WAAW,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAEnD,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,IAAI,EAAE,WAAW,CAAC;IAClB,qCAAqC;IACrC,OAAO,EAAE,cAAc,CAAC;IACxB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -52,6 +52,12 @@ type NotArray<T> = T extends readonly unknown[] ? never : T;
|
|
|
52
52
|
* verbs whose payload is naturally an array.
|
|
53
53
|
*/
|
|
54
54
|
export declare function printJsonSuccess<T extends object>(data?: NotArray<T> & EnvelopeReservedKeys): void;
|
|
55
|
+
/**
|
|
56
|
+
* Emit a single NDJSON record (one JSON document per line, no pretty-printing).
|
|
57
|
+
* Used for streaming progress/event output in JSON mode — distinct from
|
|
58
|
+
* `printJsonSuccess`/`printJsonError`, which emit a single final envelope.
|
|
59
|
+
*/
|
|
60
|
+
export declare function printJsonLine(record: object): void;
|
|
55
61
|
/**
|
|
56
62
|
* Emits a success JSON envelope wrapping a list payload to **stdout**:
|
|
57
63
|
* `{ success: true, items: [...] }`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleOutput.d.ts","sourceRoot":"","sources":["../../src/Utils/ConsoleOutput.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CA8DP;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAyBP;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAMD,KAAK,oBAAoB,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAMxF,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,oBAAoB,GACxC,IAAI,CAEN;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD"}
|
|
1
|
+
{"version":3,"file":"ConsoleOutput.d.ts","sourceRoot":"","sources":["../../src/Utils/ConsoleOutput.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CA8DP;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAyBP;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAMD,KAAK,oBAAoB,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAMxF,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,oBAAoB,GACxC,IAAI,CAEN;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD"}
|
|
@@ -114,6 +114,14 @@ export function printSuccess(message) {
|
|
|
114
114
|
export function printJsonSuccess(data) {
|
|
115
115
|
console.log(JSON.stringify({ success: true, ...data }, null, 2));
|
|
116
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Emit a single NDJSON record (one JSON document per line, no pretty-printing).
|
|
119
|
+
* Used for streaming progress/event output in JSON mode — distinct from
|
|
120
|
+
* `printJsonSuccess`/`printJsonError`, which emit a single final envelope.
|
|
121
|
+
*/
|
|
122
|
+
export function printJsonLine(record) {
|
|
123
|
+
console.log(JSON.stringify(record));
|
|
124
|
+
}
|
|
117
125
|
/**
|
|
118
126
|
* Emits a success JSON envelope wrapping a list payload to **stdout**:
|
|
119
127
|
* `{ success: true, items: [...] }`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleOutput.js","sourceRoot":"","sources":["../../src/Utils/ConsoleOutput.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConsoleOutput.js","sourceRoot":"","sources":["../../src/Utils/ConsoleOutput.ts"],"names":[],"mappings":"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"}
|
package/dist/Utils/EnvVars.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
export type CliEnvVarName = 'USE_SP_AUTH' | 'SP_CLIENT_ID' | 'SP_CLIENT_SECRET' | 'SP_TENANT_ID' | '
|
|
4
|
+
export type CliEnvVarName = 'USE_SP_AUTH' | 'SP_CLIENT_ID' | 'SP_CLIENT_SECRET' | 'SP_TENANT_ID' | 'USE_HTTP_FORWARD' | 'HTTP_FORWARD_URL' | 'HTTP_FORWARD_AUTH_TOKEN' | 'HTTP_FORWARD_TENANT_ID' | 'REMOTE_TELEMETRY' | 'CONSOLE_TELEMETRY' | 'CONFIG_DIR' | 'WORKING_DIRECTORY' | 'MAAF_DEBUG_ENVIRONMENT_ID' | 'MAAF_GRS_ENDPOINT_OVERRIDE' | 'ENVIRONMENT_ID' | 'APP_DISPLAY_NAME' | 'APP_DESCRIPTION' | 'APP_ID' | 'APP_TEMPLATE' | 'APP_REPOSITORY_ID' | 'APP_REPO' | 'APP_URL' | 'LOCAL_APP_URL' | 'BUILD_PATH' | 'BUILD_COMMAND' | 'FILE_ENTRY_POINT' | 'LOGO_PATH' | 'CONFIG_ONLY' | 'PORT' | 'CLOUD_INSTANCE' | 'API_ID' | 'CONNECTION_ID' | 'CONNECTION_REF' | 'CONNECTOR_ID' | 'CONNECTOR_SEARCH' | 'CONNECTOR_ACTION_SEARCH' | 'DATASET' | 'TABLE' | 'TABLE_NAME' | 'DATA_SOURCE_NAME' | 'SEARCH_TERM' | 'DATAVERSE_API_SEARCH_TERM' | 'SQL_STORED_PROCEDURE' | 'ENV_URL' | 'SOLUTION_ID' | 'FLOW_ID' | 'FLOW_SEARCH' | 'FLOW_DATA_SOURCE_NAME' | 'REMOVE_FLOW_ID' | 'MAAF_APP_NAME' | 'MAAF_APP_ACCESS' | 'MAAF_COMMIT_SHA' | 'MAAF_OPERATION_ID' | 'MAAF_ENVIRONMENT_ID' | 'MAAF_DEPLOY_ARTIFACT' | 'MAAF_GITHUB_REPO' | 'LIST_ENVIRONMENT_ID' | 'LIST_PERMISSION' | 'SKIP_CODEGEN' | 'USE_V1_CODEGEN' | 'APP_SHOW_HEADER';
|
|
5
5
|
export declare function cliEnvVarFullName(name: CliEnvVarName): string;
|
|
6
6
|
export declare function getCliEnvVar(name: CliEnvVarName): string | undefined;
|
|
7
7
|
export declare function getCliEnvVarBool(name: CliEnvVarName): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvVars.d.ts","sourceRoot":"","sources":["../../src/Utils/EnvVars.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,MAAM,aAAa,GAErB,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,cAAc,GAEd,
|
|
1
|
+
{"version":3,"file":"EnvVars.d.ts","sourceRoot":"","sources":["../../src/Utils/EnvVars.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,MAAM,aAAa,GAErB,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,cAAc,GAEd,kBAAkB,GAClB,kBAAkB,GAClB,yBAAyB,GACzB,wBAAwB,GAExB,kBAAkB,GAClB,mBAAmB,GAEnB,YAAY,GACZ,mBAAmB,GACnB,2BAA2B,GAC3B,4BAA4B,GAE5B,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,QAAQ,GACR,cAAc,GACd,mBAAmB,GACnB,UAAU,GACV,SAAS,GACT,eAAe,GACf,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,aAAa,GACb,MAAM,GACN,gBAAgB,GAEhB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,yBAAyB,GACzB,SAAS,GACT,OAAO,GACP,YAAY,GACZ,kBAAkB,GAClB,aAAa,GACb,2BAA2B,GAC3B,sBAAsB,GACtB,SAAS,GACT,aAAa,GAEb,SAAS,GACT,aAAa,GACb,uBAAuB,GACvB,gBAAgB,GAEhB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,sBAAsB,GAEtB,kBAAkB,GAElB,qBAAqB,GACrB,iBAAiB,GAEjB,cAAc,GACd,gBAAgB,GAEhB,iBAAiB,CAAC;AAEtB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAE7D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAE7D;AAED,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAErE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAEzD;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAErD;AAED,wBAAgB,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,CAEhD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,OAAO,CAAC,GAAG,GAAG,IAAI,CAE7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvVars.js","sourceRoot":"","sources":["../../src/Utils/EnvVars.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EnvVars.js","sourceRoot":"","sources":["../../src/Utils/EnvVars.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC;AA+EvD,MAAM,UAAU,iBAAiB,CAAC,IAAmB;IACnD,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAmB;IAClD,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;AACvC,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAmB,EAAE,KAAa;IAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa;IACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA4B;IACrD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import type { GitHubDcfDisplay } from '@microsoft/managed-apps-actions';
|
|
5
|
+
/**
|
|
6
|
+
* Console implementation of {@link GitHubDcfDisplay}. Uses the standard CLI
|
|
7
|
+
* print helpers; matches the layout in design §9.1 (the user code lives in
|
|
8
|
+
* its own paragraph for visibility, and the success message uses the soft
|
|
9
|
+
* "expires around" wording — see design §9.1 / D16).
|
|
10
|
+
*/
|
|
11
|
+
export declare const ConsoleGitHubDcfDisplay: GitHubDcfDisplay;
|
|
12
|
+
/**
|
|
13
|
+
* NDJSON implementation of {@link GitHubDcfDisplay} for `--json` mode. Matches
|
|
14
|
+
* the event vocabulary in design §9.4. Emits one line per call to stdout.
|
|
15
|
+
*
|
|
16
|
+
* Browser launching is intentionally a no-op in JSON mode — automated callers
|
|
17
|
+
* are not expected to have a desktop session.
|
|
18
|
+
*/
|
|
19
|
+
export declare class JsonGitHubDcfDisplay implements GitHubDcfDisplay {
|
|
20
|
+
showUserCode(info: {
|
|
21
|
+
sessionId: string;
|
|
22
|
+
userCode: string;
|
|
23
|
+
verificationUri: string;
|
|
24
|
+
expiresIn: number;
|
|
25
|
+
pollIntervalSeconds: number;
|
|
26
|
+
}): void;
|
|
27
|
+
showWaiting(): void;
|
|
28
|
+
showPollIteration(): void;
|
|
29
|
+
showComplete(info: {
|
|
30
|
+
githubLogin: string;
|
|
31
|
+
mappingExpiresAt: string;
|
|
32
|
+
}): void;
|
|
33
|
+
private _emit;
|
|
34
|
+
}
|
|
35
|
+
export interface OpenVerificationUriOptions {
|
|
36
|
+
/** When true, skip the launch entirely and return false. */
|
|
37
|
+
skip: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Best-effort cross-platform launcher for the GitHub verification URI.
|
|
41
|
+
*
|
|
42
|
+
* Returns `false` (and does nothing) when:
|
|
43
|
+
* - `options.skip` is true (e.g. caller did not pass `--open-browser`)
|
|
44
|
+
* - stdin is not a TTY (piped / non-interactive)
|
|
45
|
+
* - `MS_NO_BROWSER=1` is set
|
|
46
|
+
* - `CI=true` is set
|
|
47
|
+
* - `uri` does not parse, or is not an `https:` URL (we refuse to hand
|
|
48
|
+
* `http:`, `file:`, `javascript:`, etc. to a platform launcher)
|
|
49
|
+
* - `process.platform` is not one of `win32` / `darwin` / `linux`
|
|
50
|
+
*
|
|
51
|
+
* Otherwise spawns the platform-appropriate launcher (`start` on Windows,
|
|
52
|
+
* `open` on macOS, `xdg-open` elsewhere) using {@link spawn} with `shell:false`
|
|
53
|
+
* so cmd metacharacters in the URL can't be interpreted. The launched child is
|
|
54
|
+
* detached and `unref()`ed so we don't keep the CLI alive waiting on it. All
|
|
55
|
+
* errors are swallowed and the function returns `false` — failure to launch a
|
|
56
|
+
* browser must never abort the device-code flow because the user can always
|
|
57
|
+
* copy the URL from stdout.
|
|
58
|
+
*/
|
|
59
|
+
export declare function openVerificationUriBestEffort(uri: string, options: OpenVerificationUriOptions): boolean;
|
|
60
|
+
//# sourceMappingURL=GitHubDcfFlow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubDcfFlow.d.ts","sourceRoot":"","sources":["../../src/Utils/GitHubDcfFlow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKxE;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAsBrC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,YAAY,CAAC,IAAI,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI;IAWR,WAAW,IAAI,IAAI;IAKnB,iBAAiB,IAAI,IAAI;IAIzB,YAAY,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAU3E,OAAO,CAAC,KAAK;CAId;AAED,MAAM,WAAW,0BAA0B;IACzC,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAoCT"}
|