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,262 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import pc from "picocolors";
4
- import { encryptSecret, serializePayload } from "@getmyenv/crypto";
5
- import { secretNameSchema } from "@getmyenv/shared";
6
- import { detectLanguages, ensureGitignoreHasEnv, envReadSnippet, inferEnvNameFromFile, isEnvSampleFile, isProductionEnvFilename, listPushEnvFiles, parseEnvFile, promptChoice, promptConfirm, promptHidden, readProjectMeta, writeProjectMeta, } from "../lib/fs.js";
7
- import { ApiClient, ensureSessionToken, } from "../lib/api.js";
8
- import { loadPek } from "../lib/pek.js";
9
- import { resolveVaultPassword } from "../lib/guest-key.js";
10
- import { confirmDiff } from "../lib/confirm.js";
11
- import { ensureTokenAndLink } from "../lib/bootstrap.js";
12
- import { normalizeEnvName } from "../lib/env-name.js";
13
- async function resolveEnvPath(file) {
14
- if (file) {
15
- const resolved = path.resolve(process.cwd(), file);
16
- if (!fs.existsSync(resolved)) {
17
- throw new Error(`Env file not found: ${file}`);
18
- }
19
- if (isProductionEnvFilename(resolved)) {
20
- throw new Error([
21
- `Refusing to push ${path.basename(resolved)}.`,
22
- "Production-named env files are not uploaded from the CLI.",
23
- "Set Production values in the dashboard, or use run with a Production token.",
24
- ].join("\n"));
25
- }
26
- return resolved;
27
- }
28
- const candidates = listPushEnvFiles();
29
- if (candidates.length === 0) {
30
- throw new Error([
31
- "No pushable .env* files found under this folder.",
32
- "Files whose names contain \"production\" are skipped.",
33
- "Pass --file <path>, or create a .env file in this folder.",
34
- ].join("\n"));
35
- }
36
- const labels = candidates.map((p) => path.relative(process.cwd(), p) || p);
37
- if (candidates.length === 1) {
38
- console.log(`Using ${labels[0]}\n`);
39
- return candidates[0];
40
- }
41
- if (!process.stdin.isTTY) {
42
- throw new Error(`Multiple env files found. Pass --file <path>:\n${labels.map((l) => ` ${l}`).join("\n")}`);
43
- }
44
- console.log("Found env files (production* skipped):\n");
45
- const idx = await promptChoice("Push which file?", labels, 0);
46
- console.log("");
47
- return candidates[idx];
48
- }
49
- function parseKeyOpt(key) {
50
- const eq = key.indexOf("=");
51
- if (eq <= 0) {
52
- return { name: key.trim() };
53
- }
54
- return {
55
- name: key.slice(0, eq).trim(),
56
- value: key.slice(eq + 1),
57
- };
58
- }
59
- async function uploadPairs(pairs, opts) {
60
- const keys = Object.keys(pairs);
61
- if (keys.length === 0) {
62
- throw new Error("No variables to push.");
63
- }
64
- const token = await ensureSessionToken(opts.projectId);
65
- const client = new ApiClient(opts.apiUrl, token);
66
- const remoteList = await client.request("GET", `/api/cli/projects/${opts.projectId}/secrets?environment=${encodeURIComponent(opts.environment)}`);
67
- const remoteNames = new Set(remoteList.secrets.map((s) => s.name));
68
- const localNames = new Set(keys);
69
- const hostedOnly = [...remoteNames].filter((n) => !localNames.has(n));
70
- if (opts.dryRun) {
71
- console.log(pc.dim("Dry run - no changes uploaded.\n"));
72
- for (const name of keys) {
73
- const empty = !pairs[name];
74
- console.log(` ${remoteNames.has(name) ? "~" : "+"} ${name}${empty ? " (placeholder)" : ""}`);
75
- }
76
- for (const name of hostedOnly) {
77
- console.log(` - ${name}${opts.prune ? " (would prune)" : " (kept)"}`);
78
- }
79
- console.log("");
80
- return;
81
- }
82
- if (hostedOnly.length > 0 && opts.prune) {
83
- const ok = await confirmDiff({
84
- conflicts: hostedOnly.map((name) => ({
85
- name,
86
- detail: "hosted only",
87
- })),
88
- action: "Delete hosted secrets missing from local file",
89
- yes: opts.yes,
90
- });
91
- if (!ok) {
92
- console.log(pc.dim("Push cancelled.\n"));
93
- return;
94
- }
95
- }
96
- console.log(`Encrypting ${keys.length} secret(s) for ${opts.environment}...\n`);
97
- const password = await resolveVaultPassword({
98
- isGuest: opts.isGuest,
99
- vaultPasswordStdin: opts.vaultPasswordStdin,
100
- });
101
- const { pek, wrappedRaw } = await loadPek({
102
- password,
103
- scope: opts.scope,
104
- allowCreate: true,
105
- });
106
- for (const name of keys) {
107
- const value = pairs[name] ?? "";
108
- if (!value) {
109
- await client.request("POST", `/api/cli/projects/${opts.projectId}/secrets`, {
110
- name,
111
- environment: opts.environment,
112
- placeholder: true,
113
- wrappedProjectKey: JSON.parse(wrappedRaw),
114
- });
115
- console.log(` ${pc.green("✓")} ${name} (placeholder)`);
116
- continue;
117
- }
118
- const ciphertext = serializePayload(encryptSecret(pek, value));
119
- await client.request("POST", `/api/cli/projects/${opts.projectId}/secrets`, {
120
- name,
121
- environment: opts.environment,
122
- ciphertext,
123
- wrappedProjectKey: JSON.parse(wrappedRaw),
124
- });
125
- console.log(` ${pc.green("✓")} ${name}`);
126
- }
127
- if (opts.prune && hostedOnly.length > 0) {
128
- await client.request("DELETE", `/api/cli/projects/${opts.projectId}/secrets`, {
129
- environment: opts.environment,
130
- names: hostedOnly,
131
- });
132
- for (const name of hostedOnly) {
133
- console.log(` ${pc.yellow("-")} ${name} (pruned)`);
134
- }
135
- }
136
- const meta = readProjectMeta() ?? {};
137
- writeProjectMeta({
138
- ...meta,
139
- projectId: opts.projectId,
140
- apiUrl: opts.apiUrl,
141
- environment: meta.environment ??
142
- (opts.scope === "production" ? "production" : "development"),
143
- });
144
- console.log(`\n${pc.green("✓")} Pushed ${keys.length} secret(s)\n`);
145
- }
146
- export async function pushCommand(opts) {
147
- console.log(pc.bold("\ngetmyenv push\n"));
148
- const { who, apiUrl, projectId } = await ensureTokenAndLink({
149
- apiUrl: opts.apiUrl,
150
- action: "push",
151
- });
152
- if (who.cliScope === "production") {
153
- throw new Error([
154
- "Production CLI is read-only.",
155
- "Set Production values in the dashboard, or use a Development token to push.",
156
- "Use npx getmyenv run to pass Production secrets as env vars without writing them to disk.",
157
- ].join("\n"));
158
- }
159
- const linked = { projectId, projectName: who.projectName };
160
- let environment = normalizeEnvName(opts.env);
161
- if (environment !== who.cliScope) {
162
- if (opts.envWasDefault) {
163
- environment = who.cliScope;
164
- }
165
- else {
166
- throw new Error([
167
- `Token scope is ${who.cliScope}, but you passed -e ${environment}.`,
168
- "Use a matching Development/Production token, or omit -e.",
169
- ].join("\n"));
170
- }
171
- }
172
- if (opts.key?.trim()) {
173
- const parsed = parseKeyOpt(opts.key.trim());
174
- const nameCheck = secretNameSchema.safeParse(parsed.name);
175
- if (!nameCheck.success) {
176
- throw new Error("Invalid secret name. Use a valid environment variable name.");
177
- }
178
- let value = parsed.value;
179
- if (value === undefined) {
180
- value = await promptHidden(`Value for ${parsed.name}: `);
181
- }
182
- if (!value)
183
- throw new Error("Value required");
184
- console.log(pc.dim(`Environment: ${environment}\n`));
185
- await uploadPairs({ [parsed.name]: value }, {
186
- environment,
187
- apiUrl,
188
- projectId: linked.projectId,
189
- scope: who.cliScope,
190
- vaultPasswordStdin: opts.vaultPasswordStdin,
191
- prune: false,
192
- yes: opts.yes,
193
- dryRun: opts.dryRun,
194
- isGuest: who.isGuest,
195
- });
196
- return;
197
- }
198
- const envPath = await resolveEnvPath(opts.file);
199
- const baseName = path.basename(envPath);
200
- const rel = path.relative(process.cwd(), envPath) || baseName;
201
- if (opts.envWasDefault && opts.env === "development") {
202
- const inferred = inferEnvNameFromFile(envPath);
203
- if (inferred === who.cliScope) {
204
- environment = inferred;
205
- }
206
- }
207
- if (isEnvSampleFile(envPath)) {
208
- console.log(pc.dim("This looks like a repo sample file. Values may be placeholders.\n"));
209
- }
210
- const pairs = parseEnvFile(envPath);
211
- const keys = Object.keys(pairs);
212
- if (keys.length === 0) {
213
- throw new Error(`No variables found in ${rel}`);
214
- }
215
- console.log(`Found ${keys.length} variables in ${rel}:\n`);
216
- for (const k of keys) {
217
- console.log(` ${pc.green("✓")} ${k}`);
218
- }
219
- console.log("");
220
- console.log(pc.dim(`Environment: ${environment}\n`));
221
- await uploadPairs(pairs, {
222
- environment,
223
- apiUrl,
224
- projectId: linked.projectId,
225
- scope: who.cliScope,
226
- vaultPasswordStdin: opts.vaultPasswordStdin,
227
- prune: opts.prune,
228
- yes: opts.yes,
229
- dryRun: opts.dryRun,
230
- isGuest: who.isGuest,
231
- });
232
- if (opts.dryRun)
233
- return;
234
- ensureGitignoreHasEnv();
235
- const sample = keys[0] ?? "MY_SECRET";
236
- const languages = detectLanguages();
237
- const primary = languages[0]?.language ?? null;
238
- console.log("Your application still reads it from the environment:\n");
239
- if (languages.length > 1) {
240
- for (const lang of languages.slice(0, 4)) {
241
- console.log(pc.cyan(` ${lang.label}: ${envReadSnippet(lang.language, sample)}`));
242
- }
243
- }
244
- else {
245
- console.log(pc.cyan(` ${envReadSnippet(primary, sample)}`));
246
- }
247
- console.log("");
248
- if (process.stdin.isTTY) {
249
- const migratedName = `${baseName}.migrated.local`;
250
- const remove = await promptConfirm(`Rename plaintext ${baseName} to ${migratedName}? (never deleted silently)`);
251
- if (remove) {
252
- const dest = envPath + ".migrated.local";
253
- fs.renameSync(envPath, dest);
254
- console.log(`${pc.green("✓")} Renamed to ${path.basename(dest)}`);
255
- }
256
- else {
257
- console.log(pc.dim(`Kept plaintext ${baseName} in place.`));
258
- }
259
- console.log("");
260
- }
261
- }
262
- //# sourceMappingURL=push.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- type RemoveOpts = {
2
- env?: string;
3
- apiUrl?: string;
4
- envWasDefault?: boolean;
5
- };
6
- /**
7
- * Delete named secret(s) from the linked project.
8
- */
9
- export declare function removeCommand(names: string[], opts: RemoveOpts): Promise<void>;
10
- export {};
11
- //# sourceMappingURL=remove.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAMA,KAAK,UAAU,GAAG;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
@@ -1,39 +0,0 @@
1
- import pc from "picocolors";
2
- import { secretNameSchema } from "@getmyenv/shared";
3
- import { ApiClient } from "../lib/api.js";
4
- import { ensureTokenAndLink } from "../lib/bootstrap.js";
5
- import { normalizeEnvName } from "../lib/env-name.js";
6
- /**
7
- * Delete named secret(s) from the linked project.
8
- */
9
- export async function removeCommand(names, opts) {
10
- console.log(pc.bold("\ngetmyenv remove\n"));
11
- const cleaned = names.map((n) => n.trim()).filter(Boolean);
12
- if (cleaned.length === 0) {
13
- throw new Error("Pass at least one secret name: npx getmyenv remove KEY");
14
- }
15
- for (const name of cleaned) {
16
- const parsed = secretNameSchema.safeParse(name);
17
- if (!parsed.success) {
18
- throw new Error(`Invalid secret name: ${name}`);
19
- }
20
- }
21
- const { who, apiUrl, projectId, token } = await ensureTokenAndLink({
22
- apiUrl: opts.apiUrl,
23
- action: "push",
24
- });
25
- if (who.cliScope === "production") {
26
- throw new Error("Production CLI is read-only. Remove Production secrets in the dashboard.");
27
- }
28
- const environment = normalizeEnvName(opts.env ?? "development");
29
- const client = new ApiClient(apiUrl, token);
30
- await client.request("DELETE", `/api/cli/projects/${projectId}/secrets`, {
31
- environment,
32
- names: cleaned,
33
- });
34
- for (const name of cleaned) {
35
- console.log(` ${pc.yellow("-")} ${name}`);
36
- }
37
- console.log(`\n${pc.green("✓")} Removed ${cleaned.length} secret(s) from ${environment}\n`);
38
- }
39
- //# sourceMappingURL=remove.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQtD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAe,EACf,IAAgB;IAEhB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,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,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAClC,IAAI,CAAC,GAAG,IAAI,aAAa,CAC1B,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,SAAS,UAAU,EAAE;QACvE,WAAW;QACX,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,GAAG,CACT,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,MAAM,mBAAmB,WAAW,IAAI,CAC/E,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- export type TokenOpts = {
2
- apiUrl?: string;
3
- /** Skip browser flow; paste a token in the terminal. */
4
- paste?: boolean;
5
- };
6
- /**
7
- * Authorize this folder with a per-project CLI token.
8
- * Default: browser. Use --paste for a token from /cli.
9
- * Writes `.getmyenv/token.json` and `.getmyenv/project.json`.
10
- */
11
- export declare function tokenCommand(opts?: TokenOpts): Promise<void>;
12
- /** Remove the token for this folder. Prefer `link --clear` to forget everything. */
13
- export declare function tokenClearCommand(): Promise<void>;
14
- //# sourceMappingURL=token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAqIF;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,GAAE,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAatE;AAED,oFAAoF;AACpF,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOvD"}
@@ -1,132 +0,0 @@
1
- import { exec } from "node:child_process";
2
- import pc from "picocolors";
3
- import { ensureGitignoreHasEnv, readLine, readProjectMeta, writeProjectMeta, } from "../lib/fs.js";
4
- import { clearFolderToken, tokenFilePath, writeFolderToken, } from "../lib/credentials.js";
5
- import { ApiClient, resolveApiUrl, } from "../lib/api.js";
6
- function openBrowser(url) {
7
- const platform = process.platform;
8
- const cmd = platform === "win32"
9
- ? `start "" "${url}"`
10
- : platform === "darwin"
11
- ? `open "${url}"`
12
- : `xdg-open "${url}"`;
13
- exec(cmd, () => undefined);
14
- }
15
- function sleep(ms) {
16
- return new Promise((resolve) => setTimeout(resolve, ms));
17
- }
18
- /** Write token.json + project.json together. Authorize = link. */
19
- async function saveVerifiedToken(token, apiUrl) {
20
- const client = new ApiClient(apiUrl, token);
21
- let who;
22
- try {
23
- who = await client.request("GET", "/api/cli/whoami");
24
- }
25
- catch (err) {
26
- const msg = err instanceof Error ? err.message : String(err);
27
- throw new Error(`Could not verify token: ${msg}`);
28
- }
29
- const scope = who.cliScope === "production" ? "production" : "development";
30
- writeFolderToken({
31
- token,
32
- apiUrl,
33
- cliScope: scope,
34
- projectId: who.projectId,
35
- projectName: who.projectName,
36
- });
37
- const existing = readProjectMeta() ?? {};
38
- writeProjectMeta({
39
- ...existing,
40
- projectId: who.projectId,
41
- projectName: who.projectName,
42
- apiUrl,
43
- environment: scope,
44
- });
45
- ensureGitignoreHasEnv();
46
- console.log(`\n${pc.green("✓")} Authorized ${who.projectName} (${scope})\n`);
47
- }
48
- async function tokenViaPaste(opts, apiUrl) {
49
- const cliPage = `${apiUrl.replace(/\/$/, "")}/cli`;
50
- console.log(pc.dim(`Create or copy a token: ${cliPage}\n`));
51
- const token = (await readLine("Paste per-project CLI token: ")).trim();
52
- if (!token) {
53
- throw new Error("No token entered.");
54
- }
55
- await saveVerifiedToken(token, apiUrl);
56
- }
57
- async function tokenViaBrowser(opts, apiUrl) {
58
- const client = new ApiClient(apiUrl);
59
- let start;
60
- try {
61
- start = await client.request("POST", "/api/cli-auth/start");
62
- }
63
- catch (err) {
64
- const msg = err instanceof Error ? err.message : String(err);
65
- console.log(pc.yellow(`Browser sign-in unavailable (${msg}).`));
66
- console.log(pc.dim("Falling back to paste.\n"));
67
- await tokenViaPaste(opts, apiUrl);
68
- return;
69
- }
70
- console.log("Open this URL to authorize the CLI:\n");
71
- console.log(` ${start.verifyUrl}\n`);
72
- if (process.stdin.isTTY) {
73
- openBrowser(start.verifyUrl);
74
- console.log(pc.dim("Opened in your browser. Waiting...\n"));
75
- }
76
- else {
77
- console.log(pc.dim("Waiting for approval...\n"));
78
- }
79
- const deadline = new Date(start.expiresAt).getTime();
80
- while (Date.now() < deadline) {
81
- let poll;
82
- try {
83
- poll = await client.request("GET", `/api/cli-auth/poll?sessionId=${encodeURIComponent(start.sessionId)}`);
84
- }
85
- catch (err) {
86
- const msg = err instanceof Error ? err.message : String(err);
87
- throw new Error(`Could not poll CLI auth: ${msg}`);
88
- }
89
- if (poll.status === "approved" && poll.token) {
90
- process.stdout.write("\n");
91
- await saveVerifiedToken(poll.token, apiUrl);
92
- return;
93
- }
94
- if (poll.status === "denied") {
95
- throw new Error("CLI authorization was denied in the browser.");
96
- }
97
- if (poll.status === "expired") {
98
- throw new Error("CLI authorization expired. Run: npx getmyenv token");
99
- }
100
- const remaining = Math.max(0, Math.ceil((deadline - Date.now()) / 1000));
101
- process.stdout.write(`\r${pc.dim(`Waiting... ${String(remaining).padStart(2, "0")}s`)} `);
102
- await sleep(2000);
103
- }
104
- process.stdout.write("\n");
105
- throw new Error("CLI authorization timed out. Run: npx getmyenv token");
106
- }
107
- /**
108
- * Authorize this folder with a per-project CLI token.
109
- * Default: browser. Use --paste for a token from /cli.
110
- * Writes `.getmyenv/token.json` and `.getmyenv/project.json`.
111
- */
112
- export async function tokenCommand(opts = {}) {
113
- console.log(pc.bold("\ngetmyenv token\n"));
114
- const apiUrl = opts.apiUrl?.trim() ||
115
- process.env.GETMYENV_API_URL?.trim() ||
116
- resolveApiUrl(opts.apiUrl);
117
- if (opts.paste || !process.stdin.isTTY) {
118
- await tokenViaPaste(opts, apiUrl);
119
- return;
120
- }
121
- await tokenViaBrowser(opts, apiUrl);
122
- }
123
- /** Remove the token for this folder. Prefer `link --clear` to forget everything. */
124
- export async function tokenClearCommand() {
125
- console.log(pc.bold("\ngetmyenv token clear\n"));
126
- if (clearFolderToken()) {
127
- console.log(`${pc.green("✓")} Removed ${tokenFilePath()}\n`);
128
- return;
129
- }
130
- console.log(pc.dim("No token in this folder.\n"));
131
- }
132
- //# sourceMappingURL=token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- type WhoamiOpts = {
2
- apiUrl?: string;
3
- };
4
- export declare function whoamiCommand(opts?: WhoamiOpts): Promise<void>;
5
- export {};
6
- //# sourceMappingURL=whoami.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAWA,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAQF,wBAAsB,aAAa,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CxE"}
@@ -1,46 +0,0 @@
1
- import pc from "picocolors";
2
- import { readFolderToken, tokenFilePath } from "../lib/credentials.js";
3
- import { readProjectMeta } from "../lib/fs.js";
4
- import { ApiClient, ensureSessionToken, isDefaultApiUrl, resolveApiUrl, } from "../lib/api.js";
5
- function maskToken(token) {
6
- const t = token.trim();
7
- if (t.length <= 8)
8
- return "****";
9
- return `${t.slice(0, 4)}…${t.slice(-4)}`;
10
- }
11
- export async function whoamiCommand(opts = {}) {
12
- console.log(pc.bold("\ngetmyenv whoami\n"));
13
- const token = await ensureSessionToken();
14
- const apiUrl = resolveApiUrl(opts.apiUrl);
15
- const client = new ApiClient(apiUrl, token);
16
- const who = await client.request("GET", "/api/cli/whoami");
17
- const folder = readFolderToken();
18
- const meta = readProjectMeta();
19
- const environment = meta?.environment ?? who.cliScope;
20
- const linkedMismatch = meta?.projectId != null &&
21
- String(meta.projectId) !== String(who.projectId);
22
- console.log(`Project: ${who.projectName} (#${who.projectId})`);
23
- console.log(`Environment: ${environment}`);
24
- if (linkedMismatch) {
25
- console.log(pc.yellow(`Linked: folder points at ${meta?.projectName ?? meta?.projectId} (mismatch)`));
26
- }
27
- if (!isDefaultApiUrl(apiUrl)) {
28
- console.log(`API: ${apiUrl}`);
29
- }
30
- console.log(`Auth: ${tokenFilePath()}`);
31
- if (who.isGuest) {
32
- console.log(pc.yellow("Guest: yes"));
33
- if (who.guestExpiresAt) {
34
- console.log(pc.dim(`Expires: ${who.guestExpiresAt}`));
35
- }
36
- console.log(pc.dim("Claim: npx getmyenv claim"));
37
- }
38
- if (process.env.GETMYENV_TOKEN?.trim()) {
39
- console.log(pc.dim("Source: GETMYENV_TOKEN"));
40
- }
41
- else if (folder) {
42
- console.log(pc.dim(`Token: ${maskToken(folder.token)}`));
43
- }
44
- console.log("");
45
- }
46
- //# sourceMappingURL=whoami.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /** CLI environment names are always lowercase (e.g. development, production). */
2
- export declare function normalizeEnvName(name: string): string;
3
- //# sourceMappingURL=env-name.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env-name.d.ts","sourceRoot":"","sources":["../../src/lib/env-name.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -1,5 +0,0 @@
1
- /** CLI environment names are always lowercase (e.g. development, production). */
2
- export function normalizeEnvName(name) {
3
- return name.trim().toLowerCase();
4
- }
5
- //# sourceMappingURL=env-name.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env-name.js","sourceRoot":"","sources":["../../src/lib/env-name.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=guest-key.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest-key.test.d.ts","sourceRoot":"","sources":["../../src/lib/guest-key.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest-key.test.js","sourceRoot":"","sources":["../../src/lib/guest-key.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,QAAQ,GAAa,EAAE,CAAC;AAE9B,SAAS,CAAC,GAAG,EAAE;IACb,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC;YACb,SAAS,EAAE,WAAW;YACtB,UAAU,EAAE,wBAAwB;YACpC,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE;SAC9D,CAAC,EACF,MAAM,CACP,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACnE,aAAa,CACd,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}