getmyenv 0.3.3 → 0.3.5

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 (53) hide show
  1. package/README.md +9 -9
  2. package/dist/bin.js +23 -0
  3. package/dist/bin.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +6 -19
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/backup.d.ts.map +1 -1
  8. package/dist/commands/backup.js +9 -14
  9. package/dist/commands/backup.js.map +1 -1
  10. package/dist/commands/link.d.ts +2 -2
  11. package/dist/commands/link.d.ts.map +1 -1
  12. package/dist/commands/link.js +40 -14
  13. package/dist/commands/link.js.map +1 -1
  14. package/dist/commands/push.d.ts.map +1 -1
  15. package/dist/commands/push.js +0 -1
  16. package/dist/commands/push.js.map +1 -1
  17. package/dist/commands/restore.d.ts.map +1 -1
  18. package/dist/commands/restore.js +6 -11
  19. package/dist/commands/restore.js.map +1 -1
  20. package/dist/commands/run.d.ts.map +1 -1
  21. package/dist/commands/run.js +14 -19
  22. package/dist/commands/run.js.map +1 -1
  23. package/dist/commands/token.d.ts +8 -14
  24. package/dist/commands/token.d.ts.map +1 -1
  25. package/dist/commands/token.js +34 -174
  26. package/dist/commands/token.js.map +1 -1
  27. package/dist/commands/whoami.d.ts.map +1 -1
  28. package/dist/commands/whoami.js +19 -27
  29. package/dist/commands/whoami.js.map +1 -1
  30. package/dist/lib/api-url.d.ts +8 -0
  31. package/dist/lib/api-url.d.ts.map +1 -0
  32. package/dist/lib/api-url.js +18 -0
  33. package/dist/lib/api-url.js.map +1 -0
  34. package/dist/lib/api.d.ts +13 -10
  35. package/dist/lib/api.d.ts.map +1 -1
  36. package/dist/lib/api.js +42 -56
  37. package/dist/lib/api.js.map +1 -1
  38. package/dist/lib/bootstrap.d.ts +6 -7
  39. package/dist/lib/bootstrap.d.ts.map +1 -1
  40. package/dist/lib/bootstrap.js +27 -35
  41. package/dist/lib/bootstrap.js.map +1 -1
  42. package/dist/lib/credentials.d.ts +14 -36
  43. package/dist/lib/credentials.d.ts.map +1 -1
  44. package/dist/lib/credentials.js +43 -181
  45. package/dist/lib/credentials.js.map +1 -1
  46. package/dist/lib/fs.d.ts.map +1 -1
  47. package/dist/lib/fs.js +14 -3
  48. package/dist/lib/fs.js.map +1 -1
  49. package/dist/lib/pek.d.ts +1 -1
  50. package/dist/lib/pek.d.ts.map +1 -1
  51. package/dist/lib/pek.js +1 -1
  52. package/dist/lib/pek.js.map +1 -1
  53. package/package.json +1 -1
@@ -1,20 +1,14 @@
1
- type TokenSaveOpts = {
1
+ export type TokenOpts = {
2
2
  apiUrl?: string;
3
- /** When true, do not offer to link after saving (caller is already linking). */
4
- skipLinkOffer?: boolean;
5
- /** Skip browser flow; paste token in the terminal. */
3
+ /** Skip browser flow; paste a token in the terminal. */
6
4
  paste?: boolean;
7
5
  };
8
- type TokenRemoveOpts = {
9
- fresh?: boolean;
10
- };
11
- export declare function tokenListCommand(): void;
12
- export declare function tokenUseCommand(nameOrId: string): void;
13
6
  /**
14
- * Authorize a per-project CLI token on this machine. Not a full account login.
15
- * Default: browser flow. Use --paste to type/paste a token from /cli.
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`.
16
10
  */
17
- export declare function tokenCommand(opts?: TokenSaveOpts): Promise<void>;
18
- export declare function tokenRemoveCommand(opts?: TokenRemoveOpts): Promise<void>;
19
- export {};
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>;
20
14
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"AAuBA,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAuBF,wBAAgB,gBAAgB,IAAI,IAAI,CAkCvC;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYtD;AAgJD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC1E;AAED,wBAAsB,kBAAkB,CACtC,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmGf"}
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;AAsIF;;;;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,16 +1,8 @@
1
1
  import { exec } from "node:child_process";
