dbctx 1.4.0 → 1.4.2

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.
@@ -8,5 +8,6 @@ export declare const detectProvider: (hostname: string) => TDatabaseProvider;
8
8
  export declare const detectAIAssistants: () => TAIAssistant[];
9
9
  export declare const detectDocker: () => boolean;
10
10
  export declare const detectSSHSession: () => boolean;
11
+ export declare const detectUsername: () => string;
11
12
  export declare const isLocalhost: (hostname: string) => boolean;
12
13
  //# sourceMappingURL=detect.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.mts","sourceRoot":"./src/","sources":["app/detect.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,YAAY,EACZ,iBAAiB,EACjB,GAAG,EACH,MAAM,EACN,aAAa,EACb,eAAe,EAClB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,QAAQ,QAAO,GAKT,CAAC;AAEpB,eAAO,MAAM,WAAW,QAAO,MAqB9B,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAAgD,CAAC;AAI9E,eAAO,MAAM,kBAAkB,QAAO,aAiBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,eAYvC,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,iBA0BjD,CAAC;AAaF,eAAO,MAAM,kBAAkB,QAAO,YAAY,EAMjD,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,OAAoC,CAAC;AAErE,eAAO,MAAM,gBAAgB,QAAO,OACuB,CAAC;AAE5D,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,OAS9C,CAAC"}
