@pmate/cli 0.3.8 → 0.3.10

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.
package/README.md CHANGED
@@ -29,6 +29,7 @@ pmate --name Bob
29
29
  pmate add-dns --type A --value 1.2.3.4 --rr api
30
30
  pmate login
31
31
  pmate sts
32
+ pmate oss list
32
33
  ```
33
34
 
34
35
  ## Aliyun credentials config
@@ -0,0 +1,8 @@
1
+ import { DevCommandArgs } from "../types";
2
+ export declare class DevCommandHandler {
3
+ handle(args: DevCommandArgs): Promise<void>;
4
+ private resolveCwd;
5
+ private loadConfig;
6
+ private loadPackageJson;
7
+ private runCommand;
8
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DevCommandHandler = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
7
+ const node_child_process_1 = require("node:child_process");
8
+ const yaml_1 = tslib_1.__importDefault(require("yaml"));
9
+ class DevCommandHandler {
10
+ async handle(args) {
11
+ var _a, _b;
12
+ const appName = args.devApp.trim();
13
+ if (!appName) {
14
+ throw new Error("Missing app name. Usage: dev <app-name> [--cwd <dir>].");
15
+ }
16
+ const cwd = this.resolveCwd(args.devCwd);
17
+ const config = this.loadConfig(cwd);
18
+ const appConfig = config.apps.find((entry) => (entry === null || entry === void 0 ? void 0 : entry.app) === appName);
19
+ if (!appConfig) {
20
+ throw new Error(`No app named ${appName} found in ${node_path_1.default.join(cwd, ".pmate.yaml")}`);
21
+ }
22
+ const packageJsonPath = node_path_1.default.join(cwd, "apps", appName, "package.json");
23
+ if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
24
+ throw new Error(`No package.json found at ${packageJsonPath}`);
25
+ }
26
+ const pkg = this.loadPackageJson(packageJsonPath);
27
+ const pkgName = (_a = pkg.name) === null || _a === void 0 ? void 0 : _a.trim();
28
+ if (!pkgName) {
29
+ throw new Error(`Missing package name in ${packageJsonPath}`);
30
+ }
31
+ if (!((_b = pkg.scripts) === null || _b === void 0 ? void 0 : _b.dev)) {
32
+ throw new Error(`Missing dev script in ${packageJsonPath}`);
33
+ }
34
+ await this.runCommand("pnpm", ["--filter", pkgName, "run", "dev"], cwd);
35
+ }
36
+ resolveCwd(target) {
37
+ return target ? node_path_1.default.resolve(process.cwd(), target) : process.cwd();
38
+ }
39
+ loadConfig(cwd) {
40
+ const configPath = node_path_1.default.join(cwd, ".pmate.yaml");
41
+ if (!(0, node_fs_1.existsSync)(configPath)) {
42
+ throw new Error(`No .pmate.yaml found in ${cwd}`);
43
+ }
44
+ const raw = (0, node_fs_1.readFileSync)(configPath, "utf8");
45
+ const parsed = yaml_1.default.parse(raw);
46
+ if (!parsed || typeof parsed !== "object" || !Array.isArray(parsed.apps)) {
47
+ throw new Error("Invalid .pmate.yaml: missing apps array");
48
+ }
49
+ return parsed;
50
+ }
51
+ loadPackageJson(packageJsonPath) {
52
+ const raw = (0, node_fs_1.readFileSync)(packageJsonPath, "utf8");
53
+ const parsed = JSON.parse(raw);
54
+ if (!parsed || typeof parsed !== "object") {
55
+ throw new Error(`Invalid package.json at ${packageJsonPath}`);
56
+ }
57
+ return parsed;
58
+ }
59
+ runCommand(command, args, cwd) {
60
+ return new Promise((resolve, reject) => {
61
+ const child = (0, node_child_process_1.spawn)(command, args, {
62
+ cwd,
63
+ stdio: "inherit",
64
+ });
65
+ child.on("error", (error) => {
66
+ reject(error);
67
+ });
68
+ child.on("close", (code) => {
69
+ if (code === 0) {
70
+ resolve();
71
+ return;
72
+ }
73
+ reject(new Error(`${command} exited with code ${code}`));
74
+ });
75
+ });
76
+ }
77
+ }
78
+ exports.DevCommandHandler = DevCommandHandler;
79
+ //# sourceMappingURL=DevCommandHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevCommandHandler.js","sourceRoot":"","sources":["../../src/commands/DevCommandHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { EnvCommandArgs } from "../types";
2
+ export declare class EnvCommandHandler {
3
+ handle(args: EnvCommandArgs): Promise<void>;
4
+ private listEnvKeys;
5
+ private appendEnvLine;
6
+ private assertValidEnvKey;
7
+ private loadConfig;
8
+ private runRemoteCommand;
9
+ private runRemoteCommandCapture;
10
+ private getRepoDirName;
11
+ }
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnvCommandHandler = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
7
+ const node_child_process_1 = require("node:child_process");
8
+ const yaml_1 = tslib_1.__importDefault(require("yaml"));
9
+ const cli_1 = require("../cli");
10
+ class EnvCommandHandler {
11
+ async handle(args) {
12
+ var _a, _b, _c;
13
+ const appName = args.envApp.trim();
14
+ if (!appName) {
15
+ throw new Error("Missing app name. Usage: env <app-name> --list|--add");
16
+ }
17
+ const config = this.loadConfig(process.cwd());
18
+ const appConfig = config.apps.find((entry) => (entry === null || entry === void 0 ? void 0 : entry.app) === appName);
19
+ if (!appConfig) {
20
+ throw new Error(`No app named ${appName} found in ${node_path_1.default.join(process.cwd(), ".pmate.yaml")}`);
21
+ }
22
+ const server = (_a = appConfig.server) === null || _a === void 0 ? void 0 : _a.trim();
23
+ if (!server) {
24
+ throw new Error(`Missing server for ${appName} in .pmate.yaml`);
25
+ }
26
+ const repository = (_b = appConfig.repository) === null || _b === void 0 ? void 0 : _b.trim();
27
+ if (!repository) {
28
+ throw new Error(`Missing repository for ${appName} in .pmate.yaml`);
29
+ }
30
+ const repoDir = this.getRepoDirName(repository);
31
+ const appDir = node_path_1.default.posix.join("apps", appName);
32
+ const envLocalPath = node_path_1.default.posix.join(appDir, ".env.local");
33
+ const envPath = node_path_1.default.posix.join(appDir, ".env");
34
+ if (args.envAction === "list") {
35
+ await this.listEnvKeys(server, repoDir, envLocalPath, envPath);
36
+ return;
37
+ }
38
+ const envKey = (_c = args.envKey) === null || _c === void 0 ? void 0 : _c.trim();
39
+ if (!envKey) {
40
+ throw new Error("Missing env key. Usage: env <app-name> --add KEY");
41
+ }
42
+ this.assertValidEnvKey(envKey);
43
+ const value = await promptHidden(`Value for ${envKey}: `);
44
+ if (value.length === 0) {
45
+ throw new Error("Empty value is not allowed.");
46
+ }
47
+ const formattedValue = formatEnvValue(value);
48
+ const envLine = `${envKey}=${formattedValue}`;
49
+ await this.appendEnvLine(server, repoDir, envLocalPath, envPath, envKey, envLine);
50
+ cli_1.ui.success(`Added ${envKey} to .env.local`, appName);
51
+ }
52
+ async listEnvKeys(server, repoDir, envLocalPath, envPath) {
53
+ const command = [
54
+ `cd "$HOME/${repoDir}" || exit 1`,
55
+ `env_local=${shellQuote(envLocalPath)}`,
56
+ `env_file=${shellQuote(envPath)}`,
57
+ `for file in "$env_local" "$env_file"; do`,
58
+ ` if [ -f "$file" ]; then`,
59
+ ` awk -F= 'NF && $1 !~ /^#/ { gsub(/^[[:space:]]+|[[:space:]]+$/, "", $1); print $1 }' "$file"`,
60
+ ` fi`,
61
+ `done | awk '!seen[$0]++'`,
62
+ ].join("\n");
63
+ const output = await this.runRemoteCommandCapture(server, command);
64
+ const keys = output
65
+ .split(/\r?\n/)
66
+ .map((line) => line.trim())
67
+ .filter(Boolean);
68
+ if (keys.length === 0) {
69
+ cli_1.ui.warn("No env keys found.");
70
+ return;
71
+ }
72
+ for (const key of keys) {
73
+ cli_1.ui.info(key);
74
+ }
75
+ }
76
+ async appendEnvLine(server, repoDir, envLocalPath, envPath, envKey, envLine) {
77
+ const keyPattern = shellQuote(`^${envKey}=`);
78
+ const lineLiteral = shellQuote(envLine);
79
+ const command = [
80
+ `cd "$HOME/${repoDir}" || exit 1`,
81
+ `env_local=${shellQuote(envLocalPath)}`,
82
+ `env_file=${shellQuote(envPath)}`,
83
+ `if [ -f "$env_local" ] && grep -q ${keyPattern} "$env_local"; then echo "Key ${envKey} already exists in .env.local" >&2; exit 3; fi`,
84
+ `if [ -f "$env_file" ] && grep -q ${keyPattern} "$env_file"; then echo "Key ${envKey} already exists in .env" >&2; exit 3; fi`,
85
+ `mkdir -p "$(dirname "$env_local")"`,
86
+ `printf '%s\\n' ${lineLiteral} >> "$env_local"`,
87
+ ].join(" && ");
88
+ await this.runRemoteCommand(server, command);
89
+ }
90
+ assertValidEnvKey(key) {
91
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(key)) {
92
+ throw new Error(`Invalid env key: ${key}`);
93
+ }
94
+ }
95
+ loadConfig(cwd) {
96
+ const configPath = node_path_1.default.join(cwd, ".pmate.yaml");
97
+ if (!(0, node_fs_1.existsSync)(configPath)) {
98
+ throw new Error(`No .pmate.yaml found in ${cwd}`);
99
+ }
100
+ const raw = (0, node_fs_1.readFileSync)(configPath, "utf8");
101
+ const parsed = yaml_1.default.parse(raw);
102
+ if (!parsed || typeof parsed !== "object" || !Array.isArray(parsed.apps)) {
103
+ throw new Error("Invalid .pmate.yaml: missing apps array");
104
+ }
105
+ return parsed;
106
+ }
107
+ runRemoteCommand(server, command) {
108
+ return new Promise((resolve, reject) => {
109
+ const target = `pmate@${server}`;
110
+ const child = (0, node_child_process_1.spawn)("ssh", [target, "bash", "-lc", command], {
111
+ stdio: "inherit",
112
+ });
113
+ child.on("error", (error) => {
114
+ reject(error);
115
+ });
116
+ child.on("close", (code) => {
117
+ if (code === 0) {
118
+ resolve();
119
+ return;
120
+ }
121
+ reject(new Error(`ssh to ${server} exited with code ${code}`));
122
+ });
123
+ });
124
+ }
125
+ runRemoteCommandCapture(server, command) {
126
+ return new Promise((resolve, reject) => {
127
+ var _a, _b;
128
+ const target = `pmate@${server}`;
129
+ const child = (0, node_child_process_1.spawn)("ssh", [target, "bash", "-lc", command], {
130
+ stdio: ["ignore", "pipe", "pipe"],
131
+ });
132
+ let output = "";
133
+ let errorOutput = "";
134
+ (_a = child.stdout) === null || _a === void 0 ? void 0 : _a.on("data", (chunk) => {
135
+ output += chunk.toString();
136
+ });
137
+ (_b = child.stderr) === null || _b === void 0 ? void 0 : _b.on("data", (chunk) => {
138
+ errorOutput += chunk.toString();
139
+ });
140
+ child.on("error", (error) => {
141
+ reject(error);
142
+ });
143
+ child.on("close", (code) => {
144
+ if (code === 0) {
145
+ resolve(output);
146
+ return;
147
+ }
148
+ const trimmed = errorOutput.trim();
149
+ reject(new Error(trimmed
150
+ ? `ssh to ${server} failed: ${trimmed}`
151
+ : `ssh to ${server} exited with code ${code}`));
152
+ });
153
+ });
154
+ }
155
+ getRepoDirName(repository) {
156
+ var _a;
157
+ const trimmed = repository.replace(/\/+$/, "");
158
+ const base = (_a = trimmed.split("/").pop()) !== null && _a !== void 0 ? _a : trimmed;
159
+ return base.replace(/\.git$/i, "");
160
+ }
161
+ }
162
+ exports.EnvCommandHandler = EnvCommandHandler;
163
+ function promptHidden(prompt) {
164
+ return new Promise((resolve, reject) => {
165
+ const stdin = process.stdin;
166
+ const stdout = process.stdout;
167
+ if (!stdin.isTTY) {
168
+ reject(new Error("Hidden input requires a TTY."));
169
+ return;
170
+ }
171
+ let value = "";
172
+ const onData = (chunk) => {
173
+ for (const char of chunk.toString()) {
174
+ switch (char) {
175
+ case "\r":
176
+ case "\n":
177
+ stdout.write("\n");
178
+ cleanup();
179
+ resolve(value);
180
+ return;
181
+ case "\u0003":
182
+ cleanup();
183
+ reject(new Error("Input canceled."));
184
+ return;
185
+ case "\u007f":
186
+ case "\b":
187
+ if (value.length > 0) {
188
+ value = value.slice(0, -1);
189
+ }
190
+ break;
191
+ default:
192
+ value += char;
193
+ }
194
+ }
195
+ };
196
+ const cleanup = () => {
197
+ stdin.setRawMode(false);
198
+ stdin.pause();
199
+ stdin.removeListener("data", onData);
200
+ };
201
+ stdout.write(prompt);
202
+ stdin.setRawMode(true);
203
+ stdin.resume();
204
+ stdin.setEncoding("utf8");
205
+ stdin.on("data", onData);
206
+ });
207
+ }
208
+ function shellQuote(value) {
209
+ return `'${value.replace(/'/g, `'\\''`)}'`;
210
+ }
211
+ function formatEnvValue(value) {
212
+ if (value === "") {
213
+ return `""`;
214
+ }
215
+ if (/[\s#"]/.test(value)) {
216
+ const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
217
+ return `"${escaped}"`;
218
+ }
219
+ return value;
220
+ }
221
+ //# sourceMappingURL=EnvCommandHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvCommandHandler.js","sourceRoot":"","sources":["../../src/commands/EnvCommandHandler.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ export declare class InitCommandHandler {
8
8
  private resolveCwd;
9
9
  private sleep;
10
10
  private loadConfig;
11
+ private addAppConfig;
11
12
  private loadPackageJson;
12
13
  private writePackageJson;
14
+ private writeConfig;
15
+ private promptRequired;
16
+ private promptChoice;
17
+ private promptNumber;
13
18
  }
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const node_fs_1 = require("node:fs");
6
6
  const node_path_1 = tslib_1.__importDefault(require("node:path"));
