@codiac.io/codiac-cli 1.3.165 → 1.3.168

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 (111) hide show
  1. package/README.md +1 -1
  2. package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +6 -2
  3. package/dist/apis/codiac-api/gen/contracts/types.gen.js +3 -0
  4. package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
  5. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +7 -3
  6. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js +4 -1
  7. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
  8. package/dist/apis/codiac-relay/gen/client.d.ts +3 -3
  9. package/dist/apis/codiac-relay/gen/client.js.map +1 -1
  10. package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +20 -4
  11. package/dist/apis/codiac-relay/gen/contracts/types.gen.js +6 -0
  12. package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
  13. package/dist/apis/codiac-relay/i-client.d.ts +1 -1
  14. package/dist/apis/codiac-relay-nats/gen/client.d.ts +1 -1
  15. package/dist/apis/codiac-relay-nats/gen/client.js.map +1 -1
  16. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.d.ts +22 -3
  17. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js +6 -0
  18. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js.map +1 -1
  19. package/dist/apis/codiac-relay-nats/gen/contracts.ng.d.ts +3 -0
  20. package/dist/apis/codiac-relay-nats/gen/contracts.ng.js.map +1 -1
  21. package/dist/codiac-constants.d.ts +2 -0
  22. package/dist/codiac-constants.js +2 -0
  23. package/dist/codiac-constants.js.map +1 -1
  24. package/dist/codiac-entities/cluster-capture-def.d.ts +1 -1
  25. package/dist/codiac-utils.d.ts +5 -0
  26. package/dist/codiac-utils.js +14 -0
  27. package/dist/codiac-utils.js.map +1 -0
  28. package/dist/command-base-enterprise.d.ts +14 -0
  29. package/dist/command-base-enterprise.js +49 -0
  30. package/dist/command-base-enterprise.js.map +1 -1
  31. package/dist/command-base-exec.js +2 -0
  32. package/dist/command-base-exec.js.map +1 -1
  33. package/dist/commands/asset/deploy.d.ts +2 -0
  34. package/dist/commands/asset/deploy.js +21 -4
  35. package/dist/commands/asset/deploy.js.map +1 -1
  36. package/dist/commands/asset/list.js +4 -3
  37. package/dist/commands/asset/list.js.map +1 -1
  38. package/dist/commands/asset/probe/create.d.ts +0 -1
  39. package/dist/commands/asset/probe/create.js +10 -7
  40. package/dist/commands/asset/probe/create.js.map +1 -1
  41. package/dist/commands/asset/undeploy.d.ts +2 -0
  42. package/dist/commands/asset/undeploy.js +7 -0
  43. package/dist/commands/asset/undeploy.js.map +1 -1
  44. package/dist/commands/asset/view.js +5 -3
  45. package/dist/commands/asset/view.js.map +1 -1
  46. package/dist/commands/asset/where.js +12 -2
  47. package/dist/commands/asset/where.js.map +1 -1
  48. package/dist/commands/cabinet/contents.d.ts +1 -0
  49. package/dist/commands/cabinet/contents.js +17 -2
  50. package/dist/commands/cabinet/contents.js.map +1 -1
  51. package/dist/commands/cluster/scaling/update.js +3 -2
  52. package/dist/commands/cluster/scaling/update.js.map +1 -1
  53. package/dist/commands/cluster/start.js +1 -1
  54. package/dist/commands/cluster/start.js.map +1 -1
  55. package/dist/commands/cluster/stop.js +1 -1
  56. package/dist/commands/cluster/stop.js.map +1 -1
  57. package/dist/commands/config/add.d.ts +2 -0
  58. package/dist/commands/config/add.js +51 -5
  59. package/dist/commands/config/add.js.map +1 -1
  60. package/dist/commands/config/delete.js +3 -1
  61. package/dist/commands/config/delete.js.map +1 -1
  62. package/dist/commands/config/deploy.d.ts +4 -0
  63. package/dist/commands/config/deploy.js +87 -5
  64. package/dist/commands/config/deploy.js.map +1 -1
  65. package/dist/commands/config/settings/get.js +3 -1
  66. package/dist/commands/config/settings/get.js.map +1 -1
  67. package/dist/commands/config/view.js +3 -1
  68. package/dist/commands/config/view.js.map +1 -1
  69. package/dist/commands/kit/create.js +2 -1
  70. package/dist/commands/kit/create.js.map +1 -1
  71. package/dist/commands/noc/cluster/capture.js +2 -1
  72. package/dist/commands/noc/cluster/capture.js.map +1 -1
  73. package/dist/commands/noc/cluster/create.d.ts +2 -0
  74. package/dist/commands/noc/cluster/create.js +17 -4
  75. package/dist/commands/noc/cluster/create.js.map +1 -1
  76. package/dist/commands/noc/cluster/deinit.js +7 -5
  77. package/dist/commands/noc/cluster/deinit.js.map +1 -1
  78. package/dist/commands/noc/cluster/init.js +1 -1
  79. package/dist/commands/noc/cluster/init.js.map +1 -1
  80. package/dist/commands/noc/cluster/recreate.js +1 -1
  81. package/dist/commands/noc/cluster/recreate.js.map +1 -1
  82. package/dist/commands/snapshot/deploy.d.ts +51 -0
  83. package/dist/commands/snapshot/deploy.js +305 -0
  84. package/dist/commands/snapshot/deploy.js.map +1 -0
  85. package/dist/commands/snapshot/list.d.ts +15 -0
  86. package/dist/commands/snapshot/list.js +164 -0
  87. package/dist/commands/snapshot/list.js.map +1 -0
  88. package/dist/relay/relay-container.js +1 -1
  89. package/dist/sdk-adapters/azure/azure-resource-configurator.d.ts +2 -1
  90. package/dist/sdk-adapters/azure/azure-resource-configurator.js +37 -29
  91. package/dist/sdk-adapters/azure/azure-resource-configurator.js.map +1 -1
  92. package/dist/uilogic/config-ui-utils.d.ts +3 -1
  93. package/dist/uilogic/config-ui-utils.js +36 -5
  94. package/dist/uilogic/config-ui-utils.js.map +1 -1
  95. package/dist/uilogic/enterprise-contextualizer.js +11 -0
  96. package/dist/uilogic/enterprise-contextualizer.js.map +1 -1
  97. package/dist/uilogic/lrp-watcher-predef.d.ts +3 -1
  98. package/dist/uilogic/lrp-watcher-predef.js +19 -6
  99. package/dist/uilogic/lrp-watcher-predef.js.map +1 -1
  100. package/dist/uilogic/lrp-watcher-utils.d.ts +1 -1
  101. package/dist/uilogic/lrp-watcher.d.ts +2 -0
  102. package/dist/uilogic/lrp-watcher.js +14 -2
  103. package/dist/uilogic/lrp-watcher.js.map +1 -1
  104. package/dist/uilogic/rootmap-ui-utils.d.ts +5 -0
  105. package/dist/uilogic/rootmap-ui-utils.js +45 -3
  106. package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
  107. package/dist/user-context-loader.d.ts +24 -1
  108. package/dist/user-context-loader.js +86 -16
  109. package/dist/user-context-loader.js.map +1 -1
  110. package/oclif.manifest.json +173 -42
  111. package/package.json +2 -2