2
2
  import pc from "picocolors";
3
- import { promptChoice, promptConfirm, readLine, readProjectMeta, } from "../lib/fs.js";
4
- import { clearAllCredentials, credentialsFilePath, findTokenByNameOrId, hasRetiredCredentialsFile, readCredentialsV2, removeTokenEntry, setDefaultProject, upsertTokenEntry, } from "../lib/credentials.js";
5
- import { clearWrappedKey } from "../lib/pek.js";
6
- import { ApiClient, resolveApiUrl } from "../lib/api.js";
7
- import { linkCommand } from "./link.js";
8
- function maskToken(token) {
9
- const t = token.trim();
10
- if (t.length <= 8)
11
- return "****";
12
- return `${t.slice(0, 4)}…${t.slice(-4)}`;
13
- }
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";
14
6
  function openBrowser(url) {
15
7
  const platform = process.platform;
16
8
  const cmd = platform === "win32"
@@ -23,40 +15,8 @@ function openBrowser(url) {
23
15
  function sleep(ms) {
24
16
  return new Promise((resolve) => setTimeout(resolve, ms));
25
17
  }
26
- export function tokenListCommand() {
27
- const store = readCredentialsV2();
28
- console.log(pc.bold("\ngetmyenv token list\n"));
29
- console.log(pc.dim(`File: ${credentialsFilePath()}\n`));
30
- if (hasRetiredCredentialsFile() && !store) {
31
- console.log(pc.yellow("Old credentials file retired. Run: npx getmyenv token\n"));
32
- return;
33
- }
34
- if (!store || Object.keys(store.tokens).length === 0) {
35
- console.log(pc.dim("No saved tokens. Run: npx getmyenv token\n"));
36
- return;
37
- }
38
- const defaultId = store.default != null ? String(store.default) : undefined;
39
- for (const [id, entry] of Object.entries(store.tokens)) {
40
- const mark = defaultId === id ? "*" : " ";
41
- console.log(`${mark} ${id} ${entry.projectName} ${entry.cliScope} ${maskToken(entry.token)}`);
42
- if (entry.apiUrl)
43
- console.log(pc.dim(` API: ${entry.apiUrl}`));
44
- }
45
- console.log("");
46
- if (defaultId) {
47
- console.log(pc.dim(`Default: ${defaultId} (*). Use: token use <name|id>\n`));
48
- }
49
- }
50
- export function tokenUseCommand(nameOrId) {
51
- console.log(pc.bold("\ngetmyenv token use\n"));
52
- const match = findTokenByNameOrId(nameOrId.trim());
53
- if (!match) {
54
- throw new Error(`No saved token matches "${nameOrId}". Run: npx getmyenv token list`);
55
- }
56
- setDefaultProject(match.projectId);
57
- console.log(`${pc.green("✓")} Default token: ${match.entry.projectName} (${match.projectId}, ${match.entry.cliScope})\n`);
58
- }
59
- async function saveVerifiedToken(token, apiUrl, opts) {
18
+ /** Write token.json + project.json together. Authorize = link. */
19
+ async function saveVerifiedToken(token, apiUrl) {
60
20
  const client = new ApiClient(apiUrl, token);
61
21
  let who;
62
22
  try {
@@ -67,44 +27,33 @@ async function saveVerifiedToken(token, apiUrl, opts) {
67
27
  throw new Error(`Could not verify token: ${msg}`);
68
28
  }
69
29
  const scope = who.cliScope === "production" ? "production" : "development";
70
- const file = upsertTokenEntry(who.projectId, {
30
+ writeFolderToken({
71
31
  token,
72
32
  apiUrl,
73
- projectName: who.projectName,
74
33
  cliScope: scope,
75
- }, { setDefault: true });
76
- console.log(`\n${pc.green("✓")} Saved to ${file}`);
77
- console.log(pc.dim(`Token: ${who.label ?? scope} · ${who.projectName} · ${scope}`));
78
- console.log(pc.dim(`API: ${apiUrl}`));
79
- console.log(pc.dim(`Project: ${who.projectId}\n`));
80
- const meta = readProjectMeta();
81
- if (!opts.skipLinkOffer && process.stdin.isTTY && !meta?.projectId) {
82
- try {
83
- const doLink = await promptConfirm("Link this folder to the token project?", {
84
- defaultYes: true,
85
- });
86
- if (doLink) {
87
- await linkCommand(undefined, { apiUrl });
88
- return;
89
- }
90
- }
91
- catch {
92
- console.log(pc.dim("Run: npx getmyenv link\n"));
93
- }
94
- }
95
- if (!opts.skipLinkOffer) {
96
- console.log("Next: npx getmyenv link then npx getmyenv run -- <cmd>\n");
97
- }
34
+ projectId: who.projectId,
35
+ projectName: who.projectName,
36
+ label: who.label ?? undefined,
37
+ });
38
+ const existing = readProjectMeta() ?? {};
39
+ writeProjectMeta({
40
+ ...existing,
41
+ projectId: who.projectId,
42
+ projectName: who.projectName,
43
+ apiUrl,
44
+ defaultEnv: scope,
45
+ });
46
+ ensureGitignoreHasEnv();
47
+ console.log(`\n${pc.green("✓")} Authorized ${who.projectName} (${scope})\n`);
98
48
  }
99
49
  async function tokenViaPaste(opts, apiUrl) {
100
50
  const cliPage = `${apiUrl.replace(/\/$/, "")}/cli`;
101
- console.log(pc.dim(`Create or copy a token: ${cliPage}`));
102
- console.log("");
51
+ console.log(pc.dim(`Create or copy a token: ${cliPage}\n`));
103
52
  const token = (await readLine("Paste per-project CLI token: ")).trim();
104
53
  if (!token) {
105
54
  throw new Error("No token entered.");
106
55
  }
107
- await saveVerifiedToken(token, apiUrl, opts);
56
+ await saveVerifiedToken(token, apiUrl);
108
57
  }
109
58
  async function tokenViaBrowser(opts, apiUrl) {
110
59
  const client = new ApiClient(apiUrl);
@@ -119,7 +68,7 @@ async function tokenViaBrowser(opts, apiUrl) {
119
68
  await tokenViaPaste(opts, apiUrl);
120
69
  return;
121
70
  }
122
- console.log("Open this URL to authorize the CLI (sign in, pick a project):\n");
71
+ console.log("Open this URL to authorize the CLI:\n");
123
72
  console.log(` ${start.verifyUrl}\n`);
124
73
  if (process.stdin.isTTY) {
125
74
  openBrowser(start.verifyUrl);
@@ -139,7 +88,8 @@ async function tokenViaBrowser(opts, apiUrl) {
139
88
  throw new Error(`Could not poll CLI auth: ${msg}`);
140
89
  }
141
90
  if (poll.status === "approved" && poll.token) {
142
- await saveVerifiedToken(poll.token, apiUrl, opts);
91
+ process.stdout.write("\n");
92
+ await saveVerifiedToken(poll.token, apiUrl);
143
93
  return;
144
94
  }
145
95
  if (poll.status === "denied") {
@@ -156,20 +106,12 @@ async function tokenViaBrowser(opts, apiUrl) {
156
106
  throw new Error("CLI authorization timed out. Run: npx getmyenv token");
157
107
  }
158
108
  /**
159
- * Authorize a per-project CLI token on this machine. Not a full account login.
160
- * Default: browser flow. Use --paste to type/paste a token from /cli.
109
+ * Authorize this folder with a per-project CLI token.
110
+ * Default: browser. Use --paste for a token from /cli.
111
+ * Writes `.getmyenv/token.json` and `.getmyenv/project.json`.
161
112
  */
162
113
  export async function tokenCommand(opts = {}) {
163
114
  console.log(pc.bold("\ngetmyenv token\n"));
164
- console.log(pc.dim("Saves a per-project CLI token on this machine. Not a full account login.\n"));
165
- if (hasRetiredCredentialsFile() && !readCredentialsV2()) {
166
- console.log(pc.yellow("Old credentials file retired. Authorizing a new token replaces it.\n"));
167
- }
168
- const store = readCredentialsV2();
169
- const count = store ? Object.keys(store.tokens).length : 0;
170
- if (count > 0) {
171
- console.log(pc.dim(`${count} token(s) already saved. A new token replaces the entry for its project.\n`));
172
- }
173
115
  const apiUrl = opts.apiUrl?.trim() ||
174
116
  process.env.GETMYENV_API_URL?.trim() ||
175
117
  resolveApiUrl(opts.apiUrl);
@@ -179,95 +121,13 @@ export async function tokenCommand(opts = {}) {
179
121
  }
180
122
  await tokenViaBrowser(opts, apiUrl);
181
123
  }
182
- export async function tokenRemoveCommand(opts = {}) {
183
- console.log(pc.bold("\ngetmyenv token remove\n"));
184
- if (hasRetiredCredentialsFile() && !readCredentialsV2()) {
185
- if (clearAllCredentials()) {
186
- console.log(`${pc.green("✓")} Removed retired credentials at ${credentialsFilePath()}`);
187
- }
188
- if (opts.fresh) {
189
- clearWrappedKey();
190
- console.log(`${pc.green("✓")} Cleared local wrapped-key.json`);
191
- }
192
- console.log("");
124
+ /** Remove the token for this folder. Prefer `link --clear` to forget everything. */
125
+ export async function tokenClearCommand() {
126
+ console.log(pc.bold("\ngetmyenv token clear\n"));
127
+ if (clearFolderToken()) {
128
+ console.log(`${pc.green("✓")} Removed ${tokenFilePath()}\n`);
193
129
  return;
194
130
  }
195
- const store = readCredentialsV2();
196
- const ids = store ? Object.keys(store.tokens) : [];
197
- if (!store || ids.length === 0) {
198
- console.log(pc.dim("No saved tokens.\n"));
199
- return;
200
- }
201
- const meta = readProjectMeta();
202
- let projectId;
203
- let clearAll = false;
204
- if (meta?.projectId != null && store.tokens[String(meta.projectId)]) {
205
- projectId = String(meta.projectId);
206
- }
207
- else if (ids.length === 1) {
208
- projectId = ids[0];
209
- }
210
- else if (process.stdin.isTTY) {
211
- const labels = ids.map((id) => {
212
- const e = store.tokens[id];
213
- return `${e.projectName} (${id}, ${e.cliScope})`;
214
- });
215
- labels.push("All saved tokens");
216
- const pick = await promptChoice("Remove which token?", labels, 0);
217
- if (pick === labels.length - 1) {
218
- clearAll = true;
219
- }
220
- else {
221
- projectId = ids[pick];
222
- }
223
- }
224
- else {
225
- throw new Error("Multiple tokens saved. Re-run in a linked project folder, or use an interactive terminal.");
226
- }
227
- if (clearAll) {
228
- if (process.stdin.isTTY) {
229
- const ok = await promptConfirm("Remove all saved CLI tokens?", {
230
- defaultYes: false,
231
- });
232
- if (!ok) {
233
- console.log(pc.dim("Kept credentials.\n"));
234
- return;
235
- }
236
- }
237
- const path = credentialsFilePath();
238
- if (clearAllCredentials()) {
239
- console.log(`${pc.green("✓")} Cleared all credentials at ${path}`);
240
- }
241
- if (opts.fresh) {
242
- clearWrappedKey();
243
- console.log(`${pc.green("✓")} Cleared local wrapped-key.json`);
244
- }
245
- console.log("");
246
- return;
247
- }
248
- const entry = store.tokens[projectId];
249
- const label = entry ? `${entry.projectName} (${projectId})` : projectId;
250
- if (process.stdin.isTTY) {
251
- const ok = await promptConfirm(`Remove saved token for ${label}?`, {
252
- defaultYes: true,
253
- });
254
- if (!ok) {
255
- console.log(pc.dim("Kept credentials.\n"));
256
- return;
257
- }
258
- }
259
- if (removeTokenEntry(projectId)) {
260
- console.log(`${pc.green("✓")} Removed token for ${label}`);
261
- }
262
- else {
263
- console.log(pc.dim(`No saved token for ${label}`));
264
- }
265
- const linkedId = meta?.projectId != null ? String(meta.projectId) : null;
266
- if (opts.fresh || (linkedId && linkedId === String(projectId))) {
267
- if (clearWrappedKey()) {
268
- console.log(`${pc.green("✓")} Cleared local wrapped-key.json`);
269
- }
270
- }
271
- console.log("");
131
+ console.log(pc.dim("No token in this folder.\n"));
272
132
  }
273
133
  //# sourceMappingURL=token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAeA,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAQF,wBAAsB,aAAa,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDxE"}
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,CAiCxE"}
@@ -1,7 +1,7 @@
1
1
  import pc from "picocolors";
2
- import { credentialsFilePath, hasRetiredCredentialsFile, readCredentialsV2, resolveStoredToken, } from "../lib/credentials.js";
2
+ import { readFolderToken, tokenFilePath } from "../lib/credentials.js";
3
3
  import { readProjectMeta } from "../lib/fs.js";
4
- import { ApiClient, ensureSessionToken, resolveApiUrl, } from "../lib/api.js";
4
+ import { ApiClient, ensureSessionToken, isDefaultApiUrl, resolveApiUrl, } from "../lib/api.js";
5
5
  function maskToken(token) {
6
6
  const t = token.trim();
7
7
  if (t.length <= 8)
@@ -10,39 +10,31 @@ function maskToken(token) {
10
10
  }
11
11
  export async function whoamiCommand(opts = {}) {
12
12
  console.log(pc.bold("\ngetmyenv whoami\n"));
13
- const meta = readProjectMeta();
14
- const token = await ensureSessionToken(meta?.projectId);
15
- const apiUrl = resolveApiUrl(opts.apiUrl, meta?.projectId);
13
+ const token = await ensureSessionToken();
14
+ const apiUrl = resolveApiUrl(opts.apiUrl);
16
15
  const client = new ApiClient(apiUrl, token);
17
16
  const who = await client.request("GET", "/api/cli/whoami");
18
- const resolved = resolveStoredToken(meta?.projectId);
19
- const store = readCredentialsV2();
20
- console.log(`Token label: ${who.label ?? who.cliScope}`);
21
- console.log(`Token scope: ${who.cliScope}`);
22
- console.log(`Project: ${who.projectName} (${who.projectId})`);
17
+ const folder = readFolderToken();
18
+ const meta = readProjectMeta();
19
+ console.log(`Scope: ${who.cliScope}`);
20
+ console.log(`Project: ${who.projectName}`);
23
21
  if (meta?.projectId) {
24
- console.log(`Linked: ${meta.projectName ?? meta.projectId}${String(meta.projectId) === String(who.projectId) ? "" : " (mismatch)"}`);
22
+ const mismatch = String(meta.projectId) === String(who.projectId) ? "" : " (mismatch)";
23
+ console.log(`Linked: ${meta.projectName ?? who.projectName}${mismatch}`);
25
24
  }
26
25
  else {
27
- console.log(`Linked: (none)`);
26
+ console.log(`Linked: (none)`);
28
27
  }
29
- console.log(`defaultEnv: ${meta?.defaultEnv ?? who.cliScope}`);
30
- console.log(`API: ${apiUrl}`);
31
- console.log(`Credentials: ${credentialsFilePath()}`);
32
- if (process.env.GETMYENV_TOKEN?.trim()) {
33
- console.log(pc.dim("Source: GETMYENV_TOKEN"));
28
+ console.log(`defaultEnv: ${meta?.defaultEnv ?? who.cliScope}`);
29
+ if (!isDefaultApiUrl(apiUrl)) {
30
+ console.log(`API: ${apiUrl}`);
34
31
  }
35
- else if (resolved) {
36
- console.log(pc.dim(`Source: ${resolved.source}${resolved.projectId ? ` (${resolved.projectId})` : ""}`));
37
- if (resolved.token) {
38
- console.log(pc.dim(`Token: ${maskToken(resolved.token)}`));
39
- }
40
- }
41
- if (store) {
42
- console.log(pc.dim(`Saved tokens: ${Object.keys(store.tokens).length}`));
32
+ console.log(`Auth: ${tokenFilePath()}`);
33
+ if (process.env.GETMYENV_TOKEN?.trim()) {
34
+ console.log(pc.dim("Source: GETMYENV_TOKEN"));
43
35
  }
44
- else if (hasRetiredCredentialsFile()) {
45
- console.log(pc.dim("Saved tokens: (retired file; run token)"));
36
+ else if (folder) {
37
+ console.log(pc.dim(`Token: ${maskToken(folder.token)}`));
46
38
  }
47
39
  console.log("");
48
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,aAAa,GAEd,MAAM,eAAe,CAAC;AAMvB,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACjC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAmB,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAiB,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IACnE,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,iBAAiB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,GACjD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAC1D,EAAE,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,GAAG,CACT,iBAAiB,IAAI,EAAE,UAAU,IAAI,GAAG,CAAC,QAAQ,EAAE,CACpD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,iBAAiB,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAEtD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,GAAG,CACJ,iBAAiB,QAAQ,CAAC,MAAM,GAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EACpD,EAAE,CACH,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,yBAAyB,EAAE,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,aAAa,GAEd,MAAM,eAAe,CAAC;AAMvB,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACjC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAmB,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAiB,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;QACpB,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,UAAU,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,aAAa,EAAE,EAAE,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Production API default. Persist apiUrl on disk only when different. */
2
+ export declare const PRODUCTION_API = "https://getmyenv.com";
3
+ export declare function normalizeApiBase(url: string): string;
4
+ /** True when url is the production default (nothing to persist on disk). */
5
+ export declare function isDefaultApiUrl(url: string | undefined | null): boolean;
6
+ /** Persist only when different from production. */
7
+ export declare function apiUrlForDisk(url: string | undefined | null): string | undefined;
8
+ //# sourceMappingURL=api-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-url.d.ts","sourceRoot":"","sources":["../../src/lib/api-url.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAGvE;AAED,mDAAmD;AACnD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC7B,MAAM,GAAG,SAAS,CAGpB"}
@@ -0,0 +1,18 @@
1
+ /** Production API default. Persist apiUrl on disk only when different. */
2
+ export const PRODUCTION_API = "https://getmyenv.com";
3
+ export function normalizeApiBase(url) {
4
+ return url.trim().replace(/\/$/, "");
5
+ }
6
+ /** True when url is the production default (nothing to persist on disk). */
7
+ export function isDefaultApiUrl(url) {
8
+ if (!url?.trim())
9
+ return true;
10
+ return normalizeApiBase(url) === PRODUCTION_API;
11
+ }
12
+ /** Persist only when different from production. */
13
+ export function apiUrlForDisk(url) {
14
+ if (!url?.trim() || isDefaultApiUrl(url))
15
+ return undefined;
16
+ return normalizeApiBase(url);
17
+ }
18
+ //# sourceMappingURL=api-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-url.js","sourceRoot":"","sources":["../../src/lib/api-url.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,GAA8B;IAC5D,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,cAAc,CAAC;AAClD,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAC3B,GAA8B;IAE9B,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3D,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC"}
package/dist/lib/api.d.ts CHANGED
@@ -2,9 +2,10 @@
2
2
  * CLI API client. Never logs response bodies that may contain ciphertext details
3
3
  * beyond what is needed; never prints secret plaintext.
4
4
  */
5
- import { clearAllCredentials, credentialsFilePath, readCredentialsV2, resolveStoredToken, upsertTokenEntry, type CliScope } from "./credentials.js";
5
+ import { type CliScope } from "./credentials.js";
6
6
  /** Keep in sync with packages/cli/package.json version. */
7
- export declare const CLI_VERSION = "0.3.3";
7
+ export declare const CLI_VERSION = "0.3.5";
8
+ export { PRODUCTION_API, isDefaultApiUrl, apiUrlForDisk, normalizeApiBase } from "./api-url.js";
8
9
  export type WhoamiResponse = {
9
10
  projectId: string;
10
11
  projectName: string;
@@ -12,8 +13,8 @@ export type WhoamiResponse = {
12
13
  label: string | null;
13
14
  allowedCidrs?: string[];
14
15
  };
15
- /** Resolve API base: env → CLI override → selected token → production. */
16
- export declare function resolveApiUrl(cliOverride?: string, preferredProjectId?: string | number | null): string;
16
+ /** Resolve API base: CLI override → env var → folder token/meta → production. */
17
+ export declare function resolveApiUrl(cliOverride?: string, _hint?: unknown): string;
17
18
  export declare class ApiClient {
18
19
  private baseUrl;
19
20
  private token?;
@@ -21,12 +22,14 @@ export declare class ApiClient {
21
22
  private headers;
22
23
  request<T>(method: string, path: string, body?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
23
24
  }
24
- /** Env / store only (no prompt). Prefer ensureSessionToken for interactive commands. */
25
- export declare function getSessionToken(preferredProjectId?: string | number | null): string | undefined;
25
+ /** Env / folder token only (no prompt). Prefer ensureSessionToken for interactive commands. */
26
+ export declare function getSessionToken(): string | undefined;
27
+ /** True when the folder is already authorized (env or .getmyenv/token.json). */
28
+ export declare function hasSessionToken(): boolean;
26
29
  /**
27
- * Env → credentials map (linked / default / single) → interactive paste (TTY).
28
- * Non-TTY without a token throws with token instructions.
30
+ * Env → folder token. When missing, TTY runs the browser auth flow (via tokenCommand)
31
+ * and writes `.getmyenv/token.json`. Non-TTY throws.
29
32
  */
30
- export declare function ensureSessionToken(preferredProjectId?: string | number | null): Promise<string>;
31
- export { clearAllCredentials, credentialsFilePath, readCredentialsV2, resolveStoredToken, upsertTokenEntry, };
33
+ export declare function ensureSessionToken(_hint?: unknown): Promise<string>;
34
+ export { readFolderToken, writeFolderToken, tokenFilePath, } from "./credentials.js";
32
35
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EAEnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAE1B,2DAA2D;AAC3D,eAAO,MAAM,WAAW,UAAU,CAAC;AAInC,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,aAAa,CAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC1C,MAAM,CAUR;AAED,qBAAa,SAAS;IAElB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK,CAAC;gBADN,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,YAAA;IAGxB,OAAO,CAAC,OAAO;IAWT,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC;CAmBd;AAMD,wFAAwF;AACxF,wBAAgB,eAAe,CAC7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC1C,MAAM,GAAG,SAAS,CAOpB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC1C,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAED,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,kBAAkB,CAAC;AAG1B,2DAA2D;AAC3D,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhG,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAU3E;AAED,qBAAa,SAAS;IAElB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK,CAAC;gBADN,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,YAAA;IAGxB,OAAO,CAAC,OAAO;IAWT,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC;CAmBd;AAED,+FAA+F;AAC/F,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAIpD;AAED,gFAAgF;AAChF,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAC"}