7
7
  const node_child_process_1 = require("node:child_process");
8
+ const promises_1 = require("node:readline/promises");
8
9
  const yaml_1 = tslib_1.__importDefault(require("yaml"));
9
10
  const AliyunService_1 = require("../services/AliyunService");
10
11
  const cli_1 = require("../cli");
@@ -15,10 +16,14 @@ class InitCommandHandler {
15
16
  throw new Error("Missing app name. Usage: init <app-name> [--cwd <dir>].");
16
17
  }
17
18
  const cwd = this.resolveCwd(args.initCwd);
19
+ const appDir = node_path_1.default.join(cwd, "apps", appName);
20
+ if (!(0, node_fs_1.existsSync)(appDir)) {
21
+ throw new Error(`No app folder found at ${appDir}`);
22
+ }
18
23
  const config = this.loadConfig(cwd);
19
- const appConfig = config.apps.find((entry) => (entry === null || entry === void 0 ? void 0 : entry.app) === appName);
24
+ let appConfig = config.apps.find((entry) => (entry === null || entry === void 0 ? void 0 : entry.app) === appName);
20
25
  if (!appConfig) {
21
- throw new Error(`No app named ${appName} found in ${node_path_1.default.join(cwd, ".pmate.yaml")}`);
26
+ appConfig = await this.addAppConfig(config, appName, cwd);
22
27
  }
