hatchkit 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/completion.d.ts +2 -0
  2. package/dist/completion.d.ts.map +1 -0
  3. package/dist/completion.js +207 -0
  4. package/dist/completion.js.map +1 -0
  5. package/dist/config.d.ts +33 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +439 -127
  8. package/dist/config.js.map +1 -1
  9. package/dist/deploy/keys.d.ts +6 -2
  10. package/dist/deploy/keys.d.ts.map +1 -1
  11. package/dist/deploy/keys.js +16 -2
  12. package/dist/deploy/keys.js.map +1 -1
  13. package/dist/deploy/pages.d.ts +2 -0
  14. package/dist/deploy/pages.d.ts.map +1 -0
  15. package/dist/deploy/pages.js +537 -0
  16. package/dist/deploy/pages.js.map +1 -0
  17. package/dist/deploy/rename-domain.d.ts +55 -0
  18. package/dist/deploy/rename-domain.d.ts.map +1 -0
  19. package/dist/deploy/rename-domain.js +290 -0
  20. package/dist/deploy/rename-domain.js.map +1 -0
  21. package/dist/deploy/terraform.d.ts.map +1 -1
  22. package/dist/deploy/terraform.js +90 -0
  23. package/dist/deploy/terraform.js.map +1 -1
  24. package/dist/dns.d.ts +7 -0
  25. package/dist/dns.d.ts.map +1 -0
  26. package/dist/dns.js +124 -0
  27. package/dist/dns.js.map +1 -0
  28. package/dist/doctor.d.ts +13 -0
  29. package/dist/doctor.d.ts.map +1 -0
  30. package/dist/doctor.js +368 -0
  31. package/dist/doctor.js.map +1 -0
  32. package/dist/explain.d.ts +4 -0
  33. package/dist/explain.d.ts.map +1 -0
  34. package/dist/explain.js +173 -0
  35. package/dist/explain.js.map +1 -0
  36. package/dist/index.js +477 -46
  37. package/dist/index.js.map +1 -1
  38. package/dist/provision/glitchtip.d.ts +3 -0
  39. package/dist/provision/glitchtip.d.ts.map +1 -1
  40. package/dist/provision/glitchtip.js +18 -0
  41. package/dist/provision/glitchtip.js.map +1 -1
  42. package/dist/provision/index.d.ts +26 -0
  43. package/dist/provision/index.d.ts.map +1 -1
  44. package/dist/provision/index.js +435 -60
  45. package/dist/provision/index.js.map +1 -1
  46. package/dist/provision/openpanel.d.ts +7 -0
  47. package/dist/provision/openpanel.d.ts.map +1 -1
  48. package/dist/provision/openpanel.js +113 -48
  49. package/dist/provision/openpanel.js.map +1 -1
  50. package/dist/provision/resend.d.ts +23 -1
  51. package/dist/provision/resend.d.ts.map +1 -1
  52. package/dist/provision/resend.js +62 -1
  53. package/dist/provision/resend.js.map +1 -1
  54. package/dist/provision/write-env.d.ts +31 -0
  55. package/dist/provision/write-env.d.ts.map +1 -0
  56. package/dist/provision/write-env.js +94 -0
  57. package/dist/provision/write-env.js.map +1 -0
  58. package/dist/scaffold/infra.d.ts.map +1 -1
  59. package/dist/scaffold/infra.js +18 -1
  60. package/dist/scaffold/infra.js.map +1 -1
  61. package/dist/status.d.ts +30 -0
  62. package/dist/status.d.ts.map +1 -0
  63. package/dist/status.js +169 -0
  64. package/dist/status.js.map +1 -0
  65. package/dist/templates/addons/analytics/sentry.ts.hbs +6 -0
  66. package/dist/utils/cloudflare-api.d.ts +30 -0
  67. package/dist/utils/cloudflare-api.d.ts.map +1 -0
  68. package/dist/utils/cloudflare-api.js +85 -0
  69. package/dist/utils/cloudflare-api.js.map +1 -0
  70. package/dist/utils/coolify-api.d.ts +3 -1
  71. package/dist/utils/coolify-api.d.ts.map +1 -1
  72. package/dist/utils/coolify-api.js +29 -4
  73. package/dist/utils/coolify-api.js.map +1 -1
  74. package/dist/utils/inwx-api.d.ts +36 -0
  75. package/dist/utils/inwx-api.d.ts.map +1 -0
  76. package/dist/utils/inwx-api.js +105 -0
  77. package/dist/utils/inwx-api.js.map +1 -0
  78. package/dist/utils/secrets.d.ts +8 -1
  79. package/dist/utils/secrets.d.ts.map +1 -1
  80. package/dist/utils/secrets.js +8 -1
  81. package/dist/utils/secrets.js.map +1 -1
  82. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export declare function renderCompletion(shell: "zsh" | "bash" | "fish"): string;
