getmyenv 0.5.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +57 -13
  2. package/dist/bin.js +1 -24
  3. package/dist/bin.js.map +1 -1
  4. package/dist/cli.d.ts +10 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +179 -101
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/backup.d.ts +2 -1
  9. package/dist/commands/backup.d.ts.map +1 -1
  10. package/dist/commands/backup.js +15 -25
  11. package/dist/commands/backup.js.map +1 -1
  12. package/dist/commands/claim.d.ts +2 -1
  13. package/dist/commands/claim.d.ts.map +1 -1
  14. package/dist/commands/claim.js +114 -82
  15. package/dist/commands/claim.js.map +1 -1
  16. package/dist/commands/context.d.ts +11 -0
  17. package/dist/commands/context.d.ts.map +1 -0
  18. package/dist/commands/context.js +53 -0
  19. package/dist/commands/context.js.map +1 -0
  20. package/dist/commands/export.d.ts +11 -0
  21. package/dist/commands/export.d.ts.map +1 -0
  22. package/dist/commands/export.js +67 -0
  23. package/dist/commands/export.js.map +1 -0
  24. package/dist/commands/guest.d.ts +9 -3
  25. package/dist/commands/guest.d.ts.map +1 -1
  26. package/dist/commands/guest.js +32 -30
  27. package/dist/commands/guest.js.map +1 -1
  28. package/dist/commands/import.d.ts +26 -0
  29. package/dist/commands/import.d.ts.map +1 -0
  30. package/dist/commands/import.js +168 -0
  31. package/dist/commands/import.js.map +1 -0
  32. package/dist/commands/lock.d.ts +5 -0
  33. package/dist/commands/lock.d.ts.map +1 -0
  34. package/dist/commands/lock.js +18 -0
  35. package/dist/commands/lock.js.map +1 -0
  36. package/dist/commands/ls.d.ts +6 -0
  37. package/dist/commands/ls.d.ts.map +1 -0
  38. package/dist/commands/ls.js +37 -0
  39. package/dist/commands/ls.js.map +1 -0
  40. package/dist/commands/restore.d.ts +7 -2
  41. package/dist/commands/restore.d.ts.map +1 -1
  42. package/dist/commands/restore.js +58 -51
  43. package/dist/commands/restore.js.map +1 -1
  44. package/dist/commands/run.d.ts +7 -5
  45. package/dist/commands/run.d.ts.map +1 -1
  46. package/dist/commands/run.js +97 -185
  47. package/dist/commands/run.js.map +1 -1
  48. package/dist/commands/set.d.ts +16 -0
  49. package/dist/commands/set.d.ts.map +1 -0
  50. package/dist/commands/set.js +111 -0
  51. package/dist/commands/set.js.map +1 -0
  52. package/dist/commands/start.d.ts +16 -0
  53. package/dist/commands/start.d.ts.map +1 -0
  54. package/dist/commands/start.js +118 -0
  55. package/dist/commands/start.js.map +1 -0
  56. package/dist/commands/status.d.ts +5 -0
  57. package/dist/commands/status.d.ts.map +1 -0
  58. package/dist/commands/status.js +40 -0
  59. package/dist/commands/status.js.map +1 -0
  60. package/dist/commands/unlink.d.ts +9 -0
  61. package/dist/commands/unlink.d.ts.map +1 -0
  62. package/dist/commands/unlink.js +70 -0
  63. package/dist/commands/unlink.js.map +1 -0
  64. package/dist/lib/api-url.d.ts +12 -0
  65. package/dist/lib/api-url.d.ts.map +1 -1
  66. package/dist/lib/api-url.js +32 -0
  67. package/dist/lib/api-url.js.map +1 -1
  68. package/dist/lib/api.d.ts +35 -23
  69. package/dist/lib/api.d.ts.map +1 -1
  70. package/dist/lib/api.js +23 -59
  71. package/dist/lib/api.js.map +1 -1
  72. package/dist/lib/authorize.d.ts +13 -6
  73. package/dist/lib/authorize.d.ts.map +1 -1
  74. package/dist/lib/authorize.js +68 -63
  75. package/dist/lib/authorize.js.map +1 -1
  76. package/dist/lib/bootstrap.d.ts +18 -15
  77. package/dist/lib/bootstrap.d.ts.map +1 -1
  78. package/dist/lib/bootstrap.js +59 -58
  79. package/dist/lib/bootstrap.js.map +1 -1
  80. package/dist/lib/confirm.js +4 -4
  81. package/dist/lib/confirm.js.map +1 -1
  82. package/dist/lib/context.d.ts +12 -0
  83. package/dist/lib/context.d.ts.map +1 -0
  84. package/dist/lib/context.js +43 -0
  85. package/dist/lib/context.js.map +1 -0
  86. package/dist/lib/credentials.d.ts +8 -9
  87. package/dist/lib/credentials.d.ts.map +1 -1
  88. package/dist/lib/credentials.js +2 -10
  89. package/dist/lib/credentials.js.map +1 -1
  90. package/dist/lib/fs.d.ts +26 -37
  91. package/dist/lib/fs.d.ts.map +1 -1
  92. package/dist/lib/fs.js +112 -327
  93. package/dist/lib/fs.js.map +1 -1
  94. package/dist/lib/guest-key.d.ts +8 -6
  95. package/dist/lib/guest-key.d.ts.map +1 -1
  96. package/dist/lib/guest-key.js +26 -3
  97. package/dist/lib/guest-key.js.map +1 -1
  98. package/dist/lib/identity.d.ts +9 -11
  99. package/dist/lib/identity.d.ts.map +1 -1
  100. package/dist/lib/identity.js +34 -24
  101. package/dist/lib/identity.js.map +1 -1
  102. package/dist/lib/keychain.d.ts +21 -0
  103. package/dist/lib/keychain.d.ts.map +1 -0
  104. package/dist/lib/keychain.js +124 -0
  105. package/dist/lib/keychain.js.map +1 -0
  106. package/dist/lib/pek.d.ts +15 -22
  107. package/dist/lib/pek.d.ts.map +1 -1
  108. package/dist/lib/pek.js +31 -51
  109. package/dist/lib/pek.js.map +1 -1
  110. package/dist/lib/run-env.d.ts +50 -0
  111. package/dist/lib/run-env.d.ts.map +1 -0
  112. package/dist/lib/run-env.js +114 -0
  113. package/dist/lib/run-env.js.map +1 -0
  114. package/dist/lib/unlock.d.ts +24 -0
  115. package/dist/lib/unlock.d.ts.map +1 -0
  116. package/dist/lib/unlock.js +87 -0
  117. package/dist/lib/unlock.js.map +1 -0
  118. package/dist/lib/update-check.d.ts +4 -2
  119. package/dist/lib/update-check.d.ts.map +1 -1
  120. package/dist/lib/update-check.js +54 -68
  121. package/dist/lib/update-check.js.map +1 -1
  122. package/dist/lib/upload.d.ts +21 -0
  123. package/dist/lib/upload.d.ts.map +1 -0
  124. package/dist/lib/upload.js +53 -0
  125. package/dist/lib/upload.js.map +1 -0
  126. package/package.json +5 -3
  127. package/dist/commands/delete.d.ts +0 -6
  128. package/dist/commands/delete.d.ts.map +0 -1
  129. package/dist/commands/delete.js +0 -55
  130. package/dist/commands/delete.js.map +0 -1
  131. package/dist/commands/link.d.ts +0 -16
  132. package/dist/commands/link.d.ts.map +0 -1
  133. package/dist/commands/link.js +0 -142
  134. package/dist/commands/link.js.map +0 -1
  135. package/dist/commands/pull.d.ts +0 -15
  136. package/dist/commands/pull.d.ts.map +0 -1
  137. package/dist/commands/pull.js +0 -159
  138. package/dist/commands/pull.js.map +0 -1
  139. package/dist/commands/push.d.ts +0 -15
  140. package/dist/commands/push.d.ts.map +0 -1
  141. package/dist/commands/push.js +0 -262
  142. package/dist/commands/push.js.map +0 -1
  143. package/dist/commands/remove.d.ts +0 -11
  144. package/dist/commands/remove.d.ts.map +0 -1
  145. package/dist/commands/remove.js +0 -39
  146. package/dist/commands/remove.js.map +0 -1
  147. package/dist/commands/token.d.ts +0 -14
  148. package/dist/commands/token.d.ts.map +0 -1
  149. package/dist/commands/token.js +0 -132
  150. package/dist/commands/token.js.map +0 -1
  151. package/dist/commands/whoami.d.ts +0 -6
  152. package/dist/commands/whoami.d.ts.map +0 -1
  153. package/dist/commands/whoami.js +0 -46
  154. package/dist/commands/whoami.js.map +0 -1
  155. package/dist/lib/env-name.d.ts +0 -3
  156. package/dist/lib/env-name.d.ts.map +0 -1
  157. package/dist/lib/env-name.js +0 -5
  158. package/dist/lib/env-name.js.map +0 -1
  159. package/dist/lib/guest-key.test.d.ts +0 -2
  160. package/dist/lib/guest-key.test.d.ts.map +0 -1
  161. package/dist/lib/guest-key.test.js.map +0 -1