23
28
  switch (appConfig.type) {
24
29
  case "vite":
@@ -241,6 +246,56 @@ class InitCommandHandler {
241
246
  }
242
247
  return parsed;
243
248
  }
249
+ async addAppConfig(config, appName, cwd) {
250
+ cli_1.ui.title(`App ${appName} not found in .pmate.yaml.`);
251
+ cli_1.ui.info("Let's add it now.");
252
+ const rl = (0, promises_1.createInterface)({
253
+ input: process.stdin,
254
+ output: process.stdout,
255
+ });
256
+ try {
257
+ const type = (await this.promptChoice(rl, "App type (vite/static/node): ", ["vite", "static", "node"]));
258
+ if (type === "vite" || type === "static") {
259
+ const bucket = await this.promptRequired(rl, "Bucket name: ");
260
+ const subdomainInput = (await rl.question("Subdomain (optional): ")).trim();
261
+ const baseEntry = {
262
+ type,
263
+ app: appName,
264
+ bucket,
265
+ };
266
+ if (subdomainInput) {
267
+ baseEntry.subdomain = subdomainInput;
268
+ }
269
+ config.apps.push(baseEntry);
270
+ this.writeConfig(cwd, config);
271
+ cli_1.ui.success(`Added ${appName} to .pmate.yaml`);
272
+ return baseEntry;
273
+ }
274
+ else {
275
+ const subdomain = await this.promptRequired(rl, "Subdomain: ");
276
+ const server = await this.promptRequired(rl, "Server IP/host: ");
277
+ const port = await this.promptNumber(rl, "Port: ");
278
+ const repositoryInput = (await rl.question("Repository (owner/name, optional): ")).trim();
279
+ const baseEntry = {
280
+ type,
281
+ app: appName,
282
+ subdomain,
283
+ server,
284
+ port,
285
+ };
286
+ if (repositoryInput) {
287
+ baseEntry.repository = repositoryInput;
288
+ }
289
+ config.apps.push(baseEntry);
290
+ this.writeConfig(cwd, config);
291
+ cli_1.ui.success(`Added ${appName} to .pmate.yaml`);
292
+ return baseEntry;
293
+ }
294
+ }
295
+ finally {
296
+ rl.close();
297
+ }
298
+ }
244
299
  loadPackageJson(packageJsonPath) {
245
300
  const raw = (0, node_fs_1.readFileSync)(packageJsonPath, "utf8");
246
301
  const parsed = JSON.parse(raw);
@@ -253,6 +308,41 @@ class InitCommandHandler {
253
308
  const serialized = JSON.stringify(data, null, 2);
254
309
  (0, node_fs_1.writeFileSync)(packageJsonPath, `${serialized}\n`, "utf8");
255
310
  }
311
+ writeConfig(cwd, config) {
312
+ const configPath = node_path_1.default.join(cwd, ".pmate.yaml");
313
+ const serialized = yaml_1.default.stringify(config).trimEnd();
314
+ (0, node_fs_1.writeFileSync)(configPath, `${serialized}\n`, "utf8");
315
+ }
316
+ async promptRequired(rl, question) {
317
+ while (true) {
318
+ const answer = (await rl.question(question)).trim();
319
+ if (answer) {
320
+ return answer;
321
+ }
322
+ cli_1.ui.warn("Please enter a value.");
323
+ }
324
+ }
325
+ async promptChoice(rl, question, choices) {
326
+ const normalized = choices.map((choice) => choice.toLowerCase());
327
+ while (true) {
328
+ const answer = (await rl.question(question)).trim().toLowerCase();
329
+ const index = normalized.indexOf(answer);
330
+ if (index >= 0) {
331
+ return choices[index];
332
+ }
333
+ cli_1.ui.warn(`Please choose one of: ${choices.join(", ")}`);
334
+ }
335
+ }
336
+ async promptNumber(rl, question) {
337
+ while (true) {
338
+ const answer = (await rl.question(question)).trim();
339
+ const value = Number(answer);
340
+ if (Number.isFinite(value) && value > 0) {
341
+ return value;
342
+ }
343
+ cli_1.ui.warn("Please enter a valid number.");
344
+ }
345
+ }
256
346
  }