1
+ {"version":3,"file":"detect.d.mts","sourceRoot":"./src/","sources":["app/detect.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,YAAY,EACZ,iBAAiB,EACjB,GAAG,EACH,MAAM,EACN,aAAa,EACb,eAAe,EAClB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,QAAQ,QAAO,GAKT,CAAC;AAEpB,eAAO,MAAM,WAAW,QAAO,MAqB9B,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAAgD,CAAC;AAI9E,eAAO,MAAM,kBAAkB,QAAO,aAiBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,eAYvC,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,iBA0BjD,CAAC;AAaF,eAAO,MAAM,kBAAkB,QAAO,YAAY,EAMjD,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,OAAoC,CAAC;AAErE,eAAO,MAAM,gBAAgB,QAAO,OACuB,CAAC;AAE5D,eAAO,MAAM,cAAc,QAAO,MAA6B,CAAC;AAEhE,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,OAS9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { existsSync } from 'fs';
2
- import { totalmem } from 'os';
2
+ import { totalmem, userInfo } from 'os';
3
3
  import { basename, join } from 'path';
4
4
  import { cwd, env, platform } from 'process';
5
5
  export const detectOS = () => platform === 'darwin'
@@ -96,6 +96,7 @@ export const detectAIAssistants = () => {
96
96
  };
97
97
  export const detectDocker = () => existsSync('/.dockerenv');
98
98
  export const detectSSHSession = () => !!(env.SSH_CONNECTION || env.SSH_CLIENT || env.SSH_TTY);
99
+ export const detectUsername = () => userInfo().username;
99
100
  export const isLocalhost = (hostname) => {
100
101
  const lower = hostname.toLowerCase();
101
102
  return (lower === 'localhost' ||
@@ -103,4 +104,4 @@ export const isLocalhost = (hostname) => {
103
104
  lower === '::1' ||
104
105
  lower === '0.0.0.0');
105
106
  };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0Lm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImFwcC9kZXRlY3QubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFDOUIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLElBQUksQ0FBQztBQUM1QixPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFXM0MsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQVEsRUFBRSxDQUM5QixRQUFRLEtBQUssUUFBUTtJQUNqQixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxRQUFRLEtBQUssT0FBTztRQUNwQixDQUFDLENBQUMsU0FBUztRQUNYLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFFcEIsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQVcsRUFBRTtJQUNwQyxJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUN2QixPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUV4QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLE1BQU0sS0FBSyxHQUEyQjtRQUNsQyxJQUFJLEVBQUUsTUFBTTtRQUNaLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLEdBQUcsRUFBRSxLQUFLO0tBQ2IsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQztBQUNsQyxD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LEVBQUU7SUFDckQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXJDLE9BQU8sQ0FDSCxLQUFLLEtBQUssV0FBVztRQUNyQixLQUFLLEtBQUssV0FBVztRQUNyQixLQUFLLEtBQUssS0FBSztRQUNmLEtBQUssS0FBSyxTQUFTLENBQ3RCLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2V4aXN0c1N5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCB7dG90YWxtZW19IGZyb20gJ29zJztcbmltcG9ydCB7YmFzZW5hbWUsIGpvaW59IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtjd2QsIGVudiwgcGxhdGZvcm19IGZyb20gJ3Byb2Nlc3MnO1xuXG5pbXBvcnQgdHlwZSB7XG4gICAgVEFJQXNzaXN0YW50LFxuICAgIFREYXRhYmFzZVByb3ZpZGVyLFxuICAgIFRPcyxcbiAgICBUU2hlbGwsXG4gICAgVFN5c3RlbU1lbW9yeSxcbiAgICBUUGFja2FnZU1hbmFnZXIsXG59IGZyb20gJ0BkYmN0eC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGRldGVjdE9TID0gKCk6IFRPcyA9PlxuICAgIHBsYXRmb3JtID09PSAnZGFyd2luJ1xuICAgICAgICA/ICdtYWNvcydcbiAgICAgICAgOiBwbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuICAgICAgICAgID8gJ3dpbmRvd3MnXG4gICAgICAgICAgOiAnbGludXgnO1xuXG5leHBvcnQgY29uc3QgZGV0ZWN0U2hlbGwgPSAoKTogVFNoZWxsID0+IHtcbiAgICBpZiAocGxhdGZvcm0gPT09ICd3aW4zMicpIHtcbiAgICAgICAgcmV0dXJuICdwb3dlcnNoZWxsJztcbiAgICB9XG5cbiAgICBjb25zdCBzaGVsbCA9IGVudi5TSEVMTDtcblxuICAgIGlmICghc2hlbGwpIHtcbiAgICAgICAgcmV0dXJuICdvdGhlcic7XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZSA9IGJhc2VuYW1lKHNoZWxsKTtcbiAgICBjb25zdCBrbm93bjogUmVjb3JkPHN0cmluZywgVFNoZWxsPiA9IHtcbiAgICAgICAgYmFzaDogJ2Jhc2gnLFxuICAgICAgICB6c2g6ICd6c2gnLFxuICAgICAgICBrc2g6ICdrc2gnLFxuICAgICAgICBmaXNoOiAnZmlzaCcsXG4gICAgICAgIGFzaDogJ2FzaCcsXG4gICAgfTtcblxuICAgIHJldHVybiBrbm93bltuYW1lXSA/PyAnb3RoZXInO1xufTtcblxuZXhwb3J0IGNvbnN0IGRldGVjdFdTTCA9ICgpOiBib29sZWFuID0+ICEhKGVudi5XU0xfRElTVFJPX05BTUUgfHwgZW52LldTTEVOVik7XG5cbmNvbnN0IEdCID0gMTAyNCAqKiAzO1xuXG5leHBvcnQgY29uc3QgZGV0ZWN0U3lzdGVtTWVtb3J5ID0gKCk6IFRTeXN0ZW1NZW1vcnkgPT4ge1xuICAgIGNvbnN0IGJ5dGVzID0gdG90YWxtZW0oKTtcblxuICAgIGlmIChieXRlcyA8IDEyICogR0IpIHtcbiAgICAgICAgcmV0dXJuICc4Zyc7XG4gICAgfVxuICAgIGlmIChieXRlcyA8IDIwICogR0IpIHtcbiAgICAgICAgcmV0dXJuICcxNmcnO1xuICAgIH1cbiAgICBpZiAoYnl0ZXMgPCAyOCAqIEdCKSB7XG4gICAgICAgIHJldHVybiAnMjRnJztcbiAgICB9XG4gICAgaWYgKGJ5dGVzIDwgNDggKiBHQikge1xuICAgICAgICByZXR1cm4gJzMyZyc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdtb3JlJztcbn07XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RQYWNrYWdlTWFuYWdlciA9ICgpOiBUUGFja2FnZU1hbmFnZXIgPT4ge1xuICAgIGNvbnN0IGFnZW50ID0gZW52Lm5wbV9jb25maWdfdXNlcl9hZ2VudCA/PyAnJztcbiAgICBjb25zdCBrbm93bjogcmVhZG9ubHkgVFBhY2thZ2VNYW5hZ2VyW10gPSBbXG4gICAgICAgICdwbnBtJyxcbiAgICAgICAgJ3lhcm4nLFxuICAgICAgICAnYnVuJyxcbiAgICAgICAgJ2Rlbm8nLFxuICAgIF0gYXMgY29uc3Q7XG5cbiAgICBjb25zdCBtYXRjaCA9IGtub3duLmZpbmQoKHBtKSA9PiBhZ2VudC5zdGFydHNXaXRoKHBtKSk7XG5cbiAgICByZXR1cm4gbWF0Y2ggPz8gJ25wbSc7XG59O1xuXG4vLyBUT0RPOiBJbXBsZW1lbnQgaG9zdG5hbWUg4oaSIHByb3ZpZGVyIG1hcHBpbmdcbmV4cG9ydCBjb25zdCBkZXRlY3RQcm92aWRlciA9IChob3N0bmFtZTogc3RyaW5nKTogVERhdGFiYXNlUHJvdmlkZXIgPT4ge1xuICAgIGNvbnN0IHJ1bGVzOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFtzdHJpbmcsIFREYXRhYmFzZVByb3ZpZGVyXT4gPSBbXG4gICAgICAgIFsnLm5lb24udGVjaCcsICduZW9uJ10sXG4gICAgICAgIFsnLnJkcy5hbWF6b25hd3MuY29tJywgJ2F3cyddLFxuICAgICAgICBbJy5hbWF6b25hd3MuY29tJywgJ2F3cyddLFxuICAgICAgICBbJy5zdXBhYmFzZS5jbycsICdzdXBhYmFzZSddLFxuICAgICAgICBbJy5zdXBhYmFzZS5jb20nLCAnc3VwYWJhc2UnXSxcbiAgICAgICAgWycuZGF0YWJhc2UuYXp1cmUuY29tJywgJ2F6dXJlJ10sXG4gICAgICAgIFsnLmNsb3Vkc3FsLicsICdnY3AnXSxcbiAgICAgICAgWycuc3FsLmdvb2cnLCAnZ2NwJ10sXG4gICAgICAgIFsnLnJhaWx3YXkuYXBwJywgJ3JhaWx3YXknXSxcbiAgICAgICAgWycucmVuZGVyLmNvbScsICdyZW5kZXInXSxcbiAgICAgICAgWycuYWl2ZW5jbG91ZC5jb20nLCAnYXZpZW4nXSxcbiAgICAgICAgWycuYWl2ZW4uaW8nLCAnYXZpZW4nXSxcbiAgICAgICAgWycudGltZXNjYWxlZGIuaW8nLCAndGltZXNjYWxlX2Nsb3VkJ10sXG4gICAgICAgIFsnLmhlcm9rdWFwcC5jb20nLCAnaGVyb2t1J10sXG4gICAgICAgIFsnLmZseS5kZXYnLCAnZmx5J10sXG4gICAgICAgIFsnLmtveWViLmFwcCcsICdrb3llYiddLFxuICAgICAgICBbJy5kYi5vbmRpZ2l0YWxvY2Vhbi5jb20nLCAnZGlnaXRhbF9vY2VhbiddLFxuICAgICAgICBbJy5hbGliYWJhY2xvdWRkYi5jb20nLCAnYWxpYmFkYV9jbG91ZCddLFxuICAgIF07XG5cbiAgICBjb25zdCBsb3dlciA9IGhvc3RuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgZm91bmQgPSBydWxlcy5maW5kKChbc3VmZml4XSkgPT4gbG93ZXIuaW5jbHVkZXMoc3VmZml4KSk7XG5cbiAgICByZXR1cm4gZm91bmQ/LlsxXSA/PyAnb3RoZXInO1xufTtcblxuY29uc3QgYWlBc3Npc3RhbnRSdWxlczogUmVhZG9ubHlBcnJheTxcbiAgICByZWFkb25seSBbVEFJQXNzaXN0YW50LCBSZWFkb25seUFycmF5PHN0cmluZz5dXG4+ID0gW1xuICAgIFsnY3Vyc29yJywgWycuY3Vyc29yJywgJy5jdXJzb3JydWxlcyddXSxcbiAgICBbJ2NsYXVkZV9jb2RlJywgWycuY2xhdWRlJywgJ0NMQVVERS5tZCddXSxcbiAgICBbJ29wZW5jb2RlJywgWycub3BlbmNvZGUnXV0sXG4gICAgWydhaWRlcicsIFsnLmFpZGVyLmNvbmYueW1sJywgJy5haWRlci5jaGF0Lmhpc3RvcnkubWQnXV0sXG4gICAgWydvcGVuYWlfY29kZXgnLCBbJy5jb2RleCddXSxcbiAgICBbJ2dpdGh1Yl9jb3BpbG90JywgWycuZ2l0aHViL2NvcGlsb3QtaW5zdHJ1Y3Rpb25zLm1kJ11dLFxuXTtcblxuZXhwb3J0IGNvbnN0IGRldGVjdEFJQXNzaXN0YW50cyA9ICgpOiBUQUlBc3Npc3RhbnRbXSA9PiB7XG4gICAgY29uc3Qgcm9vdCA9IGN3ZCgpO1xuXG4gICAgcmV0dXJuIGFpQXNzaXN0YW50UnVsZXNcbiAgICAgICAgLmZpbHRlcigoWywgcGF0aHNdKSA9PiBwYXRocy5zb21lKChwKSA9PiBleGlzdHNTeW5jKGpvaW4ocm9vdCwgcCkpKSlcbiAgICAgICAgLm1hcCgoW25hbWVdKSA9PiBuYW1lKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZXRlY3REb2NrZXIgPSAoKTogYm9vbGVhbiA9PiBleGlzdHNTeW5jKCcvLmRvY2tlcmVudicpO1xuXG5leHBvcnQgY29uc3QgZGV0ZWN0U1NIU2Vzc2lvbiA9ICgpOiBib29sZWFuID0+XG4gICAgISEoZW52LlNTSF9DT05ORUNUSU9OIHx8IGVudi5TU0hfQ0xJRU5UIHx8IGVudi5TU0hfVFRZKTtcblxuZXhwb3J0IGNvbnN0IGlzTG9jYWxob3N0ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBsb3dlciA9IGhvc3RuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBsb3dlciA9PT0gJ2xvY2FsaG9zdCcgfHxcbiAgICAgICAgbG93ZXIgPT09ICcxMjcuMC4wLjEnIHx8XG4gICAgICAgIGxvd2VyID09PSAnOjoxJyB8fFxuICAgICAgICBsb3dlciA9PT0gJzAuMC4wLjAnXG4gICAgKTtcbn07XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0Lm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImFwcC9kZXRlY3QubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFDOUIsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBVzNDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxHQUFRLEVBQUUsQ0FDOUIsUUFBUSxLQUFLLFFBQVE7SUFDakIsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsUUFBUSxLQUFLLE9BQU87UUFDcEIsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsT0FBTyxDQUFDO0FBRXBCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFXLEVBQUU7SUFDcEMsSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDdkIsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFFeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixNQUFNLEtBQUssR0FBMkI7UUFDbEMsSUFBSSxFQUFFLE1BQU07UUFDWixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsSUFBSSxFQUFFLE1BQU07UUFDWixHQUFHLEVBQUUsS0FBSztLQUNiLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENB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RUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFXLEVBQUU7SUFDckQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXJDLE9BQU8sQ0FDSCxLQUFLLEtBQUssV0FBVztRQUNyQixLQUFLLEtBQUssV0FBVztRQUNyQixLQUFLLEtBQUssS0FBSztRQUNmLEtBQUssS0FBSyxTQUFTLENBQ3RCLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2V4aXN0c1N5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCB7dG90YWxtZW0sIHVzZXJJbmZvfSBmcm9tICdvcyc7XG5pbXBvcnQge2Jhc2VuYW1lLCBqb2lufSBmcm9tICdwYXRoJztcbmltcG9ydCB7Y3dkLCBlbnYsIHBsYXRmb3JtfSBmcm9tICdwcm9jZXNzJztcblxuaW1wb3J0IHR5cGUge1xuICAgIFRBSUFzc2lzdGFudCxcbiAgICBURGF0YWJhc2VQcm92aWRlcixcbiAgICBUT3MsXG4gICAgVFNoZWxsLFxuICAgIFRTeXN0ZW1NZW1vcnksXG4gICAgVFBhY2thZ2VNYW5hZ2VyLFxufSBmcm9tICdAZGJjdHgvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RPUyA9ICgpOiBUT3MgPT5cbiAgICBwbGF0Zm9ybSA9PT0gJ2RhcndpbidcbiAgICAgICAgPyAnbWFjb3MnXG4gICAgICAgIDogcGxhdGZvcm0gPT09ICd3aW4zMidcbiAgICAgICAgICA/ICd3aW5kb3dzJ1xuICAgICAgICAgIDogJ2xpbnV4JztcblxuZXhwb3J0IGNvbnN0IGRldGVjdFNoZWxsID0gKCk6IFRTaGVsbCA9PiB7XG4gICAgaWYgKHBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgICAgIHJldHVybiAncG93ZXJzaGVsbCc7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hlbGwgPSBlbnYuU0hFTEw7XG5cbiAgICBpZiAoIXNoZWxsKSB7XG4gICAgICAgIHJldHVybiAnb3RoZXInO1xuICAgIH1cblxuICAgIGNvbnN0IG5hbWUgPSBiYXNlbmFtZShzaGVsbCk7XG4gICAgY29uc3Qga25vd246IFJlY29yZDxzdHJpbmcsIFRTaGVsbD4gPSB7XG4gICAgICAgIGJhc2g6ICdiYXNoJyxcbiAgICAgICAgenNoOiAnenNoJyxcbiAgICAgICAga3NoOiAna3NoJyxcbiAgICAgICAgZmlzaDogJ2Zpc2gnLFxuICAgICAgICBhc2g6ICdhc2gnLFxuICAgIH07XG5cbiAgICByZXR1cm4ga25vd25bbmFtZV0gPz8gJ290aGVyJztcbn07XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RXU0wgPSAoKTogYm9vbGVhbiA9PiAhIShlbnYuV1NMX0RJU1RST19OQU1FIHx8IGVudi5XU0xFTlYpO1xuXG5jb25zdCBHQiA9IDEwMjQgKiogMztcblxuZXhwb3J0IGNvbnN0IGRldGVjdFN5c3RlbU1lbW9yeSA9ICgpOiBUU3lzdGVtTWVtb3J5ID0+IHtcbiAgICBjb25zdCBieXRlcyA9IHRvdGFsbWVtKCk7XG5cbiAgICBpZiAoYnl0ZXMgPCAxMiAqIEdCKSB7XG4gICAgICAgIHJldHVybiAnOGcnO1xuICAgIH1cbiAgICBpZiAoYnl0ZXMgPCAyMCAqIEdCKSB7XG4gICAgICAgIHJldHVybiAnMTZnJztcbiAgICB9XG4gICAgaWYgKGJ5dGVzIDwgMjggKiBHQikge1xuICAgICAgICByZXR1cm4gJzI0Zyc7XG4gICAgfVxuICAgIGlmIChieXRlcyA8IDQ4ICogR0IpIHtcbiAgICAgICAgcmV0dXJuICczMmcnO1xuICAgIH1cblxuICAgIHJldHVybiAnbW9yZSc7XG59O1xuXG5leHBvcnQgY29uc3QgZGV0ZWN0UGFja2FnZU1hbmFnZXIgPSAoKTogVFBhY2thZ2VNYW5hZ2VyID0+IHtcbiAgICBjb25zdCBhZ2VudCA9IGVudi5ucG1fY29uZmlnX3VzZXJfYWdlbnQgPz8gJyc7XG4gICAgY29uc3Qga25vd246IHJlYWRvbmx5IFRQYWNrYWdlTWFuYWdlcltdID0gW1xuICAgICAgICAncG5wbScsXG4gICAgICAgICd5YXJuJyxcbiAgICAgICAgJ2J1bicsXG4gICAgICAgICdkZW5vJyxcbiAgICBdIGFzIGNvbnN0O1xuXG4gICAgY29uc3QgbWF0Y2ggPSBrbm93bi5maW5kKChwbSkgPT4gYWdlbnQuc3RhcnRzV2l0aChwbSkpO1xuXG4gICAgcmV0dXJuIG1hdGNoID8/ICducG0nO1xufTtcblxuLy8gVE9ETzogSW1wbGVtZW50IGhvc3RuYW1lIOKGkiBwcm92aWRlciBtYXBwaW5nXG5leHBvcnQgY29uc3QgZGV0ZWN0UHJvdmlkZXIgPSAoaG9zdG5hbWU6IHN0cmluZyk6IFREYXRhYmFzZVByb3ZpZGVyID0+IHtcbiAgICBjb25zdCBydWxlczogUmVhZG9ubHlBcnJheTxyZWFkb25seSBbc3RyaW5nLCBURGF0YWJhc2VQcm92aWRlcl0+ID0gW1xuICAgICAgICBbJy5uZW9uLnRlY2gnLCAnbmVvbiddLFxuICAgICAgICBbJy5yZHMuYW1hem9uYXdzLmNvbScsICdhd3MnXSxcbiAgICAgICAgWycuYW1hem9uYXdzLmNvbScsICdhd3MnXSxcbiAgICAgICAgWycuc3VwYWJhc2UuY28nLCAnc3VwYWJhc2UnXSxcbiAgICAgICAgWycuc3VwYWJhc2UuY29tJywgJ3N1cGFiYXNlJ10sXG4gICAgICAgIFsnLmRhdGFiYXNlLmF6dXJlLmNvbScsICdhenVyZSddLFxuICAgICAgICBbJy5jbG91ZHNxbC4nLCAnZ2NwJ10sXG4gICAgICAgIFsnLnNxbC5nb29nJywgJ2djcCddLFxuICAgICAgICBbJy5yYWlsd2F5LmFwcCcsICdyYWlsd2F5J10sXG4gICAgICAgIFsnLnJlbmRlci5jb20nLCAncmVuZGVyJ10sXG4gICAgICAgIFsnLmFpdmVuY2xvdWQuY29tJywgJ2F2aWVuJ10sXG4gICAgICAgIFsnLmFpdmVuLmlvJywgJ2F2aWVuJ10sXG4gICAgICAgIFsnLnRpbWVzY2FsZWRiLmlvJywgJ3RpbWVzY2FsZV9jbG91ZCddLFxuICAgICAgICBbJy5oZXJva3VhcHAuY29tJywgJ2hlcm9rdSddLFxuICAgICAgICBbJy5mbHkuZGV2JywgJ2ZseSddLFxuICAgICAgICBbJy5rb3llYi5hcHAnLCAna295ZWInXSxcbiAgICAgICAgWycuZGIub25kaWdpdGFsb2NlYW4uY29tJywgJ2RpZ2l0YWxfb2NlYW4nXSxcbiAgICAgICAgWycuYWxpYmFiYWNsb3VkZGIuY29tJywgJ2FsaWJhZGFfY2xvdWQnXSxcbiAgICBdO1xuXG4gICAgY29uc3QgbG93ZXIgPSBob3N0bmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGZvdW5kID0gcnVsZXMuZmluZCgoW3N1ZmZpeF0pID0+IGxvd2VyLmluY2x1ZGVzKHN1ZmZpeCkpO1xuXG4gICAgcmV0dXJuIGZvdW5kPy5bMV0gPz8gJ290aGVyJztcbn07XG5cbmNvbnN0IGFpQXNzaXN0YW50UnVsZXM6IFJlYWRvbmx5QXJyYXk8XG4gICAgcmVhZG9ubHkgW1RBSUFzc2lzdGFudCwgUmVhZG9ubHlBcnJheTxzdHJpbmc+XVxuPiA9IFtcbiAgICBbJ2N1cnNvcicsIFsnLmN1cnNvcicsICcuY3Vyc29ycnVsZXMnXV0sXG4gICAgWydjbGF1ZGVfY29kZScsIFsnLmNsYXVkZScsICdDTEFVREUubWQnXV0sXG4gICAgWydvcGVuY29kZScsIFsnLm9wZW5jb2RlJ11dLFxuICAgIFsnYWlkZXInLCBbJy5haWRlci5jb25mLnltbCcsICcuYWlkZXIuY2hhdC5oaXN0b3J5Lm1kJ11dLFxuICAgIFsnb3BlbmFpX2NvZGV4JywgWycuY29kZXgnXV0sXG4gICAgWydnaXRodWJfY29waWxvdCcsIFsnLmdpdGh1Yi9jb3BpbG90LWluc3RydWN0aW9ucy5tZCddXSxcbl07XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RBSUFzc2lzdGFudHMgPSAoKTogVEFJQXNzaXN0YW50W10gPT4ge1xuICAgIGNvbnN0IHJvb3QgPSBjd2QoKTtcblxuICAgIHJldHVybiBhaUFzc2lzdGFudFJ1bGVzXG4gICAgICAgIC5maWx0ZXIoKFssIHBhdGhzXSkgPT4gcGF0aHMuc29tZSgocCkgPT4gZXhpc3RzU3luYyhqb2luKHJvb3QsIHApKSkpXG4gICAgICAgIC5tYXAoKFtuYW1lXSkgPT4gbmFtZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGV0ZWN0RG9ja2VyID0gKCk6IGJvb2xlYW4gPT4gZXhpc3RzU3luYygnLy5kb2NrZXJlbnYnKTtcblxuZXhwb3J0IGNvbnN0IGRldGVjdFNTSFNlc3Npb24gPSAoKTogYm9vbGVhbiA9PlxuICAgICEhKGVudi5TU0hfQ09OTkVDVElPTiB8fCBlbnYuU1NIX0NMSUVOVCB8fCBlbnYuU1NIX1RUWSk7XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RVc2VybmFtZSA9ICgpOiBzdHJpbmcgPT4gdXNlckluZm8oKS51c2VybmFtZTtcblxuZXhwb3J0IGNvbnN0IGlzTG9jYWxob3N0ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBsb3dlciA9IGhvc3RuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBsb3dlciA9PT0gJ2xvY2FsaG9zdCcgfHxcbiAgICAgICAgbG93ZXIgPT09ICcxMjcuMC4wLjEnIHx8XG4gICAgICAgIGxvd2VyID09PSAnOjoxJyB8fFxuICAgICAgICBsb3dlciA9PT0gJzAuMC4wLjAnXG4gICAgKTtcbn07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"./src/","sources":["app/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAepC,wBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,iBAiGtC"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"./src/","sources":["app/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAgBpC,wBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,iBAiGtC"}
@@ -5,7 +5,8 @@ import { createSession, waitForAuthorization, connectAccount, checkGate, } from
5
5
  import { readConfig, flushConfig } from './config.mjs';
6
6
  import { TRPCClientError } from '@trpc/client';
7
7
  import { when, runInAction } from 'mobx';
8
- import { env } from 'process';
8
+ import { DBCTX_DEV } from '#client/lib/env.mjs';
9
+ import { logger } from '../logger.mjs';
9
10
  export async function run(store) {
10
11
  try {
11
12
  const cleanupSSH = await connectSSH(store);
@@ -73,9 +74,9 @@ export async function run(store) {
73
74
  }
74
75
  }
75
76
  catch (err) {
76
- if (env.NODE_ENV !== 'production') {
77
- console.error(err);
77
+ if (DBCTX_DEV) {
78
+ logger.error(`${err}`, { error: err });
78
79
  }
79
80
  }
80
81
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiYXBwL2luZGV4Lm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUNILGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFFNUIsTUFBTSxDQUFDLEtBQUssVUFBVSxHQUFHLENBQUMsS0FBYTtJQUNuQyxJQUFJLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUNaLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FDM0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUNsQyxDQUNKLENBQUM7WUFFRixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDOUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDZixPQUFPO1lBQ1gsQ0FBQztRQUNMLENB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QUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDWCxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RTdG9yZX0gZnJvbSAnLi4vc3RvcmUubWpzJztcbmltcG9ydCB7Y29ubmVjdFNTSH0gZnJvbSAnLi9zc2gubWpzJztcbmltcG9ydCB7Y29ubmVjdERCfSBmcm9tICcuL2RiLm1qcyc7XG5pbXBvcnQge2Fzc2VtYmxlRGF0YWJhc2V9IGZyb20gJy4vYXNzZW1ibGUubWpzJztcbmltcG9ydCB7XG4gICAgY3JlYXRlU2Vzc2lvbixcbiAgICB3YWl0Rm9yQXV0aG9yaXphdGlvbixcbiAgICBjb25uZWN0QWNjb3VudCxcbiAgICBjaGVja0dhdGUsXG59IGZyb20gJy4vc2Vzc2lvbi5tanMnO1xuaW1wb3J0IHtyZWFkQ29uZmlnLCBmbHVzaENvbmZpZ30gZnJvbSAnLi9jb25maWcubWpzJztcbmltcG9ydCB7VFJQQ0NsaWVudEVycm9yfSBmcm9tICdAdHJwYy9jbGllbnQnO1xuaW1wb3J0IHt3aGVuLCBydW5JbkFjdGlvbn0gZnJvbSAnbW9ieCc7XG5pbXBvcnQge2Vudn0gZnJvbSAncHJvY2Vzcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW4oc3RvcmU6IFRTdG9yZSkge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNsZWFudXBTU0ggPSBhd2FpdCBjb25uZWN0U1NIKHN0b3JlKTtcblxuICAgICAgICBpZiAoc3RvcmUuc3RlcHMuc3NoQ29ubmVjdGlvbi5lbmFibGVkKSB7XG4gICAgICAgICAgICBhd2FpdCB3aGVuKCgpID0+XG4gICAgICAgICAgICAgICAgWydjb25uZWN0ZWQnLCAnZXJyb3InXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICAgICAgc3RvcmUuc3RlcHMuc3NoQ29ubmVjdGlvbi5zdGF0ZSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKHN0b3JlLnN0ZXBzLnNzaENvbm5lY3Rpb24uc3RhdGUgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICBjbGVhbnVwU1NIPy4oKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYiA9IGF3YWl0IGNvbm5lY3REQihzdG9yZSk7XG5cbiAgICAgICAgYXdhaXQgd2hlbigoKSA9PlxuICAgICAgICAgICAgWydjb25uZWN0ZWQnLCAnZXJyb3InXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24uc3RhdGUsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24uc3RhdGUgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgIGRiPy5jbGVhbnVwKCk7XG4gICAgICAgICAgICBjbGVhbnVwU1NIPy4oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYikge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXNzZW1ibGVEYXRhYmFzZShkYi5wb29sLCBzdG9yZSk7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSBhd2FpdCByZWFkQ29uZmlnKCk7XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbklkID0gYXdhaXQgY3JlYXRlU2Vzc2lvbihcbiAgICAgICAgICAgICAgICAgICAgZGIucG9vbCxcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBzdG9yZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLnRva2VuID8/IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5kZXZpY2VfaWQsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmIChjb25maWcudG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGNvbm5lY3RBY2NvdW50KGNvbmZpZy50b2tlbiwgc3RvcmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2FuQ29udGludWUgPSBhd2FpdCBjaGVja0dhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnRva2VuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2FuQ29udGludWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYi5wb29sLmVuZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRiLnBvb2wuZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIFRSUENDbGllbnRFcnJvciAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnIuZGF0YT8uY29kZSA9PT0gJ1VOQVVUSE9SSVpFRCcgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyLmRhdGE/LmNvZGUgPT09ICdOT1RfRk9VTkQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgZmx1c2hDb25maWcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXdhaXQgd2FpdEZvckF1dGhvcml6YXRpb24oc2Vzc2lvbklkLCBzdG9yZSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBmcmVzaFRva2VuID0gKGF3YWl0IHJlYWRDb25maWcoKSkudG9rZW47XG4gICAgICAgICAgICAgICAgaWYgKGZyZXNoVG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2FuQ29udGludWUgPSBhd2FpdCBjaGVja0dhdGUoZnJlc2hUb2tlbiwgc3RvcmUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNhbkNvbnRpbnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYi5wb29sLmVuZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5hY2NvdW50LnN0YXRlID0gJ2Vycm9yJztcbiAgICAgICAgICAgICAgICAgICAgc3RvcmUuc3RlcHMuYWNjb3VudC5lcnJvciA9XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnIgaW5zdGFuY2VvZiBFcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZXJyLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdTZXNzaW9uIGNyZWF0aW9uIGZhaWxlZCc7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRiLnBvb2wuZW5kKCk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKGVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiYXBwL2luZGV4Lm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUNILGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsR0FBRyxDQUFDLEtBQWE7SUFDbkMsSUFBSSxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDWixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQzNCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FDbEMsQ0FDSixDQUFDO1lBRUYsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQzlDLFVBQVUs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Z0JBQ3hDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VFN0b3JlfSBmcm9tICcuLi9zdG9yZS5tanMnO1xuaW1wb3J0IHtjb25uZWN0U1NIfSBmcm9tICcuL3NzaC5tanMnO1xuaW1wb3J0IHtjb25uZWN0REJ9IGZyb20gJy4vZGIubWpzJztcbmltcG9ydCB7YXNzZW1ibGVEYXRhYmFzZX0gZnJvbSAnLi9hc3NlbWJsZS5tanMnO1xuaW1wb3J0IHtcbiAgICBjcmVhdGVTZXNzaW9uLFxuICAgIHdhaXRGb3JBdXRob3JpemF0aW9uLFxuICAgIGNvbm5lY3RBY2NvdW50LFxuICAgIGNoZWNrR2F0ZSxcbn0gZnJvbSAnLi9zZXNzaW9uLm1qcyc7XG5pbXBvcnQge3JlYWRDb25maWcsIGZsdXNoQ29uZmlnfSBmcm9tICcuL2NvbmZpZy5tanMnO1xuaW1wb3J0IHtUUlBDQ2xpZW50RXJyb3J9IGZyb20gJ0B0cnBjL2NsaWVudCc7XG5pbXBvcnQge3doZW4sIHJ1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcbmltcG9ydCB7REJDVFhfREVWfSBmcm9tICcjY2xpZW50L2xpYi9lbnYubWpzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi9sb2dnZXIubWpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bihzdG9yZTogVFN0b3JlKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY2xlYW51cFNTSCA9IGF3YWl0IGNvbm5lY3RTU0goc3RvcmUpO1xuXG4gICAgICAgIGlmIChzdG9yZS5zdGVwcy5zc2hDb25uZWN0aW9uLmVuYWJsZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IHdoZW4oKCkgPT5cbiAgICAgICAgICAgICAgICBbJ2Nvbm5lY3RlZCcsICdlcnJvciddLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5zc2hDb25uZWN0aW9uLnN0YXRlLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoc3RvcmUuc3RlcHMuc3NoQ29ubmVjdGlvbi5zdGF0ZSA9PT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgIGNsZWFudXBTU0g/LigpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRiID0gYXdhaXQgY29ubmVjdERCKHN0b3JlKTtcblxuICAgICAgICBhd2FpdCB3aGVuKCgpID0+XG4gICAgICAgICAgICBbJ2Nvbm5lY3RlZCcsICdlcnJvciddLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5zdGF0ZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5zdGF0ZSA9PT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgZGI/LmNsZWFudXAoKTtcbiAgICAgICAgICAgIGNsZWFudXBTU0g/LigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRiKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhc3NlbWJsZURhdGFiYXNlKGRiLnBvb2wsIHN0b3JlKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHJlYWRDb25maWcoKTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uSWQgPSBhd2FpdCBjcmVhdGVTZXNzaW9uKFxuICAgICAgICAgICAgICAgICAgICBkYi5wb29sLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHN0b3JlLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcudG9rZW4gPz8gbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRldmljZV9pZCxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZy50b2tlbikge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY29ubmVjdEFjY291bnQoY29uZmlnLnRva2VuLCBzdG9yZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5Db250aW51ZSA9IGF3YWl0IGNoZWNrR2F0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcudG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjYW5Db250aW51ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRiLnBvb2wuZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGIucG9vbC5lbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyIGluc3RhbmNlb2YgVFJQQ0NsaWVudEVycm9yICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVyci5kYXRhPy5jb2RlID09PSAnVU5BVVRIT1JJWkVEJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIuZGF0YT8uY29kZSA9PT0gJ05PVF9GT1VORCcpXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBmbHVzaENvbmZpZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQXV0aG9yaXphdGlvbihzZXNzaW9uSWQsIHN0b3JlKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGZyZXNoVG9rZW4gPSAoYXdhaXQgcmVhZENvbmZpZygpKS50b2tlbjtcbiAgICAgICAgICAgICAgICBpZiAoZnJlc2hUb2tlbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5Db250aW51ZSA9IGF3YWl0IGNoZWNrR2F0ZShmcmVzaFRva2VuLCBzdG9yZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY2FuQ29udGludWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRiLnBvb2wuZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQuc3RhdGUgPSAnZXJyb3InO1xuICAgICAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5hY2NvdW50LmVycm9yID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlcnIubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ1Nlc3Npb24gY3JlYXRpb24gZmFpbGVkJztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGIucG9vbC5lbmQoKTtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoREJDVFhfREVWKSB7XG4gICAgICAgICAgICBsb2dnZXIuZXJyb3IoYCR7ZXJyfWAsIHtlcnJvcjogZXJyfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"open-url.d.mts","sourceRoot":"./src/","sources":["app/open-url.mts"],"names":[],"mappings":"AAOA,eAAO,MAAM,iBAAiB,QAAO,OAQpC,CAAC;AAOF,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,MACH,CAAC;AAElD,eAAO,MAAM,cAAc,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAW9D,CAAC"}
1
+ {"version":3,"file":"open-url.d.mts","sourceRoot":"./src/","sources":["app/open-url.mts"],"names":[],"mappings":"AAQA,eAAO,MAAM,iBAAiB,QAAO,OAQpC,CAAC;AAMF,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,MACH,CAAC;AAElD,eAAO,MAAM,cAAc,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAW9D,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { env } from 'process';
2
+ import { DBCTX_DEV } from '#client/lib/env.mjs';
2
3
  const SKIP_VALUES = new Set(['none', 'false', '0']);
3
4
  const isDocker = () => !!(env.DOCKER || env.container || env.DOCKER_CONTAINER);
4
5
  export const shouldOpenBrowser = () => {
@@ -8,7 +9,7 @@ export const shouldOpenBrowser = () => {
8
9
  const browser = env.BROWSER?.toLowerCase();
9
10
  return !browser || !SKIP_VALUES.has(browser);
10
11
  };
11
- const SESSION_BASE_URL = env.NODE_ENV === 'production'
12
+ const SESSION_BASE_URL = !DBCTX_DEV
12
13
  ? 'https://dbctx.io/authorize/session'
13
14
  : 'http://localhost:12002/authorize/session';
14
15
  export const buildSessionURL = (sessionId) => `${SESSION_BASE_URL}?session-id=${sessionId}`;
@@ -24,4 +25,4 @@ export const openSessionURL = async (url) => {
24
25
  // Browser opening is best-effort — no-op on failure
25
26
  }
26
27
  };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi11cmwubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiYXBwL29wZW4tdXJsLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRTVCLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXBELE1BQU0sUUFBUSxHQUFHLEdBQVksRUFBRSxDQUMzQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBWSxFQUFFO0lBQzNDLElBQUksUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUNiLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBRTNDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQ2xCLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWTtJQUN6QixDQUFDLENBQUMsb0NBQW9DO0lBQ3RDLENBQUMsQ0FBQywwQ0FBMEMsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxTQUFpQixFQUFVLEVBQUUsQ0FDekQsR0FBRyxnQkFBZ0IsZUFBZSxTQUFTLEVBQUUsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBaUIsRUFBRTtJQUMvRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1FBQ3ZCLE9BQU87SUFDWCxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ0wsb0RBQW9EO0lBQ3hELENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Vudn0gZnJvbSAncHJvY2Vzcyc7XG5cbmNvbnN0IFNLSVBfVkFMVUVTID0gbmV3IFNldChbJ25vbmUnLCAnZmFsc2UnLCAnMCddKTtcblxuY29uc3QgaXNEb2NrZXIgPSAoKTogYm9vbGVhbiA9PlxuICAgICEhKGVudi5ET0NLRVIgfHwgZW52LmNvbnRhaW5lciB8fCBlbnYuRE9DS0VSX0NPTlRBSU5FUik7XG5cbmV4cG9ydCBjb25zdCBzaG91bGRPcGVuQnJvd3NlciA9ICgpOiBib29sZWFuID0+IHtcbiAgICBpZiAoaXNEb2NrZXIoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYnJvd3NlciA9IGVudi5CUk9XU0VSPy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuICFicm93c2VyIHx8ICFTS0lQX1ZBTFVFUy5oYXMoYnJvd3Nlcik7XG59O1xuXG5jb25zdCBTRVNTSU9OX0JBU0VfVVJMID1cbiAgICBlbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJ1xuICAgICAgICA/ICdodHRwczovL2RiY3R4LmlvL2F1dGhvcml6ZS9zZXNzaW9uJ1xuICAgICAgICA6ICdodHRwOi8vbG9jYWxob3N0OjEyMDAyL2F1dGhvcml6ZS9zZXNzaW9uJztcblxuZXhwb3J0IGNvbnN0IGJ1aWxkU2Vzc2lvblVSTCA9IChzZXNzaW9uSWQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgIGAke1NFU1NJT05fQkFTRV9VUkx9P3Nlc3Npb24taWQ9JHtzZXNzaW9uSWR9YDtcblxuZXhwb3J0IGNvbnN0IG9wZW5TZXNzaW9uVVJMID0gYXN5bmMgKHVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgaWYgKCFzaG91bGRPcGVuQnJvd3NlcigpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7ZGVmYXVsdDogb3Blbn0gPSBhd2FpdCBpbXBvcnQoJ29wZW4nKTtcbiAgICAgICAgYXdhaXQgb3Blbih1cmwpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBCcm93c2VyIG9wZW5pbmcgaXMgYmVzdC1lZmZvcnQg4oCUIG5vLW9wIG9uIGZhaWx1cmVcbiAgICB9XG59O1xuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi11cmwubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiYXBwL29wZW4tdXJsLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzVCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUVwRCxNQUFNLFFBQVEsR0FBRyxHQUFZLEVBQUUsQ0FDM0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQVksRUFBRTtJQUMzQyxJQUFJLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDYixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUUzQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBUztJQUMvQixDQUFDLENBQUMsb0NBQW9DO0lBQ3RDLENBQUMsQ0FBQywwQ0FBMEMsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxTQUFpQixFQUFVLEVBQUUsQ0FDekQsR0FBRyxnQkFBZ0IsZUFBZSxTQUFTLEVBQUUsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBaUIsRUFBRTtJQUMvRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1FBQ3ZCLE9BQU87SUFDWCxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ0wsb0RBQW9EO0lBQ3hELENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Vudn0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQge0RCQ1RYX0RFVn0gZnJvbSAnI2NsaWVudC9saWIvZW52Lm1qcyc7XG5cbmNvbnN0IFNLSVBfVkFMVUVTID0gbmV3IFNldChbJ25vbmUnLCAnZmFsc2UnLCAnMCddKTtcblxuY29uc3QgaXNEb2NrZXIgPSAoKTogYm9vbGVhbiA9PlxuICAgICEhKGVudi5ET0NLRVIgfHwgZW52LmNvbnRhaW5lciB8fCBlbnYuRE9DS0VSX0NPTlRBSU5FUik7XG5cbmV4cG9ydCBjb25zdCBzaG91bGRPcGVuQnJvd3NlciA9ICgpOiBib29sZWFuID0+IHtcbiAgICBpZiAoaXNEb2NrZXIoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYnJvd3NlciA9IGVudi5CUk9XU0VSPy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuICFicm93c2VyIHx8ICFTS0lQX1ZBTFVFUy5oYXMoYnJvd3Nlcik7XG59O1xuXG5jb25zdCBTRVNTSU9OX0JBU0VfVVJMID0gIURCQ1RYX0RFVlxuICAgID8gJ2h0dHBzOi8vZGJjdHguaW8vYXV0aG9yaXplL3Nlc3Npb24nXG4gICAgOiAnaHR0cDovL2xvY2FsaG9zdDoxMjAwMi9hdXRob3JpemUvc2Vzc2lvbic7XG5cbmV4cG9ydCBjb25zdCBidWlsZFNlc3Npb25VUkwgPSAoc2Vzc2lvbklkOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICBgJHtTRVNTSU9OX0JBU0VfVVJMfT9zZXNzaW9uLWlkPSR7c2Vzc2lvbklkfWA7XG5cbmV4cG9ydCBjb25zdCBvcGVuU2Vzc2lvblVSTCA9IGFzeW5jICh1cmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICghc2hvdWxkT3BlbkJyb3dzZXIoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3Qge2RlZmF1bHQ6IG9wZW59ID0gYXdhaXQgaW1wb3J0KCdvcGVuJyk7XG4gICAgICAgIGF3YWl0IG9wZW4odXJsKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gQnJvd3NlciBvcGVuaW5nIGlzIGJlc3QtZWZmb3J0IOKAlCBuby1vcCBvbiBmYWlsdXJlXG4gICAgfVxufTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.mts","sourceRoot":"./src/","sources":["app/session.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AAG7B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAmJpD,eAAO,MAAM,SAAS,GAClB,OAAO,MAAM,EACb,OAAO,MAAM,KACd,OAAO,CAAC,OAAO,CAkBjB,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,OAAO,MAAM,EACb,OAAO,MAAM,KACd,OAAO,CAAC,IAAI,CAed,CAAC;AAEF,eAAO,MAAM,aAAa,GACtB,MAAM,IAAI,EACV,QAAQ,SAAS,EACjB,OAAO,MAAM,EACb,OAAO,MAAM,GAAG,IAAI,EACpB,WAAW,MAAM,KAClB,OAAO,CAAC,MAAM,CA0BhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,WAAW,MAAM,EACjB,OAAO,MAAM,KACd,OAAO,CAAC,IAAI,CAYd,CAAC"}
1
+ {"version":3,"file":"session.d.mts","sourceRoot":"./src/","sources":["app/session.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AAG7B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAoJpD,eAAO,MAAM,SAAS,GAClB,OAAO,MAAM,EACb,OAAO,MAAM,KACd,OAAO,CAAC,OAAO,CAkBjB,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,OAAO,MAAM,EACb,OAAO,MAAM,KACd,OAAO,CAAC,IAAI,CAed,CAAC;AAEF,eAAO,MAAM,aAAa,GACtB,MAAM,IAAI,EACV,QAAQ,SAAS,EACjB,OAAO,MAAM,EACb,OAAO,MAAM,GAAG,IAAI,EACpB,WAAW,MAAM,KAClB,OAAO,CAAC,MAAM,CA0BhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,WAAW,MAAM,EACjB,OAAO,MAAM,KACd,OAAO,CAAC,IAAI,CAYd,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { runInAction } from 'mobx';
2
2
  import { fetchRelationFileStats } from '../db/index.mjs';
3
3
  import { trpc, createAuthenticatedTRPCClient } from '#client/lib/trpc.mjs';
4
- import { detectAIAssistants, detectDocker, detectOS, detectShell, detectWSL, detectSystemMemory, detectPackageManager, detectProvider, isLocalhost, } from './detect.mjs';
4
+ import { detectAIAssistants, detectDocker, detectOS, detectShell, detectUsername, detectWSL, detectSystemMemory, detectPackageManager, detectProvider, isLocalhost, } from './detect.mjs';
5
5
  import { buildSessionURL } from './open-url.mjs';
6
6
  import { writeConfig } from './config.mjs';
7
7
  import { CLIENT_VERSION } from '#client/lib/version.mjs';
@@ -77,7 +77,7 @@ const buildSessionInput = (result, store, isReplica, medianFileAge) => {
77
77
  is_wsl: detectWSL(),
78
78
  system_memory: detectSystemMemory(),
79
79
  package_manager: detectPackageManager(),
80
- username: store.steps.databaseConnection.pickedUsername,
80
+ username: detectUsername(),
81
81
  hostname: store.steps.databaseConnection.pickedHostname,
82
82
  ai_assistants: detectAIAssistants(),
83
83
  };
@@ -152,4 +152,4 @@ export const waitForAuthorization = async (sessionId, store) => {
152
152
  await writeConfig(token);
153
153
  await connectAccount(token, store);
154
154
  };
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5tanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJhcHAvc2Vzc2lvbi5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlqQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixZQUFZLEVBQ1osUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1Qsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsV0FBVyxHQUNkLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsSUFBVSxFQUFvQixFQUFFO0lBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDM0IsMENBQTBDLENBQzdDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUM5QixJQUFVLEVBQ1YsVUFBNkIsRUFDN0IsS0FBYSxFQUNTLEVBQUU7SUFDeEIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLHNCQUFzQixDQUFDLElBQUksRUFBRSxV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TSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUQsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFDckMsU0FBaUIsRUFDakIsS0FBYSxFQUNBLEVBQUU7SUFDZixNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdkMsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUNiLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQb29sfSBmcm9tICdwZyc7XG5pbXBvcnQge3J1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcblxuaW1wb3J0IHR5cGUge1RTdG9yZX0gZnJvbSAnLi4vc3RvcmUubWpzJztcbmltcG9ydCB0eXBlIHtURGF0YWJhc2V9IGZyb20gJy4uL3NjaGVtYXMvaW5kZXgubWpzJztcbmltcG9ydCB7ZmV0Y2hSZWxhdGlvbkZpbGVTdGF0c30gZnJvbSAnLi4vZGIvaW5kZXgubWpzJztcbmltcG9ydCB7dHJwYywgY3JlYXRlQXV0aGVudGljYXRlZFRSUENDbGllbnR9IGZyb20gJyNjbGllbnQvbGliL3RycGMubWpzJztcbmltcG9ydCB7XG4gICAgZGV0ZWN0QUlBc3Npc3RhbnRzLFxuICAgIGRldGVjdERvY2tlcixcbiAgICBkZXRlY3RPUyxcbiAgICBkZXRlY3RTaGVsbCxcbiAgICBkZXRlY3RXU0wsXG4gICAgZGV0ZWN0U3lzdGVtTWVtb3J5LFxuICAgIGRldGVjdFBhY2thZ2VNYW5hZ2VyLFxuICAgIGRldGVjdFByb3ZpZGVyLFxuICAgIGlzTG9jYWxob3N0LFxufSBmcm9tICcuL2RldGVjdC5tanMnO1xuaW1wb3J0IHtidWlsZFNlc3Npb25VUkx9IGZyb20gJy4vb3Blbi11cmwubWpzJztcbmltcG9ydCB7d3JpdGVDb25maWd9IGZyb20gJy4vY29uZmlnLm1qcyc7XG5pbXBvcnQge0NMSUVOVF9WRVJTSU9OfSBmcm9tICcjY2xpZW50L2xpYi92ZXJzaW9uLm1qcyc7XG5cbmNvbnN0IGNoZWNrSXNSZXBsaWNhID0gYXN5bmMgKHBvb2w6IFBvb2wpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwb29sLnF1ZXJ5PHtpc19yZXBsaWNhOiBib29sZWFufT4oXG4gICAgICAgICdTRUxFQ1QgcGdfaXNfaW5fcmVjb3ZlcnkoKSBBUyBpc19yZXBsaWNhJyxcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5yb3dzWzBdLmlzX3JlcGxpY2E7XG59O1xuXG5jb25zdCBjb2xsZWN0TWVkaWFuRmlsZUFnZSA9IGFzeW5jIChcbiAgICBwb29sOiBQb29sLFxuICAgIHRhYmxlTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICAgIHN0b3JlOiBUU3RvcmUsXG4pOiBQcm9taXNlPHN0cmluZyB8IG51bGw+ID0+IHtcbiAgICBpZiAodGFibGVOYW1lcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmlyc3QgPSBhd2FpdCBmZXRjaFJlbGF0aW9uRmlsZVN0YXRzKHBvb2wsIHRhYmxlTmFtZXNbMF0pO1xuXG4gICAgICAgIGlmICghZmlyc3Q/Lm1vZGlmaWNhdGlvbl90aW1lKSB7XG4gICAgICAgICAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3RvcmUuc3RlcHMuaW50cm9zcGVjdGlvbi5maWxlU3RhdHNTa2lwcGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpbWVzOiBEYXRlW10gPSBbZmlyc3QubW9kaWZpY2F0aW9uX3RpbWVdO1xuXG4gICAgICAgIGNvbnN0IHJlbWFpbmluZyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgdGFibGVOYW1lcy5zbGljZSgxKS5tYXAoYXN5bmMgKG5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0cyA9IGF3YWl0IGZldGNoUmVsYXRpb25GaWxlU3RhdHMocG9vbCwgbmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0cz8ubW9kaWZpY2F0aW9uX3RpbWUgPz8gbnVsbDtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmVtYWluaW5nLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgIGlmICh0KSB7XG4gICAgICAgICAgICAgICAgdGltZXMucHVzaCh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc29ydGVkID0gWy4uLnRpbWVzXS5zb3J0KChhLCBiKSA9PiBhLmdldFRpbWUoKSAtIGIuZ2V0VGltZSgpKTtcbiAgICAgICAgY29uc3QgbWlkID0gTWF0aC5mbG9vcihzb3J0ZWQubGVuZ3RoIC8gMik7XG4gICAgICAgIGNvbnN0IG1lZGlhbiA9XG4gICAgICAgICAgICBzb3J0ZWQubGVuZ3RoICUgMiA9PT0gMFxuICAgICAgICAgICAgICAgID8gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgKHNvcnRlZFttaWQgLSAxXS5nZXRUaW1lKCkgKyBzb3J0ZWRbbWlkXS5nZXRUaW1lKCkpIC8gMixcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHNvcnRlZFttaWRdO1xuXG4gICAgICAgIHJldHVybiBtZWRpYW4udG9JU09TdHJpbmcoKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICAgICAgc3RvcmUuc3RlcHMuaW50cm9zcGVjdGlvbi5maWxlU3RhdHNTa2lwcGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufTtcblxuY29uc3QgYnVpbGRTZXNzaW9uSW5wdXQgPSAoXG4gICAgcmVzdWx0OiBURGF0YWJhc2UsXG4gICAgc3RvcmU6IFRTdG9yZSxcbiAgICBpc1JlcGxpY2E6IGJvb2xlYW4sXG4gICAgbWVkaWFuRmlsZUFnZTogc3RyaW5nIHwgbnVsbCxcbikgPT4ge1xuICAgIGNvbnN0IHJlbGF0aW9ucyA9IE9iamVjdC52YWx1ZXMocmVzdWx0LnJlbGF0aW9ucyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBkYXRhYmFzZV9uYW1lOiByZXN1bHQubmFtZSxcbiAgICAgICAgZGF0YWJhc2Vfb2JqZWN0X3N0YXRpc3RpY3M6IHtcbiAgICAgICAgICAgIHBhcmVudF90YWJsZXM6IHJlbGF0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKHIpID0+IHIua2luZCA9PT0gJ3BhcnRpdGlvbmVkX3RhYmxlJyxcbiAgICAgICAgICAgICkubGVuZ3RoLFxuICAgICAgICAgICAgdGFibGVzOiByZWxhdGlvbnMuZmlsdGVyKChyKSA9PiByLmtpbmQgPT09ICd0YWJsZScpLmxlbmd0aCxcbiAgICAgICAgICAgIHZpZXdzOiByZWxhdGlvbnMuZmlsdGVyKChyKSA9PiByLmtpbmQgPT09ICd2aWV3JykubGVuZ3RoLFxuICAgICAgICAgICAgbWF0ZXJpYWxpemVkX3ZpZXdzOiByZWxhdGlvbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChyKSA9PiByLmtpbmQgPT09ICdtYXRlcmlhbGl6ZWRfdmlldycsXG4gICAgICAgICAgICApLmxlbmd0aCxcbiAgICAgICAgICAgIGVudW1zOiBzdG9yZS5zdGVwcy5pbnRyb3NwZWN0aW9uLmNvdW50cy5lbnVtcyxcbiAgICAgICAgICAgIGluZGV4ZXM6IHN0b3JlLnN0ZXBzLmludHJvc3BlY3Rpb24uY291bnRzLmluZGV4ZXMsXG4gICAgICAgICAgICBmb3JlaWduX2tleV9yZWZlcmVuY2VzOlxuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmludHJvc3BlY3Rpb24uY291bnRzLmZvcmVpZ25LZXlzLFxuICAgICAgICB9LFxuICAgICAgICBpc19kYXRhYmFzZV9yZXBsaWNhOiBpc1JlcGxpY2EsXG4gICAgICAgIG1lZGlhbl90YWJsZV9maWxlX2FnZTogbWVkaWFuRmlsZUFnZSxcbiAgICAgICAgZGF0YWJhc2VfdHlwZTogcmVzdWx0LnR5cGUsXG4gICAgICAgIGRhdGFiYXNlX3ZlcnNpb246IHJlc3VsdC52ZXJzaW9uLnZlcnNpb25fbnVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgIGRhdGFiYXNlX3ZlcnNpb25fc3RyaW5nOiByZXN1bHQudmVyc2lvbi52ZXJzaW9uX3N0cmluZyxcbiAgICAgICAgZGF0YWJhc2VfcHJvdmlkZXI6IGRldGVjdFByb3ZpZGVyKFxuICAgICAgICAgICAgc3RvcmUuc3RlcHMuZGF0YWJhc2VDb25uZWN0aW9uLnBpY2tlZEhvc3RuYW1lISxcbiAgICAgICAgKSxcbiAgICAgICAgaXNfbG9jYWw6IGlzTG9jYWxob3N0KHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5waWNrZWRIb3N0bmFtZSEpLFxuICAgICAgICBpc19kb2NrZXI6IGRldGVjdERvY2tlcigpLFxuICAgICAgICBpc19hY2Nlc3NlZF9vdmVyX3NzaDogc3RvcmUuc3RlcHMuc3NoQ29ubmVjdGlvbi5lbmFibGVkLFxuICAgICAgICBzaGVsbDogZGV0ZWN0U2hlbGwoKSxcbiAgICAgICAgb3M6IGRldGVjdE9TKCksXG4gICAgICAgIGlzX3dzbDogZGV0ZWN0V1NMKCksXG4gICAgICAgIHN5c3RlbV9tZW1vcnk6IGRldGVjdFN5c3RlbU1lbW9yeSgpLFxuICAgICAgICBwYWNrYWdlX21hbmFnZXI6IGRldGVjdFBhY2thZ2VNYW5hZ2VyKCksXG4gICAgICAgIHVzZXJuYW1lOiBzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24ucGlja2VkVXNlcm5hbWUhLFxuICAgICAgICBob3N0bmFtZTogc3RvcmUuc3RlcHMuZGF0YWJhc2VDb25uZWN0aW9uLnBpY2tlZEhvc3RuYW1lISxcbiAgICAgICAgYWlfYXNzaXN0YW50czogZGV0ZWN0QUlBc3Npc3RhbnRzKCksXG4gICAgfSBhcyBjb25zdDtcbn07XG5cbmNvbnN0IHdhaXRGb3JUb2tlbiA9IChzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiA9PlxuICAgIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBzdWIgPSB0cnBjLnNlc3Npb24ub25BdXRob3JpemF0aW9uLnN1YnNjcmliZShcbiAgICAgICAgICAgIHtzZXNzaW9uX2lkOiBzZXNzaW9uSWR9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9uRGF0YTogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YS50b2tlbik7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbkVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IGNoZWNrR2F0ZSA9IGFzeW5jIChcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIHN0b3JlOiBUU3RvcmUsXG4pOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmdhdGUuc3RhdGUgPSAnY2hlY2tpbmcnO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYXV0aENsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRUUlBDQ2xpZW50KCgpID0+XG4gICAgICAgIFByb21pc2UucmVzb2x2ZSh0b2tlbiksXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhdXRoQ2xpZW50LnNlc3Npb24uc2hvdWxkQ29udGludWUucXVlcnkoe1xuICAgICAgICBjbGllbnRfdmVyc2lvbjogQ0xJRU5UX1ZFUlNJT04sXG4gICAgfSk7XG5cbiAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmdhdGUuc3RhdGUgPSByZXN1bHQuY29udGludWUgPyAncGFzc2VkJyA6ICdibG9ja2VkJztcbiAgICAgICAgc3RvcmUuc3RlcHMuZ2F0ZS5tZXNzYWdlID0gcmVzdWx0Lm1lc3NhZ2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0LmNvbnRpbnVlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbm5lY3RBY2NvdW50ID0gYXN5bmMgKFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgc3RvcmU6IFRTdG9yZSxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgc3RvcmUuc3RlcHMuYWNjb3VudC5zdGF0ZSA9ICdmZXRjaGluZy1hY2NvdW50JztcbiAgICB9KTtcblxuICAgIGNvbnN0IGF1dGhDbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkVFJQQ0NsaWVudCgoKSA9PlxuICAgICAgICBQcm9taXNlLnJlc29sdmUodG9rZW4pLFxuICAgICk7XG4gICAgY29uc3QgYWNjb3VudCA9IGF3YWl0IGF1dGhDbGllbnQuYWNjb3VudC5nZXRBY2NvdW50LnF1ZXJ5KHt9KTtcblxuICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgc3RvcmUuc3RlcHMuYWNjb3VudC5zdGF0ZSA9ICdjb25uZWN0ZWQnO1xuICAgICAgICBzdG9yZS5zdGVwcy5hY2NvdW50LmVtYWlsID0gYWNjb3VudC5lbWFpbHNbMF0gPz8gbnVsbDtcbiAgICAgICAgc3RvcmUuc3RlcHMuYWNjb3VudC5uYW1lID0gYWNjb3VudC5uYW1lO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNlc3Npb24gPSBhc3luYyAoXG4gICAgcG9vbDogUG9vbCxcbiAgICByZXN1bHQ6IFREYXRhYmFzZSxcbiAgICBzdG9yZTogVFN0b3JlLFxuICAgIHRva2VuOiBzdHJpbmcgfCBudWxsLFxuICAgIGRldmljZV9pZDogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQuc3RhdGUgPSAnY3JlYXRpbmctc2Vzc2lvbic7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0YWJsZU5hbWVzID0gT2JqZWN0LnZhbHVlcyhyZXN1bHQucmVsYXRpb25zKVxuICAgICAgICAuZmlsdGVyKChyKSA9PiByLmtpbmQgPT09ICd0YWJsZScgfHwgci5raW5kID09PSAncGFydGl0aW9uZWRfdGFibGUnKVxuICAgICAgICAubWFwKChyKSA9PiByLm5hbWUpO1xuXG4gICAgY29uc3QgW2lzUmVwbGljYSwgbWVkaWFuRmlsZUFnZV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIGNoZWNrSXNSZXBsaWNhKHBvb2wpLFxuICAgICAgICBjb2xsZWN0TWVkaWFuRmlsZUFnZShwb29sLCB0YWJsZU5hbWVzLCBzdG9yZSksXG4gICAgXSk7XG5cbiAgICBjb25zdCBpbnB1dCA9IHtcbiAgICAgICAgLi4uYnVpbGRTZXNzaW9uSW5wdXQocmVzdWx0LCBzdG9yZSwgaXNSZXBsaWNhLCBtZWRpYW5GaWxlQWdlKSxcbiAgICAgICAgZGV2aWNlX2lkLFxuICAgIH07XG5cbiAgICBjb25zdCBjbGllbnQgPSB0b2tlblxuICAgICAgICA/IGNyZWF0ZUF1dGhlbnRpY2F0ZWRUUlBDQ2xpZW50KCgpID0+IFByb21pc2UucmVzb2x2ZSh0b2tlbikpXG4gICAgICAgIDogdHJwYztcblxuICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBjbGllbnQuc2Vzc2lvbi5jcmVhdGUubXV0YXRlKGlucHV0KTtcblxuICAgIHJldHVybiBzZXNzaW9uLmlkO1xufTtcblxuZXhwb3J0IGNvbnN0IHdhaXRGb3JBdXRob3JpemF0aW9uID0gYXN5bmMgKFxuICAgIHNlc3Npb25JZDogc3RyaW5nLFxuICAgIHN0b3JlOiBUU3RvcmUsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCB1cmwgPSBidWlsZFNlc3Npb25VUkwoc2Vzc2lvbklkKTtcblxuICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgc3RvcmUuc3RlcHMuYWNjb3VudC5zdGF0ZSA9ICd3YWl0aW5nJztcbiAgICAgICAgc3RvcmUuc3RlcHMuYWNjb3VudC51cmwgPSB1cmw7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQuc2Vzc2lvbklkID0gc2Vzc2lvbklkO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG9rZW4gPSBhd2FpdCB3YWl0Rm9yVG9rZW4oc2Vzc2lvbklkKTtcbiAgICBhd2FpdCB3cml0ZUNvbmZpZyh0b2tlbik7XG4gICAgYXdhaXQgY29ubmVjdEFjY291bnQodG9rZW4sIHN0b3JlKTtcbn07XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5tanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJhcHAvc2Vzc2lvbi5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlqQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixZQUFZLEVBQ1osUUFBUSxFQUNSLFdBQVcsRUFDWCxjQUFjLEVBQ2QsU0FBUyxFQUNULGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFdBQVcsR0FDZCxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLElBQVUsRUFBb0IsRUFBRTtJQUMxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQzNCLDBDQUEwQyxDQUM3QyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFDOUIsSUFBVSxFQUNWLFVBQTZCLEVBQzdCLEtBQWEsRUFDUyxFQUFFO0lBQ3hCLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxJ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TUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFELE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLEVBQ3JDLFNBQWlCLEVBQ2pCLEtBQWEsRUFDQSxFQUFFO0lBQ2YsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXZDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7UUFDYixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDOUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UG9vbH0gZnJvbSAncGcnO1xuaW1wb3J0IHtydW5JbkFjdGlvbn0gZnJvbSAnbW9ieCc7XG5cbmltcG9ydCB0eXBlIHtUU3RvcmV9IGZyb20gJy4uL3N0b3JlLm1qcyc7XG5pbXBvcnQgdHlwZSB7VERhdGFiYXNlfSBmcm9tICcuLi9zY2hlbWFzL2luZGV4Lm1qcyc7XG5pbXBvcnQge2ZldGNoUmVsYXRpb25GaWxlU3RhdHN9IGZyb20gJy4uL2RiL2luZGV4Lm1qcyc7XG5pbXBvcnQge3RycGMsIGNyZWF0ZUF1dGhlbnRpY2F0ZWRUUlBDQ2xpZW50fSBmcm9tICcjY2xpZW50L2xpYi90cnBjLm1qcyc7XG5pbXBvcnQge1xuICAgIGRldGVjdEFJQXNzaXN0YW50cyxcbiAgICBkZXRlY3REb2NrZXIsXG4gICAgZGV0ZWN0T1MsXG4gICAgZGV0ZWN0U2hlbGwsXG4gICAgZGV0ZWN0VXNlcm5hbWUsXG4gICAgZGV0ZWN0V1NMLFxuICAgIGRldGVjdFN5c3RlbU1lbW9yeSxcbiAgICBkZXRlY3RQYWNrYWdlTWFuYWdlcixcbiAgICBkZXRlY3RQcm92aWRlcixcbiAgICBpc0xvY2FsaG9zdCxcbn0gZnJvbSAnLi9kZXRlY3QubWpzJztcbmltcG9ydCB7YnVpbGRTZXNzaW9uVVJMfSBmcm9tICcuL29wZW4tdXJsLm1qcyc7XG5pbXBvcnQge3dyaXRlQ29uZmlnfSBmcm9tICcuL2NvbmZpZy5tanMnO1xuaW1wb3J0IHtDTElFTlRfVkVSU0lPTn0gZnJvbSAnI2NsaWVudC9saWIvdmVyc2lvbi5tanMnO1xuXG5jb25zdCBjaGVja0lzUmVwbGljYSA9IGFzeW5jIChwb29sOiBQb29sKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcG9vbC5xdWVyeTx7aXNfcmVwbGljYTogYm9vbGVhbn0+KFxuICAgICAgICAnU0VMRUNUIHBnX2lzX2luX3JlY292ZXJ5KCkgQVMgaXNfcmVwbGljYScsXG4gICAgKTtcblxuICAgIHJldHVybiByZXN1bHQucm93c1swXS5pc19yZXBsaWNhO1xufTtcblxuY29uc3QgY29sbGVjdE1lZGlhbkZpbGVBZ2UgPSBhc3luYyAoXG4gICAgcG9vbDogUG9vbCxcbiAgICB0YWJsZU5hbWVzOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICBzdG9yZTogVFN0b3JlLFxuKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiA9PiB7XG4gICAgaWYgKHRhYmxlTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gYXdhaXQgZmV0Y2hSZWxhdGlvbkZpbGVTdGF0cyhwb29sLCB0YWJsZU5hbWVzWzBdKTtcblxuICAgICAgICBpZiAoIWZpcnN0Py5tb2RpZmljYXRpb25fdGltZSkge1xuICAgICAgICAgICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmludHJvc3BlY3Rpb24uZmlsZVN0YXRzU2tpcHBlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aW1lczogRGF0ZVtdID0gW2ZpcnN0Lm1vZGlmaWNhdGlvbl90aW1lXTtcblxuICAgICAgICBjb25zdCByZW1haW5pbmcgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHRhYmxlTmFtZXMuc2xpY2UoMSkubWFwKGFzeW5jIChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdHMgPSBhd2FpdCBmZXRjaFJlbGF0aW9uRmlsZVN0YXRzKHBvb2wsIG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdHM/Lm1vZGlmaWNhdGlvbl90aW1lID8/IG51bGw7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIHJlbWFpbmluZy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICBpZiAodCkge1xuICAgICAgICAgICAgICAgIHRpbWVzLnB1c2godCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHNvcnRlZCA9IFsuLi50aW1lc10uc29ydCgoYSwgYikgPT4gYS5nZXRUaW1lKCkgLSBiLmdldFRpbWUoKSk7XG4gICAgICAgIGNvbnN0IG1pZCA9IE1hdGguZmxvb3Ioc29ydGVkLmxlbmd0aCAvIDIpO1xuICAgICAgICBjb25zdCBtZWRpYW4gPVxuICAgICAgICAgICAgc29ydGVkLmxlbmd0aCAlIDIgPT09IDBcbiAgICAgICAgICAgICAgICA/IG5ldyBEYXRlKFxuICAgICAgICAgICAgICAgICAgICAgIChzb3J0ZWRbbWlkIC0gMV0uZ2V0VGltZSgpICsgc29ydGVkW21pZF0uZ2V0VGltZSgpKSAvIDIsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBzb3J0ZWRbbWlkXTtcblxuICAgICAgICByZXR1cm4gbWVkaWFuLnRvSVNPU3RyaW5nKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmludHJvc3BlY3Rpb24uZmlsZVN0YXRzU2tpcHBlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn07XG5cbmNvbnN0IGJ1aWxkU2Vzc2lvbklucHV0ID0gKFxuICAgIHJlc3VsdDogVERhdGFiYXNlLFxuICAgIHN0b3JlOiBUU3RvcmUsXG4gICAgaXNSZXBsaWNhOiBib29sZWFuLFxuICAgIG1lZGlhbkZpbGVBZ2U6IHN0cmluZyB8IG51bGwsXG4pID0+IHtcbiAgICBjb25zdCByZWxhdGlvbnMgPSBPYmplY3QudmFsdWVzKHJlc3VsdC5yZWxhdGlvbnMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YWJhc2VfbmFtZTogcmVzdWx0Lm5hbWUsXG4gICAgICAgIGRhdGFiYXNlX29iamVjdF9zdGF0aXN0aWNzOiB7XG4gICAgICAgICAgICBwYXJlbnRfdGFibGVzOiByZWxhdGlvbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChyKSA9PiByLmtpbmQgPT09ICdwYXJ0aXRpb25lZF90YWJsZScsXG4gICAgICAgICAgICApLmxlbmd0aCxcbiAgICAgICAgICAgIHRhYmxlczogcmVsYXRpb25zLmZpbHRlcigocikgPT4gci5raW5kID09PSAndGFibGUnKS5sZW5ndGgsXG4gICAgICAgICAgICB2aWV3czogcmVsYXRpb25zLmZpbHRlcigocikgPT4gci5raW5kID09PSAndmlldycpLmxlbmd0aCxcbiAgICAgICAgICAgIG1hdGVyaWFsaXplZF92aWV3czogcmVsYXRpb25zLmZpbHRlcihcbiAgICAgICAgICAgICAgICAocikgPT4gci5raW5kID09PSAnbWF0ZXJpYWxpemVkX3ZpZXcnLFxuICAgICAgICAgICAgKS5sZW5ndGgsXG4gICAgICAgICAgICBlbnVtczogc3RvcmUuc3RlcHMuaW50cm9zcGVjdGlvbi5jb3VudHMuZW51bXMsXG4gICAgICAgICAgICBpbmRleGVzOiBzdG9yZS5zdGVwcy5pbnRyb3NwZWN0aW9uLmNvdW50cy5pbmRleGVzLFxuICAgICAgICAgICAgZm9yZWlnbl9rZXlfcmVmZXJlbmNlczpcbiAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5pbnRyb3NwZWN0aW9uLmNvdW50cy5mb3JlaWduS2V5cyxcbiAgICAgICAgfSxcbiAgICAgICAgaXNfZGF0YWJhc2VfcmVwbGljYTogaXNSZXBsaWNhLFxuICAgICAgICBtZWRpYW5fdGFibGVfZmlsZV9hZ2U6IG1lZGlhbkZpbGVBZ2UsXG4gICAgICAgIGRhdGFiYXNlX3R5cGU6IHJlc3VsdC50eXBlLFxuICAgICAgICBkYXRhYmFzZV92ZXJzaW9uOiByZXN1bHQudmVyc2lvbi52ZXJzaW9uX251bWJlci50b1N0cmluZygpLFxuICAgICAgICBkYXRhYmFzZV92ZXJzaW9uX3N0cmluZzogcmVzdWx0LnZlcnNpb24udmVyc2lvbl9zdHJpbmcsXG4gICAgICAgIGRhdGFiYXNlX3Byb3ZpZGVyOiBkZXRlY3RQcm92aWRlcihcbiAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5waWNrZWRIb3N0bmFtZSEsXG4gICAgICAgICksXG4gICAgICAgIGlzX2xvY2FsOiBpc0xvY2FsaG9zdChzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24ucGlja2VkSG9zdG5hbWUhKSxcbiAgICAgICAgaXNfZG9ja2VyOiBkZXRlY3REb2NrZXIoKSxcbiAgICAgICAgaXNfYWNjZXNzZWRfb3Zlcl9zc2g6IHN0b3JlLnN0ZXBzLnNzaENvbm5lY3Rpb24uZW5hYmxlZCxcbiAgICAgICAgc2hlbGw6IGRldGVjdFNoZWxsKCksXG4gICAgICAgIG9zOiBkZXRlY3RPUygpLFxuICAgICAgICBpc193c2w6IGRldGVjdFdTTCgpLFxuICAgICAgICBzeXN0ZW1fbWVtb3J5OiBkZXRlY3RTeXN0ZW1NZW1vcnkoKSxcbiAgICAgICAgcGFja2FnZV9tYW5hZ2VyOiBkZXRlY3RQYWNrYWdlTWFuYWdlcigpLFxuICAgICAgICB1c2VybmFtZTogZGV0ZWN0VXNlcm5hbWUoKSxcbiAgICAgICAgaG9zdG5hbWU6IHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5waWNrZWRIb3N0bmFtZSEsXG4gICAgICAgIGFpX2Fzc2lzdGFudHM6IGRldGVjdEFJQXNzaXN0YW50cygpLFxuICAgIH0gYXMgY29uc3Q7XG59O1xuXG5jb25zdCB3YWl0Rm9yVG9rZW4gPSAoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4gPT5cbiAgICBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3Qgc3ViID0gdHJwYy5zZXNzaW9uLm9uQXV0aG9yaXphdGlvbi5zdWJzY3JpYmUoXG4gICAgICAgICAgICB7c2Vzc2lvbl9pZDogc2Vzc2lvbklkfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvbkRhdGE6IChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGRhdGEudG9rZW4pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb25FcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBjaGVja0dhdGUgPSBhc3luYyAoXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBzdG9yZTogVFN0b3JlLFxuKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICBzdG9yZS5zdGVwcy5nYXRlLnN0YXRlID0gJ2NoZWNraW5nJztcbiAgICB9KTtcblxuICAgIGNvbnN0IGF1dGhDbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkVFJQQ0NsaWVudCgoKSA9PlxuICAgICAgICBQcm9taXNlLnJlc29sdmUodG9rZW4pLFxuICAgICk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXV0aENsaWVudC5zZXNzaW9uLnNob3VsZENvbnRpbnVlLnF1ZXJ5KHtcbiAgICAgICAgY2xpZW50X3ZlcnNpb246IENMSUVOVF9WRVJTSU9OLFxuICAgIH0pO1xuXG4gICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICBzdG9yZS5zdGVwcy5nYXRlLnN0YXRlID0gcmVzdWx0LmNvbnRpbnVlID8gJ3Bhc3NlZCcgOiAnYmxvY2tlZCc7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmdhdGUubWVzc2FnZSA9IHJlc3VsdC5tZXNzYWdlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5jb250aW51ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb25uZWN0QWNjb3VudCA9IGFzeW5jIChcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIHN0b3JlOiBUU3RvcmUsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQuc3RhdGUgPSAnZmV0Y2hpbmctYWNjb3VudCc7XG4gICAgfSk7XG5cbiAgICBjb25zdCBhdXRoQ2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZFRSUENDbGllbnQoKCkgPT5cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHRva2VuKSxcbiAgICApO1xuICAgIGNvbnN0IGFjY291bnQgPSBhd2FpdCBhdXRoQ2xpZW50LmFjY291bnQuZ2V0QWNjb3VudC5xdWVyeSh7fSk7XG5cbiAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQuc3RhdGUgPSAnY29ubmVjdGVkJztcbiAgICAgICAgc3RvcmUuc3RlcHMuYWNjb3VudC5lbWFpbCA9IGFjY291bnQuZW1haWxzWzBdID8/IG51bGw7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQubmFtZSA9IGFjY291bnQubmFtZTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTZXNzaW9uID0gYXN5bmMgKFxuICAgIHBvb2w6IFBvb2wsXG4gICAgcmVzdWx0OiBURGF0YWJhc2UsXG4gICAgc3RvcmU6IFRTdG9yZSxcbiAgICB0b2tlbjogc3RyaW5nIHwgbnVsbCxcbiAgICBkZXZpY2VfaWQ6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICBzdG9yZS5zdGVwcy5hY2NvdW50LnN0YXRlID0gJ2NyZWF0aW5nLXNlc3Npb24nO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdGFibGVOYW1lcyA9IE9iamVjdC52YWx1ZXMocmVzdWx0LnJlbGF0aW9ucylcbiAgICAgICAgLmZpbHRlcigocikgPT4gci5raW5kID09PSAndGFibGUnIHx8IHIua2luZCA9PT0gJ3BhcnRpdGlvbmVkX3RhYmxlJylcbiAgICAgICAgLm1hcCgocikgPT4gci5uYW1lKTtcblxuICAgIGNvbnN0IFtpc1JlcGxpY2EsIG1lZGlhbkZpbGVBZ2VdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICBjaGVja0lzUmVwbGljYShwb29sKSxcbiAgICAgICAgY29sbGVjdE1lZGlhbkZpbGVBZ2UocG9vbCwgdGFibGVOYW1lcywgc3RvcmUpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgaW5wdXQgPSB7XG4gICAgICAgIC4uLmJ1aWxkU2Vzc2lvbklucHV0KHJlc3VsdCwgc3RvcmUsIGlzUmVwbGljYSwgbWVkaWFuRmlsZUFnZSksXG4gICAgICAgIGRldmljZV9pZCxcbiAgICB9O1xuXG4gICAgY29uc3QgY2xpZW50ID0gdG9rZW5cbiAgICAgICAgPyBjcmVhdGVBdXRoZW50aWNhdGVkVFJQQ0NsaWVudCgoKSA9PiBQcm9taXNlLnJlc29sdmUodG9rZW4pKVxuICAgICAgICA6IHRycGM7XG5cbiAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgY2xpZW50LnNlc3Npb24uY3JlYXRlLm11dGF0ZShpbnB1dCk7XG5cbiAgICByZXR1cm4gc2Vzc2lvbi5pZDtcbn07XG5cbmV4cG9ydCBjb25zdCB3YWl0Rm9yQXV0aG9yaXphdGlvbiA9IGFzeW5jIChcbiAgICBzZXNzaW9uSWQ6IHN0cmluZyxcbiAgICBzdG9yZTogVFN0b3JlLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgdXJsID0gYnVpbGRTZXNzaW9uVVJMKHNlc3Npb25JZCk7XG5cbiAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQuc3RhdGUgPSAnd2FpdGluZyc7XG4gICAgICAgIHN0b3JlLnN0ZXBzLmFjY291bnQudXJsID0gdXJsO1xuICAgICAgICBzdG9yZS5zdGVwcy5hY2NvdW50LnNlc3Npb25JZCA9IHNlc3Npb25JZDtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRva2VuID0gYXdhaXQgd2FpdEZvclRva2VuKHNlc3Npb25JZCk7XG4gICAgYXdhaXQgd3JpdGVDb25maWcodG9rZW4pO1xuICAgIGF3YWl0IGNvbm5lY3RBY2NvdW50KHRva2VuLCBzdG9yZSk7XG59O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"./src/","sources":["index.mts"],"names":[],"mappings":";AA6BA,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,WAAW,GACX,aAAa,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"./src/","sources":["index.mts"],"names":[],"mappings":";AA+BA,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,WAAW,GACX,aAAa,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
package/dist/index.mjs CHANGED
@@ -10,10 +10,12 @@ import { runInAction } from 'mobx';
10
10
  import { validatePathOptions, } from './validatePaths.mjs';
11
11
  import { run } from './app/index.mjs';
12
12
  import { CLIENT_VERSION } from './lib/version.mjs';
13
+ import { DBCTX_DEV } from '#client/lib/env.mjs';
13
14
  import { scope } from 'scope-utilities';
14
15
  import { trpc } from '#client/lib/trpc.mjs';
15
16
  import { readConfig } from './app/config.mjs';
16
17
  import { detectDocker, detectOS, detectShell, detectWSL, detectSystemMemory, detectPackageManager, detectSSHSession, } from './app/detect.mjs';
18
+ import { logger } from './logger.mjs';
17
19
  const parseSSHTarget = (target) => {
18
20
  const atIndex = target.indexOf('@');
19
21
  const username = atIndex >= 0 ? target.slice(0, atIndex) : undefined;
@@ -163,9 +165,9 @@ try {
163
165
  await fireRunTelemetry();
164
166
  }
165
167
  catch (err) {
166
- if (process.env.NODE_ENV !== 'production') {
167
- console.error(err);
168
+ if (DBCTX_DEV) {
169
+ logger.error(`${err}`, { error: err });
168
170
  }
169
171
  }
170
172
  program.parse();
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiaW5kZXgubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUNwQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNoQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFDSCxtQkFBbUIsR0FFdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFDSCxZQUFZLEVBQ1osUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1Qsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixnQkFBZ0IsR0FDbkIsTUFBTSxrQkFBa0IsQ0FBQztBQTBCMUIsTUFBTSxjQUFjLEdBQUcsQ0FDbkIsTUFBYyxFQUtoQixFQUFFO0lBQ0EsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMs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O1FBQ3ZDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztLQUM5QixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFJLENBQUM7SUFDRCxNQUFNLGdCQUFnQixFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDWCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFlBQVksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge0NvbW1hbmR9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQge3JlbmRlcn0gZnJvbSAnaW5rJztcbmltcG9ydCB7Y3JlYXRlRWxlbWVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtFcnJvcn0gZnJvbSAnLi91aS9jb21wb25lbnRzL0Vycm9yLmpzJztcbmltcG9ydCB7QXBwfSBmcm9tICcuL3VpL0FwcC5qcyc7XG5pbXBvcnQge1NwbGFzaH0gZnJvbSAnLi91aS9jb21wb25lbnRzL1NwbGFzaC5qcyc7XG5pbXBvcnQge2NyZWF0ZUFwcFN0b3JlfSBmcm9tICcuL3N0b3JlLm1qcyc7XG5pbXBvcnQge3J1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcbmltcG9ydCB7XG4gICAgdmFsaWRhdGVQYXRoT3B0aW9ucyxcbiAgICB0eXBlIFRQYXRoVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tICcuL3ZhbGlkYXRlUGF0aHMubWpzJztcbmltcG9ydCB7VENvbm5lY3Rpb25Db25maWd9IGZyb20gJy4vdHlwZXMvY29ubmVjdGlvbi5tanMnO1xuaW1wb3J0IHtydW59IGZyb20gJy4vYXBwL2luZGV4Lm1qcyc7XG5pbXBvcnQge0NMSUVOVF9WRVJTSU9OfSBmcm9tICcuL2xpYi92ZXJzaW9uLm1qcyc7XG5pbXBvcnQge3Njb3BlfSBmcm9tICdzY29wZS11dGlsaXRpZXMnO1xuaW1wb3J0IHt0cnBjfSBmcm9tICcjY2xpZW50L2xpYi90cnBjLm1qcyc7XG5pbXBvcnQge3JlYWRDb25maWd9IGZyb20gJy4vYXBwL2NvbmZpZy5tanMnO1xuaW1wb3J0IHtcbiAgICBkZXRlY3REb2NrZXIsXG4gICAgZGV0ZWN0T1MsXG4gICAgZGV0ZWN0U2hlbGwsXG4gICAgZGV0ZWN0V1NMLFxuICAgIGRldGVjdFN5c3RlbU1lbW9yeSxcbiAgICBkZXRlY3RQYWNrYWdlTWFuYWdlcixcbiAgICBkZXRlY3RTU0hTZXNzaW9uLFxufSBmcm9tICcuL2FwcC9kZXRlY3QubWpzJztcblxuZXhwb3J0IHR5cGUgVFNTTE1vZGUgPVxuICAgIHwgJ2Rpc2FibGUnXG4gICAgfCAnYWxsb3cnXG4gICAgfCAncHJlZmVyJ1xuICAgIHwgJ3JlcXVpcmUnXG4gICAgfCAndmVyaWZ5LWNhJ1xuICAgIHwgJ3ZlcmlmeS1mdWxsJztcblxuZXhwb3J0IGludGVyZmFjZSBUT3B0aW9ucyB7XG4gICAgaG9zdG5hbWU/OiBzdHJpbmc7XG4gICAgcG9ydD86IG51bWJlcjtcbiAgICBkYXRhYmFzZT86IHN0cmluZztcbiAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICBzc2xtb2RlPzogVFNTTE1vZGU7XG4gICAgc3NsY2VydD86IHN0cmluZztcbiAgICBzc2xrZXk/OiBzdHJpbmc7XG4gICAgc3Nscm9vdGNlcnQ/OiBzdHJpbmc7XG4gICAgc3NoPzogc3RyaW5nO1xuICAgIHNzaEhvc3Q/OiBzdHJpbmc7XG4gICAgc3NoUG9ydD86IG51bWJlcjtcbiAgICBzc2hVc2VybmFtZT86IHN0cmluZztcbiAgICBzc2hLZXk/OiBzdHJpbmc7XG59XG5cbmNvbnN0IHBhcnNlU1NIVGFyZ2V0ID0gKFxuICAgIHRhcmdldDogc3RyaW5nLFxuKToge1xuICAgIHVzZXJuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIHBvcnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbn0gPT4ge1xuICAgIGNvbnN0IGF0SW5kZXggPSB0YXJnZXQuaW5kZXhPZignQCcpO1xuICAgIGNvbnN0IHVzZXJuYW1lID0gYXRJbmRleCA+PSAwID8gdGFyZ2V0LnNsaWNlKDAsIGF0SW5kZXgpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGhvc3RQb3J0ID0gYXRJbmRleCA+PSAwID8gdGFyZ2V0LnNsaWNlKGF0SW5kZXggKyAxKSA6IHRhcmdldDtcbiAgICBjb25zdCBjb2xvbkluZGV4ID0gaG9zdFBvcnQubGFzdEluZGV4T2YoJzonKTtcbiAgICBjb25zdCBob3N0ID0gY29sb25JbmRleCA+PSAwID8gaG9zdFBvcnQuc2xpY2UoMCwgY29sb25JbmRleCkgOiBob3N0UG9ydDtcbiAgICBjb25zdCBwb3J0ID1cbiAgICAgICAgY29sb25JbmRleCA+PSAwXG4gICAgICAgICAgICA/IHBhcnNlSW50KGhvc3RQb3J0LnNsaWNlKGNvbG9uSW5kZXggKyAxKSwgMTApXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7dXNlcm5hbWUsIGhvc3QsIHBvcnR9O1xufTtcblxuY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKCk7XG5cbnByb2dyYW1cbiAgICAubmFtZSgnZGJjdHgnKVxuICAgIC52ZXJzaW9uKENMSUVOVF9WRVJTSU9OKVxuICAgIC5oZWxwT3B0aW9uKCctLWhlbHAnLCAnZGlzcGxheSBoZWxwIGZvciBjb21tYW5kJylcbiAgICAuYWRkSGVscFRleHQoJ2JlZm9yZUFsbCcsICgpID0+IHtcbiAgICAgICAgY29uc3Qge3VubW91bnR9ID0gcmVuZGVyKGNyZWF0ZUVsZW1lbnQoU3BsYXNoKSk7XG4gICAgICAgIHVubW91bnQoKTtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH0pO1xuXG5jb25zdCBnZW5lcmF0ZSA9IHByb2dyYW1cbiAgICAuY29tbWFuZCgnZ2VuZXJhdGUnLCB7aXNEZWZhdWx0OiB0cnVlfSlcbiAgICAuZGVzY3JpcHRpb24oJ0Nvbm5lY3QgdG8gYSBQb3N0Z3JlU1FMIGRhdGFiYXNlIGFuZCBnZW5lcmF0ZSBjb250ZXh0JylcbiAgICAuaGVscE9wdGlvbignLS1oZWxwJywgJ2Rpc3BsYXkgaGVscCBmb3IgY29tbWFuZCcpXG4gICAgLmFyZ3VtZW50KFxuICAgICAgICAnW2Nvbm5lY3Rpb24tc3RyaW5nXScsXG4gICAgICAgICdQb3N0Z3JlU1FMIGNvbm5lY3Rpb24gc3RyaW5nIChlbnY6IERBVEFCQVNFX1VSTCknLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgICAnLWgsIC0taG9zdG5hbWUgPGhvc3Q+JyxcbiAgICAgICAgJ2RhdGFiYXNlIGhvc3RuYW1lIChlbnY6IFBHSE9TVCwgZGVmYXVsdDogbG9jYWxob3N0KScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctcCwgLS1wb3J0IDxwb3J0PicsXG4gICAgICAgICdkYXRhYmFzZSBwb3J0IChlbnY6IFBHUE9SVCwgZGVmYXVsdDogNTQzMiknLFxuICAgICAgICBwYXJzZUludCxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1kLCAtLWRhdGFiYXNlIDxuYW1lPicsXG4gICAgICAgICdkYXRhYmFzZSBuYW1lIChlbnY6IFBHREFUQUJBU0UsIGRlZmF1bHQ6IHBvc3RncmVzKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctVSwgLS11c2VybmFtZSA8dXNlcj4nLFxuICAgICAgICAnZGF0YWJhc2UgdXNlcm5hbWUgKGVudjogUEdVU0VSLCBkZWZhdWx0OiBwb3N0Z3JlcyknLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgICAnLS1zc2xtb2RlIDxtb2RlPicsXG4gICAgICAgICdTU0wgbW9kZTogZGlzYWJsZXxhbGxvd3xwcmVmZXJ8cmVxdWlyZXx2ZXJpZnktY2F8dmVyaWZ5LWZ1bGwgKGVudjogUEdTU0xNT0RFLCBkZWZhdWx0OiBwcmVmZXIpJyxcbiAgICApXG4gICAgLm9wdGlvbignLS1zc2xjZXJ0IDxwYXRoPicsICdwYXRoIHRvIGNsaWVudCBjZXJ0aWZpY2F0ZSAoZW52OiBQR1NTTENFUlQpJylcbiAgICAub3B0aW9uKCctLXNzbGtleSA8cGF0aD4nLCAncGF0aCB0byBjbGllbnQgcHJpdmF0ZSBrZXkgKGVudjogUEdTU0xLRVkpJylcbiAgICAub3B0aW9uKFxuICAgICAgICAnLS1zc2xyb290Y2VydCA8cGF0aD4nLFxuICAgICAgICAncGF0aCB0byByb290IENBIGNlcnRpZmljYXRlIChlbnY6IFBHU1NMUk9PVENFUlQpJyxcbiAgICApXG4gICAgLm9wdGlvbignLS1zc2ggPHRhcmdldD4nLCAnU1NIIHR1bm5lbCB0YXJnZXQgKHVzZXJAaG9zdFs6cG9ydF0pJylcbiAgICAub3B0aW9uKCctLXNzaC1ob3N0IDxob3N0PicsICdTU0ggdHVubmVsIGhvc3QgKGJhc3Rpb24vanVtcCBzZXJ2ZXIpJylcbiAgICAub3B0aW9uKCctLXNzaC1wb3J0IDxwb3J0PicsICdTU0ggdHVubmVsIHBvcnQgKGRlZmF1bHQ6IDIyKScsIHBhcnNlSW50KVxuICAgIC5vcHRpb24oJy0tc3NoLXVzZXJuYW1lIDx1c2VyPicsICdTU0ggdHVubmVsIHVzZXJuYW1lIChkZWZhdWx0OiAkVVNFUiknKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctaSwgLS1zc2gta2V5IDxwYXRoPicsXG4gICAgICAgICdwYXRoIHRvIFNTSCBwcml2YXRlIGtleSAoZGVmYXVsdDogfi8uc3NoL2lkX3JzYSknLFxuICAgIClcbiAgICAuYWN0aW9uKChjb25uZWN0aW9uU3RyaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQsIG9wdGlvbnM6IFRPcHRpb25zKSA9PiB7XG4gICAgICAgIC8vIFNob3cgaGVscCBpZiBubyBjb25uZWN0aW9uIGNvbmZpZyBpcyBwcm92aWRlZFxuICAgICAgICBjb25zdCBoYXNDTElDb25maWcgPVxuICAgICAgICAgICAgY29ubmVjdGlvblN0cmluZyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBvcHRpb25zLmhvc3RuYW1lICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMucG9ydCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBvcHRpb25zLmRhdGFiYXNlICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMudXNlcm5hbWUgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBoYXNFbnZDb25maWcgPSBbXG4gICAgICAgICAgICAnUEdIT1NUJyxcbiAgICAgICAgICAgICdQR1BPUlQnLFxuICAgICAgICAgICAgJ1BHREFUQUJBU0UnLFxuICAgICAgICAgICAgJ1BHVVNFUicsXG4gICAgICAgICAgICAnUEdQQVNTV09SRCcsXG4gICAgICAgICAgICAnREFUQUJBU0VfVVJMJyxcbiAgICAgICAgXS5zb21lKChrZXkpID0+IHByb2Nlc3MuZW52W2tleV0gIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgaWYgKCFoYXNDTElDb25maWcgJiYgIWhhc0VudkNvbmZpZykge1xuICAgICAgICAgICAgZ2VuZXJhdGUuaGVscCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgY29ubmVjdGlvbiBzdHJpbmdzIGFyZSBQb3N0Z3JlU1FMIFVSTHNcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlQ29ubmVjdGlvblN0cmluZyA9XG4gICAgICAgICAgICBjb25uZWN0aW9uU3RyaW5nID8/IHByb2Nlc3MuZW52WydEQVRBQkFTRV9VUkwnXTtcblxuICAgICAgICBjb25zdCBjb25uZWN0aW9uU3RyaW5nRXJyb3IgPSBzY29wZShlZmZlY3RpdmVDb25uZWN0aW9uU3RyaW5nKVxuICAgICAgICAgICAgLmxldCgoc3RyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghVVJMLmNhblBhcnNlKHN0cikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBNYWxmb3JtZWQgY29ubmVjdGlvbiBzdHJpbmcgXCIke3N0cn1cIjogbm90IGEgdmFsaWQgVVJMYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB7cHJvdG9jb2x9ID0gbmV3IFVSTChzdHIpO1xuICAgICAgICAgICAgICAgIGlmIChwcm90b2NvbCAhPT0gJ3Bvc3RncmVzOicgJiYgcHJvdG9jb2wgIT09ICdwb3N0Z3Jlc3FsOicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBJbnZhbGlkIGNvbm5lY3Rpb24gc3RyaW5nIFwiJHtzdHJ9XCI6IGV4cGVjdGVkIHBvc3RncmVzOi8vIG9yIHBvc3RncmVzcWw6Ly9gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC52YWx1ZSgpO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIHBhdGggb3B0aW9ucyBleGlzdCBvbiBmaWxlc3lzdGVtXG4gICAgICAgIGNvbnN0IHtlcnJvcnM6IHBhdGhFcnJvcnMsIGV4cGFuZGVkUGF0aHN9ID1cbiAgICAgICAgICAgIHZhbGlkYXRlUGF0aE9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKHBhdGhFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlcyA9IHBhdGhFcnJvcnNcbiAgICAgICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICAgICAoe29wdGlvbiwgcGF0aH06IFRQYXRoVmFsaWRhdGlvbkVycm9yKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYCAgJHtvcHRpb259OiAke3BhdGh9YCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmpvaW4oJ1xcbicpO1xuXG4gICAgICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICAgICAgRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBgVGhlIGZvbGxvd2luZyBwYXRocyBkbyBub3QgZXhpc3Q6XFxuJHtlcnJvck1lc3NhZ2VzfWAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXBsYWNlIG9yaWdpbmFsIHBhdGhzIHdpdGggZXhwYW5kZWQgcGF0aHNcbiAgICAgICAgLy8gKH4gcmVzb2x2ZWQgdG8gaG9tZSBkaXJlY3RvcnkpXG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZE9wdGlvbnM6IFRPcHRpb25zID0ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIC4uLmV4cGFuZGVkUGF0aHMsXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gQnVpbGQgY29uZmlnIGFuZCByZW5kZXIgdGhlIGFwcFxuICAgICAgICBjb25zdCBzc2hEZWZhdWx0cyA9IHZhbGlkYXRlZE9wdGlvbnMuc3NoXG4gICAgICAgICAgICA/IHBhcnNlU1NIVGFyZ2V0KHZhbGlkYXRlZE9wdGlvbnMuc3NoKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgY29uZmlnOiBUQ29ubmVjdGlvbkNvbmZpZyA9IHtcbiAgICAgICAgICAgIGNvbm5lY3Rpb25TdHJpbmc6IGVmZmVjdGl2ZUNvbm5lY3Rpb25TdHJpbmcsXG4gICAgICAgICAgICAuLi52YWxpZGF0ZWRPcHRpb25zLFxuICAgICAgICAgICAgc3NoSG9zdDogdmFsaWRhdGVkT3B0aW9ucy5zc2hIb3N0ID8/IHNzaERlZmF1bHRzPy5ob3N0LFxuICAgICAgICAgICAgc3NoUG9ydDogdmFsaWRhdGVkT3B0aW9ucy5zc2hQb3J0ID8/IHNzaERlZmF1bHRzPy5wb3J0LFxuICAgICAgICAgICAgc3NoVXNlcm5hbWU6IHZhbGlkYXRlZE9wdGlvbnMuc3NoVXNlcm5hbWUgPz8gc3NoRGVmYXVsdHM/LnVzZXJuYW1lLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHN0b3JlID0gY3JlYXRlQXBwU3RvcmUoY29uZmlnKTtcblxuICAgICAgICByZW5kZXIoY3JlYXRlRWxlbWVudChBcHAsIHtzdG9yZX0pKTtcblxuICAgICAgICBpZiAoY29ubmVjdGlvblN0cmluZ0Vycm9yKSB7XG4gICAgICAgICAgICBydW5JbkFjdGlvbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3RvcmUuc3RlcHMuZGF0YWJhc2VDb25uZWN0aW9uLnN0YXRlID0gJ2Vycm9yJztcbiAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24uZXJyb3IgPSBjb25uZWN0aW9uU3RyaW5nRXJyb3I7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJ1bihzdG9yZSk7XG4gICAgfSk7XG5cbmNvbnN0IGZpcmVSdW5UZWxlbWV0cnkgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZG9Ob3RUcmFjayA9IGAke3Byb2Nlc3MuZW52WydET19OT1RfVFJBQ0snXX1gLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoZG9Ob3RUcmFjayA9PT0gJzEnIHx8IGRvTm90VHJhY2sgPT09ICd0cnVlJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYXJncyA9IHByb2Nlc3MuYXJndi5zbGljZSgyKTtcbiAgICBjb25zdCBpc0hlbHAgPSBhcmdzLmluY2x1ZGVzKCctLWhlbHAnKSB8fCBhcmdzWzBdID09PSAnaGVscCc7XG4gICAgY29uc3Qgc3ViY29tbWFuZCA9IGlzSGVscCA/ICdoZWxwJyA6ICdnZW5lcmF0ZSc7XG5cbiAgICBjb25zdCBjb25maWcgPSBhd2FpdCByZWFkQ29uZmlnKCk7XG5cbiAgICByZXR1cm4gdHJwYy50ZWxlbWV0cnkuY3JlYXRlLm11dGF0ZSh7XG4gICAgICAgIHR5cGU6ICdjbGkucnVuJyxcbiAgICAgICAgc3ViY29tbWFuZCxcbiAgICAgICAgZmxhZ3M6IHtcbiAgICAgICAgICAgIGhlbHA6IGlzSGVscCxcbiAgICAgICAgICAgIGNvbm5lY3Rpb25fc3RyaW5nOiBhcmdzLnNvbWUoXG4gICAgICAgICAgICAgICAgKGEpID0+ICFhLnN0YXJ0c1dpdGgoJy0nKSAmJiBhICE9PSAnZ2VuZXJhdGUnICYmIGEgIT09ICdoZWxwJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBob3N0bmFtZTogYXJncy5pbmNsdWRlcygnLWgnKSB8fCBhcmdzLmluY2x1ZGVzKCctLWhvc3RuYW1lJyksXG4gICAgICAgICAgICBwb3J0OiBhcmdzLmluY2x1ZGVzKCctcCcpIHx8IGFyZ3MuaW5jbHVkZXMoJy0tcG9ydCcpLFxuICAgICAgICAgICAgZGF0YWJhc2U6IGFyZ3MuaW5jbHVkZXMoJy1kJykgfHwgYXJncy5pbmNsdWRlcygnLS1kYXRhYmFzZScpLFxuICAgICAgICAgICAgdXNlcm5hbWU6IGFyZ3MuaW5jbHVkZXMoJy1VJykgfHwgYXJncy5pbmNsdWRlcygnLS11c2VybmFtZScpLFxuICAgICAgICAgICAgc3NsOiBbJy0tc3NsbW9kZScsICctLXNzbGNlcnQnLCAnLS1zc2xrZXknLCAnLS1zc2xyb290Y2VydCddLnNvbWUoXG4gICAgICAgICAgICAgICAgKGYpID0+IGFyZ3MuaW5jbHVkZXMoZiksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3NoOiBhcmdzLmluY2x1ZGVzKCctLXNzaCcpIHx8IGFyZ3MuaW5jbHVkZXMoJy0tc3NoLWhvc3QnKSxcbiAgICAgICAgfSxcbiAgICAgICAgaXNfZG9ja2VyOiBkZXRlY3REb2NrZXIoKSxcbiAgICAgICAgaXNfc3NoX3Nlc3Npb246IGRldGVjdFNTSFNlc3Npb24oKSxcbiAgICAgICAgc2hlbGw6IGRldGVjdFNoZWxsKCksXG4gICAgICAgIG9zOiBkZXRlY3RPUygpLFxuICAgICAgICBpc193c2w6IGRldGVjdFdTTCgpLFxuICAgICAgICBzeXN0ZW1fbWVtb3J5OiBkZXRlY3RTeXN0ZW1NZW1vcnkoKSxcbiAgICAgICAgcGFja2FnZV9tYW5hZ2VyOiBkZXRlY3RQYWNrYWdlTWFuYWdlcigpLFxuICAgICAgICBkZXZpY2VfaWQ6IGNvbmZpZy5kZXZpY2VfaWQsXG4gICAgfSk7XG59O1xuXG50cnkge1xuICAgIGF3YWl0IGZpcmVSdW5UZWxlbWV0cnkoKTtcbn0gY2F0Y2ggKGVycikge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9XG59XG5cbnByb2dyYW0ucGFyc2UoKTtcbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiaW5kZXgubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUNwQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNoQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFDSCxtQkFBbUIsR0FFdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsWUFBWSxFQUNaLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGNBQWMsQ0FBQztBQTBCcEMsTUFB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QUFFO1FBQ2QsTUFBTSxFQUFFLFNBQVMsRUFBRTtRQUNuQixhQUFhLEVBQUUsa0JBQWtCLEVBQUU7UUFDbkMsZUFBZSxFQUFFLG9CQUFvQixFQUFFO1FBQ3ZDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztLQUM5QixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFJLENBQUM7SUFDRCxNQUFNLGdCQUFnQixFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDWCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge0NvbW1hbmR9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQge3JlbmRlcn0gZnJvbSAnaW5rJztcbmltcG9ydCB7Y3JlYXRlRWxlbWVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtFcnJvcn0gZnJvbSAnLi91aS9jb21wb25lbnRzL0Vycm9yLmpzJztcbmltcG9ydCB7QXBwfSBmcm9tICcuL3VpL0FwcC5qcyc7XG5pbXBvcnQge1NwbGFzaH0gZnJvbSAnLi91aS9jb21wb25lbnRzL1NwbGFzaC5qcyc7XG5pbXBvcnQge2NyZWF0ZUFwcFN0b3JlfSBmcm9tICcuL3N0b3JlLm1qcyc7XG5pbXBvcnQge3J1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcbmltcG9ydCB7XG4gICAgdmFsaWRhdGVQYXRoT3B0aW9ucyxcbiAgICB0eXBlIFRQYXRoVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tICcuL3ZhbGlkYXRlUGF0aHMubWpzJztcbmltcG9ydCB7VENvbm5lY3Rpb25Db25maWd9IGZyb20gJy4vdHlwZXMvY29ubmVjdGlvbi5tanMnO1xuaW1wb3J0IHtydW59IGZyb20gJy4vYXBwL2luZGV4Lm1qcyc7XG5pbXBvcnQge0NMSUVOVF9WRVJTSU9OfSBmcm9tICcuL2xpYi92ZXJzaW9uLm1qcyc7XG5pbXBvcnQge0RCQ1RYX0RFVn0gZnJvbSAnI2NsaWVudC9saWIvZW52Lm1qcyc7XG5pbXBvcnQge3Njb3BlfSBmcm9tICdzY29wZS11dGlsaXRpZXMnO1xuaW1wb3J0IHt0cnBjfSBmcm9tICcjY2xpZW50L2xpYi90cnBjLm1qcyc7XG5pbXBvcnQge3JlYWRDb25maWd9IGZyb20gJy4vYXBwL2NvbmZpZy5tanMnO1xuaW1wb3J0IHtcbiAgICBkZXRlY3REb2NrZXIsXG4gICAgZGV0ZWN0T1MsXG4gICAgZGV0ZWN0U2hlbGwsXG4gICAgZGV0ZWN0V1NMLFxuICAgIGRldGVjdFN5c3RlbU1lbW9yeSxcbiAgICBkZXRlY3RQYWNrYWdlTWFuYWdlcixcbiAgICBkZXRlY3RTU0hTZXNzaW9uLFxufSBmcm9tICcuL2FwcC9kZXRlY3QubWpzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlci5tanMnO1xuXG5leHBvcnQgdHlwZSBUU1NMTW9kZSA9XG4gICAgfCAnZGlzYWJsZSdcbiAgICB8ICdhbGxvdydcbiAgICB8ICdwcmVmZXInXG4gICAgfCAncmVxdWlyZSdcbiAgICB8ICd2ZXJpZnktY2EnXG4gICAgfCAndmVyaWZ5LWZ1bGwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRPcHRpb25zIHtcbiAgICBob3N0bmFtZT86IHN0cmluZztcbiAgICBwb3J0PzogbnVtYmVyO1xuICAgIGRhdGFiYXNlPzogc3RyaW5nO1xuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHNzbG1vZGU/OiBUU1NMTW9kZTtcbiAgICBzc2xjZXJ0Pzogc3RyaW5nO1xuICAgIHNzbGtleT86IHN0cmluZztcbiAgICBzc2xyb290Y2VydD86IHN0cmluZztcbiAgICBzc2g/OiBzdHJpbmc7XG4gICAgc3NoSG9zdD86IHN0cmluZztcbiAgICBzc2hQb3J0PzogbnVtYmVyO1xuICAgIHNzaFVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHNzaEtleT86IHN0cmluZztcbn1cblxuY29uc3QgcGFyc2VTU0hUYXJnZXQgPSAoXG4gICAgdGFyZ2V0OiBzdHJpbmcsXG4pOiB7XG4gICAgdXNlcm5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgcG9ydDogbnVtYmVyIHwgdW5kZWZpbmVkO1xufSA9PiB7XG4gICAgY29uc3QgYXRJbmRleCA9IHRhcmdldC5pbmRleE9mKCdAJyk7XG4gICAgY29uc3QgdXNlcm5hbWUgPSBhdEluZGV4ID49IDAgPyB0YXJnZXQuc2xpY2UoMCwgYXRJbmRleCkgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgaG9zdFBvcnQgPSBhdEluZGV4ID49IDAgPyB0YXJnZXQuc2xpY2UoYXRJbmRleCArIDEpIDogdGFyZ2V0O1xuICAgIGNvbnN0IGNvbG9uSW5kZXggPSBob3N0UG9ydC5sYXN0SW5kZXhPZignOicpO1xuICAgIGNvbnN0IGhvc3QgPSBjb2xvbkluZGV4ID49IDAgPyBob3N0UG9ydC5zbGljZSgwLCBjb2xvbkluZGV4KSA6IGhvc3RQb3J0O1xuICAgIGNvbnN0IHBvcnQgPVxuICAgICAgICBjb2xvbkluZGV4ID49IDBcbiAgICAgICAgICAgID8gcGFyc2VJbnQoaG9zdFBvcnQuc2xpY2UoY29sb25JbmRleCArIDEpLCAxMClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHt1c2VybmFtZSwgaG9zdCwgcG9ydH07XG59O1xuXG5jb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmQoKTtcblxucHJvZ3JhbVxuICAgIC5uYW1lKCdkYmN0eCcpXG4gICAgLnZlcnNpb24oQ0xJRU5UX1ZFUlNJT04pXG4gICAgLmhlbHBPcHRpb24oJy0taGVscCcsICdkaXNwbGF5IGhlbHAgZm9yIGNvbW1hbmQnKVxuICAgIC5hZGRIZWxwVGV4dCgnYmVmb3JlQWxsJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB7dW5tb3VudH0gPSByZW5kZXIoY3JlYXRlRWxlbWVudChTcGxhc2gpKTtcbiAgICAgICAgdW5tb3VudCgpO1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfSk7XG5cbmNvbnN0IGdlbmVyYXRlID0gcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdnZW5lcmF0ZScsIHtpc0RlZmF1bHQ6IHRydWV9KVxuICAgIC5kZXNjcmlwdGlvbignQ29ubmVjdCB0byBhIFBvc3RncmVTUUwgZGF0YWJhc2UgYW5kIGdlbmVyYXRlIGNvbnRleHQnKVxuICAgIC5oZWxwT3B0aW9uKCctLWhlbHAnLCAnZGlzcGxheSBoZWxwIGZvciBjb21tYW5kJylcbiAgICAuYXJndW1lbnQoXG4gICAgICAgICdbY29ubmVjdGlvbi1zdHJpbmddJyxcbiAgICAgICAgJ1Bvc3RncmVTUUwgY29ubmVjdGlvbiBzdHJpbmcgKGVudjogREFUQUJBU0VfVVJMKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctaCwgLS1ob3N0bmFtZSA8aG9zdD4nLFxuICAgICAgICAnZGF0YWJhc2UgaG9zdG5hbWUgKGVudjogUEdIT1NULCBkZWZhdWx0OiBsb2NhbGhvc3QpJyxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1wLCAtLXBvcnQgPHBvcnQ+JyxcbiAgICAgICAgJ2RhdGFiYXNlIHBvcnQgKGVudjogUEdQT1JULCBkZWZhdWx0OiA1NDMyKScsXG4gICAgICAgIHBhcnNlSW50LFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgICAnLWQsIC0tZGF0YWJhc2UgPG5hbWU+JyxcbiAgICAgICAgJ2RhdGFiYXNlIG5hbWUgKGVudjogUEdEQVRBQkFTRSwgZGVmYXVsdDogcG9zdGdyZXMpJyxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1VLCAtLXVzZXJuYW1lIDx1c2VyPicsXG4gICAgICAgICdkYXRhYmFzZSB1c2VybmFtZSAoZW52OiBQR1VTRVIsIGRlZmF1bHQ6IHBvc3RncmVzKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctLXNzbG1vZGUgPG1vZGU+JyxcbiAgICAgICAgJ1NTTCBtb2RlOiBkaXNhYmxlfGFsbG93fHByZWZlcnxyZXF1aXJlfHZlcmlmeS1jYXx2ZXJpZnktZnVsbCAoZW52OiBQR1NTTE1PREUsIGRlZmF1bHQ6IHByZWZlciknLFxuICAgIClcbiAgICAub3B0aW9uKCctLXNzbGNlcnQgPHBhdGg+JywgJ3BhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIChlbnY6IFBHU1NMQ0VSVCknKVxuICAgIC5vcHRpb24oJy0tc3Nsa2V5IDxwYXRoPicsICdwYXRoIHRvIGNsaWVudCBwcml2YXRlIGtleSAoZW52OiBQR1NTTEtFWSknKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctLXNzbHJvb3RjZXJ0IDxwYXRoPicsXG4gICAgICAgICdwYXRoIHRvIHJvb3QgQ0EgY2VydGlmaWNhdGUgKGVudjogUEdTU0xST09UQ0VSVCknLFxuICAgIClcbiAgICAub3B0aW9uKCctLXNzaCA8dGFyZ2V0PicsICdTU0ggdHVubmVsIHRhcmdldCAodXNlckBob3N0Wzpwb3J0XSknKVxuICAgIC5vcHRpb24oJy0tc3NoLWhvc3QgPGhvc3Q+JywgJ1NTSCB0dW5uZWwgaG9zdCAoYmFzdGlvbi9qdW1wIHNlcnZlciknKVxuICAgIC5vcHRpb24oJy0tc3NoLXBvcnQgPHBvcnQ+JywgJ1NTSCB0dW5uZWwgcG9ydCAoZGVmYXVsdDogMjIpJywgcGFyc2VJbnQpXG4gICAgLm9wdGlvbignLS1zc2gtdXNlcm5hbWUgPHVzZXI+JywgJ1NTSCB0dW5uZWwgdXNlcm5hbWUgKGRlZmF1bHQ6ICRVU0VSKScpXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1pLCAtLXNzaC1rZXkgPHBhdGg+JyxcbiAgICAgICAgJ3BhdGggdG8gU1NIIHByaXZhdGUga2V5IChkZWZhdWx0OiB+Ly5zc2gvaWRfcnNhKScsXG4gICAgKVxuICAgIC5hY3Rpb24oKGNvbm5lY3Rpb25TdHJpbmc6IHN0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9uczogVE9wdGlvbnMpID0+IHtcbiAgICAgICAgLy8gU2hvdyBoZWxwIGlmIG5vIGNvbm5lY3Rpb24gY29uZmlnIGlzIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IGhhc0NMSUNvbmZpZyA9XG4gICAgICAgICAgICBjb25uZWN0aW9uU3RyaW5nICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMuaG9zdG5hbWUgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgb3B0aW9ucy5wb3J0ICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMuZGF0YWJhc2UgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgb3B0aW9ucy51c2VybmFtZSAhPT0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IGhhc0VudkNvbmZpZyA9IFtcbiAgICAgICAgICAgICdQR0hPU1QnLFxuICAgICAgICAgICAgJ1BHUE9SVCcsXG4gICAgICAgICAgICAnUEdEQVRBQkFTRScsXG4gICAgICAgICAgICAnUEdVU0VSJyxcbiAgICAgICAgICAgICdQR1BBU1NXT1JEJyxcbiAgICAgICAgICAgICdEQVRBQkFTRV9VUkwnLFxuICAgICAgICBdLnNvbWUoKGtleSkgPT4gcHJvY2Vzcy5lbnZba2V5XSAhPT0gdW5kZWZpbmVkKTtcblxuICAgICAgICBpZiAoIWhhc0NMSUNvbmZpZyAmJiAhaGFzRW52Q29uZmlnKSB7XG4gICAgICAgICAgICBnZW5lcmF0ZS5oZWxwKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZGF0ZSBjb25uZWN0aW9uIHN0cmluZ3MgYXJlIFBvc3RncmVTUUwgVVJMc1xuICAgICAgICBjb25zdCBlZmZlY3RpdmVDb25uZWN0aW9uU3RyaW5nID1cbiAgICAgICAgICAgIGNvbm5lY3Rpb25TdHJpbmcgPz8gcHJvY2Vzcy5lbnZbJ0RBVEFCQVNFX1VSTCddO1xuXG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25TdHJpbmdFcnJvciA9IHNjb3BlKGVmZmVjdGl2ZUNvbm5lY3Rpb25TdHJpbmcpXG4gICAgICAgICAgICAubGV0KChzdHIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCFVUkwuY2FuUGFyc2Uoc3RyKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYE1hbGZvcm1lZCBjb25uZWN0aW9uIHN0cmluZyBcIiR7c3RyfVwiOiBub3QgYSB2YWxpZCBVUkxgO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHtwcm90b2NvbH0gPSBuZXcgVVJMKHN0cik7XG4gICAgICAgICAgICAgICAgaWYgKHByb3RvY29sICE9PSAncG9zdGdyZXM6JyAmJiBwcm90b2NvbCAhPT0gJ3Bvc3RncmVzcWw6Jykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYEludmFsaWQgY29ubmVjdGlvbiBzdHJpbmcgXCIke3N0cn1cIjogZXhwZWN0ZWQgcG9zdGdyZXM6Ly8gb3IgcG9zdGdyZXNxbDovL2A7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnZhbHVlKCk7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgcGF0aCBvcHRpb25zIGV4aXN0IG9uIGZpbGVzeXN0ZW1cbiAgICAgICAgY29uc3Qge2Vycm9yczogcGF0aEVycm9ycywgZXhwYW5kZWRQYXRoc30gPVxuICAgICAgICAgICAgdmFsaWRhdGVQYXRoT3B0aW9ucyhvcHRpb25zKTtcblxuICAgICAgICBpZiAocGF0aEVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzID0gcGF0aEVycm9yc1xuICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAgICh7b3B0aW9uLCBwYXRofTogVFBhdGhWYWxpZGF0aW9uRXJyb3IpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBgICAke29wdGlvbn06ICR7cGF0aH1gLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuam9pbignXFxuJyk7XG5cbiAgICAgICAgICAgIHJlbmRlcihcbiAgICAgICAgICAgICAgICBFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBUaGUgZm9sbG93aW5nIHBhdGhzIGRvIG5vdCBleGlzdDpcXG4ke2Vycm9yTWVzc2FnZXN9YCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlcGxhY2Ugb3JpZ2luYWwgcGF0aHMgd2l0aCBleHBhbmRlZCBwYXRoc1xuICAgICAgICAvLyAofiByZXNvbHZlZCB0byBob21lIGRpcmVjdG9yeSlcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkT3B0aW9uczogVE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgLi4uZXhwYW5kZWRQYXRocyxcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBCdWlsZCBjb25maWcgYW5kIHJlbmRlciB0aGUgYXBwXG4gICAgICAgIGNvbnN0IHNzaERlZmF1bHRzID0gdmFsaWRhdGVkT3B0aW9ucy5zc2hcbiAgICAgICAgICAgID8gcGFyc2VTU0hUYXJnZXQodmFsaWRhdGVkT3B0aW9ucy5zc2gpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBjb25maWc6IFRDb25uZWN0aW9uQ29uZmlnID0ge1xuICAgICAgICAgICAgY29ubmVjdGlvblN0cmluZzogZWZmZWN0aXZlQ29ubmVjdGlvblN0cmluZyxcbiAgICAgICAgICAgIC4uLnZhbGlkYXRlZE9wdGlvbnMsXG4gICAgICAgICAgICBzc2hIb3N0OiB2YWxpZGF0ZWRPcHRpb25zLnNzaEhvc3QgPz8gc3NoRGVmYXVsdHM/Lmhvc3QsXG4gICAgICAgICAgICBzc2hQb3J0OiB2YWxpZGF0ZWRPcHRpb25zLnNzaFBvcnQgPz8gc3NoRGVmYXVsdHM/LnBvcnQsXG4gICAgICAgICAgICBzc2hVc2VybmFtZTogdmFsaWRhdGVkT3B0aW9ucy5zc2hVc2VybmFtZSA/PyBzc2hEZWZhdWx0cz8udXNlcm5hbWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc3RvcmUgPSBjcmVhdGVBcHBTdG9yZShjb25maWcpO1xuXG4gICAgICAgIHJlbmRlcihjcmVhdGVFbGVtZW50KEFwcCwge3N0b3JlfSkpO1xuXG4gICAgICAgIGlmIChjb25uZWN0aW9uU3RyaW5nRXJyb3IpIHtcbiAgICAgICAgICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24uc3RhdGUgPSAnZXJyb3InO1xuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5lcnJvciA9IGNvbm5lY3Rpb25TdHJpbmdFcnJvcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcnVuKHN0b3JlKTtcbiAgICB9KTtcblxuY29uc3QgZmlyZVJ1blRlbGVtZXRyeSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkb05vdFRyYWNrID0gYCR7cHJvY2Vzcy5lbnZbJ0RPX05PVF9UUkFDSyddfWAudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChkb05vdFRyYWNrID09PSAnMScgfHwgZG9Ob3RUcmFjayA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhcmdzID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpO1xuICAgIGNvbnN0IGlzSGVscCA9IGFyZ3MuaW5jbHVkZXMoJy0taGVscCcpIHx8IGFyZ3NbMF0gPT09ICdoZWxwJztcbiAgICBjb25zdCBzdWJjb21tYW5kID0gaXNIZWxwID8gJ2hlbHAnIDogJ2dlbmVyYXRlJztcblxuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHJlYWRDb25maWcoKTtcblxuICAgIHJldHVybiB0cnBjLnRlbGVtZXRyeS5jcmVhdGUubXV0YXRlKHtcbiAgICAgICAgdHlwZTogJ2NsaS5ydW4nLFxuICAgICAgICBzdWJjb21tYW5kLFxuICAgICAgICBmbGFnczoge1xuICAgICAgICAgICAgaGVscDogaXNIZWxwLFxuICAgICAgICAgICAgY29ubmVjdGlvbl9zdHJpbmc6IGFyZ3Muc29tZShcbiAgICAgICAgICAgICAgICAoYSkgPT4gIWEuc3RhcnRzV2l0aCgnLScpICYmIGEgIT09ICdnZW5lcmF0ZScgJiYgYSAhPT0gJ2hlbHAnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGhvc3RuYW1lOiBhcmdzLmluY2x1ZGVzKCctaCcpIHx8IGFyZ3MuaW5jbHVkZXMoJy0taG9zdG5hbWUnKSxcbiAgICAgICAgICAgIHBvcnQ6IGFyZ3MuaW5jbHVkZXMoJy1wJykgfHwgYXJncy5pbmNsdWRlcygnLS1wb3J0JyksXG4gICAgICAgICAgICBkYXRhYmFzZTogYXJncy5pbmNsdWRlcygnLWQnKSB8fCBhcmdzLmluY2x1ZGVzKCctLWRhdGFiYXNlJyksXG4gICAgICAgICAgICB1c2VybmFtZTogYXJncy5pbmNsdWRlcygnLVUnKSB8fCBhcmdzLmluY2x1ZGVzKCctLXVzZXJuYW1lJyksXG4gICAgICAgICAgICBzc2w6IFsnLS1zc2xtb2RlJywgJy0tc3NsY2VydCcsICctLXNzbGtleScsICctLXNzbHJvb3RjZXJ0J10uc29tZShcbiAgICAgICAgICAgICAgICAoZikgPT4gYXJncy5pbmNsdWRlcyhmKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzc2g6IGFyZ3MuaW5jbHVkZXMoJy0tc3NoJykgfHwgYXJncy5pbmNsdWRlcygnLS1zc2gtaG9zdCcpLFxuICAgICAgICB9LFxuICAgICAgICBpc19kb2NrZXI6IGRldGVjdERvY2tlcigpLFxuICAgICAgICBpc19zc2hfc2Vzc2lvbjogZGV0ZWN0U1NIU2Vzc2lvbigpLFxuICAgICAgICBzaGVsbDogZGV0ZWN0U2hlbGwoKSxcbiAgICAgICAgb3M6IGRldGVjdE9TKCksXG4gICAgICAgIGlzX3dzbDogZGV0ZWN0V1NMKCksXG4gICAgICAgIHN5c3RlbV9tZW1vcnk6IGRldGVjdFN5c3RlbU1lbW9yeSgpLFxuICAgICAgICBwYWNrYWdlX21hbmFnZXI6IGRldGVjdFBhY2thZ2VNYW5hZ2VyKCksXG4gICAgICAgIGRldmljZV9pZDogY29uZmlnLmRldmljZV9pZCxcbiAgICB9KTtcbn07XG5cbnRyeSB7XG4gICAgYXdhaXQgZmlyZVJ1blRlbGVtZXRyeSgpO1xufSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKERCQ1RYX0RFVikge1xuICAgICAgICBsb2dnZXIuZXJyb3IoYCR7ZXJyfWAsIHtlcnJvcjogZXJyfSk7XG4gICAgfVxufVxuXG5wcm9ncmFtLnBhcnNlKCk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export declare const DBCTX_DEV: boolean;
2
+ //# sourceMappingURL=env.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.mts","sourceRoot":"./src/","sources":["lib/env.mts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,SAGiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const DBCTX_DEV = process.env['DBCTX_DEV'] === '1' ||
2
+ process.env['DBCTX_DEV'] === 'true' ||
3
+ process.env['DBCTX_DEV'] === 'TRUE';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52Lm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbnYubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHO0lBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssTUFBTTtJQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEQkNUWF9ERVYgPVxuICAgIHByb2Nlc3MuZW52WydEQkNUWF9ERVYnXSA9PT0gJzEnIHx8XG4gICAgcHJvY2Vzcy5lbnZbJ0RCQ1RYX0RFViddID09PSAndHJ1ZScgfHxcbiAgICBwcm9jZXNzLmVudlsnREJDVFhfREVWJ10gPT09ICdUUlVFJztcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"trpc-url.d.mts","sourceRoot":"./src/","sources":["lib/trpc-url.mts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,QAAO,MAGoB,CAAC"}
1
+ {"version":3,"file":"trpc-url.d.mts","sourceRoot":"./src/","sources":["lib/trpc-url.mts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU,QAAO,MACiD,CAAC"}
@@ -1,6 +1,5 @@
1
+ import { DBCTX_DEV } from '#client/lib/env.mjs';
1
2
  const PROD_CORE = 'https://core.dbctx.io';
2
3
  const DEV_CORE_PORT = 12001;
3
- export const getTRPCURL = () => process.env.NODE_ENV === 'production'
4
- ? `${PROD_CORE}/trpc`
5
- : `http://localhost:${DEV_CORE_PORT}/trpc`;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJwYy11cmwubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsibGliL3RycGMtdXJsLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFFNUIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQVcsRUFBRSxDQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxZQUFZO0lBQ2pDLENBQUMsQ0FBQyxHQUFHLFNBQVMsT0FBTztJQUNyQixDQUFDLENBQUMsb0JBQW9CLGFBQWEsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUFJPRF9DT1JFID0gJ2h0dHBzOi8vY29yZS5kYmN0eC5pbyc7XG5jb25zdCBERVZfQ09SRV9QT1JUID0gMTIwMDE7XG5cbmV4cG9ydCBjb25zdCBnZXRUUlBDVVJMID0gKCk6IHN0cmluZyA9PlxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbidcbiAgICAgICAgPyBgJHtQUk9EX0NPUkV9L3RycGNgXG4gICAgICAgIDogYGh0dHA6Ly9sb2NhbGhvc3Q6JHtERVZfQ09SRV9QT1JUfS90cnBjYDtcbiJdfQ==
4
+ export const getTRPCURL = () => !DBCTX_DEV ? `${PROD_CORE}/trpc` : `http://localhost:${DEV_CORE_PORT}/trpc`;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJwYy11cmwubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsibGliL3RycGMtdXJsLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsTUFBTSxTQUFTLEdBQUcsdUJBQXVCLENBQUM7QUFDMUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRTVCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxHQUFXLEVBQUUsQ0FDbkMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxPQUFPLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixhQUFhLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7REJDVFhfREVWfSBmcm9tICcjY2xpZW50L2xpYi9lbnYubWpzJztcblxuY29uc3QgUFJPRF9DT1JFID0gJ2h0dHBzOi8vY29yZS5kYmN0eC5pbyc7XG5jb25zdCBERVZfQ09SRV9QT1JUID0gMTIwMDE7XG5cbmV4cG9ydCBjb25zdCBnZXRUUlBDVVJMID0gKCk6IHN0cmluZyA9PlxuICAgICFEQkNUWF9ERVYgPyBgJHtQUk9EX0NPUkV9L3RycGNgIDogYGh0dHA6Ly9sb2NhbGhvc3Q6JHtERVZfQ09SRV9QT1JUfS90cnBjYDtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.mts","sourceRoot":"./src/","sources":["logger.mts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,eAAO,MAAM,MAAM,gBAOjB,CAAC"}
1
+ {"version":3,"file":"logger.d.mts","sourceRoot":"./src/","sources":["logger.mts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,eAAO,MAAM,MAAM,gBAOjB,CAAC"}
package/dist/logger.mjs CHANGED
@@ -1,7 +1,8 @@
1
1
  import winston from 'winston';
2
+ import { DBCTX_DEV } from '#client/lib/env.mjs';
2
3
  export const logger = winston.createLogger({
3
- level: process.env.NODE_ENV === 'development' ? 'debug' : 'info',
4
+ level: DBCTX_DEV ? 'debug' : 'info',
4
5
  format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
5
6
  transports: [new winston.transports.Console()],
6
7
  });
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImxvZ2dlci5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTTtJQUNoRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQzFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQ3hCO0lBQ0QsVUFBVSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0NBQ2pELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB3aW5zdG9uIGZyb20gJ3dpbnN0b24nO1xuXG5leHBvcnQgY29uc3QgbG9nZ2VyID0gd2luc3Rvbi5jcmVhdGVMb2dnZXIoe1xuICAgIGxldmVsOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyA/ICdkZWJ1ZycgOiAnaW5mbycsXG4gICAgZm9ybWF0OiB3aW5zdG9uLmZvcm1hdC5jb21iaW5lKFxuICAgICAgICB3aW5zdG9uLmZvcm1hdC50aW1lc3RhbXAoKSxcbiAgICAgICAgd2luc3Rvbi5mb3JtYXQuanNvbigpLFxuICAgICksXG4gICAgdHJhbnNwb3J0czogW25ldyB3aW5zdG9uLnRyYW5zcG9ydHMuQ29uc29sZSgpXSxcbn0pO1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImxvZ2dlci5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUN2QyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU07SUFDbkMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUN4QjtJQUNELFVBQVUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztDQUNqRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgd2luc3RvbiBmcm9tICd3aW5zdG9uJztcbmltcG9ydCB7REJDVFhfREVWfSBmcm9tICcjY2xpZW50L2xpYi9lbnYubWpzJztcblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IHdpbnN0b24uY3JlYXRlTG9nZ2VyKHtcbiAgICBsZXZlbDogREJDVFhfREVWID8gJ2RlYnVnJyA6ICdpbmZvJyxcbiAgICBmb3JtYXQ6IHdpbnN0b24uZm9ybWF0LmNvbWJpbmUoXG4gICAgICAgIHdpbnN0b24uZm9ybWF0LnRpbWVzdGFtcCgpLFxuICAgICAgICB3aW5zdG9uLmZvcm1hdC5qc29uKCksXG4gICAgKSxcbiAgICB0cmFuc3BvcnRzOiBbbmV3IHdpbnN0b24udHJhbnNwb3J0cy5Db25zb2xlKCldLFxufSk7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dbctx",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "dbctx CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -49,7 +49,7 @@
49
49
  "cross-env": "7.0.3",
50
50
  "prettier": "3.8.1",
51
51
  "typescript": "5.9.3",
52
- "@dbctx/core": "1.1.0"
52
+ "@dbctx/core": "1.1.1"
53
53
  },
54
54
  "volta": {
55
55
  "node": "24.0.0"