@microsoft/power-apps-cli 0.9.1 → 0.10.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 (202) hide show
  1. package/README.md +81 -10
  2. package/dist/ArgumentProvider.d.ts +61 -0
  3. package/dist/ArgumentProvider.d.ts.map +1 -0
  4. package/dist/ArgumentProvider.js +247 -0
  5. package/dist/ArgumentProvider.js.map +1 -0
  6. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +17 -0
  7. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -0
  8. package/dist/Authentication/NodeMsalAuthenticationProvider.js +91 -0
  9. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -0
  10. package/dist/Authentication/PacCliAuthenticationProvider.d.ts +15 -0
  11. package/dist/Authentication/PacCliAuthenticationProvider.d.ts.map +1 -0
  12. package/dist/Authentication/PacCliAuthenticationProvider.js +51 -0
  13. package/dist/Authentication/PacCliAuthenticationProvider.js.map +1 -0
  14. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +20 -0
  15. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -0
  16. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +51 -0
  17. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -0
  18. package/dist/Bin.d.ts +6 -0
  19. package/dist/Bin.d.ts.map +1 -0
  20. package/dist/Bin.js +2 -3357
  21. package/dist/Bin.js.map +1 -0
  22. package/dist/Cli.d.ts +2 -0
  23. package/dist/Cli.d.ts.map +1 -0
  24. package/dist/Cli.js +131 -0
  25. package/dist/Cli.js.map +1 -0
  26. package/dist/CliSettings.d.ts +14 -0
  27. package/dist/CliSettings.d.ts.map +1 -0
  28. package/dist/CliSettings.js +70 -0
  29. package/dist/CliSettings.js.map +1 -0
  30. package/dist/CliUtils.d.ts +21 -0
  31. package/dist/CliUtils.d.ts.map +1 -0
  32. package/dist/CliUtils.js +92 -0
  33. package/dist/CliUtils.js.map +1 -0
  34. package/dist/Constants/HelpStrings.d.ts +168 -0
  35. package/dist/Constants/HelpStrings.d.ts.map +1 -0
  36. package/dist/Constants/HelpStrings.js +216 -0
  37. package/dist/Constants/HelpStrings.js.map +1 -0
  38. package/dist/Constants/VerbRegistry.d.ts +79 -0
  39. package/dist/Constants/VerbRegistry.d.ts.map +1 -0
  40. package/dist/Constants/VerbRegistry.js +46 -0
  41. package/dist/Constants/VerbRegistry.js.map +1 -0
  42. package/dist/Constants.d.ts +10 -0
  43. package/dist/Constants.d.ts.map +1 -0
  44. package/dist/Constants.js +12 -0
  45. package/dist/Constants.js.map +1 -0
  46. package/dist/Errors/CliError.d.ts +11 -0
  47. package/dist/Errors/CliError.d.ts.map +1 -0
  48. package/dist/Errors/CliError.js +16 -0
  49. package/dist/Errors/CliError.js.map +1 -0
  50. package/dist/FS/CliFs.d.ts +41 -0
  51. package/dist/FS/CliFs.d.ts.map +1 -0
  52. package/dist/FS/CliFs.js +136 -0
  53. package/dist/FS/CliFs.js.map +1 -0
  54. package/dist/HttpClient/CliHttpClient.d.ts +21 -0
  55. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -0
  56. package/dist/HttpClient/CliHttpClient.js +118 -0
  57. package/dist/HttpClient/CliHttpClient.js.map +1 -0
  58. package/dist/Logger/CliLogger.d.ts +27 -0
  59. package/dist/Logger/CliLogger.d.ts.map +1 -0
  60. package/dist/Logger/CliLogger.js +222 -0
  61. package/dist/Logger/CliLogger.js.map +1 -0
  62. package/dist/Logger/ConsoleWriter.d.ts +15 -0
  63. package/dist/Logger/ConsoleWriter.d.ts.map +1 -0
  64. package/dist/Logger/ConsoleWriter.js +45 -0
  65. package/dist/Logger/ConsoleWriter.js.map +1 -0
  66. package/dist/Logger/Constants.d.ts +6 -0
  67. package/dist/Logger/Constants.d.ts.map +1 -0
  68. package/dist/Logger/Constants.js +15 -0
  69. package/dist/Logger/Constants.js.map +1 -0
  70. package/dist/Logger/LoggerSettings.d.ts +18 -0
  71. package/dist/Logger/LoggerSettings.d.ts.map +1 -0
  72. package/dist/Logger/LoggerSettings.js +100 -0
  73. package/dist/Logger/LoggerSettings.js.map +1 -0
  74. package/dist/Logger/OneDSWriter.d.ts +22 -0
  75. package/dist/Logger/OneDSWriter.d.ts.map +1 -0
  76. package/dist/Logger/OneDSWriter.js +137 -0
  77. package/dist/Logger/OneDSWriter.js.map +1 -0
  78. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +5 -0
  79. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +1 -0
  80. package/dist/Logger/Scrubber/ScrubCustomDimensions.js +46 -0
  81. package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +1 -0
  82. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +27 -0
  83. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +1 -0
  84. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +168 -0
  85. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +1 -0
  86. package/dist/Logger/Scrubber/ScrubUtils.d.ts +8 -0
  87. package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +1 -0
  88. package/dist/Logger/Scrubber/ScrubUtils.js +34 -0
  89. package/dist/Logger/Scrubber/ScrubUtils.js.map +1 -0
  90. package/dist/Types/Argument.types.d.ts +20 -0
  91. package/dist/Types/Argument.types.d.ts.map +1 -0
  92. package/dist/Types/Argument.types.js +5 -0
  93. package/dist/Types/Argument.types.js.map +1 -0
  94. package/dist/Types/Cli.types.d.ts +35 -0
  95. package/dist/Types/Cli.types.d.ts.map +1 -0
  96. package/dist/Types/Cli.types.js +5 -0
  97. package/dist/Types/Cli.types.js.map +1 -0
  98. package/dist/Types/Datasource.types.d.ts +43 -0
  99. package/dist/Types/Datasource.types.d.ts.map +1 -0
  100. package/dist/Types/Datasource.types.js +5 -0
  101. package/dist/Types/Datasource.types.js.map +1 -0
  102. package/dist/Types/LoggerTypes.types.d.ts +17 -0
  103. package/dist/Types/LoggerTypes.types.d.ts.map +1 -0
  104. package/dist/Types/LoggerTypes.types.js +5 -0
  105. package/dist/Types/LoggerTypes.types.js.map +1 -0
  106. package/dist/Utils/BuildVerbDescriptionTable.d.ts +9 -0
  107. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -0
  108. package/dist/Utils/BuildVerbDescriptionTable.js +29 -0
  109. package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -0
  110. package/dist/Utils/ConsoleOutput.d.ts +39 -0
  111. package/dist/Utils/ConsoleOutput.d.ts.map +1 -0
  112. package/dist/Utils/ConsoleOutput.js +111 -0
  113. package/dist/Utils/ConsoleOutput.js.map +1 -0
  114. package/dist/Utils/EnhanceNetworkError.d.ts +14 -0
  115. package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -0
  116. package/dist/Utils/EnhanceNetworkError.js +59 -0
  117. package/dist/Utils/EnhanceNetworkError.js.map +1 -0
  118. package/dist/Verbs/AddDataSource.d.ts +19 -0
  119. package/dist/Verbs/AddDataSource.d.ts.map +1 -0
  120. package/dist/Verbs/AddDataSource.js +157 -0
  121. package/dist/Verbs/AddDataSource.js.map +1 -0
  122. package/dist/Verbs/AddDataverseApi.d.ts +13 -0
  123. package/dist/Verbs/AddDataverseApi.d.ts.map +1 -0
  124. package/dist/Verbs/AddDataverseApi.js +67 -0
  125. package/dist/Verbs/AddDataverseApi.js.map +1 -0
  126. package/dist/Verbs/AddFlow.d.ts +12 -0
  127. package/dist/Verbs/AddFlow.d.ts.map +1 -0
  128. package/dist/Verbs/AddFlow.js +66 -0
  129. package/dist/Verbs/AddFlow.js.map +1 -0
  130. package/dist/Verbs/DeleteDataSource.d.ts +6 -0
  131. package/dist/Verbs/DeleteDataSource.d.ts.map +1 -0
  132. package/dist/Verbs/DeleteDataSource.js +108 -0
  133. package/dist/Verbs/DeleteDataSource.js.map +1 -0
  134. package/dist/Verbs/FindDataverseApi.d.ts +12 -0
  135. package/dist/Verbs/FindDataverseApi.d.ts.map +1 -0
  136. package/dist/Verbs/FindDataverseApi.js +101 -0
  137. package/dist/Verbs/FindDataverseApi.js.map +1 -0
  138. package/dist/Verbs/Init.d.ts +6 -0
  139. package/dist/Verbs/Init.d.ts.map +1 -0
  140. package/dist/Verbs/Init.js +146 -0
  141. package/dist/Verbs/Init.js.map +1 -0
  142. package/dist/Verbs/ListCodeApps.d.ts +6 -0
  143. package/dist/Verbs/ListCodeApps.d.ts.map +1 -0
  144. package/dist/Verbs/ListCodeApps.js +31 -0
  145. package/dist/Verbs/ListCodeApps.js.map +1 -0
  146. package/dist/Verbs/ListConnectionReferences.d.ts +6 -0
  147. package/dist/Verbs/ListConnectionReferences.d.ts.map +1 -0
  148. package/dist/Verbs/ListConnectionReferences.js +80 -0
  149. package/dist/Verbs/ListConnectionReferences.js.map +1 -0
  150. package/dist/Verbs/ListDatasets.d.ts +6 -0
  151. package/dist/Verbs/ListDatasets.d.ts.map +1 -0
  152. package/dist/Verbs/ListDatasets.js +83 -0
  153. package/dist/Verbs/ListDatasets.js.map +1 -0
  154. package/dist/Verbs/ListEnvironmentVariables.d.ts +14 -0
  155. package/dist/Verbs/ListEnvironmentVariables.d.ts.map +1 -0
  156. package/dist/Verbs/ListEnvironmentVariables.js +82 -0
  157. package/dist/Verbs/ListEnvironmentVariables.js.map +1 -0
  158. package/dist/Verbs/ListFlows.d.ts +13 -0
  159. package/dist/Verbs/ListFlows.d.ts.map +1 -0
  160. package/dist/Verbs/ListFlows.js +88 -0
  161. package/dist/Verbs/ListFlows.js.map +1 -0
  162. package/dist/Verbs/ListSqlStoredProcedures.d.ts +6 -0
  163. package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +1 -0
  164. package/dist/Verbs/ListSqlStoredProcedures.js +84 -0
  165. package/dist/Verbs/ListSqlStoredProcedures.js.map +1 -0
  166. package/dist/Verbs/ListTables.d.ts +6 -0
  167. package/dist/Verbs/ListTables.d.ts.map +1 -0
  168. package/dist/Verbs/ListTables.js +95 -0
  169. package/dist/Verbs/ListTables.js.map +1 -0
  170. package/dist/Verbs/Logout.d.ts +6 -0
  171. package/dist/Verbs/Logout.d.ts.map +1 -0
  172. package/dist/Verbs/Logout.js +28 -0
  173. package/dist/Verbs/Logout.js.map +1 -0
  174. package/dist/Verbs/Push.d.ts +6 -0
  175. package/dist/Verbs/Push.d.ts.map +1 -0
  176. package/dist/Verbs/Push.js +108 -0
  177. package/dist/Verbs/Push.js.map +1 -0
  178. package/dist/Verbs/RefreshDataSource.d.ts +6 -0
  179. package/dist/Verbs/RefreshDataSource.d.ts.map +1 -0
  180. package/dist/Verbs/RefreshDataSource.js +70 -0
  181. package/dist/Verbs/RefreshDataSource.js.map +1 -0
  182. package/dist/Verbs/RemoveFlow.d.ts +12 -0
  183. package/dist/Verbs/RemoveFlow.d.ts.map +1 -0
  184. package/dist/Verbs/RemoveFlow.js +98 -0
  185. package/dist/Verbs/RemoveFlow.js.map +1 -0
  186. package/dist/Verbs/Run.d.ts +6 -0
  187. package/dist/Verbs/Run.d.ts.map +1 -0
  188. package/dist/Verbs/Run.js +122 -0
  189. package/dist/Verbs/Run.js.map +1 -0
  190. package/dist/Verbs/TelemetrySettings.d.ts +12 -0
  191. package/dist/Verbs/TelemetrySettings.d.ts.map +1 -0
  192. package/dist/Verbs/TelemetrySettings.js +158 -0
  193. package/dist/Verbs/TelemetrySettings.js.map +1 -0
  194. package/dist/Verbs/VerbConstants.d.ts +203 -0
  195. package/dist/Verbs/VerbConstants.d.ts.map +1 -0
  196. package/dist/Verbs/VerbConstants.js +201 -0
  197. package/dist/Verbs/VerbConstants.js.map +1 -0
  198. package/dist/Verbs/index.d.ts +22 -0
  199. package/dist/Verbs/index.d.ts.map +1 -0
  200. package/dist/Verbs/index.js +22 -0
  201. package/dist/Verbs/index.js.map +1 -0
  202. package/package.json +5 -5