257
347
  exports.InitCommandHandler = InitCommandHandler;
258
348
  //# sourceMappingURL=InitCommandHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InitCommandHandler.js","sourceRoot":"","sources":["../../src/commands/InitCommandHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InitCommandHandler.js","sourceRoot":"","sources":["../../src/commands/InitCommandHandler.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const promises_1 = require("node:readline/promises");
9
9
  const cli_1 = require("../cli");
10
10
  class LoginCommandHandler {
11
11
  async handle(_args) {
12
+ var _a;
12
13
  const baseUrl = this.normalizeBaseUrl("https://auth.pmate.chat");
13
14
  const rl = (0, promises_1.createInterface)({
14
15
  input: process.stdin,
@@ -16,16 +17,33 @@ class LoginCommandHandler {
16
17
  });
17
18
  try {
18
19
  const mobile = await this.promptRequired(rl, "Mobile: ");
19
- const issue = await this.issueVCode(baseUrl, mobile);
20
- cli_1.ui.info("Verification code issued.", issue);
21
- const vcodeInput = await rl.question(`VCode (press enter to use mocked ${issue.vcode}): `);
22
- const vcode = vcodeInput.trim() || issue.vcode;
23
- const loginPayload = {
24
- body: { type: "sms", mobile, vcode },
25
- nonce: issue.nonce,
26
- issuedAt: issue.issuedAt,
27
- };
28
- const loginResponse = await this.login(baseUrl, loginPayload);
20
+ const testAuthKey = (_a = process.env.TEST_AUTH_KEY) === null || _a === void 0 ? void 0 : _a.trim();
21
+ const isTestLogin = mobile === "99999999999";
22
+ if (isTestLogin && !testAuthKey) {
23
+ throw new Error("TEST_AUTH_KEY is required for test login.");
24
+ }
25
+ let loginPayload;
26
+ if (isTestLogin) {
27
+ const timestamp = Date.now();
28
+ const issuedAt = new Date(timestamp).toISOString();
29
+ loginPayload = {
30
+ body: { type: "sms", mobile: `test_${timestamp}`, vcode: "000000" },
31
+ nonce: `test_${timestamp}`,
32
+ issuedAt,
33
+ };
34
+ }
35
+ else {
36
+ const issue = await this.issueVCode(baseUrl, mobile);
37
+ cli_1.ui.info("Verification code issued.", issue);
38
+ const vcodeInput = await rl.question(`VCode (press enter to use mocked ${issue.vcode}): `);
39
+ const vcode = vcodeInput.trim() || issue.vcode;
40
+ loginPayload = {
41
+ body: { type: "sms", mobile, vcode },
42
+ nonce: issue.nonce,
43
+ issuedAt: issue.issuedAt,
44
+ };
45
+ }
46
+ const loginResponse = await this.login(baseUrl, loginPayload, isTestLogin ? testAuthKey : undefined);
29
47
  const sessionPath = this.writeSession(loginResponse);
30
48
  cli_1.ui.success(`Logged in. Session saved to ${sessionPath}`);
31
49
  }
@@ -58,10 +76,17 @@ class LoginCommandHandler {
58
76
  const resp = (await response.json());
59
77
  return resp.data;
60
78
  }
61
- async login(baseUrl, payload) {
79
+ async login(baseUrl, payload, testAuthKey) {
80
+ const headers = {
81
+ "content-type": "application/json",
82
+ };
83
+ if (testAuthKey) {
84
+ // Auth API expects this header name for test account creation.
85
+ headers.athentication = testAuthKey;
86
+ }
62
87
  const response = await fetch(`${baseUrl}/login`, {
63
88
  method: "POST",
64
- headers: { "content-type": "application/json" },
89
+ headers,
65
90
  body: JSON.stringify(payload),
66
91
  });
67
92
  if (!response.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"LoginCommandHandler.js","sourceRoot":"","sources":["../../src/commands/LoginCommandHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginCommandHandler.js","sourceRoot":"","sources":["../../src/commands/LoginCommandHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { OssCommandArgs } from "../types";
2
+ export declare class OssCommandHandler {
3
+ handle(args: OssCommandArgs): Promise<void>;
4
+ }