2
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AA2CA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAIvE"}
@@ -0,0 +1,207 @@
1
+ /*
2
+ * `hatchkit completion <shell>` — print a shell-completion script.
3
+ *
4
+ * These are static generators (no runtime dispatch into the CLI), so
5
+ * tab-complete is instant and safe to source even before the CLI has
6
+ * been configured. When a new subcommand is added, update the
7
+ * `TOP_LEVEL` / `CONFIG_ADD` / `KEYS_SUB` constants in one place and
8
+ * all three shells regenerate.
9
+ */
10
+ const TOP_LEVEL = [
11
+ "setup",
12
+ "init",
13
+ "status",
14
+ "doctor",
15
+ "explain",
16
+ "create",
17
+ "update",
18
+ "add",
19
+ "keys",
20
+ "config",
21
+ "completion",
22
+ "help",
23
+ ];
24
+ const CONFIG_ADD = [
25
+ "coolify",
26
+ "hetzner",
27
+ "dns",
28
+ "s3",
29
+ "modal",
30
+ "runpod",
31
+ "hf",
32
+ "replicate",
33
+ "glitchtip",
34
+ "openpanel",
35
+ "resend",
36
+ ];
37
+ const CONFIG_SUB = ["add", "reset"];
38
+ const KEYS_SUB = ["show", "push"];
39
+ const SHELLS = ["zsh", "bash", "fish"];
40
+ export function renderCompletion(shell) {
41
+ if (shell === "zsh")
42
+ return zsh();
43
+ if (shell === "bash")
44
+ return bash();
45
+ return fish();
46
+ }
47
+ function zsh() {
48
+ return `#compdef hatchkit
49
+ # zsh completion for hatchkit
50
+ # Install:
51
+ # hatchkit completion zsh > ~/.zsh/completions/_hatchkit
52
+ # (ensure that dir is in your \$fpath, then \`compinit\`)
53
+
54
+ _hatchkit() {
55
+ local -a commands
56
+ commands=(
57
+ ${TOP_LEVEL.map((c) => ` '${c}:${topDesc(c)}'`).join("\n")}
58
+ )
59
+
60
+ local curcontext="$curcontext" state line
61
+ _arguments -C \\
62
+ '1: :->cmds' \\
63
+ '2: :->sub' \\
64
+ '*: :->rest'
65
+
66
+ case $state in
67
+ cmds)
68
+ _describe -t commands 'hatchkit command' commands
69
+ ;;
70
+ sub)
71
+ case \${words[2]} in
72
+ config)
73
+ _values 'config subcommand' ${CONFIG_SUB.map((s) => `'${s}'`).join(" ")}
74
+ ;;
75
+ keys)
76
+ _values 'keys subcommand' ${KEYS_SUB.map((s) => `'${s}'`).join(" ")}
77
+ ;;
78
+ completion)
79
+ _values 'shell' ${SHELLS.map((s) => `'${s}'`).join(" ")}
80
+ ;;
81
+ help)
82
+ _values 'topic' ${TOP_LEVEL.map((c) => `'${c}'`).join(" ")}
83
+ ;;
84
+ esac
85
+ ;;
86
+ rest)
87
+ case "\${words[2]} \${words[3]}" in
88
+ 'config add')
89
+ _values 'provider' ${CONFIG_ADD.map((p) => `'${p}'`).join(" ")}
90
+ ;;
91
+ esac
92
+ ;;
93
+ esac
94
+ }
95
+
96
+ compdef _hatchkit hatchkit
97
+ `;
98
+ }
99
+ function bash() {
100
+ return `# bash completion for hatchkit
101
+ # Install:
102
+ # hatchkit completion bash > /usr/local/etc/bash_completion.d/hatchkit
103
+ # # or source inline: eval "$(hatchkit completion bash)"
104
+
105
+ _hatchkit_complete() {
106
+ local cur prev words cword
107
+ _init_completion || return
108
+
109
+ local top="${TOP_LEVEL.join(" ")}"
110
+ local config_sub="${CONFIG_SUB.join(" ")}"
111
+ local keys_sub="${KEYS_SUB.join(" ")}"
112
+ local shells="${SHELLS.join(" ")}"
113
+ local providers="${CONFIG_ADD.join(" ")}"
114
+
115
+ if [[ $cword -eq 1 ]]; then
116
+ COMPREPLY=( $(compgen -W "$top" -- "$cur") )
117
+ return
118
+ fi
119
+
120
+ case "\${words[1]}" in
121
+ config)
122
+ if [[ $cword -eq 2 ]]; then
123
+ COMPREPLY=( $(compgen -W "$config_sub" -- "$cur") )
124
+ elif [[ $cword -eq 3 && "\${words[2]}" == "add" ]]; then
125
+ COMPREPLY=( $(compgen -W "$providers" -- "$cur") )
126
+ fi
127
+ ;;
128
+ keys)
129
+ if [[ $cword -eq 2 ]]; then
130
+ COMPREPLY=( $(compgen -W "$keys_sub" -- "$cur") )
131
+ fi
132
+ ;;
133
+ completion)
134
+ if [[ $cword -eq 2 ]]; then
135
+ COMPREPLY=( $(compgen -W "$shells" -- "$cur") )
136
+ fi
137
+ ;;
138
+ help)
139
+ if [[ $cword -eq 2 ]]; then
140
+ COMPREPLY=( $(compgen -W "$top" -- "$cur") )
141
+ fi
142
+ ;;
143
+ esac
144
+ }
145
+
146
+ complete -F _hatchkit_complete hatchkit
147
+ `;
148
+ }
149
+ function fish() {
150
+ const lines = [];
151
+ lines.push("# fish completion for hatchkit");
152
+ lines.push("# Install:");
153
+ lines.push("# hatchkit completion fish > ~/.config/fish/completions/hatchkit.fish");
154
+ lines.push("");
155
+ lines.push(`complete -c hatchkit -f`);
156
+ for (const c of TOP_LEVEL) {
157
+ lines.push(`complete -c hatchkit -n "__fish_use_subcommand" -a "${c}" -d "${topDesc(c)}"`);
158
+ }
159
+ lines.push("");
160
+ for (const s of CONFIG_SUB) {
161
+ lines.push(`complete -c hatchkit -n "__fish_seen_subcommand_from config" -a "${s}"`);
162
+ }
163
+ for (const p of CONFIG_ADD) {
164
+ lines.push(`complete -c hatchkit -n "__fish_seen_subcommand_from config; and __fish_seen_subcommand_from add" -a "${p}"`);
165
+ }
166
+ for (const s of KEYS_SUB) {
167
+ lines.push(`complete -c hatchkit -n "__fish_seen_subcommand_from keys" -a "${s}"`);
168
+ }
169
+ for (const s of SHELLS) {
170
+ lines.push(`complete -c hatchkit -n "__fish_seen_subcommand_from completion" -a "${s}"`);
171
+ }
172
+ for (const t of TOP_LEVEL) {
173
+ lines.push(`complete -c hatchkit -n "__fish_seen_subcommand_from help" -a "${t}"`);
174
+ }
175
+ lines.push("");
176
+ return lines.join("\n");
177
+ }
178
+ function topDesc(cmd) {
179
+ switch (cmd) {
180
+ case "setup":
181
+ case "init":
182
+ return "One-time onboarding — configure every credential";
183
+ case "status":
184
+ return "Show which providers are configured and what's next";
185
+ case "doctor":
186
+ return "Health-check every configured provider";
187
+ case "explain":
188
+ return "One-page mental model of the CLI";
189
+ case "create":
190
+ return "Scaffold a new project";
191
+ case "update":
192
+ return "Add features to an already-scaffolded project";
193
+ case "add":
194
+ return "Provision GlitchTip / OpenPanel / Resend clients";
195
+ case "keys":
196
+ return "Manage per-project dotenvx private keys";
197
+ case "config":
198
+ return "Manage provider credentials";
199
+ case "completion":
200
+ return "Print a shell-completion script";
201
+ case "help":
202
+ return "Show help for a command";
203
+ default:
204
+ return "";
205
+ }
206
+ }
207
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import Conf from "conf";
1
2
  export interface ProviderStatus {
2
3
  status: "configured" | "unconfigured";
3
4
  lastVerified?: string;
@@ -14,7 +15,15 @@ export interface HetznerMeta extends ProviderStatus {
14
15
  }
15
16
  export interface DnsMeta extends ProviderStatus {
16
17
  provider: "inwx" | "cloudflare" | "manual";
18
+ /** INWX username when provider === "inwx". */
17
19
  username?: string;
20
+ /** Optional Cloudflare account id — scopes API calls to one account
21
+ * when the token spans multiple. Non-sensitive; lives in metadata. */
22
+ accountId?: string;
23
+ /** INWX username for the *registrar* case: provider is Cloudflare but
24
+ * the domain is still registered at INWX, so we need creds to flip the
25
+ * delegated NS after deploys. Non-sensitive. */
26
+ registrarUsername?: string;
18
27
  }
19
28
  export interface S3ProviderMeta extends ProviderStatus {
20
29
  location?: string;
@@ -34,7 +43,13 @@ export interface GlitchtipMeta extends ProviderStatus {
34
43
  teamSlug?: string;
35
44
  }
36
45
  export interface OpenpanelMeta extends ProviderStatus {
46
+ /** Dashboard URL (where the user logs in / manages projects). */
37
47
  url: string;
48
+ /** Management API URL — typically a separate subdomain in self-hosted
49
+ * setups (e.g. `https://api.op.example.com`). Falls back to
50
+ * `https://api.openpanel.dev` for cloud. Paths under this base are
51
+ * `/manage/projects`, `/manage/clients`, etc. */
52
+ apiUrl?: string;
38
53
  /** Default organization slug, used as the "project group" when
39
54
  * creating a new project/client via the dashboard. */
40
55
  organizationSlug?: string;
@@ -52,6 +67,10 @@ export interface HetznerConfig extends HetznerMeta {
52
67
  export interface DnsConfig extends DnsMeta {
53
68
  password?: string;
54
69
  apiToken?: string;
70
+ /** Paired with `registrarUsername` — from the keychain. Present only
71
+ * when provider === "cloudflare" AND the user told us INWX is their
72
+ * registrar during onboarding. */
73
+ registrarPassword?: string;
55
74
  }
56
75
  export interface S3ProviderConfig extends S3ProviderMeta {
57
76
  accessKey: string;
@@ -65,7 +84,9 @@ export interface GlitchtipConfig extends GlitchtipMeta {
65
84
  token: string;
66
85
  }
67
86
  export interface OpenpanelConfig extends OpenpanelMeta {
68
- token: string;
87
+ /** Root-mode credentials for the Management API. */
88
+ rootClientId: string;
89
+ rootClientSecret: string;
69
90
  }
70
91
  export interface ResendConfig extends ResendMeta {
71
92
  apiKey: string;
@@ -95,6 +116,10 @@ export interface CliConfig {
95
116
  * picker avoids collisions across `hatchkit create` invocations. */
96
117
  usedPorts: number[];
97
118
  }
119
+ /** Exposed for internal modules that need raw access (e.g. the `doctor`
120
+ * command). External consumers should prefer the typed `getXConfig()`
121
+ * helpers. */
122
+ export declare function getStore(): Conf<CliConfig>;
98
123
  export declare function getConfig(): CliConfig;
99
124
  export declare function getConfigPath(): string;
100
125
  /** Reset all CLI config. Clears providers and ML registry, plus every
@@ -107,6 +132,7 @@ export declare function ensureCoolify(): Promise<CoolifyConfig>;
107
132
  export declare function getCoolifyConfig(): Promise<CoolifyConfig | null>;
108
133
  export declare function ensureHetzner(): Promise<HetznerConfig>;
109
134
  export declare function getHetznerToken(): Promise<string | null>;
135
+ export declare function getHetznerConfig(): Promise<HetznerConfig | null>;
110
136
  export declare function ensureDns(): Promise<DnsConfig>;
111
137
  export declare function getDnsConfig(): Promise<DnsConfig | null>;
112
138
  export declare function ensureS3(provider: "hetzner" | "aws" | "r2"): Promise<S3ProviderConfig>;
@@ -127,5 +153,11 @@ export declare function getOpenpanelConfig(): Promise<OpenpanelConfig | null>;
127
153
  export declare function ensureResend(): Promise<ResendConfig>;
128
154
  export declare function getResendConfig(): Promise<ResendConfig | null>;
129
155
  export declare function isFirstRun(): Promise<boolean>;
156
+ type ReconfigurableProvider = "coolify" | "hetzner" | "dns" | "glitchtip" | "openpanel" | "resend" | `s3.${"hetzner" | "aws" | "r2"}` | `gpu.${"modal" | "runpod" | "hf" | "replicate"}`;
157
+ /** Wipe + re-prompt for a single provider. Shared by the stepper and by
158
+ * `hatchkit config add <provider>` so both paths always re-prompt rather
159
+ * than silently no-op on already-configured providers. */
160
+ export declare function reconfigureProvider(name: ReconfigurableProvider): Promise<void>;
130
161
  export declare function runOnboarding(): Promise<void>;
162
+ export {};
131
163
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;CAAG;AAEtD,MAAM,WAAW,OAAQ,SAAQ,cAAc;IAC7C,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;6BACyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ;2DACuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,SAAU,SAAQ,OAAO;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,MAAM,EAAE,cAAc,CAAC;QACvB,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACrC,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C;yEACqE;IACrE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAyDD,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;qDACqD;AACrD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAGjD;AA4BD,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBlD;AAMD,wBAAsB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CA4D5D;AAED;gEACgE;AAChE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAOtE;AAMD,wBAAsB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAgC5D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG9D;AAMD,wBAAsB,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAqDpD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAY9D;AAMD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwD5F;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CASpF;AAMD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,WAAW,GAChD,OAAO,CAAC,iBAAiB,CAAC,CA0C5B;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAMtF;AAMD,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAOlD;AAED;8DAC8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAIrD;AAMD,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAE9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAE3E;AAMD,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,CA+ChE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAM1E;AAMD,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,CAuChE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAM1E;AAMD,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAmC1D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAMpE;AAMD,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAGnD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAsFnD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}