@@ -0,0 +1,137 @@
1
+ import { OneDsTelemetryProvider, ScenarioResults, TelemetryEventNames, } from '@microsoft/power-apps-common/telemetry';
2
+ import { getScrubbedCustomDimensions } from './Scrubber/ScrubCustomDimensions.js';
3
+ function regionToClusterCategory(region) {
4
+ switch (region) {
5
+ case 'preview':
6
+ return 'prod';
7
+ case 'gccmoderate':
8
+ return 'gov';
9
+ case 'gcchigh':
10
+ return 'high';
11
+ default:
12
+ return region;
13
+ }
14
+ }
15
+ export class OneDSWriter {
16
+ _provider;
17
+ _sequenceNumber = 1;
18
+ constructor(sessionId, region, telemetryLocation, environmentId, appId, geoLocation, cliVersion, cliSource) {
19
+ const commonProperties = {
20
+ environmentId,
21
+ isOnePlayer: 'false',
22
+ webPlayerScenario: 'CodeApp_CLI_Authoring',
23
+ cloud: region === 'preview' ? 'prod' : region,
24
+ sessionStartTime: new Date().toISOString(),
25
+ station: 'Unknown',
26
+ telemetryLocation,
27
+ cliVersion,
28
+ cliSource,
29
+ };
30
+ if (appId) {
31
+ commonProperties.playerAppId = `/providers/Microsoft.PowerApps/apps/${appId}`;
32
+ }
33
+ if (geoLocation) {
34
+ commonProperties.geoLocation = geoLocation;
35
+ }
36
+ this._provider = new OneDsTelemetryProvider({
37
+ clientType: cliSource === 'pac-cli' ? 'PacCLI' : 'NodeCLI',
38
+ clusterCategory: regionToClusterCategory(region),
39
+ telemetryLocation,
40
+ commonProperties,
41
+ propertyColumnMap: {
42
+ latencyInMs: 'duration',
43
+ elapsedTime: 'duration',
44
+ updateCadence: 'updateCadence',
45
+ requestedUrl: 'url',
46
+ status: 'httpStatus',
47
+ statusCode: 'httpStatus',
48
+ },
49
+ channelConfig: {
50
+ maxEvtPerBatch: 500,
51
+ maxEventRetryAttempts: 6,
52
+ eventsLimitInMem: 10000,
53
+ },
54
+ });
55
+ this._provider.sessionId = sessionId;
56
+ // Sync 1DS session id with CLI session id in Part A extension
57
+ this._provider.addTelemetryInitializer((envelope) => {
58
+ const ext = (envelope.ext = envelope.ext ?? {});
59
+ const app = (ext.app = ext.app ?? {});
60
+ app.sesId = sessionId;
61
+ });
62
+ }
63
+ trackActivityEvent(operationName, eventData) {
64
+ this._trackEvent(TelemetryEventNames.Activity, {
65
+ ...eventData,
66
+ operationName,
67
+ });
68
+ }
69
+ trackErrorEvent(operationName, eventData) {
70
+ this._trackEvent(TelemetryEventNames.Error, {
71
+ ...eventData,
72
+ operationName,
73
+ });
74
+ }
75
+ startScenario(scenarioName, startData) {
76
+ this._trackEvent(TelemetryEventNames.StartScenario, {
77
+ operationName: scenarioName,
78
+ ...startData,
79
+ scenarioName,
80
+ });
81
+ }
82
+ completeScenario(scenarioName, completeData) {
83
+ this._trackEvent(TelemetryEventNames.EndScenario, {
84
+ operationName: scenarioName,
85
+ ...completeData,
86
+ scenarioName,
87
+ scenarioResult: ScenarioResults.Success,
88
+ });
89
+ }
90
+ scenarioFailed(scenarioName, failureData) {
91
+ this._trackEvent(TelemetryEventNames.EndScenario, {
92
+ operationName: scenarioName,
93
+ ...failureData,
94
+ scenarioName,
95
+ scenarioResult: ScenarioResults.Failed,
96
+ });
97
+ }
98
+ scenarioCompletedWithError(scenarioName, completeWithErrorData) {
99
+ this._trackEvent(TelemetryEventNames.EndScenario, {
100
+ operationName: scenarioName,
101
+ ...completeWithErrorData,
102
+ scenarioName,
103
+ scenarioResult: ScenarioResults.SuccessWithErrors,
104
+ });
105
+ }
106
+ flush() {
107
+ this._provider.flush();
108
+ }
109
+ setCustomDimension(_key, _value) {
110
+ this._provider.setDefaultProperty(_key, _value);
111
+ }
112
+ static _EVENT_PREFIX = 'CodeAppsCLI.';
113
+ _trackEvent(eventName, eventData) {
114
+ const operationName = eventData.operationName || '';
115
+ const scrubbed = getScrubbedCustomDimensions(eventName, operationName, eventData);
116
+ const properties = {};
117
+ for (const [key, value] of Object.entries(scrubbed)) {
118
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
119
+ properties[key] = value;
120
+ }
121
+ else {
122
+ properties[key] = String(value);
123
+ }
124
+ }
125
+ if (operationName) {
126
+ properties.operationName = `${OneDSWriter._EVENT_PREFIX}${operationName}`;
127
+ }
128
+ this._provider.track({
129
+ eventName,
130
+ timestamp: new Date().toISOString(),
131
+ severity: 'info',
132
+ sequenceNumber: this._sequenceNumber++,
133
+ properties,
134
+ });
135
+ }
136
+ }
137
+ //# sourceMappingURL=OneDSWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneDSWriter.js","sourceRoot":"","sources":["../../src/Logger/OneDSWriter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,mBAAmB,GAEpB,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,SAAS,uBAAuB,CAAC,MAAc;IAC7C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,WAAW;IACd,SAAS,CAAyB;IAClC,eAAe,GAAW,CAAC,CAAC;IAEpC,YACE,SAAiB,EACjB,MAAc,EACd,iBAAoC,EACpC,aAAqB,EACrB,KAAa,EACb,WAA+B,EAC/B,UAAkB,EAClB,SAAiB;QAEjB,MAAM,gBAAgB,GAA2B;YAC/C,aAAa;YACb,WAAW,EAAE,OAAO;YACpB,iBAAiB,EAAE,uBAAuB;YAC1C,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC7C,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC1C,OAAO,EAAE,SAAS;YAClB,iBAAiB;YACjB,UAAU;YACV,SAAS;SACV,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,gBAAgB,CAAC,WAAW,GAAG,uCAAuC,KAAK,EAAE,CAAC;QAChF,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,CAAC,WAAW,GAAG,WAAW,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,CAAC;YAC1C,UAAU,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC1D,eAAe,EAAE,uBAAuB,CAAC,MAAM,CAAC;YAChD,iBAAiB;YACjB,gBAAgB;YAChB,iBAAiB,EAAE;gBACjB,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,UAAU;gBACvB,aAAa,EAAE,eAAe;gBAC9B,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,YAAY;aACzB;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,GAAG;gBACnB,qBAAqB,EAAE,CAAC;gBACxB,gBAAgB,EAAE,KAAK;aACxB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QAErC,8DAA8D;QAC9D,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB,CAAC,aAAqB,EAAE,SAAkB;QACjE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YAC7C,GAAG,SAAS;YACZ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,aAAqB,EAAE,SAAkB;QAC9D,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE;YAC1C,GAAG,SAAS;YACZ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAEM,aAAa,CAAC,YAAoB,EAAE,SAAkB;QAC3D,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,EAAE;YAClD,aAAa,EAAE,YAAY;YAC3B,GAAG,SAAS;YACZ,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,YAAoB,EAAE,YAAqB;QACjE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE;YAChD,aAAa,EAAE,YAAY;YAC3B,GAAG,YAAY;YACf,YAAY;YACZ,cAAc,EAAE,eAAe,CAAC,OAAO;SACxC,CAAC,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,YAAoB,EAAE,WAAoB;QAC9D,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE;YAChD,aAAa,EAAE,YAAY;YAC3B,GAAG,WAAW;YACd,YAAY;YACZ,cAAc,EAAE,eAAe,CAAC,MAAM;SACvC,CAAC,CAAC;IACL,CAAC;IAEM,0BAA0B,CAAC,YAAoB,EAAE,qBAA8B;QACpF,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE;YAChD,aAAa,EAAE,YAAY;YAC3B,GAAG,qBAAqB;YACxB,YAAY;YACZ,cAAc,EAAE,eAAe,CAAC,iBAAiB;SAClD,CAAC,CAAC;IACL,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEM,kBAAkB,CAAC,IAAY,EAAE,MAAc;QACpD,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAEO,MAAM,CAAU,aAAa,GAAG,cAAc,CAAC;IAE/C,WAAW,CAAC,SAAiB,EAAE,SAAiB;QACtD,MAAM,aAAa,GAAI,SAAwC,CAAC,aAAa,IAAI,EAAE,CAAC;QAEpF,MAAM,QAAQ,GAAG,2BAA2B,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAElF,MAAM,UAAU,GAA8C,EAAE,CAAC;QACjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzF,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,UAAU,CAAC,aAAa,GAAG,GAAG,WAAW,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACnB,SAAS;YACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,MAAM;YAChB,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE;YACtC,UAAU;SACX,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export declare function getScrubbedCustomDimensions(eventName: string, operationName: string, customDimensions: object): object;
5
+ //# sourceMappingURL=ScrubCustomDimensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrubCustomDimensions.d.ts","sourceRoot":"","sources":["../../../src/Logger/Scrubber/ScrubCustomDimensions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAwCR"}
@@ -0,0 +1,46 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { EventsToScrubConfig } from './ScrubCustomDimensionsConfig.js';
5
+ // note: This code is copied from powerapps-telemetry-utils package
6
+ // to avoid adding that package as a dependency to powerapps-player-cli package
7
+ // powerapps-player-cli is a published package, and powerapps-telemetry-utils is not => pa-client-build does not support this scenario yet
8
+ export function getScrubbedCustomDimensions(eventName, operationName, customDimensions) {
9
+ // To avoid the performance impact of scrubbing all events, we want to target specific events to scrub
10
+ const eventConfig = EventsToScrubConfig[eventName];
11
+ if (eventConfig) {
12
+ const scenarioName = customDimensions.scenarioName || '';
13
+ const scrubConfigList = eventConfig['*'] ||
14
+ eventConfig.operations?.[operationName] ||
15
+ eventConfig.scenarios?.[scenarioName];
16
+ if (scrubConfigList) {
17
+ let currentScrubberName;
18
+ try {
19
+ const value = JSON.stringify(customDimensions);
20
+ for (const { scrubberName, shouldScrubValue } of scrubConfigList) {
21
+ currentScrubberName = scrubberName;
22
+ if (shouldScrubValue(value)) {
23
+ return {
24
+ eventName,
25
+ operationName,
26
+ scenarioName,
27
+ scrubber: currentScrubberName,
28
+ message: '_scrubbedByPowerAppsTelemetryUtils_: Custom dimensions were scrubbed by host',
29
+ };
30
+ }
31
+ }
32
+ }
33
+ catch (error) {
34
+ return {
35
+ eventName,
36
+ operationName,
37
+ scenarioName,
38
+ scrubber: currentScrubberName,
39
+ message: '_scrubbedByPowerAppsTelemetryUtils_: Failed to parse custom dimensions while scrubbing',
40
+ };
41
+ }
42
+ }
43
+ }
44
+ return customDimensions;
45
+ }
46
+ //# sourceMappingURL=ScrubCustomDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrubCustomDimensions.js","sourceRoot":"","sources":["../../../src/Logger/Scrubber/ScrubCustomDimensions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,mEAAmE;AACnE,+EAA+E;AAC/E,0IAA0I;AAC1I,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,aAAqB,EACrB,gBAAwB;IAExB,sGAAsG;IACtG,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,YAAY,GAAI,gBAA8C,CAAC,YAAY,IAAI,EAAE,CAAC;QACxF,MAAM,eAAe,GACnB,WAAW,CAAC,GAAG,CAAC;YAChB,WAAW,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC;YACvC,WAAW,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,mBAAuC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,KAAK,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,eAAe,EAAE,CAAC;oBACjE,mBAAmB,GAAG,YAAY,CAAC;oBACnC,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC5B,OAAO;4BACL,SAAS;4BACT,aAAa;4BACb,YAAY;4BACZ,QAAQ,EAAE,mBAAmB;4BAC7B,OAAO,EACL,8EAA8E;yBACjF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,SAAS;oBACT,aAAa;oBACb,YAAY;oBACZ,QAAQ,EAAE,mBAAmB;oBAC7B,OAAO,EACL,wFAAwF;iBAC3F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export type ScrubConfig = {
5
+ scrubberName: string;
6
+ shouldScrubValue: (value: string) => boolean;
7
+ };
8
+ export type ScrubConfigList = ScrubConfig[];
9
+ export type EventConfig = {
10
+ /** When assigned, this will apply the given scrub config list if the event_Name matches */
11
+ ['*']?: ScrubConfigList;
12
+ /**
13
+ * This configuration is a mapping of Record<operation_Name, ScrubConfigList>
14
+ * When assigned, any event that matches the event_Name and operation_Name will be scrubbed
15
+ */
16
+ operations?: Record<string, ScrubConfigList>;
17
+ /**
18
+ * This configuration is a mapping of Record<scenarioName, ScrubConfigList>
19
+ * When assigned, any event that matches the event_Name and scenarioName will be scrubbed
20
+ */
21
+ scenarios?: Record<string, ScrubConfigList>;
22
+ };
23
+ /**
24
+ * This configuration is a mapping of Record<event_Name, EventConfig>
25
+ */
26
+ export declare const EventsToScrubConfig: Record<string, EventConfig>;
27
+ //# sourceMappingURL=ScrubCustomDimensionsConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrubCustomDimensionsConfig.d.ts","sourceRoot":"","sources":["../../../src/Logger/Scrubber/ScrubCustomDimensionsConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,WAAW,EAAE,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,2FAA2F;IAC3F,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C,CAAC;AAyBF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA8I3D,CAAC"}
@@ -0,0 +1,168 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { containsEmail, containsGoogleApiKey, containsSasKeySig, containsSymmKey256, } from './ScrubUtils.js';
5
+ const EmailScrubConfig = {
6
+ scrubberName: 'email',
7
+ shouldScrubValue: containsEmail,
8
+ };
9
+ const GoogleApiKeyScrubConfig = {
10
+ scrubberName: 'googleApiKey',
11
+ shouldScrubValue: containsGoogleApiKey,
12
+ };
13
+ const SasKeySigScrubConfig = {
14
+ scrubberName: 'sasKeySig',
15
+ shouldScrubValue: containsSasKeySig,
16
+ };
17
+ const SymmKey256ScrubConfig = {
18
+ scrubberName: 'symmKey256',
19
+ shouldScrubValue: containsSymmKey256,
20
+ };
21
+ /** A scrub config list for handling events with sas keys. Currently this just scrubs the sig */
22
+ const SasKeyScrubConfigList = [SasKeySigScrubConfig];
23
+ /**
24
+ * This configuration is a mapping of Record<event_Name, EventConfig>
25
+ */
26
+ export const EventsToScrubConfig = {
27
+ 'AppHostClientSDK.getCanvasAppMetadataAsync': {
28
+ '*': SasKeyScrubConfigList,
29
+ },
30
+ 'AppModuleMetadataProvider.getCanvasAppMetadataAsync.Failure': {
31
+ '*': SasKeyScrubConfigList,
32
+ },
33
+ 'AppModuleMetadataProvider.getRootAppMetadataAsync.Failure': {
34
+ '*': SasKeyScrubConfigList,
35
+ },
36
+ CustomPageInlineRendering: {
37
+ '*': SasKeyScrubConfigList,
38
+ },
39
+ 'DefaultCanvasAppContainer.renderAsync': {
40
+ '*': SasKeyScrubConfigList,
41
+ },
42
+ 'FilePluginService.GetFileOrDirectory': {
43
+ '*': SasKeyScrubConfigList,
44
+ },
45
+ 'Player.CanvasAppGlue.openErrorDialog': {
46
+ '*': SasKeyScrubConfigList,
47
+ },
48
+ 'PlayerCordovaPlugin.onPluginRequestFailure': {
49
+ '*': SasKeyScrubConfigList,
50
+ },
51
+ 'PowerAppsClient.Activity': {
52
+ operations: {
53
+ 'App.disposeAsync': SasKeyScrubConfigList,
54
+ 'GlobalControlProperty.setModelValueInternal': SasKeyScrubConfigList,
55
+ 'IDataRuntime.reportRuntimeError': SasKeyScrubConfigList,
56
+ 'IDataRuntime.tryCreateGatedReportRuntimeError': [
57
+ GoogleApiKeyScrubConfig,
58
+ SasKeySigScrubConfig,
59
+ ],
60
+ 'PassThroughWebUriResolver.getAsBinaryAsync': SasKeyScrubConfigList,
61
+ 'PerEndpointRetryPipeline._xhrWithRetryAsync': SasKeyScrubConfigList,
62
+ 'Player.AppCatalog.GetAppDetailByIDSuccess': SasKeyScrubConfigList,
63
+ 'Player.CanvasAppGlue.exitAppHost': SasKeyScrubConfigList,
64
+ 'Player.CustomBranding.RPResponse': SasKeyScrubConfigList,
65
+ 'Player.CustomBranding.Save': SasKeyScrubConfigList,
66
+ 'Player.PublishedApp.Open.AppInfo': SasKeyScrubConfigList,
67
+ 'Player.PublishedApp.WebServer.Start': SasKeyScrubConfigList,
68
+ 'PlayerLifecycle.WebPlayer.Play.ErrorPage': SasKeyScrubConfigList,
69
+ 'PowerAppsClient.PcfComponent.Failure': SasKeyScrubConfigList,
70
+ 'PowerAppsClient.Performance.PerformanceObserver': SasKeyScrubConfigList,
71
+ 'PowerAppsEmbedding.Automation.Player': SasKeyScrubConfigList,
72
+ 'CachedQueryDataProvider._onDataDownloaded': [EmailScrubConfig],
73
+ 'CachedQueryDataProvider._getDataForExpiredCacheAsync': [EmailScrubConfig],
74
+ },
75
+ },
76
+ 'PowerAppsClient.AllApps.App.DismissedWithError': {
77
+ '*': SasKeyScrubConfigList,
78
+ },
79
+ 'PowerAppsClient.App.GalleryPagingManagerError': {
80
+ '*': SasKeyScrubConfigList,
81
+ },
82
+ 'PowerAppsClient.ControlsActivity': {
83
+ operations: {
84
+ 'Attachments.OnView': SasKeyScrubConfigList,
85
+ },
86
+ },
87
+ 'PowerAppsClient.EndScenario': {
88
+ scenarios: {
89
+ 'PowerAppsClient.Scenario.ContextLoadApp': SasKeyScrubConfigList,
90
+ 'PowerAppsClient.Scenario.DocumentVmInitialize': SasKeyScrubConfigList,
91
+ 'PowerAppsClient.Scenario.ScreenCreation': SasKeyScrubConfigList,
92
+ 'PlayerLifecycle.PlayerSDK.PlayApp.LoadApp.CreateAppFrame': SasKeyScrubConfigList,
93
+ 'PlayerLifecycle.PlayerSDK.PlayApp.LoadApp': SasKeyScrubConfigList,
94
+ 'PlayerLifecycle.PlayerSDK.PlayApp.LoadMetadata.FetchAppPackageMetadata': SasKeyScrubConfigList,
95
+ 'PlayerLifecycle.PlayerSDK.PlayApp': SasKeyScrubConfigList,
96
+ 'PlayerLifecycle.WebPlayer.Play.PlayApp': SasKeyScrubConfigList,
97
+ 'PlayerLifecycle.WebPlayer.Play': SasKeyScrubConfigList,
98
+ 'PowerAppsClient.Scenario.CachedQueryDataProviderNotify': [EmailScrubConfig],
99
+ },
100
+ },
101
+ 'PowerAppsClient.Error': {
102
+ operations: {
103
+ 'AppInfoParser.parseAppInfo': SasKeyScrubConfigList,
104
+ 'AppLifecyclePlugin.notifyAppFailed': SasKeyScrubConfigList,
105
+ 'AttachmentsView._viewItem': SasKeyScrubConfigList,
106
+ 'BaseWebPlayerHost._onAppFailure': SasKeyScrubConfigList,
107
+ 'Context.loadAppAsync': SasKeyScrubConfigList,
108
+ 'DocumentViewModel.initializeAsync': SasKeyScrubConfigList,
109
+ 'GeneratedCode.ReportAndContinue': SasKeyScrubConfigList,
110
+ 'MediaRuntime.getMediaAsBinaryAsync': SasKeyScrubConfigList,
111
+ 'NestedAppModuleMetadataProvider.getCanvasAppMetadataAsync.Failure': SasKeyScrubConfigList,
112
+ 'Player.SessionSummary.Failure': SasKeyScrubConfigList,
113
+ 'PlayerLaunchService.playerLaunchAppAsync': SasKeyScrubConfigList,
114
+ 'PlayerPublishedApp._onInitializationError': SasKeyScrubConfigList,
115
+ 'PowerAppsClient.PublishedApp.ErrorLoadingScript': SasKeyScrubConfigList,
116
+ 'PublishedAppHostActions.handleErrorDuringInstall': SasKeyScrubConfigList,
117
+ 'PublishedAppInstance.runAllScreensInitFnsAsync': SasKeyScrubConfigList,
118
+ 'RNSendHttpPipeline._performXhrRequestAsync': [SymmKey256ScrubConfig],
119
+ 'RequirementsManager.loadRequirement': SasKeyScrubConfigList,
120
+ 'runtimebase._onCallFailed': SasKeyScrubConfigList,
121
+ 'Text._validateTextWithCharacters': SasKeyScrubConfigList,
122
+ 'Url.constructor': SasKeyScrubConfigList,
123
+ },
124
+ },
125
+ 'PowerAppsClient.Functions.InternalError': {
126
+ '*': SasKeyScrubConfigList,
127
+ },
128
+ 'PowerAppsClient.MessageDialog.Dismissed': {
129
+ operations: {
130
+ 'Studio.Reducers.STUDIO_UPDATE_CONNECTION_TABLES_LOADING_ERROR_INFO': SasKeyScrubConfigList,
131
+ },
132
+ },
133
+ 'PowerAppsClient.MessageDialog.ShowAsync': {
134
+ operations: {
135
+ 'Studio.Reducers.STUDIO_UPDATE_CONNECTION_TABLES_LOADING_ERROR_INFO': SasKeyScrubConfigList,
136
+ },
137
+ },
138
+ 'PowerAppsClient.StartScenario': {
139
+ scenarios: {
140
+ 'PowerAppsClient.Scenario.CachedQueryDataProviderNotify': [EmailScrubConfig],
141
+ },
142
+ },
143
+ 'PowerAppsClient.Verbose': {
144
+ operations: {
145
+ 'ReactRedux.HandleActionsWithReset': SasKeyScrubConfigList,
146
+ },
147
+ },
148
+ 'PowerAppsClient.WebPlayer.Load': {
149
+ operations: {
150
+ 'PowerAppsClient._notifyAppFailed': SasKeyScrubConfigList,
151
+ 'PowerAppsClient.AppDetailsRetriever._getAppDetailsInternal.Failure': SasKeyScrubConfigList,
152
+ 'PowerAppsClient.ResourcePathResolution': SasKeyScrubConfigList,
153
+ },
154
+ },
155
+ 'PublishedAppLoader.ScriptError': {
156
+ operations: {
157
+ 'GlobalErrorHandler:UnhandledError': SasKeyScrubConfigList,
158
+ 'PowerAppsClient.AppDetailsRetriever._getAppDetailsInternal.Failure': SasKeyScrubConfigList,
159
+ },
160
+ },
161
+ 'RuntimeTelemetry.logException': {
162
+ '*': SasKeyScrubConfigList,
163
+ },
164
+ 'TestOrchestrator.setupTestsAsync': {
165
+ '*': SasKeyScrubConfigList,
166
+ },
167
+ };
168
+ //# sourceMappingURL=ScrubCustomDimensionsConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrubCustomDimensionsConfig.js","sourceRoot":"","sources":["../../../src/Logger/Scrubber/ScrubCustomDimensionsConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export declare function containsEmail(value: string): boolean;
5
+ export declare function containsGoogleApiKey(value: string): boolean;
6
+ export declare function containsSasKeySig(value: string): boolean;
7
+ export declare function containsSymmKey256(value: string): boolean;
8
+ //# sourceMappingURL=ScrubUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrubUtils.d.ts","sourceRoot":"","sources":["../../../src/Logger/Scrubber/ScrubUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -0,0 +1,34 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ // These values should align with cred scan: https://msazure.visualstudio.com/One/_git/SecEng-CredScan-Core?path=/KnowledgeBase/Prefilter/CredScan-Kusto-UDF.kql
5
+ const GoogleApiKeyRegex = /AIza[a-z0-9_\\-]{35}/i;
6
+ const SymmKey256Regex = /[a-z0-9\/+]{43}=/i; // eslint-disable-line no-useless-escape
7
+ // Regex adapted from CredScan:
8
+ // https://dev.azure.com/msazure/One/_git/SecEng-CredScan-Core?path=/KnowledgeBase/samples/CredScanClientHelloWorld/Security.SharedStrings.Internal.txt&version=GC0612bfb7be3c3f60b1896992118f1a110013320d&line=225&lineEnd=226&lineStartColumn=1&lineEndColumn=1&lineStyle=plain&_a=contents
9
+ // Modifications from original:
10
+ // 1. Converted from PCRE to JS regex
11
+ // 2. Replaced named captures with non-capturing groups
12
+ // 3. Remove the URL and just leave the sig=
13
+ // 4. Add _ and & to the negated char (handles sig=_scrubbedSensitiveData_)
14
+ // 5. Require 8 characters after the sig= (handles things like sig=43chars)
15
+ const SasKeyRegex = /(?:dsas_secret|sig)=[^#\)\(<>\r\n\s'",\\_&]{8}/i; // eslint-disable-line no-useless-escape
16
+ // RFC 6530 spec https://tools.ietf.org/html/rfc6530
17
+ // A nice set of test cases: http://isemail.info/_system/is_email/test/?all
18
+ // How to compile ranges of Unicode characters that are likely to be used in email addresses: http://apps.timwhitlock.info/js/regex
19
+ /* eslint-disable no-misleading-character-class, no-useless-escape */
20
+ const emailRegExp = new RegExp(/[a-zA-Z0-9\u0080-\u00FF\u0100-\u017F\u0180-\u024F\u0250-\u02AF\u0300-\u036F\u0370-\u03FF\u0400-\u04FF\u0500-\u052F\u0530-\u058F\u0590-\u05FF\u0600-\u06FF\u0700-\u074F\u0750-\u077F\u0780-\u07BF\u07C0-\u07FF\u0900-\u097F\u0980-\u09FF\u0A00-\u0A7F\u0A80-\u0AFF\u0B00-\u0B7F\u0B80-\u0BFF\u0C00-\u0C7F\u0C80-\u0CFF\u0D00-\u0D7F\u0D80-\u0DFF\u0E00-\u0E7F\u0E80-\u0EFF\u0F00-\u0FFF\u1000-\u109F\u10A0-\u10FF\u1100-\u11FF\u1200-\u137F\u1380-\u139F\u13A0-\u13FF\u1400-\u167F\u1680-\u169F\u16A0-\u16FF\u1700-\u171F\u1720-\u173F\u1740-\u175F\u1760-\u177F\u1780-\u17FF\u1800-\u18AF\u1900-\u194F\u1950-\u197F\u1980-\u19DF\u19E0-\u19FF\u1A00-\u1A1F\u1B00-\u1B7F\u1D00-\u1D7F\u1D80-\u1DBF\u1DC0-\u1DFF\u1E00-\u1EFF\u1F00-\u1FFF\u20D0-\u20FF\u2100-\u214F\u2C00-\u2C5F\u2C60-\u2C7F\u2C80-\u2CFF\u2D00-\u2D2F\u2D30-\u2D7F\u2D80-\u2DDF\u2F00-\u2FDF\u2FF0-\u2FFF\u3040-\u309F\u30A0-\u30FF\u3100-\u312F\u3130-\u318F\u3190-\u319F\u31C0-\u31EF\u31F0-\u31FF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FFF\uA000-\uA48F\uA490-\uA4CF\uA700-\uA71F\uA800-\uA82F\uA840-\uA87F\uAC00-\uD7AF\uF900-\uFAFF\.!#$%&'*+?^_{|}~\-\d]+(@|%40)[a-zA-Z0-9\u0080-\u00FF\u0100-\u017F\u0180-\u024F\u0250-\u02AF\u0300-\u036F\u0370-\u03FF\u0400-\u04FF\u0500-\u052F\u0530-\u058F\u0590-\u05FF\u0600-\u06FF\u0700-\u074F\u0750-\u077F\u0780-\u07BF\u07C0-\u07FF\u0900-\u097F\u0980-\u09FF\u0A00-\u0A7F\u0A80-\u0AFF\u0B00-\u0B7F\u0B80-\u0BFF\u0C00-\u0C7F\u0C80-\u0CFF\u0D00-\u0D7F\u0D80-\u0DFF\u0E00-\u0E7F\u0E80-\u0EFF\u0F00-\u0FFF\u1000-\u109F\u10A0-\u10FF\u1100-\u11FF\u1200-\u137F\u1380-\u139F\u13A0-\u13FF\u1400-\u167F\u1680-\u169F\u16A0-\u16FF\u1700-\u171F\u1720-\u173F\u1740-\u175F\u1760-\u177F\u1780-\u17FF\u1800-\u18AF\u1900-\u194F\u1950-\u197F\u1980-\u19DF\u19E0-\u19FF\u1A00-\u1A1F\u1B00-\u1B7F\u1D00-\u1D7F\u1D80-\u1DBF\u1DC0-\u1DFF\u1E00-\u1EFF\u1F00-\u1FFF\u20D0-\u20FF\u2100-\u214F\u2C00-\u2C5F\u2C60-\u2C7F\u2C80-\u2CFF\u2D00-\u2D2F\u2D30-\u2D7F\u2D80-\u2DDF\u2F00-\u2FDF\u2FF0-\u2FFF\u3040-\u309F\u30A0-\u30FF\u3100-\u312F\u3130-\u318F\u3190-\u319F\u31C0-\u31EF\u31F0-\u31FF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FFF\uA000-\uA48F\uA490-\uA4CF\uA700-\uA71F\uA800-\uA82F\uA840-\uA87F\uAC00-\uD7AF\uF900-\uFAFF\-\.\d]+\.[a-zA-Z\u0080-\u00FF\u0100-\u017F\u0180-\u024F\u0250-\u02AF\u0300-\u036F\u0370-\u03FF\u0400-\u04FF\u0500-\u052F\u0530-\u058F\u0590-\u05FF\u0600-\u06FF\u0700-\u074F\u0750-\u077F\u0780-\u07BF\u07C0-\u07FF\u0900-\u097F\u0980-\u09FF\u0A00-\u0A7F\u0A80-\u0AFF\u0B00-\u0B7F\u0B80-\u0BFF\u0C00-\u0C7F\u0C80-\u0CFF\u0D00-\u0D7F\u0D80-\u0DFF\u0E00-\u0E7F\u0E80-\u0EFF\u0F00-\u0FFF\u1000-\u109F\u10A0-\u10FF\u1100-\u11FF\u1200-\u137F\u1380-\u139F\u13A0-\u13FF\u1400-\u167F\u1680-\u169F\u16A0-\u16FF\u1700-\u171F\u1720-\u173F\u1740-\u175F\u1760-\u177F\u1780-\u17FF\u1800-\u18AF\u1900-\u194F\u1950-\u197F\u1980-\u19DF\u19E0-\u19FF\u1A00-\u1A1F\u1B00-\u1B7F\u1D00-\u1D7F\u1D80-\u1DBF\u1DC0-\u1DFF\u1E00-\u1EFF\u1F00-\u1FFF\u20D0-\u20FF\u2100-\u214F\u2C00-\u2C5F\u2C60-\u2C7F\u2C80-\u2CFF\u2D00-\u2D2F\u2D30-\u2D7F\u2D80-\u2DDF\u2F00-\u2FDF\u2FF0-\u2FFF\u3040-\u309F\u30A0-\u30FF\u3100-\u312F\u3130-\u318F\u3190-\u319F\u31C0-\u31EF\u31F0-\u31FF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FFF\uA000-\uA48F\uA490-\uA4CF\uA700-\uA71F\uA800-\uA82F\uA840-\uA87F\uAC00-\uD7AF\uF900-\uFAFF]{2,63}/);
21
+ /* eslint-enable no-misleading-character-class, no-useless-escape */
22
+ export function containsEmail(value) {
23
+ return emailRegExp.test(value);
24
+ }
25
+ export function containsGoogleApiKey(value) {
26
+ return GoogleApiKeyRegex.test(value);
27
+ }
28
+ export function containsSasKeySig(value) {
29
+ return SasKeyRegex.test(value);
30
+ }
31
+ export function containsSymmKey256(value) {
32
+ return SymmKey256Regex.test(value);
33
+ }
34
+ //# sourceMappingURL=ScrubUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrubUtils.js","sourceRoot":"","sources":["../../../src/Logger/Scrubber/ScrubUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gKAAgK;AAChK,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAClD,MAAM,eAAe,GAAG,mBAAmB,CAAC,CAAC,wCAAwC;AAErF,+BAA+B;AAC/B,6RAA6R;AAC7R,+BAA+B;AAC/B,qCAAqC;AACrC,uDAAuD;AACvD,4CAA4C;AAC5C,2EAA2E;AAC3E,2EAA2E;AAC3E,MAAM,WAAW,GAAG,iDAAiD,CAAC,CAAC,wCAAwC;AAE/G,qDAAqD;AACrD,2EAA2E;AAC3E,mIAAmI;AACnI,qEAAqE;AACrE,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,ivGAAivG,CAClvG,CAAC;AACF,oEAAoE;AAEpE,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export type DefaultStringOption = CliOption & {
5
+ message: string;
6
+ initialValue?: string;
7
+ };
8
+ export type Flags = {
9
+ key: string;
10
+ alias?: string;
11
+ };
12
+ export interface CliOption<T = unknown> {
13
+ flags: Flags;
14
+ env: string;
15
+ description?: string;
16
+ default?: T;
17
+ customPrompt?: () => Promise<T>;
18
+ optionalInNonInteractive?: boolean;
19
+ }
20
+ //# sourceMappingURL=Argument.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Argument.types.d.ts","sourceRoot":"","sources":["../../src/Types/Argument.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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,GAAG,EAAE,MAAM,CAAC;IACZ,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;CACpC"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=Argument.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Argument.types.js","sourceRoot":"","sources":["../../src/Types/Argument.types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { PowerAppsRepoConfig } from '@microsoft/power-apps-actions';
5
+ import type { Region } from '@microsoft/power-apps-common/services';
6
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
7
+ import type { CliFS } from '../FS/CliFs.js';
8
+ export interface IAuthenticationProvider {
9
+ initAsync(region: Region): Promise<void>;
10
+ getAccessTokenForResource(resource: string): Promise<string>;
11
+ getUserTenantId(): string | undefined;
12
+ }
13
+ export type Verb = 'init' | 'push' | 'run' | 'add-data-source' | 'add-dataverse-api' | 'find-dataverse-api' | 'list-codeapps' | 'list-datasets' | 'list-tables' | 'list-sqlStoredProcedures' | 'delete-data-source' | 'list-environment-variables' | 'list-connection-references' | 'list-flows' | 'add-flow' | 'remove-flow' | 'refresh-data-source' | 'logout' | 'telemetry';
14
+ export type CliSettings = {
15
+ source: 'pac-cli' | 'standalone';
16
+ interactive: boolean;
17
+ fileConfig: LocalFilePaths;
18
+ cliFs: CliFS;
19
+ appConfig?: PowerAppsRepoConfig;
20
+ };
21
+ export type LocalFilePaths = {
22
+ powerConfigPath: string;
23
+ schemaPath: string;
24
+ codeGenPath: string;
25
+ };
26
+ export type ExecuteVerbConfig = {
27
+ verb: Verb;
28
+ argumentProvider: ArgumentProvider;
29
+ };
30
+ export type UserTelemetrySettings = {
31
+ enabled: boolean;
32
+ consoleOnly: boolean;
33
+ outputToConsole: boolean;
34
+ };
35
+ //# sourceMappingURL=Cli.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cli.types.d.ts","sourceRoot":"","sources":["../../src/Types/Cli.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,eAAe,IAAI,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,MAAM,GACN,KAAK,GACL,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,GACf,eAAe,GACf,aAAa,GACb,0BAA0B,GAC1B,oBAAoB,GACpB,4BAA4B,GAC5B,4BAA4B,GAC5B,YAAY,GACZ,UAAU,GACV,aAAa,GACb,qBAAqB,GACrB,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,SAAS,GAAG,YAAY,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=Cli.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cli.types.js","sourceRoot":"","sources":["../../src/Types/Cli.types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,43 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ interface DataverseDataSource {
5
+ entitySetName: string;
6
+ logicalName: string;
7
+ isHidden: boolean;
8
+ }
9
+ interface DataSet {
10
+ dataSources: Record<string, {
11
+ tableName?: string;
12
+ }>;
13
+ datasetOverride?: {
14
+ environmentVariableName: string;
15
+ };
16
+ }
17
+ interface ConnectionReference {
18
+ id: string;
19
+ displayName: string;
20
+ dataSources: string[];
21
+ authenticationType?: string;
22
+ sharedConnectionId?: string;
23
+ dataSets?: Record<string, DataSet>;
24
+ xrmConnectionReferenceLogicalName?: string | undefined;
25
+ }
26
+ interface TabularMetadata {
27
+ dataset: string;
28
+ resourceName: string;
29
+ isProcedure: boolean;
30
+ friendlyName?: string;
31
+ datasetOverride?: string;
32
+ resourceNameOverride?: string;
33
+ }
34
+ interface DatabaseReference {
35
+ state: string;
36
+ instanceUrl: string;
37
+ webApiVersion: string;
38
+ dataSources: Record<string, DataverseDataSource>;
39
+ version: string;
40
+ environmentVariableName: string;
41
+ }
42
+ export type { ConnectionReference, DatabaseReference, DataSet, DataverseDataSource, TabularMetadata, };
43
+ //# sourceMappingURL=Datasource.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Datasource.types.d.ts","sourceRoot":"","sources":["../../src/Types/Datasource.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,UAAU,mBAAmB;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,OAAO;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE;QAAE,uBAAuB,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,iCAAiC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxD;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,OAAO,EACP,mBAAmB,EACnB,eAAe,GAChB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=Datasource.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Datasource.types.js","sourceRoot":"","sources":["../../src/Types/Datasource.types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ /**
5
+ * Interface for writers used by the logger to write telemetry data
6
+ */
7
+ export interface ITelemetryWriter {
8
+ trackActivityEvent(eventName: string, eventData?: object): void;
9
+ trackErrorEvent(eventName: string, eventData?: object): void;
10
+ startScenario(scenarioName: string, startData?: object): void;
11
+ completeScenario(scenarioName: string, completeData?: object): void;
12
+ scenarioFailed(scenarioName: string, failureData?: object): void;
13
+ scenarioCompletedWithError(scenarioName: string, completeWithErrorData?: object): void;
14
+ flush(): void;
15
+ setCustomDimension(_key: string, _value: string): void;
16
+ }
17
+ //# sourceMappingURL=LoggerTypes.types.d.ts.map