@@ -10,6 +10,7 @@ const render = require("./render-methods");
10
10
  const _ = require("lodash");
11
11
  const ops_1 = require("../ops");
12
12
  const type_safety_utils_1 = require("./type-safety-utils");
13
+ const codiac_utils_1 = require("../codiac-utils");
13
14
  ;
14
15
  ;
15
16
  ;
@@ -123,8 +124,15 @@ let RootMapUiUtils = class RootMapUiUtils {
123
124
  try {
124
125
  let defaultCabName;
125
126
  let selectedCabName;
127
+ const isInfrxEnterprise = codiac_utils_1.CodiacUtils.isInfrxEnterprise(enterprise);
126
128
  // render cab tree with all lines selectable
127
- let cabTree = this.buildCabinetTree(rootMap, embellisher);
129
+ let cabTree;
130
+ if (isInfrxEnterprise) {
131
+ cabTree = this.buildInfrxCabinetList(rootMap, embellisher); // Infrx enterprises show cabs as list of cluster names
132
+ }
133
+ else {
134
+ cabTree = this.buildCabinetTree(rootMap, embellisher);
135
+ }
128
136
  let choices = this.buildSelectChoicesFrom(cabTree);
129
137
  const parseCabFromChoice = (choiceValue) => choiceValue.split("|")[1]; // Choice values are in format: "<scope>|<target>|<isLocal>", eg: "cabinet|dev7|false"
130
138
  // ISSUES:
@@ -147,6 +155,7 @@ let RootMapUiUtils = class RootMapUiUtils {
147
155
  defaultCabName = defaultValue.split("|")[0]; // <-- bc the value is "<cabName>|<isLocal>";
148
156
  }
149
157
  }
158
+ const prompt = isInfrxEnterprise ? "Cluster: " : "Cabinet: ";
150
159
  let keep = takeDefaults;
151
160
  if (defaultValue) {
152
161
  // validate it
@@ -155,7 +164,7 @@ let RootMapUiUtils = class RootMapUiUtils {
155
164
  // prompt to keep
156
165
  defaultCabName = parseCabFromChoice(found.value);
157
166
  keep = ((defaultCabName != undefined) && (defaultCabName == userSuppliedValue)); // skip confirmation if the user supplied it and its valid
158
- keep = keep || (yield this._ui.promptConfirm("keepCabinet", `Cabinet: ${this.styler.hilite(defaultCabName)} `)); // assertion ok bc defaultCabName travels w defaultValue
167
+ keep = keep || (yield this._ui.promptConfirm("keepCabinet", prompt.concat(this.styler.hilite(defaultCabName), " "))); // assertion ok bc defaultCabName travels w defaultValue
159
168
  }
160
169
  }
161
170
  if (keep && defaultValue !== undefined) {
@@ -168,7 +177,7 @@ let RootMapUiUtils = class RootMapUiUtils {
168
177
  if (scope === "environment") {
169
178
  // we could just filter it down from here...
170
179
  }
171
- let selection = (yield this._ui.promptSelect("cabinet", "Cabinet: ", choices, false, false));
180
+ let selection = (yield this._ui.promptSelect("cabinet", prompt, choices, false, false));
172
181
  let parts = selection.split("|");
173
182
  scope = parts[0];
174
183
  target = parts[1];
@@ -243,6 +252,39 @@ let RootMapUiUtils = class RootMapUiUtils {
243
252
  }
244
253
  return tree;
245
254
  }
255
+ /** sets each value to "scope|target".
256
+ *
257
+ * @param embellisher (optional) Adds custom content to each branch in the tree
258
+ * */
259
+ buildInfrxCabinetList(rootMap, embellisher, includeEnterprise = false) {
260
+ var _a;
261
+ let tree = [];
262
+ for (let ent of rootMap.enterprises.filter(e => codiac_utils_1.CodiacUtils.isInfrxEnterprise(e.name))) {
263
+ const isInfrxEnterprise = true; // CodiacUtils.isInfrxEnterprise(ent.name); // we're filtering out any non-infrx enterprises
264
+ let entBranch = { text: `Default: `, value: `${contracts_1.ScopeLevel.enterprise}|${ent.name}` };
265
+ embellisher === null || embellisher === void 0 ? void 0 : embellisher.eachEnterprise(entBranch, ent, rootMap);
266
+ for (let env of _.sortBy(ent.environments, e => e.sequence, e => e.name)) {
267
+ for (let cab of env.cabinets.filter(c => c.cluster != undefined)) {
268
+ let cabBranch = {
269
+ text: isInfrxEnterprise ? cab.cluster : [env.name, cab.name].join("/"),
270
+ value: `${contracts_1.ScopeLevel.cabinet}|${cab.name}|${(_a = cab.thisMachine) !== null && _a !== void 0 ? _a : false}`
271
+ };
272
+ embellisher === null || embellisher === void 0 ? void 0 : embellisher.eachCabinet(cabBranch, cab, env, ent, rootMap);
273
+ if (entBranch.children === undefined)
274
+ entBranch.children = [];
275
+ entBranch.children.push(cabBranch);
276
+ }
277
+ }
278
+ // If we're including enterprise, then its a tree, otherwise its just a list of cabs
279
+ if (includeEnterprise) {
280
+ tree.push(entBranch);
281
+ }
282
+ else if (entBranch.children) {
283
+ tree.push(...entBranch.children);
284
+ }
285
+ }
286
+ return tree;
287
+ }
246
288
  /** */
247
289
  promptForEnviro(rootMap, enterprise, defaultEnviro, takeDefaults = false) {
248
290
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"rootmap-ui-utils.js","sourceRoot":"","sources":["../../src/uilogic/rootmap-ui-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rootmap-ui-utils.js","sourceRoot":"","sources":["../../src/uilogic/rootmap-ui-utils.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,29 @@ export declare class UserContextLoader {
9
9
  private cliEnviro;
10
10
  private logger;
11
11
  constructor(cliEnviro: CliEnviro, logger: IBetterLogger);
12
+ /** The env variable that holds the user context for the current process. */
13
+ static readonly USER_CONTEXT_ENV_VAR = "CODIAC_USER_CNTX";
14
+ /** (context is Machine-User scoped)
15
+ * Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
16
+ * Returns undefined for not found and throws any encountered exceptions.
17
+ *
18
+ * The full user context will STILL be returned no matter what,
19
+ * whether or not there was a matching tenant profile.
20
+ * But if the context has no matching tenant profile,
21
+ * the CURRENT tenantCode, token, and enterprise will be undefined (ie: a tenantless user, a principal user).
22
+ *
23
+ * This way, if the cache is stale, the current user can still authenticate to refresh it.
24
+ * eg: if the user was just seconds ago added to a tenant,
25
+ * this pattern can pick up the new profile from the remote auth service without requiring a manual login.
26
+ *
27
+ * @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
28
+ * */
29
+ loadUserContext(tenantCode?: string | undefined): UserContext | undefined;
30
+ /** Deserializes the full user context object from the process.env, if the env variable exists.
31
+ *
32
+ * @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
33
+ * */
34
+ loadUserContext_fromProcessEnv(): UserContext | undefined;
12
35
  /** (context is Machine-User scoped)
13
36
  * Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
14
37
  * Returns undefined for not found and throws any encountered exceptions.
@@ -24,7 +47,7 @@ export declare class UserContextLoader {
24
47
  *
25
48
  * @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
26
49
  * */
27
- loadUserContext(tenantCode?: string | undefined): UserContext | undefined;
50
+ loadUserContext_fromFile(tenantCode?: string | undefined): UserContext | undefined;
28
51
  /** Mutates the given object's current tenant properties
29
52
  * (currentToken, currentEnterprise, currentTenantCode, tokenExpiration)
30
53
  * to those of the current tenant code,
@@ -4,6 +4,7 @@ exports.UserContextManager = exports.UserContextLoader = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const path = require("path");
6
6
  const fs = require("fs");
7
+ const _ = require("lodash");
7
8
  const codiac_relay_contracts_1 = require("@codiac.io/codiac-relay-contracts");
8
9
  const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
9
10
  const codiac_constants_1 = require("./codiac-constants");
@@ -14,6 +15,60 @@ class UserContextLoader {
14
15
  this.cliEnviro = cliEnviro;
15
16
  this.logger = logger;
16
17
  }
18
+ /** (context is Machine-User scoped)
19
+ * Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
20
+ * Returns undefined for not found and throws any encountered exceptions.
21
+ *
22
+ * The full user context will STILL be returned no matter what,
23
+ * whether or not there was a matching tenant profile.
24
+ * But if the context has no matching tenant profile,
25
+ * the CURRENT tenantCode, token, and enterprise will be undefined (ie: a tenantless user, a principal user).
26
+ *
27
+ * This way, if the cache is stale, the current user can still authenticate to refresh it.
28
+ * eg: if the user was just seconds ago added to a tenant,
29
+ * this pattern can pick up the new profile from the remote auth service without requiring a manual login.
30
+ *
31
+ * @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
32
+ * */
33
+ loadUserContext(tenantCode) {
34
+ let context;
35
+ let source;
36
+ // 1. Retrieve and deserialize
37
+ const processCntx = this.loadUserContext_fromProcessEnv();
38
+ if (processCntx) {
39
+ context = processCntx;
40
+ source = "process env";
41
+ }
42
+ else {
43
+ const machineCntx = this.loadUserContext_fromFile(tenantCode);
44
+ context = machineCntx;
45
+ source = "file";
46
+ }
47
+ if (context) {
48
+ // 2. Switch to requested tenant code (if given)
49
+ if (tenantCode != undefined && !_.isEmpty(tenantCode)) {
50
+ if (context.currentTenantCode !== tenantCode) {
51
+ this.trySetCurrentProfileFor(tenantCode, context);
52
+ }
53
+ }
54
+ this.logger.trace(`Current user context (from ${source} cache). User: ${context.userName}, TenantCode: ${context.currentTenantCode}`);
55
+ }
56
+ return context;
57
+ }
58
+ /** Deserializes the full user context object from the process.env, if the env variable exists.
59
+ *
60
+ * @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
61
+ * */
62
+ loadUserContext_fromProcessEnv() {
63
+ let context;
64
+ this.logger.trace(`Reading env variable ${UserContextLoader.USER_CONTEXT_ENV_VAR}...`);
65
+ const cntxEncoded = process.env[UserContextLoader.USER_CONTEXT_ENV_VAR];
66
+ if (cntxEncoded != undefined && !_.isEmpty(cntxEncoded)) {
67
+ const json = Buffer.from(cntxEncoded, 'base64').toString('utf-8'); // jwt-lib uses "binary" as the string encoding here...
68
+ context = JSON.parse(json);
69
+ }
70
+ return context;
71
+ }
17
72
  /** (context is Machine-User scoped)
18
73
  * Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
19
74
  * Returns undefined for not found and throws any encountered exceptions.
@@ -29,28 +84,26 @@ class UserContextLoader {
29
84
  *
30
85
  * @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
31
86
  * */
32
- loadUserContext(tenantCode) {
87
+ loadUserContext_fromFile(tenantCode) {
33
88
  // let output: UserContext | undefined;
34
89
  // let homeDir = "~/"; // path.posix.resolve("~/"); // NOTE: This tilde (~) may not be valid on a windows box.
35
90
  // let pathName = path.posix.join(homeDir, OpsConstants.CLI_CONFIG_FOLDER_NAME, CliConstants.USER_CONTEXT_FILENAME);
36
91
  let pathName = path.posix.join(this.cliEnviro.localProgramFolder, codiac_constants_1.CliConstants.USER_CONTEXT_FILENAME);
37
92
  this.logger.trace(`Reading ${pathName}...`);
38
93
  let machineUserContext = codiac_ops_common_1.JsonUtils.deserializeJsonFile(pathName);
39
- if (machineUserContext) {
40
- if (tenantCode === undefined) {
41
- // output = machineUserContext;
42
- }
43
- else { // ENFORCE the given tenantCode
44
- if (machineUserContext.currentTenantCode === tenantCode) {
45
- // output = machineUserContext;
46
- }
47
- else {
48
- this.trySetCurrentProfileFor(tenantCode, machineUserContext);
49
- // output = machineUserContext;
50
- }
51
- }
52
- this.logger.trace(`Current user context (from cache). User: ${machineUserContext.userName}, TenantCode: ${machineUserContext.currentTenantCode}`);
53
- }
94
+ // if (machineUserContext) {
95
+ // if (tenantCode === undefined) {
96
+ // // output = machineUserContext;
97
+ // } else { // ENFORCE the given tenantCode
98
+ // if (machineUserContext.currentTenantCode === tenantCode) {
99
+ // // output = machineUserContext;
100
+ // } else {
101
+ // this.trySetCurrentProfileFor(tenantCode, machineUserContext);
102
+ // // output = machineUserContext;
103
+ // }
104
+ // }
105
+ // this.logger.trace(`Current user context (from cache). User: ${machineUserContext.userName}, TenantCode: ${machineUserContext.currentTenantCode}`)
106
+ // }
54
107
  return machineUserContext; // output;
55
108
  }
56
109
  /** Mutates the given object's current tenant properties
@@ -80,6 +133,13 @@ class UserContextLoader {
80
133
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
81
134
  return new Promise((resolve, reject) => {
82
135
  try {
136
+ // ---------------------------------------
137
+ // 1. Env variable
138
+ // ---------------------------------------
139
+ delete process.env[UserContextLoader.USER_CONTEXT_ENV_VAR];
140
+ // ---------------------------------------
141
+ // 2. File
142
+ // ---------------------------------------
83
143
  // let homeDir = "~/"; // path.posix.resolve("~/"); // NOTE: This tilde (~) may not be valid on a windows box.
84
144
  // let pathName = path.posix.join(OpsUtils.resolveHomeDir(homeDir), OpsConstants.CLI_CONFIG_FOLDER_NAME, CliConstants.USER_CONTEXT_FILENAME);
85
145
  let pathName = path.posix.join(this.cliEnviro.localProgramFolder, codiac_constants_1.CliConstants.USER_CONTEXT_FILENAME);
@@ -103,6 +163,8 @@ class UserContextLoader {
103
163
  }
104
164
  }
105
165
  exports.UserContextLoader = UserContextLoader;
166
+ /** The env variable that holds the user context for the current process. */
167
+ UserContextLoader.USER_CONTEXT_ENV_VAR = "CODIAC_USER_CNTX";
106
168
  /** Provides cruds for the user context, persisting to the local context config file. */
107
169
  class UserContextManager {
108
170
  constructor(cliEnviro, authClient, logger) {
@@ -149,6 +211,14 @@ class UserContextManager {
149
211
  * TODO: Consider writing this to the cache folder instead of the config folder.
150
212
  * Throws any encountered exceptions. */
151
213
  writeUserContext(userContext) {
214
+ // ---------------------------------------
215
+ // 1. Env variable (base64-encoded json)
216
+ // ---------------------------------------
217
+ const json = JSON.stringify(userContext);
218
+ process.env[UserContextLoader.USER_CONTEXT_ENV_VAR] = Buffer.from(json).toString('base64');
219
+ // ---------------------------------------
220
+ // 2. Json File
221
+ // ---------------------------------------
152
222
  // let pathName = path.join("~/", OpsConstants.CLI_CONFIG_FOLDER_NAME, CliConstants.USER_CONTEXT_FILENAME);
153
223
  let pathName = path.join(this.cliEnviro.localProgramFolder, codiac_constants_1.CliConstants.USER_CONTEXT_FILENAME);
154
224
  this.logger.debug(`Writing UserContext to ${pathName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"user-context-loader.js","sourceRoot":"","sources":["../src/user-context-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-context-loader.js","sourceRoot":"","sources":["../src/user-context-loader.ts"],"names":[],"mappings":"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"}