@microsoft/managed-apps-cli 0.9.2 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -342
- package/dist/ArgumentProvider.d.ts.map +1 -1
- package/dist/ArgumentProvider.js +8 -1
- package/dist/ArgumentProvider.js.map +1 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.js +20 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +15 -3
- package/dist/Cli.js.map +1 -1
- package/dist/Constants/CommandRegistry.d.ts +1 -2
- package/dist/Constants/CommandRegistry.d.ts.map +1 -1
- package/dist/Constants/CommandRegistry.js +26 -45
- package/dist/Constants/CommandRegistry.js.map +1 -1
- package/dist/Constants/HelpStrings.d.ts +12 -8
- package/dist/Constants/HelpStrings.d.ts.map +1 -1
- package/dist/Constants/HelpStrings.js +98 -80
- package/dist/Constants/HelpStrings.js.map +1 -1
- package/dist/Errors/GitHubErrorMap.d.ts +43 -14
- package/dist/Errors/GitHubErrorMap.d.ts.map +1 -1
- package/dist/Errors/GitHubErrorMap.js +189 -147
- package/dist/Errors/GitHubErrorMap.js.map +1 -1
- package/dist/Logger/CliLogger.d.ts +2 -0
- package/dist/Logger/CliLogger.d.ts.map +1 -1
- package/dist/Logger/CliLogger.js +12 -3
- package/dist/Logger/CliLogger.js.map +1 -1
- package/dist/Logger/ConsoleWriter.d.ts +2 -0
- package/dist/Logger/ConsoleWriter.d.ts.map +1 -1
- package/dist/Logger/ConsoleWriter.js +17 -7
- package/dist/Logger/ConsoleWriter.js.map +1 -1
- package/dist/Types/Argument.types.d.ts +1 -0
- package/dist/Types/Argument.types.d.ts.map +1 -1
- package/dist/Types/Command.types.d.ts +6 -0
- package/dist/Types/Command.types.d.ts.map +1 -1
- package/dist/Types/Command.types.js +8 -0
- package/dist/Types/Command.types.js.map +1 -1
- package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -1
- package/dist/Utils/BuildVerbDescriptionTable.js +6 -2
- package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -1
- package/dist/Utils/ConnectorIds.d.ts +12 -0
- package/dist/Utils/ConnectorIds.d.ts.map +1 -0
- package/dist/Utils/ConnectorIds.js +20 -0
- package/dist/Utils/ConnectorIds.js.map +1 -0
- package/dist/Utils/DcfRecovery.d.ts +7 -7
- package/dist/Utils/DcfRecovery.d.ts.map +1 -1
- package/dist/Utils/DcfRecovery.js +17 -37
- package/dist/Utils/DcfRecovery.js.map +1 -1
- package/dist/Utils/DownloadTemplate.d.ts +45 -0
- package/dist/Utils/DownloadTemplate.d.ts.map +1 -0
- package/dist/Utils/DownloadTemplate.js +161 -0
- package/dist/Utils/DownloadTemplate.js.map +1 -0
- package/dist/Utils/EnvVars.d.ts +1 -1
- package/dist/Utils/EnvVars.d.ts.map +1 -1
- package/dist/Utils/EnvVars.js.map +1 -1
- package/dist/Utils/EnvironmentRoutingUtils.d.ts +20 -1
- package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +1 -1
- package/dist/Utils/EnvironmentRoutingUtils.js +78 -3
- package/dist/Utils/EnvironmentRoutingUtils.js.map +1 -1
- package/dist/Utils/GitErrorClassifier.d.ts +40 -0
- package/dist/Utils/GitErrorClassifier.d.ts.map +1 -0
- package/dist/Utils/GitErrorClassifier.js +120 -0
- package/dist/Utils/GitErrorClassifier.js.map +1 -0
- package/dist/Utils/GitRunner.d.ts +107 -0
- package/dist/Utils/GitRunner.d.ts.map +1 -0
- package/dist/Utils/GitRunner.js +89 -0
- package/dist/Utils/GitRunner.js.map +1 -0
- package/dist/Utils/GitUtils.d.ts +12 -0
- package/dist/Utils/GitUtils.d.ts.map +1 -1
- package/dist/Utils/GitUtils.js +83 -20
- package/dist/Utils/GitUtils.js.map +1 -1
- package/dist/Utils/GitVersionChecker.d.ts +38 -0
- package/dist/Utils/GitVersionChecker.d.ts.map +1 -0
- package/dist/Utils/GitVersionChecker.js +64 -0
- package/dist/Utils/GitVersionChecker.js.map +1 -0
- package/dist/Utils/MaafAppConfig.d.ts +22 -0
- package/dist/Utils/MaafAppConfig.d.ts.map +1 -0
- package/dist/Utils/MaafAppConfig.js +32 -0
- package/dist/Utils/MaafAppConfig.js.map +1 -0
- package/dist/Utils/NodeVersionChecker.d.ts +3 -6
- package/dist/Utils/NodeVersionChecker.d.ts.map +1 -1
- package/dist/Utils/NodeVersionChecker.js +9 -26
- package/dist/Utils/NodeVersionChecker.js.map +1 -1
- package/dist/Utils/Paging.d.ts +6 -0
- package/dist/Utils/Paging.d.ts.map +1 -1
- package/dist/Utils/Paging.js +36 -1
- package/dist/Utils/Paging.js.map +1 -1
- package/dist/Utils/PinCli.d.ts +28 -0
- package/dist/Utils/PinCli.d.ts.map +1 -0
- package/dist/Utils/PinCli.js +58 -0
- package/dist/Utils/PinCli.js.map +1 -0
- package/dist/Utils/RepoDetails.d.ts +29 -0
- package/dist/Utils/RepoDetails.d.ts.map +1 -0
- package/dist/Utils/RepoDetails.js +37 -0
- package/dist/Utils/RepoDetails.js.map +1 -0
- package/dist/Utils/RepoOption.d.ts +35 -0
- package/dist/Utils/RepoOption.d.ts.map +1 -0
- package/dist/Utils/RepoOption.js +36 -0
- package/dist/Utils/RepoOption.js.map +1 -0
- package/dist/Utils/ResolveCommand.d.ts.map +1 -1
- package/dist/Utils/ResolveCommand.js +6 -4
- package/dist/Utils/ResolveCommand.js.map +1 -1
- package/dist/Utils/Spinner.d.ts.map +1 -1
- package/dist/Utils/Spinner.js +3 -0
- package/dist/Utils/Spinner.js.map +1 -1
- package/dist/Verbs/AddAction.js +6 -6
- package/dist/Verbs/AddAction.js.map +1 -1
- package/dist/Verbs/AddConnector.d.ts +6 -4
- package/dist/Verbs/AddConnector.d.ts.map +1 -1
- package/dist/Verbs/AddConnector.js +54 -14
- package/dist/Verbs/AddConnector.js.map +1 -1
- package/dist/Verbs/AddConnectorFlows.d.ts +29 -16
- package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -1
- package/dist/Verbs/AddConnectorFlows.js +73 -25
- package/dist/Verbs/AddConnectorFlows.js.map +1 -1
- package/dist/Verbs/AddDataSource.d.ts +3 -4
- package/dist/Verbs/AddDataSource.d.ts.map +1 -1
- package/dist/Verbs/AddDataSource.js +9 -20
- package/dist/Verbs/AddDataSource.js.map +1 -1
- package/dist/Verbs/AddTable.js +7 -7
- package/dist/Verbs/AddTable.js.map +1 -1
- package/dist/Verbs/AuthStatus.d.ts.map +1 -1
- package/dist/Verbs/AuthStatus.js +7 -4
- package/dist/Verbs/AuthStatus.js.map +1 -1
- package/dist/Verbs/BuildMaafApp.js +1 -1
- package/dist/Verbs/BuildMaafApp.js.map +1 -1
- package/dist/Verbs/ConnectorHelpers.d.ts +5 -4
- package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -1
- package/dist/Verbs/ConnectorHelpers.js +14 -9
- package/dist/Verbs/ConnectorHelpers.js.map +1 -1
- package/dist/Verbs/CreateMaafApp.d.ts +25 -42
- package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
- package/dist/Verbs/CreateMaafApp.js +346 -268
- package/dist/Verbs/CreateMaafApp.js.map +1 -1
- package/dist/Verbs/DeployMaafApp.d.ts.map +1 -1
- package/dist/Verbs/DeployMaafApp.js +4 -4
- package/dist/Verbs/DeployMaafApp.js.map +1 -1
- package/dist/Verbs/Dev.js +1 -1
- package/dist/Verbs/Dev.js.map +1 -1
- package/dist/Verbs/GetMaafApp.d.ts.map +1 -1
- package/dist/Verbs/GetMaafApp.js +10 -0
- package/dist/Verbs/GetMaafApp.js.map +1 -1
- package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -1
- package/dist/Verbs/GetMaafBuildStatus.js +52 -3
- package/dist/Verbs/GetMaafBuildStatus.js.map +1 -1
- package/dist/Verbs/GetSettings.js +1 -1
- package/dist/Verbs/GetSettings.js.map +1 -1
- package/dist/Verbs/Init.d.ts.map +1 -1
- package/dist/Verbs/Init.js +183 -60
- package/dist/Verbs/Init.js.map +1 -1
- package/dist/Verbs/ListConnectorActions.js +12 -9
- package/dist/Verbs/ListConnectorActions.js.map +1 -1
- package/dist/Verbs/ListConnectors.d.ts.map +1 -1
- package/dist/Verbs/ListConnectors.js +3 -2
- package/dist/Verbs/ListConnectors.js.map +1 -1
- package/dist/Verbs/ListMaafApps.js +3 -3
- package/dist/Verbs/ListMaafApps.js.map +1 -1
- package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
- package/dist/Verbs/MaafAppPermissions.js +89 -17
- package/dist/Verbs/MaafAppPermissions.js.map +1 -1
- package/dist/Verbs/Pack.d.ts +1 -1
- package/dist/Verbs/RefreshDataSource.js +1 -1
- package/dist/Verbs/RefreshDataSource.js.map +1 -1
- package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -1
- package/dist/Verbs/RefreshGitAuth.js +3 -15
- package/dist/Verbs/RefreshGitAuth.js.map +1 -1
- package/dist/Verbs/{DeleteDataSource.d.ts → RemoveDataSource.d.ts} +2 -2
- package/dist/Verbs/RemoveDataSource.d.ts.map +1 -0
- package/dist/Verbs/RemoveDataSource.js +158 -0
- package/dist/Verbs/RemoveDataSource.js.map +1 -0
- package/dist/Verbs/SetSetting.js +2 -2
- package/dist/Verbs/SetSetting.js.map +1 -1
- package/dist/Verbs/ShareLinkList.js +1 -1
- package/dist/Verbs/ShareLinkList.js.map +1 -1
- package/dist/Verbs/ShowMaafApp.d.ts +6 -0
- package/dist/Verbs/ShowMaafApp.d.ts.map +1 -1
- package/dist/Verbs/ShowMaafApp.js +10 -2
- package/dist/Verbs/ShowMaafApp.js.map +1 -1
- package/dist/Verbs/VerbConstants.d.ts +20 -23
- package/dist/Verbs/VerbConstants.d.ts.map +1 -1
- package/dist/Verbs/VerbConstants.js +20 -23
- package/dist/Verbs/VerbConstants.js.map +1 -1
- package/dist/Verbs/index.d.ts +1 -1
- package/dist/Verbs/index.d.ts.map +1 -1
- package/dist/Verbs/index.js +1 -1
- package/dist/Verbs/index.js.map +1 -1
- package/package.json +11 -9
- package/dist/Verbs/DeleteDataSource.d.ts.map +0 -1
- package/dist/Verbs/DeleteDataSource.js +0 -105
- package/dist/Verbs/DeleteDataSource.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleWriter.js","sourceRoot":"","sources":["../../src/Logger/ConsoleWriter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAStC,8EAA8E;AAC9E,6EAA6E;AAC7E,2BAA2B;AAC3B,SAAS,YAAY,CACnB,SAAiB,EACjB,MAAc,EACd,MAAmB,EACnB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAE/B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,cAAc,SAAS,WAAW,MAAM,GAAG,CAAC,CAAC;IAC/E,OAAO,CAAC,YAAoB,EAAE,GAAG,IAAW,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC;QAC/F,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACP,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,MAAM,CAAW;IACjB,KAAK,CAAW;
|
|
1
|
+
{"version":3,"file":"ConsoleWriter.js","sourceRoot":"","sources":["../../src/Logger/ConsoleWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export interface CliOption<T = unknown> {
|
|
|
20
20
|
env?: CliEnvVarName;
|
|
21
21
|
description?: string;
|
|
22
22
|
default?: T;
|
|
23
|
+
parseArg?: (value: string, previous: unknown) => unknown;
|
|
23
24
|
customPrompt?: () => Promise<T>;
|
|
24
25
|
optionalInNonInteractive?: boolean;
|
|
25
26
|
hidden?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Argument.types.d.ts","sourceRoot":"","sources":["../../src/Types/Argument.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAGhC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
|
1
|
+
{"version":3,"file":"Argument.types.d.ts","sourceRoot":"","sources":["../../src/Types/Argument.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAGhC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -32,6 +32,12 @@ export interface TypedVerbDef {
|
|
|
32
32
|
export declare function isTypedVerbDef(entry: LeafCommandDef | TypedVerbDef): entry is TypedVerbDef;
|
|
33
33
|
/** Narrows to a hybrid TypedVerbDef that also carries a parent handler. */
|
|
34
34
|
export declare function hasParentHandler(entry: TypedVerbDef): entry is TypedVerbDef & Required<Pick<TypedVerbDef, 'handler' | '@helpText'>>;
|
|
35
|
+
/**
|
|
36
|
+
* Looks up a command entry by token within a commands map using an own-property
|
|
37
|
+
* check so inherited `Object.prototype` members (e.g. `constructor`, `__proto__`)
|
|
38
|
+
* are never resolved as commands. Used by the resolver and help builders.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getCommandEntry(commands: Record<string, LeafCommandDef | TypedVerbDef>, token: string): LeafCommandDef | TypedVerbDef | undefined;
|
|
35
41
|
/** A noun group with its description and command map. */
|
|
36
42
|
export interface NounDef {
|
|
37
43
|
'@description': string;
|
|
@@ -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;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;CACzD;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,KAAK,IAAI,YAAY,CAE1F;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAE/E;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"}
|
|
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;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;CACzD;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,KAAK,IAAI,YAAY,CAE1F;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC,EACvD,KAAK,EAAE,MAAM,GACZ,cAAc,GAAG,YAAY,GAAG,SAAS,CAE3C;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"}
|
|
@@ -9,4 +9,12 @@ export function isTypedVerbDef(entry) {
|
|
|
9
9
|
export function hasParentHandler(entry) {
|
|
10
10
|
return typeof entry.handler === 'function';
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Looks up a command entry by token within a commands map using an own-property
|
|
14
|
+
* check so inherited `Object.prototype` members (e.g. `constructor`, `__proto__`)
|
|
15
|
+
* are never resolved as commands. Used by the resolver and help builders.
|
|
16
|
+
*/
|
|
17
|
+
export function getCommandEntry(commands, token) {
|
|
18
|
+
return Object.prototype.hasOwnProperty.call(commands, token) ? commands[token] : undefined;
|
|
19
|
+
}
|
|
12
20
|
//# sourceMappingURL=Command.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Command.types.js","sourceRoot":"","sources":["../../src/Types/Command.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoCH,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,KAAoC;IACjE,OAAQ,KAAsB,CAAC,KAAK,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAC9B,KAAmB;IAEnB,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"Command.types.js","sourceRoot":"","sources":["../../src/Types/Command.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoCH,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,KAAoC;IACjE,OAAQ,KAAsB,CAAC,KAAK,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAC9B,KAAmB;IAEnB,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAuD,EACvD,KAAa;IAEb,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildVerbDescriptionTable.d.ts","sourceRoot":"","sources":["../../src/Utils/BuildVerbDescriptionTable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAkBlD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4CtD;
|
|
1
|
+
{"version":3,"file":"BuildVerbDescriptionTable.d.ts","sourceRoot":"","sources":["../../src/Utils/BuildVerbDescriptionTable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAkBlD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4CtD;AAwBD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CA6BnF"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
|
|
5
5
|
import { COMMAND_TREE } from '../Constants/CommandRegistry.js';
|
|
6
|
-
import { hasParentHandler, isTypedVerbDef } from '../Types/Command.types.js';
|
|
6
|
+
import { getCommandEntry, hasParentHandler, isTypedVerbDef } from '../Types/Command.types.js';
|
|
7
7
|
import { isKnownNoun } from './ResolveCommand.js';
|
|
8
8
|
/** Renders a two-column label/helpText table under a title heading. */
|
|
9
9
|
function appendTable(lines, title, entries) {
|
|
@@ -79,6 +79,10 @@ export function buildNounHelpText(noun) {
|
|
|
79
79
|
* Flattens a typed verb into a list of `<prefix> <type> [...nested]` labels
|
|
80
80
|
* paired with their leaf help text. Pass an empty `prefix` to get bare type
|
|
81
81
|
* paths (e.g. `link create`); pass a non-empty prefix to include it.
|
|
82
|
+
*
|
|
83
|
+
* Deprecated subcommands (e.g. `connector`) are ordinary entries whose
|
|
84
|
+
* `@helpText` carries the `(deprecated) Use '<name>' instead.` marker, so they
|
|
85
|
+
* render naturally alongside their canonical counterpart.
|
|
82
86
|
*/
|
|
83
87
|
function flattenTypedVerb(verbDef, prefix) {
|
|
84
88
|
const rows = [];
|
|
@@ -118,7 +122,7 @@ export function buildPathTypedHelpText(pathTokens) {
|
|
|
118
122
|
let commands = COMMAND_TREE[noun].commands;
|
|
119
123
|
let endpoint;
|
|
120
124
|
for (const token of rest) {
|
|
121
|
-
const entry = commands
|
|
125
|
+
const entry = getCommandEntry(commands, token);
|
|
122
126
|
if (!entry)
|
|
123
127
|
return null;
|
|
124
128
|
endpoint = entry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildVerbDescriptionTable.js","sourceRoot":"","sources":["../../src/Utils/BuildVerbDescriptionTable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"BuildVerbDescriptionTable.js","sourceRoot":"","sources":["../../src/Utils/BuildVerbDescriptionTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Returns `true` when `apiId` refers to the Common Data Service for Apps
|
|
6
|
+
* connector, accepting both the canonical `shared_commondataserviceforapps`
|
|
7
|
+
* form and the bare alias `commondataserviceforapps`. Path-qualified IDs
|
|
8
|
+
* ending with either form (e.g. `/providers/…/shared_commondataserviceforapps`)
|
|
9
|
+
* are also recognised.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isCdsConnectorId(apiId: string): boolean;
|
|
12
|
+
//# sourceMappingURL=ConnectorIds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectorIds.d.ts","sourceRoot":"","sources":["../../src/Utils/ConnectorIds.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGvD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* All accepted forms of the Common Data Service for Apps connector ID.
|
|
6
|
+
* The CLI accepts both the canonical `shared_` form and the bare alias.
|
|
7
|
+
*/
|
|
8
|
+
const CDS_CONNECTOR_IDS = ['shared_commondataserviceforapps', 'commondataserviceforapps'];
|
|
9
|
+
/**
|
|
10
|
+
* Returns `true` when `apiId` refers to the Common Data Service for Apps
|
|
11
|
+
* connector, accepting both the canonical `shared_commondataserviceforapps`
|
|
12
|
+
* form and the bare alias `commondataserviceforapps`. Path-qualified IDs
|
|
13
|
+
* ending with either form (e.g. `/providers/…/shared_commondataserviceforapps`)
|
|
14
|
+
* are also recognised.
|
|
15
|
+
*/
|
|
16
|
+
export function isCdsConnectorId(apiId) {
|
|
17
|
+
const normalized = apiId.toLowerCase();
|
|
18
|
+
return CDS_CONNECTOR_IDS.some((id) => normalized === id || normalized.endsWith(`/${id}`));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ConnectorIds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectorIds.js","sourceRoot":"","sources":["../../src/Utils/ConnectorIds.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,iCAAiC,EAAE,0BAA0B,CAAU,CAAC;AAEnG;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5F,CAAC"}
|
|
@@ -15,10 +15,10 @@ export interface DcfRecoveryOptions {
|
|
|
15
15
|
/**
|
|
16
16
|
* Inline DCF recovery branch for the github catch-and-retry. SIGINT handling
|
|
17
17
|
* is scoped to this helper so Ctrl+C during the device-code polling loop
|
|
18
|
-
* doesn't leak a listener back to the verb's outer body.
|
|
19
|
-
* by `authenticateForRepoAsync` are
|
|
20
|
-
* {@link
|
|
21
|
-
*
|
|
18
|
+
* doesn't leak a listener back to the verb's outer body. Structured server
|
|
19
|
+
* errors thrown by `authenticateForRepoAsync` are normalized through
|
|
20
|
+
* {@link formatServerError} before being rethrown so the verb's outer catch
|
|
21
|
+
* (and the single-retry contract) sees CLI-typed errors.
|
|
22
22
|
*
|
|
23
23
|
* Telemetry event prefix is derived from the verb (e.g. `'app create'` →
|
|
24
24
|
* `'Maaf.Create.GitHubDcfRecovery'`) — keeps the call site a one-liner that
|
|
@@ -64,9 +64,9 @@ export interface WithGitHubDcfRecoveryOptions {
|
|
|
64
64
|
* error escapes untouched so native/none verbs behave identically to the
|
|
65
65
|
* un-wrapped call.
|
|
66
66
|
* - First-attempt errors that {@link matchGitHubAuthError} doesn't recognize
|
|
67
|
-
* are
|
|
68
|
-
*
|
|
69
|
-
* as-is.
|
|
67
|
+
* are normalized via {@link formatServerError} (which handles
|
|
68
|
+
* `GrsServerError`, `HttpClientError`, and structured `Error` envelopes)
|
|
69
|
+
* before being rethrown; everything else escapes as-is.
|
|
70
70
|
* - A matching first-attempt error with no `externalRepoUrl` throws a
|
|
71
71
|
* verb-agnostic {@link AuthenticationError} before DCF is invoked — DCF
|
|
72
72
|
* itself requires a URL to derive host/owner/repo.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DcfRecovery.d.ts","sourceRoot":"","sources":["../../src/Utils/DcfRecovery.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"DcfRecovery.d.ts","sourceRoot":"","sources":["../../src/Utils/DcfRecovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAatE,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAErF,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,gGAAgG;IAChG,IAAI,EAAE,eAAe,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6EpF;AAqDD,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,eAAe,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,OAAO,EAAE,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EACtD,OAAO,EAAE,4BAA4B,EACrC,cAAc,GAAE,OAAO,mBAAyC,GAC/D,OAAO,CAAC,CAAC,CAAC,CA6DZ"}
|
|
@@ -11,20 +11,20 @@
|
|
|
11
11
|
* display selection, and error mapping all live here so the caller can stay
|
|
12
12
|
* focused on its own happy-path flow.
|
|
13
13
|
*/
|
|
14
|
-
import { authenticateForRepoAsync
|
|
14
|
+
import { authenticateForRepoAsync } from '@microsoft/managed-apps-actions';
|
|
15
15
|
import { getCliLogger } from '../CliSettings.js';
|
|
16
16
|
import { AuthenticationError } from '../Errors/CliError.js';
|
|
17
|
-
import { mapGitHubServerErrorToCliError, matchGitHubAuthError } from '../Errors/GitHubErrorMap.js';
|
|
17
|
+
import { formatServerError, mapGitHubServerErrorToCliError, matchGitHubAuthError, } from '../Errors/GitHubErrorMap.js';
|
|
18
18
|
import { printInfo } from './ConsoleOutput.js';
|
|
19
19
|
import { ConsoleGitHubDcfDisplay, JsonGitHubDcfDisplay } from './GitHubDcfFlow.js';
|
|
20
20
|
import { computeRepoHash, parseRemoteUrl } from './RepoUrl.js';
|
|
21
21
|
/**
|
|
22
22
|
* Inline DCF recovery branch for the github catch-and-retry. SIGINT handling
|
|
23
23
|
* is scoped to this helper so Ctrl+C during the device-code polling loop
|
|
24
|
-
* doesn't leak a listener back to the verb's outer body.
|
|
25
|
-
* by `authenticateForRepoAsync` are
|
|
26
|
-
* {@link
|
|
27
|
-
*
|
|
24
|
+
* doesn't leak a listener back to the verb's outer body. Structured server
|
|
25
|
+
* errors thrown by `authenticateForRepoAsync` are normalized through
|
|
26
|
+
* {@link formatServerError} before being rethrown so the verb's outer catch
|
|
27
|
+
* (and the single-retry contract) sees CLI-typed errors.
|
|
28
28
|
*
|
|
29
29
|
* Telemetry event prefix is derived from the verb (e.g. `'app create'` →
|
|
30
30
|
* `'Maaf.Create.GitHubDcfRecovery'`) — keeps the call site a one-liner that
|
|
@@ -52,7 +52,7 @@ export async function runDcfRecoveryAsync(options) {
|
|
|
52
52
|
repoHash,
|
|
53
53
|
});
|
|
54
54
|
if (!jsonMode) {
|
|
55
|
-
printInfo('GitHub authentication is required
|
|
55
|
+
printInfo('GitHub authentication is required for this action.');
|
|
56
56
|
}
|
|
57
57
|
const display = composeRecoveryDisplay({ isJson: jsonMode, openBrowser });
|
|
58
58
|
// SIGINT plumbing: a Ctrl+C during the (potentially 15-minute) polling
|
|
@@ -84,17 +84,8 @@ export async function runDcfRecoveryAsync(options) {
|
|
|
84
84
|
repoHost: host,
|
|
85
85
|
repoHash,
|
|
86
86
|
});
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
code: error.code,
|
|
90
|
-
message: error.message,
|
|
91
|
-
status: error.status,
|
|
92
|
-
details: error.details,
|
|
93
|
-
}, { repoUrl: remoteUrl, verb });
|
|
94
|
-
if (mapped)
|
|
95
|
-
throw mapped;
|
|
96
|
-
}
|
|
97
|
-
throw error;
|
|
87
|
+
const mapped = formatServerError(error);
|
|
88
|
+
throw mapped ?? error;
|
|
98
89
|
}
|
|
99
90
|
finally {
|
|
100
91
|
process.removeListener('SIGINT', onSigint);
|
|
@@ -178,9 +169,9 @@ function telemetryEventPrefixForVerb(verb) {
|
|
|
178
169
|
* error escapes untouched so native/none verbs behave identically to the
|
|
179
170
|
* un-wrapped call.
|
|
180
171
|
* - First-attempt errors that {@link matchGitHubAuthError} doesn't recognize
|
|
181
|
-
* are
|
|
182
|
-
*
|
|
183
|
-
* as-is.
|
|
172
|
+
* are normalized via {@link formatServerError} (which handles
|
|
173
|
+
* `GrsServerError`, `HttpClientError`, and structured `Error` envelopes)
|
|
174
|
+
* before being rethrown; everything else escapes as-is.
|
|
184
175
|
* - A matching first-attempt error with no `externalRepoUrl` throws a
|
|
185
176
|
* verb-agnostic {@link AuthenticationError} before DCF is invoked — DCF
|
|
186
177
|
* itself requires a URL to derive host/owner/repo.
|
|
@@ -194,14 +185,6 @@ function telemetryEventPrefixForVerb(verb) {
|
|
|
194
185
|
*/
|
|
195
186
|
export async function withGitHubDcfRecoveryAsync(attempt, options, runDcfRecovery = runDcfRecoveryAsync) {
|
|
196
187
|
const { repoType, externalRepoUrl, tenantId, jsonMode, openBrowser, verb } = options;
|
|
197
|
-
// Local helper: if `e` is a recognized GrsServerError, return the friendly
|
|
198
|
-
// CLI-typed error; otherwise null. Closes over `externalRepoUrl`/`verb` so
|
|
199
|
-
// the two non-matching call sites below stay one line each and can't drift.
|
|
200
|
-
const mapGrsError = (e) => {
|
|
201
|
-
if (!(e instanceof GrsServerError))
|
|
202
|
-
return null;
|
|
203
|
-
return mapGitHubServerErrorToCliError({ code: e.code, message: e.message, status: e.status, details: e.details }, { repoUrl: externalRepoUrl, verb });
|
|
204
|
-
};
|
|
205
188
|
try {
|
|
206
189
|
// Happy path: attempt succeeds on the first try, no DCF, no retry.
|
|
207
190
|
return await attempt({ isRetry: false });
|
|
@@ -211,9 +194,9 @@ export async function withGitHubDcfRecoveryAsync(attempt, options, runDcfRecover
|
|
|
211
194
|
throw err;
|
|
212
195
|
const matched = matchGitHubAuthError(err);
|
|
213
196
|
if (!matched) {
|
|
214
|
-
// Non-matching first-attempt error:
|
|
215
|
-
// CLI errors, otherwise rethrow untouched.
|
|
216
|
-
const mapped =
|
|
197
|
+
// Non-matching first-attempt error: normalize known structured server
|
|
198
|
+
// errors to friendly CLI errors, otherwise rethrow untouched.
|
|
199
|
+
const mapped = formatServerError(err);
|
|
217
200
|
if (mapped)
|
|
218
201
|
throw mapped;
|
|
219
202
|
throw err;
|
|
@@ -249,14 +232,11 @@ export async function withGitHubDcfRecoveryAsync(attempt, options, runDcfRecover
|
|
|
249
232
|
// the device-code flow and another loop would just hang. Fall through
|
|
250
233
|
// to `retryErr` if the mapper somehow returns null (defensive — the
|
|
251
234
|
// mapper recognizes every code matchGitHubAuthError matches on).
|
|
252
|
-
const mapped = mapGitHubServerErrorToCliError(remapped.payload
|
|
253
|
-
repoUrl: externalRepoUrl,
|
|
254
|
-
verb,
|
|
255
|
-
});
|
|
235
|
+
const mapped = mapGitHubServerErrorToCliError(remapped.payload);
|
|
256
236
|
throw mapped ?? retryErr;
|
|
257
237
|
}
|
|
258
238
|
// Non-matching retry error: same map-or-rethrow shape as the first attempt.
|
|
259
|
-
const mapped =
|
|
239
|
+
const mapped = formatServerError(retryErr);
|
|
260
240
|
if (mapped)
|
|
261
241
|
throw mapped;
|
|
262
242
|
throw retryErr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DcfRecovery.js","sourceRoot":"","sources":["../../src/Utils/DcfRecovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;GASG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"DcfRecovery.js","sourceRoot":"","sources":["../../src/Utils/DcfRecovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
export interface ParsedGithubTemplate {
|
|
5
|
+
owner: string;
|
|
6
|
+
repo: string;
|
|
7
|
+
/** Empty string when the whole repo is the template (no subdir). */
|
|
8
|
+
subdir: string;
|
|
9
|
+
/**
|
|
10
|
+
* Optional branch or tag specified via the `#ref` suffix. Commit SHAs are
|
|
11
|
+
* NOT supported — the downloader passes this value to `git clone --branch`,
|
|
12
|
+
* which only resolves named refs, not raw commit hashes.
|
|
13
|
+
*/
|
|
14
|
+
ref: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Parses a template source. Accepted shapes:
|
|
18
|
+
*
|
|
19
|
+
* github:<owner>/<repo>[/<subdir>...][#<ref>]
|
|
20
|
+
* gh:<owner>/<repo>[/<subdir>...][#<ref>] (shorthand)
|
|
21
|
+
* <owner>/<repo>[/<subdir>...][#<ref>] (prefix optional)
|
|
22
|
+
* https://github.com/<owner>/<repo>[.git][#<ref>]
|
|
23
|
+
* https://github.com/<owner>/<repo>/tree/<ref>[/<subdir>]
|
|
24
|
+
*
|
|
25
|
+
* Throws `UsageError` for any other shape — non-github providers (`gitlab:`,
|
|
26
|
+
* `bitbucket:`, …), arbitrary tarball URLs, and github file URLs (`/blob/...`).
|
|
27
|
+
* The CLI is intentionally github-only here: github is the only provider in
|
|
28
|
+
* real use, and authentication against private github repos already flows
|
|
29
|
+
* through the user's normal git credential setup.
|
|
30
|
+
*/
|
|
31
|
+
export declare function parseGithubTemplate(source: string): ParsedGithubTemplate;
|
|
32
|
+
/**
|
|
33
|
+
* Downloads a github-hosted template into `dir`. Uses a shallow + partial +
|
|
34
|
+
* sparse clone so only the requested subdirectory is fetched, then copies the
|
|
35
|
+
* working tree into place via `fs.cpSync` and discards the temporary clone.
|
|
36
|
+
*
|
|
37
|
+
* Requires `git` on PATH; callers should run `ensureGitInstalled` in preflight
|
|
38
|
+
* so a missing-git failure surfaces before any server call. Authentication for
|
|
39
|
+
* private repos flows through the user's existing git credential setup
|
|
40
|
+
* (gh, GCM, SSH key, PAT) — the CLI does not inject tokens at this layer.
|
|
41
|
+
*/
|
|
42
|
+
export declare function downloadTemplate(source: string, options: {
|
|
43
|
+
dir: string;
|
|
44
|
+
}): void;
|
|
45
|
+
//# sourceMappingURL=DownloadTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DownloadTemplate.d.ts","sourceRoot":"","sources":["../../src/Utils/DownloadTemplate.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CA2FxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoD/E"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import * as os from 'os';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import { UsageError } from '../Errors/CliError.js';
|
|
8
|
+
import { runGit } from './GitRunner.js';
|
|
9
|
+
/**
|
|
10
|
+
* Parses a template source. Accepted shapes:
|
|
11
|
+
*
|
|
12
|
+
* github:<owner>/<repo>[/<subdir>...][#<ref>]
|
|
13
|
+
* gh:<owner>/<repo>[/<subdir>...][#<ref>] (shorthand)
|
|
14
|
+
* <owner>/<repo>[/<subdir>...][#<ref>] (prefix optional)
|
|
15
|
+
* https://github.com/<owner>/<repo>[.git][#<ref>]
|
|
16
|
+
* https://github.com/<owner>/<repo>/tree/<ref>[/<subdir>]
|
|
17
|
+
*
|
|
18
|
+
* Throws `UsageError` for any other shape — non-github providers (`gitlab:`,
|
|
19
|
+
* `bitbucket:`, …), arbitrary tarball URLs, and github file URLs (`/blob/...`).
|
|
20
|
+
* The CLI is intentionally github-only here: github is the only provider in
|
|
21
|
+
* real use, and authentication against private github repos already flows
|
|
22
|
+
* through the user's normal git credential setup.
|
|
23
|
+
*/
|
|
24
|
+
export function parseGithubTemplate(source) {
|
|
25
|
+
if (!source) {
|
|
26
|
+
throw new UsageError('Template source is empty. Use --template to specify one.');
|
|
27
|
+
}
|
|
28
|
+
// 1. Raw github.com URL — common when the user pastes from a browser
|
|
29
|
+
// address bar. We use the WHATWG URL parser rather than regex so query
|
|
30
|
+
// params (`?tab=readme`), mixed-case hosts, trailing slashes, embedded
|
|
31
|
+
// userinfo, and percent-encoded segments all get normalised away
|
|
32
|
+
// automatically. The path is then matched against the two shapes we
|
|
33
|
+
// support: bare-repo (`/<owner>/<repo>[.git]`) and the web-UI subdir
|
|
34
|
+
// form (`/<owner>/<repo>/tree/<branch>[/<subdir>...]`). `/blob/...`
|
|
35
|
+
// (file URLs) and any other path shape are rejected with a clear error
|
|
36
|
+
// so the failure isn't a confusing mid-flow clone failure.
|
|
37
|
+
if (/^https?:\/\//i.test(source)) {
|
|
38
|
+
let url;
|
|
39
|
+
try {
|
|
40
|
+
url = new URL(source);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
throw new UsageError(`Template source '${source}' is not a valid URL.`);
|
|
44
|
+
}
|
|
45
|
+
if (url.hostname.toLowerCase() !== 'github.com') {
|
|
46
|
+
throw new UsageError(`Template source '${source}' uses host '${url.hostname}'; only github.com URLs are supported.`);
|
|
47
|
+
}
|
|
48
|
+
const segments = url.pathname.split('/').filter(Boolean);
|
|
49
|
+
if (segments.length < 2) {
|
|
50
|
+
throw new UsageError(`Template source '${source}' is missing the owner/repo path. ` +
|
|
51
|
+
`Use 'https://github.com/<owner>/<repo>'.`);
|
|
52
|
+
}
|
|
53
|
+
const [owner, rawRepo, ...rest] = segments;
|
|
54
|
+
const repo = rawRepo.endsWith('.git') ? rawRepo.slice(0, -'.git'.length) : rawRepo;
|
|
55
|
+
const hashRef = url.hash ? url.hash.slice(1) : undefined;
|
|
56
|
+
if (rest.length === 0) {
|
|
57
|
+
return { owner, repo, subdir: '', ref: hashRef };
|
|
58
|
+
}
|
|
59
|
+
// Web-UI subdir form: /<owner>/<repo>/tree/<branch>[/<subdir>...]. We can't
|
|
60
|
+
// disambiguate `branch` from `subdir` when the branch name contains a `/`
|
|
61
|
+
// (we'd need to look up refs on the server). The downloadTemplate
|
|
62
|
+
// subdir-not-found error tells the user to switch to the `#<ref>` shorthand.
|
|
63
|
+
if (rest[0].toLowerCase() === 'tree' && rest.length >= 2) {
|
|
64
|
+
return {
|
|
65
|
+
owner,
|
|
66
|
+
repo,
|
|
67
|
+
subdir: rest.slice(2).join('/'),
|
|
68
|
+
ref: hashRef ?? rest[1],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (rest[0].toLowerCase() === 'blob') {
|
|
72
|
+
throw new UsageError(`Template source '${source}' points at a file ('/blob/...'). ` +
|
|
73
|
+
`Templates must be a directory — use the '/tree/<branch>/<subdir>' URL form instead.`);
|
|
74
|
+
}
|
|
75
|
+
throw new UsageError(`Template source '${source}' has an unrecognised path. Use ` +
|
|
76
|
+
`'https://github.com/<owner>/<repo>' or ` +
|
|
77
|
+
`'https://github.com/<owner>/<repo>/tree/<branch>/<subdir>'.`);
|
|
78
|
+
}
|
|
79
|
+
// 2. Reject any prefix other than `github:` or `gh:` up front so the failure
|
|
80
|
+
// mode is a clear preflight error rather than a confusing clone failure.
|
|
81
|
+
const prefixMatch = /^([a-z][a-z0-9+.-]*):/i.exec(source);
|
|
82
|
+
if (prefixMatch) {
|
|
83
|
+
const prefix = prefixMatch[1].toLowerCase();
|
|
84
|
+
if (prefix !== 'github' && prefix !== 'gh') {
|
|
85
|
+
throw new UsageError(`Template source '${source}' uses unsupported provider prefix '${prefixMatch[1]}:'. ` +
|
|
86
|
+
`Only 'github:' (or 'gh:' shorthand) templates are supported.`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// 3. Shorthand: 'github:owner/repo[/subdir][#ref]', 'gh:owner/repo[...]', or
|
|
90
|
+
// bare 'owner/repo[...]'.
|
|
91
|
+
const stripped = source.replace(/^(?:github|gh):/i, '');
|
|
92
|
+
const [pathPart, ref] = stripped.split('#', 2);
|
|
93
|
+
const parts = pathPart.split('/').filter(Boolean);
|
|
94
|
+
if (parts.length < 2) {
|
|
95
|
+
throw new UsageError(`Template source '${source}' is missing the owner/repo path. ` +
|
|
96
|
+
`Expected 'github:<owner>/<repo>[/<subdir>]'.`);
|
|
97
|
+
}
|
|
98
|
+
const [owner, repo, ...subdirParts] = parts;
|
|
99
|
+
return { owner, repo, subdir: subdirParts.join('/'), ref: ref || undefined };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Downloads a github-hosted template into `dir`. Uses a shallow + partial +
|
|
103
|
+
* sparse clone so only the requested subdirectory is fetched, then copies the
|
|
104
|
+
* working tree into place via `fs.cpSync` and discards the temporary clone.
|
|
105
|
+
*
|
|
106
|
+
* Requires `git` on PATH; callers should run `ensureGitInstalled` in preflight
|
|
107
|
+
* so a missing-git failure surfaces before any server call. Authentication for
|
|
108
|
+
* private repos flows through the user's existing git credential setup
|
|
109
|
+
* (gh, GCM, SSH key, PAT) — the CLI does not inject tokens at this layer.
|
|
110
|
+
*/
|
|
111
|
+
export function downloadTemplate(source, options) {
|
|
112
|
+
const parsed = parseGithubTemplate(source);
|
|
113
|
+
const repoUrl = `https://github.com/${parsed.owner}/${parsed.repo}.git`;
|
|
114
|
+
const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'ms-template-'));
|
|
115
|
+
try {
|
|
116
|
+
// `--filter=blob:none` defers blob download until checkout; combined with
|
|
117
|
+
// `--sparse` it means we only ever fetch blobs inside the requested
|
|
118
|
+
// subdir. For no-subdir templates we still want `--depth=1` for a shallow
|
|
119
|
+
// clone but skip `--sparse` so the whole tree checks out.
|
|
120
|
+
const cloneArgs = ['clone', '--depth=1', '--filter=blob:none'];
|
|
121
|
+
if (parsed.subdir)
|
|
122
|
+
cloneArgs.push('--sparse');
|
|
123
|
+
if (parsed.ref)
|
|
124
|
+
cloneArgs.push('--branch', parsed.ref);
|
|
125
|
+
cloneArgs.push(repoUrl, tmp);
|
|
126
|
+
// network op: stderr is captured + re-emitted by runGit. We deliberately do
|
|
127
|
+
// NOT opt into runGit's GRS error classifier here — template auth flows
|
|
128
|
+
// through the user's normal github credentials, not the GRS OAuth mapping,
|
|
129
|
+
// so a "run ms git auth refresh" hint would be misleading.
|
|
130
|
+
runGit(cloneArgs, { network: true });
|
|
131
|
+
if (parsed.subdir) {
|
|
132
|
+
runGit(['-C', tmp, 'sparse-checkout', 'set', parsed.subdir]);
|
|
133
|
+
}
|
|
134
|
+
const checkoutSource = parsed.subdir ? path.join(tmp, parsed.subdir) : tmp;
|
|
135
|
+
if (!fs.existsSync(checkoutSource)) {
|
|
136
|
+
// Common cause when this fires from the `/tree/<branch>/<subdir>` URL form:
|
|
137
|
+
// the branch name contains a `/` (e.g. `feat/foo`), and the parser took the
|
|
138
|
+
// first segment after `/tree/` as the ref — so `subdir` ended up shifted
|
|
139
|
+
// and the requested path doesn't exist. The shorthand `#<ref>` form is
|
|
140
|
+
// unambiguous and the recommended workaround.
|
|
141
|
+
throw new UsageError(`Template subdirectory '${parsed.subdir}' was not found in ` +
|
|
142
|
+
`https://github.com/${parsed.owner}/${parsed.repo}` +
|
|
143
|
+
`${parsed.ref ? ` at ref '${parsed.ref}'` : ''}. ` +
|
|
144
|
+
`If the branch name contains '/', use the ` +
|
|
145
|
+
`'github:<owner>/<repo>/<subdir>#<branch>' form to disambiguate.`);
|
|
146
|
+
}
|
|
147
|
+
fs.mkdirSync(options.dir, { recursive: true });
|
|
148
|
+
fs.cpSync(checkoutSource, options.dir, {
|
|
149
|
+
recursive: true,
|
|
150
|
+
force: true,
|
|
151
|
+
// Skip `.git` when copying. With `--sparse` + subdir the .git lives at
|
|
152
|
+
// `tmp/.git` (outside the copy source), so this matters mainly for the
|
|
153
|
+
// no-subdir path where the copy source IS the clone root.
|
|
154
|
+
filter: (src) => path.basename(src) !== '.git',
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
finally {
|
|
158
|
+
fs.rmSync(tmp, { recursive: true, force: true });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=DownloadTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DownloadTemplate.js","sourceRoot":"","sources":["../../src/Utils/DownloadTemplate.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' | 'USE_HTTP_FORWARD' | 'HTTP_FORWARD_URL' | 'HTTP_FORWARD_AUTH_TOKEN' | 'HTTP_FORWARD_TENANT_ID' | 'ENABLE_CONNECTOR_USER_CONSENT' | 'REMOTE_TELEMETRY' | 'CONSOLE_TELEMETRY' | 'ORIGIN' | 'USE_MMA_APP_ID' | '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' | 'LOCAL_APP_URL' | 'BUILD_PATH' | 'BUILD_COMMAND' | 'BUILD_ENTRY_POINT' | 'CONFIG_ONLY' | 'PORT' | 'CLOUD_INSTANCE' | '
|
|
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' | 'ENABLE_CONNECTOR_USER_CONSENT' | 'REMOTE_TELEMETRY' | 'CONSOLE_TELEMETRY' | 'ORIGIN' | 'USE_MMA_APP_ID' | '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' | 'LOCAL_APP_URL' | 'BUILD_PATH' | 'BUILD_COMMAND' | 'BUILD_ENTRY_POINT' | 'CONFIG_ONLY' | 'PORT' | 'CLOUD_INSTANCE' | 'CONNECTOR' | 'CONNECTION_ID' | 'CONNECTION_REF' | 'CONNECTOR_ID' | 'CONNECTOR_SEARCH' | 'CONNECTOR_ACTION_SEARCH' | 'DATASET' | 'TABLE' | 'TABLE_NAME' | 'DATA_SOURCE_NAME' | 'SEARCH_TERM' | 'DATAVERSE_API_SEARCH_TERM' | 'DATAVERSE_ENVIRONMENT_ID' | 'SQL_STORED_PROCEDURE' | 'ENV_URL' | 'SOLUTION_ID' | 'ADD_CONNECTOR_AS' | 'FLOW_ID' | 'FLOW_SEARCH' | 'FLOW_DATA_SOURCE_NAME' | 'REMOVE_FLOW_ID' | 'MAAF_APP_NAME' | 'MAAF_APP_ACCESS' | 'MAAF_COMMIT_SHA' | 'MAAF_PLAY_MODE' | 'MAAF_ENVIRONMENT_ID' | 'MAAF_SHARE_LINK_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,kBAAkB,GAClB,kBAAkB,GAClB,yBAAyB,GACzB,wBAAwB,GAExB,+BAA+B,GAE/B,kBAAkB,GAClB,mBAAmB,GACnB,QAAQ,GAER,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,2BAA2B,GAC3B,4BAA4B,GAE5B,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,QAAQ,GACR,cAAc,GACd,mBAAmB,GACnB,UAAU,GACV,eAAe,GACf,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,MAAM,GACN,gBAAgB,GAEhB,
|
|
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,+BAA+B,GAE/B,kBAAkB,GAClB,mBAAmB,GACnB,QAAQ,GAER,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,2BAA2B,GAC3B,4BAA4B,GAE5B,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,QAAQ,GACR,cAAc,GACd,mBAAmB,GACnB,UAAU,GACV,eAAe,GACf,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,MAAM,GACN,gBAAgB,GAEhB,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,yBAAyB,GACzB,SAAS,GACT,OAAO,GACP,YAAY,GACZ,kBAAkB,GAClB,aAAa,GACb,2BAA2B,GAC3B,0BAA0B,GAC1B,sBAAsB,GACtB,SAAS,GACT,aAAa,GACb,kBAAkB,GAElB,SAAS,GACT,aAAa,GACb,uBAAuB,GACvB,gBAAgB,GAEhB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GACrB,oBAAoB,GACpB,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"}
|