@@ -1,55 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import pc from "picocolors";
4
- import { clearClaimFile, getGetenvDir, promptConfirm, readProjectMeta, } from "../lib/fs.js";
5
- import { clearFolderToken, tokenFilePath } from "../lib/credentials.js";
6
- import { clearWrappedKey, wrappedKeyPath } from "../lib/pek.js";
7
- /**
8
- * Forget this folder: wipe local .getmyenv/ auth files.
9
- * Does not delete the cloud project or ciphertext.
10
- */
11
- export async function deleteCommand() {
12
- console.log(pc.bold("\ngetmyenv delete\n"));
13
- const meta = readProjectMeta();
14
- const hasToken = fs.existsSync(tokenFilePath());
15
- const hasWrapped = fs.existsSync(wrappedKeyPath());
16
- const hasClaim = fs.existsSync(path.join(getGetenvDir(), "claim.json"));
17
- if (!meta?.projectId && !hasToken && !hasWrapped && !hasClaim) {
18
- console.log(pc.dim("Nothing to clear in this folder.\n"));
19
- return;
20
- }
21
- if (process.stdin.isTTY) {
22
- const label = meta?.projectName ?? meta?.projectId ?? "this folder";
23
- const ok = await promptConfirm(`Forget ${label}? Removes .getmyenv/ in this folder. Cloud project and ciphertext stay.`, { defaultYes: false });
24
- if (!ok) {
25
- console.log(pc.dim("Kept.\n"));
26
- return;
27
- }
28
- }
29
- if (clearFolderToken()) {
30
- console.log(`${pc.green("✓")} Removed token`);
31
- }
32
- if (clearWrappedKey()) {
33
- console.log(`${pc.green("✓")} Removed wrapped-key.json`);
34
- }
35
- if (meta?.projectId) {
36
- const projectFile = path.join(getGetenvDir(), "project.json");
37
- if (fs.existsSync(projectFile))
38
- fs.unlinkSync(projectFile);
39
- console.log(`${pc.green("✓")} Removed project.json`);
40
- }
41
- if (clearClaimFile()) {
42
- console.log(`${pc.green("✓")} Removed claim.json`);
43
- }
44
- try {
45
- const dir = getGetenvDir();
46
- const rest = fs.readdirSync(dir);
47
- if (rest.length === 0)
48
- fs.rmdirSync(dir);
49
- }
50
- catch {
51
- /* ignore */
52
- }
53
- console.log(pc.dim("\nCloud project stays. Re-authorize: npx getmyenv run -- <cmd>\n"));
54
- }
55
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CACxC,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;QACpE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC5B,UAAU,KAAK,yEAAyE,EACxF,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IAED,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,GAAG,CACJ,kEAAkE,CACnE,CACF,CAAC;AACJ,CAAC"}
@@ -1,16 +0,0 @@
1
- type LinkOpts = {
2
- apiUrl?: string;
3
- name?: string;
4
- expect?: string;
5
- force?: boolean;
6
- clear?: boolean;
7
- env?: string;
8
- /** When true, do not offer push after link (caller is already pushing). */
9
- skipPushOffer?: boolean;
10
- };
11
- /** Clear this folder: token, wrapped key, project meta. Also removes `.getmyenv/` if empty. */
12
- export declare function clearLink(): Promise<void>;
13
- /** Link this folder to the project bound to the folder's CLI token. */
14
- export declare function linkCommand(_projectIdArg: string | undefined, opts: LinkOpts): Promise<void>;
15
- export {};
16
- //# sourceMappingURL=link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAwBA,KAAK,QAAQ,GAAG;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,+FAA+F;AAC/F,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C/C;AAED,uEAAuE;AACvE,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CA8If"}
@@ -1,142 +0,0 @@
1
- import fs from "node:fs";
2
- import pc from "picocolors";
3
- import { ensureGitignoreHasEnv, getGetenvDir, listPushEnvFiles, promptConfirm, readProjectMeta, writeProjectMeta, } from "../lib/fs.js";
4
- import { ApiClient, ensureSessionToken, hasSessionToken, resolveApiUrl, } from "../lib/api.js";
5
- import { clearFolderToken, tokenFilePath } from "../lib/credentials.js";
6
- import { clearWrappedKey, wrappedKeyPath } from "../lib/pek.js";
7
- import { normalizeEnvName } from "../lib/env-name.js";
8
- import { tokenCommand } from "./token.js";
9
- import { pushCommand } from "./push.js";
10
- import path from "node:path";
11
- /** Clear this folder: token, wrapped key, project meta. Also removes `.getmyenv/` if empty. */
12
- export async function clearLink() {
13
- console.log(pc.bold("\ngetmyenv link --clear\n"));
14
- const meta = readProjectMeta();
15
- const hasToken = fs.existsSync(tokenFilePath());
16
- const hasWrapped = fs.existsSync(wrappedKeyPath());
17
- if (!meta?.projectId && !hasToken && !hasWrapped) {
18
- console.log(pc.dim("Nothing to clear in this folder.\n"));
19
- return;
20
- }
21
- if (process.stdin.isTTY) {
22
- const label = meta?.projectName ?? meta?.projectId ?? "this folder";
23
- const ok = await promptConfirm(`Forget ${label}? Removes token, wrapped key, and link.`, { defaultYes: false });
24
- if (!ok) {
25
- console.log(pc.dim("Kept.\n"));
26
- return;
27
- }
28
- }
29
- if (clearFolderToken()) {
30
- console.log(`${pc.green("✓")} Removed token`);
31
- }
32
- if (clearWrappedKey()) {
33
- console.log(`${pc.green("✓")} Removed wrapped-key.json`);
34
- }
35
- if (meta?.projectId) {
36
- const projectFile = path.join(getGetenvDir(), "project.json");
37
- if (fs.existsSync(projectFile))
38
- fs.unlinkSync(projectFile);
39
- console.log(`${pc.green("✓")} Removed project.json (link)`);
40
- }
41
- // Try to remove empty .getmyenv/ dir
42
- try {
43
- const dir = getGetenvDir();
44
- const rest = fs.readdirSync(dir);
45
- if (rest.length === 0)
46
- fs.rmdirSync(dir);
47
- }
48
- catch {
49
- /* ignore */
50
- }
51
- console.log("");
52
- }
53
- /** Link this folder to the project bound to the folder's CLI token. */
54
- export async function linkCommand(_projectIdArg, opts) {
55
- if (opts.clear) {
56
- await clearLink();
57
- return;
58
- }
59
- console.log(pc.bold("\ngetmyenv link\n"));
60
- if (!hasSessionToken()) {
61
- if (!process.stdin.isTTY) {
62
- throw new Error("No CLI token in this folder. Set GETMYENV_TOKEN for CI, or run in a TTY.");
63
- }
64
- await tokenCommand({
65
- apiUrl: opts.apiUrl,
66
- });
67
- }
68
- const token = await ensureSessionToken();
69
- const apiUrl = resolveApiUrl(opts.apiUrl);
70
- const client = new ApiClient(apiUrl, token);
71
- const who = await client.request("GET", "/api/cli/whoami");
72
- const expectName = opts.expect?.trim() || opts.name?.trim();
73
- if (expectName) {
74
- const needle = expectName.toLowerCase();
75
- const matches = who.projectName.toLowerCase() === needle ||
76
- who.projectName.toLowerCase().includes(needle) ||
77
- String(who.projectId) === expectName;
78
- if (!matches) {
79
- throw new Error(`Token project "${who.projectName}" (${who.projectId}) does not match --expect ${expectName}`);
80
- }
81
- }
82
- let environment = who.cliScope === "production" ? "production" : "development";
83
- if (opts.env?.trim()) {
84
- const requested = normalizeEnvName(opts.env);
85
- if (requested !== who.cliScope) {
86
- throw new Error(`Token scope is ${who.cliScope}, but --env ${requested} was passed. Use a matching token or omit --env.`);
87
- }
88
- environment = requested;
89
- }
90
- const meta = readProjectMeta() ?? {};
91
- if (meta.projectId && String(meta.projectId) !== String(who.projectId)) {
92
- console.log(pc.yellow(`This folder is linked to ${meta.projectName ?? meta.projectId}.`));
93
- console.log(pc.dim(`Token is for ${who.projectName} (${who.projectId}, ${who.cliScope}).\n`));
94
- if (!opts.force) {
95
- if (!process.stdin.isTTY) {
96
- throw new Error("Already linked to a different project. Re-run with --force, or: npx getmyenv link --clear");
97
- }
98
- const ok = await promptConfirm("Replace with token project?", {
99
- defaultYes: false,
100
- });
101
- if (!ok) {
102
- console.log(pc.dim("Kept existing link.\n"));
103
- return;
104
- }
105
- }
106
- }
107
- writeProjectMeta({
108
- ...meta,
109
- projectId: who.projectId,
110
- projectName: who.projectName,
111
- apiUrl,
112
- environment,
113
- });
114
- ensureGitignoreHasEnv();
115
- console.log(`${pc.green("✓")} Linked to ${pc.bold(who.projectName)} (${who.projectId})`);
116
- console.log(pc.dim(`Token scope: ${who.cliScope}`));
117
- console.log(pc.dim(`Environment: ${environment}`));
118
- if (who.cliScope === "production") {
119
- console.log(pc.dim("Next: npx getmyenv run -- <cmd> # start app with secrets as env vars (Production is read-only)\n"));
120
- return;
121
- }
122
- if (opts.skipPushOffer || !process.stdin.isTTY) {
123
- console.log(pc.dim("Next: npx getmyenv run -- <cmd> # start app with secrets as env vars\n"));
124
- return;
125
- }
126
- const pushable = listPushEnvFiles();
127
- if (pushable.length === 0) {
128
- console.log(pc.dim("Next: npx getmyenv run -- <cmd> # start app with secrets as env vars\n"));
129
- return;
130
- }
131
- const doPush = await promptConfirm("Push and migrate a local .env file now?", { defaultYes: true });
132
- if (!doPush) {
133
- console.log(pc.dim("When you are ready: npx getmyenv run -- <cmd> # start app with secrets as env vars\n"));
134
- return;
135
- }
136
- await pushCommand({
137
- env: who.cliScope,
138
- apiUrl,
139
- envWasDefault: true,
140
- });
141
- }
142
- //# sourceMappingURL=link.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- type PullOpts = {
2
- env: string;
3
- output?: string;
4
- to?: string;
5
- stdout?: boolean;
6
- yes?: boolean;
7
- merge?: boolean;
8
- dryRun?: boolean;
9
- apiUrl: string;
10
- vaultPasswordStdin?: boolean;
11
- envWasDefault?: boolean;
12
- };
13
- export declare function pullCommand(opts: PullOpts): Promise<void>;
14
- export {};
15
- //# sourceMappingURL=pull.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAmBA,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6K/D"}
@@ -1,159 +0,0 @@
1
- import fs from "node:fs";
2
- import pc from "picocolors";
3
- import { decryptSecret, parsePayload, } from "@getmyenv/crypto";
4
- import { EXPORT_WARNING } from "@getmyenv/shared";
5
- import { parseEnvFile, readProjectMeta, } from "../lib/fs.js";
6
- import { ApiClient } from "../lib/api.js";
7
- import { unwrapPek } from "../lib/pek.js";
8
- import { resolveVaultPassword } from "../lib/guest-key.js";
9
- import { confirmDiff } from "../lib/confirm.js";
10
- import { normalizeEnvName } from "../lib/env-name.js";
11
- import { ensureTokenAndLink } from "../lib/bootstrap.js";
12
- export async function pullCommand(opts) {
13
- console.log(pc.bold("\ngetmyenv pull\n"));
14
- console.log(pc.yellow(EXPORT_WARNING));
15
- console.log("");
16
- const { who, apiUrl, token, projectId } = await ensureTokenAndLink({
17
- apiUrl: opts.apiUrl,
18
- action: "pull",
19
- });
20
- if (who.cliScope === "production") {
21
- throw new Error([
22
- "Production CLI is read-only.",
23
- "Use npx getmyenv run to pass secrets as env vars without writing them to disk.",
24
- "Set or change Production values in the dashboard.",
25
- ].join("\n"));
26
- }
27
- const meta = readProjectMeta();
28
- let environment = normalizeEnvName(opts.env);
29
- if (opts.envWasDefault && meta?.environment) {
30
- environment = meta.environment;
31
- }
32
- if (environment !== who.cliScope) {
33
- if (opts.envWasDefault) {
34
- environment = who.cliScope;
35
- }
36
- else {
37
- throw new Error([
38
- `Token scope is ${who.cliScope}, but you passed -e ${environment}.`,
39
- "Use a matching token or omit -e.",
40
- ].join("\n"));
41
- }
42
- }
43
- const password = await resolveVaultPassword({
44
- isGuest: who.isGuest,
45
- vaultPasswordStdin: opts.vaultPasswordStdin,
46
- });
47
- const client = new ApiClient(apiUrl, token);
48
- const data = await client.request("GET", `/api/cli/projects/${projectId}/export?environment=${encodeURIComponent(environment)}`);
49
- const pek = await unwrapPek({
50
- password,
51
- scope: who.cliScope,
52
- wrapped: data.wrappedProjectKey,
53
- });
54
- const remote = {};
55
- const lines = [
56
- "# Pulled by getmyenv - PLAINTEXT SECRETS",
57
- `# Environment: ${environment}`,
58
- "# Do not commit this file.",
59
- "",
60
- ];
61
- for (const secret of data.secrets) {
62
- if (secret.status === "revoked") {
63
- lines.push("# revoked - getmyenv is not providing this");
64
- continue;
65
- }
66
- if (secret.status === "placeholder" ||
67
- secret.ciphertext == null ||
68
- secret.ciphertext === "") {
69
- lines.push(`# placeholder - no value yet`);
70
- lines.push(`${secret.name}=`);
71
- continue;
72
- }
73
- const value = decryptSecret(pek, parsePayload(secret.ciphertext));
74
- remote[secret.name] = value;
75
- lines.push(`${secret.name}=${value}`);
76
- }
77
- if (opts.stdout) {
78
- process.stdout.write(lines.join("\n") + "\n");
79
- return;
80
- }
81
- const outPath = opts.to || opts.output || ".env";
82
- const exists = fs.existsSync(outPath);
83
- const local = exists ? parseEnvFile(outPath) : {};
84
- if (opts.dryRun) {
85
- console.log(pc.dim(`Dry run - would write ${outPath}\n`));
86
- for (const name of Object.keys(remote)) {
87
- if (!(name in local))
88
- console.log(` + ${name}`);
89
- else if (local[name] !== remote[name])
90
- console.log(` ~ ${name}`);
91
- else
92
- console.log(` = ${name}`);
93
- }
94
- for (const name of Object.keys(local)) {
95
- if (!(name in remote))
96
- console.log(` - ${name} (local only)`);
97
- }
98
- console.log("");
99
- return;
100
- }
101
- if (opts.merge && exists) {
102
- const merged = { ...local };
103
- for (const [name, value] of Object.entries(remote)) {
104
- if (!(name in merged) || merged[name] === "") {
105
- merged[name] = value;
106
- }
107
- }
108
- const mergedLines = [
109
- "# Pulled by getmyenv - PLAINTEXT SECRETS (merged)",
110
- `# Environment: ${environment}`,
111
- "# Do not commit this file.",
112
- "",
113
- ...Object.entries(merged).map(([k, v]) => `${k}=${v}`),
114
- ];
115
- fs.writeFileSync(outPath, mergedLines.join("\n") + "\n", { mode: 0o600 });
116
- console.log(`${pc.green("✓")} Merged into ${outPath}`);
117
- console.log(pc.dim("Do not commit this file.\n"));
118
- return;
119
- }
120
- const conflicts = [];
121
- for (const [name, value] of Object.entries(remote)) {
122
- if (name in local && local[name] !== value) {
123
- conflicts.push({ name, detail: "local differs from remote" });
124
- }
125
- }
126
- if (conflicts.length > 0) {
127
- const ok = await confirmDiff({
128
- conflicts,
129
- action: "Overwrite conflicting local values",
130
- yes: opts.yes,
131
- });
132
- if (!ok) {
133
- console.log(pc.dim("Pull cancelled.\n"));
134
- return;
135
- }
136
- }
137
- if (exists && conflicts.length === 0 && Object.keys(local).length > 0) {
138
- const remoteKeys = new Set(Object.keys(remote));
139
- const localOnly = Object.keys(local).filter((k) => !remoteKeys.has(k));
140
- if (localOnly.length > 0 && !opts.yes) {
141
- const ok = await confirmDiff({
142
- conflicts: localOnly.map((name) => ({
143
- name,
144
- detail: "present locally, absent remotely (will be dropped)",
145
- })),
146
- action: "Replace local file",
147
- yes: opts.yes,
148
- });
149
- if (!ok) {
150
- console.log(pc.dim("Pull cancelled.\n"));
151
- return;
152
- }
153
- }
154
- }
155
- fs.writeFileSync(outPath, lines.join("\n") + "\n", { mode: 0o600 });
156
- console.log(`${pc.green("✓")} Wrote ${outPath}`);
157
- console.log(pc.dim("Do not commit this file.\n"));
158
- }
159
- //# sourceMappingURL=pull.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAgBzD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAAC;QACjE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb;YACE,8BAA8B;YAC9B,gFAAgF;YAChF,mDAAmD;SACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5C,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACjC,CAAC;IACD,IAAI,WAAW,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb;gBACE,kBAAkB,GAAG,CAAC,QAAQ,uBAAuB,WAAW,GAAG;gBACnE,kCAAkC;aACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;QAC1C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAI/B,KAAK,EACL,qBAAqB,SAAS,uBAAuB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CACvF,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC;QAC1B,QAAQ;QACR,KAAK,EAAE,GAAG,CAAC,QAAQ;QACnB,OAAO,EAAE,IAAI,CAAC,iBAAiB;KAChC,CAAC,CAAC;IAEH,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAa;QACtB,0CAA0C;QAC1C,kBAAkB,WAAW,EAAE;QAC/B,4BAA4B;QAC5B,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,IACE,MAAM,CAAC,MAAM,KAAK,aAAa;YAC/B,MAAM,CAAC,UAAU,IAAI,IAAI;YACzB,MAAM,CAAC,UAAU,KAAK,EAAE,EACxB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CACzB,GAAG,EACH,YAAY,CAAC,MAAM,CAAC,UAAoB,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IACjD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,OAAO,IAAI,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;iBAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;;gBAC7D,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG;YAClB,mDAAmD;YACnD,kBAAkB,WAAW,EAAE;YAC/B,4BAA4B;YAC5B,EAAE;YACF,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;SACvD,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;YAC3B,SAAS;YACT,MAAM,EAAE,oCAAoC;YAC5C,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;gBAC3B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAClC,IAAI;oBACJ,MAAM,EAAE,oDAAoD;iBAC7D,CAAC,CAAC;gBACH,MAAM,EAAE,oBAAoB;gBAC5B,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;AACpD,CAAC"}
@@ -1,15 +0,0 @@
1
- type PushOpts = {
2
- env: string;
3
- apiUrl: string;
4
- file?: string;
5
- key?: string;
6
- create?: boolean;
7
- prune?: boolean;
8
- yes?: boolean;
9
- dryRun?: boolean;
10
- vaultPasswordStdin?: boolean;
11
- envWasDefault?: boolean;
12
- };
13
- export declare function pushCommand(opts: PushOpts): Promise<void>;
14
- export {};
15
- //# sourceMappingURL=push.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AA8BA,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAiMF,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+I/D"}