codeloop 0.1.22 → 0.1.24
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/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +27 -13
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/signup.d.ts.map +1 -1
- package/dist/commands/signup.js +43 -6
- package/dist/commands/signup.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/utils/api-client.d.ts +9 -0
- package/dist/utils/api-client.d.ts.map +1 -1
- package/dist/utils/api-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAYA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B1E;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAYA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B1E;AA0FD;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW1D"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -35,6 +35,28 @@ export async function authCommand(options = {}) {
|
|
|
35
35
|
}
|
|
36
36
|
function startAuthFlow(state) {
|
|
37
37
|
return new Promise((resolve) => {
|
|
38
|
+
let spinner;
|
|
39
|
+
let timer;
|
|
40
|
+
let resolved = false;
|
|
41
|
+
function finish(key, opts = {}) {
|
|
42
|
+
if (resolved)
|
|
43
|
+
return;
|
|
44
|
+
resolved = true;
|
|
45
|
+
clearTimeout(timer);
|
|
46
|
+
if (spinner) {
|
|
47
|
+
if (key) {
|
|
48
|
+
spinner.succeed("Authenticated successfully");
|
|
49
|
+
}
|
|
50
|
+
else if (opts.reason) {
|
|
51
|
+
spinner.fail(opts.reason);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
spinner.stop();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
server.close();
|
|
58
|
+
resolve(key);
|
|
59
|
+
}
|
|
38
60
|
const server = createServer((req, res) => {
|
|
39
61
|
const url = new URL(req.url || "/", `http://localhost`);
|
|
40
62
|
if (url.pathname === "/callback") {
|
|
@@ -52,28 +74,22 @@ function startAuthFlow(state) {
|
|
|
52
74
|
}
|
|
53
75
|
res.writeHead(200, { "Content-Type": "text/html" });
|
|
54
76
|
res.end(successPage());
|
|
55
|
-
|
|
56
|
-
resolve(key);
|
|
77
|
+
finish(key);
|
|
57
78
|
return;
|
|
58
79
|
}
|
|
59
80
|
res.writeHead(404, { "Content-Type": "text/plain" });
|
|
60
81
|
res.end("Not found");
|
|
61
82
|
});
|
|
62
|
-
let timer;
|
|
63
|
-
function cleanup() {
|
|
64
|
-
clearTimeout(timer);
|
|
65
|
-
server.close();
|
|
66
|
-
}
|
|
67
83
|
server.listen(0, "127.0.0.1", async () => {
|
|
68
84
|
const addr = server.address();
|
|
69
85
|
if (!addr || typeof addr === "string") {
|
|
70
86
|
printError("Failed to start local server");
|
|
71
|
-
|
|
87
|
+
finish(null, { reason: "Failed to start local server" });
|
|
72
88
|
return;
|
|
73
89
|
}
|
|
74
90
|
const port = addr.port;
|
|
75
91
|
const authUrl = `${AUTH_URL}?port=${port}&state=${state}`;
|
|
76
|
-
|
|
92
|
+
spinner = ora("Waiting for browser authentication...").start();
|
|
77
93
|
spinner.text = `Opening browser to sign in...\n\n ${chalk.cyan(authUrl)}\n`;
|
|
78
94
|
try {
|
|
79
95
|
await open(authUrl);
|
|
@@ -83,16 +99,14 @@ function startAuthFlow(state) {
|
|
|
83
99
|
spinner.text = `Could not open browser automatically.\n\n Open this URL manually:\n ${chalk.cyan(authUrl)}\n`;
|
|
84
100
|
}
|
|
85
101
|
timer = setTimeout(() => {
|
|
86
|
-
spinner.fail("Authentication timed out (5 minutes)");
|
|
87
102
|
printError("Try again with: npx codeloop auth");
|
|
88
103
|
printInfo("Or use email/password: npx codeloop auth --no-browser\n");
|
|
89
|
-
|
|
90
|
-
resolve(null);
|
|
104
|
+
finish(null, { reason: "Authentication timed out (5 minutes)" });
|
|
91
105
|
}, TIMEOUT_MS);
|
|
92
106
|
});
|
|
93
107
|
server.on("error", (err) => {
|
|
94
108
|
printError(`Server error: ${err.message}`);
|
|
95
|
-
|
|
109
|
+
finish(null, { reason: `Server error: ${err.message}` });
|
|
96
110
|
});
|
|
97
111
|
});
|
|
98
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../src/commands/signup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../src/commands/signup.ts"],"names":[],"mappings":"AAaA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAgHnD"}
|
package/dist/commands/signup.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { input, password } from "@inquirer/prompts";
|
|
2
2
|
import ora from "ora";
|
|
3
|
-
import { signup, ApiError } from "../utils/api-client.js";
|
|
3
|
+
import { signup, createKey, ApiError } from "../utils/api-client.js";
|
|
4
4
|
import { promptSaveLocation } from "../utils/key-storage.js";
|
|
5
|
-
import { printBox, printSuccess, printError, printApiKey } from "../utils/ui.js";
|
|
5
|
+
import { printBox, printSuccess, printError, printInfo, printWarning, printApiKey, } from "../utils/ui.js";
|
|
6
6
|
export async function signupCommand() {
|
|
7
7
|
printBox("CodeLoop — Create Account");
|
|
8
8
|
const name = await input({
|
|
@@ -23,7 +23,6 @@ export async function signupCommand() {
|
|
|
23
23
|
mask: "•",
|
|
24
24
|
validate: (v) => (v === pw ? true : "Passwords do not match"),
|
|
25
25
|
});
|
|
26
|
-
// Extra safety check
|
|
27
26
|
if (pw !== pwConfirm) {
|
|
28
27
|
printError("Passwords do not match");
|
|
29
28
|
return;
|
|
@@ -32,10 +31,48 @@ export async function signupCommand() {
|
|
|
32
31
|
try {
|
|
33
32
|
const result = await signup(email, pw, name.trim());
|
|
34
33
|
spinner.succeed("Account created!");
|
|
35
|
-
|
|
34
|
+
if (result.trial_eligible === false) {
|
|
35
|
+
printWarning("Your account was created but a free trial wasn't issued for this email/IP/device.");
|
|
36
|
+
if (result.block_reason)
|
|
37
|
+
printInfo(result.block_reason);
|
|
38
|
+
printInfo("Subscribe at https://codeloop.tech/pricing to continue.\n");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
36
41
|
printSuccess("14-day free trial activated");
|
|
42
|
+
let apiKey;
|
|
43
|
+
if (result.api_key) {
|
|
44
|
+
// Backwards-compat: older backends still mint a key inline.
|
|
45
|
+
apiKey = result.api_key;
|
|
46
|
+
}
|
|
47
|
+
else if (result.token) {
|
|
48
|
+
// §30.18 path: signup returns a JWT, the CLI mints the user's
|
|
49
|
+
// first key explicitly with that token. Same number of keys, but
|
|
50
|
+
// now created by the CLI on the user's behalf — never silently
|
|
51
|
+
// by the signup endpoint.
|
|
52
|
+
const keySpinner = ora("Creating your first API key...").start();
|
|
53
|
+
try {
|
|
54
|
+
const created = await createKey(result.token, "CLI signup key");
|
|
55
|
+
keySpinner.succeed("API key created");
|
|
56
|
+
apiKey = created.api_key;
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
keySpinner.fail("Couldn't create the API key automatically");
|
|
60
|
+
printInfo(err instanceof Error
|
|
61
|
+
? err.message
|
|
62
|
+
: "Unknown error while creating the key.");
|
|
63
|
+
printInfo("Run npx codeloop auth to mint a key from this terminal,");
|
|
64
|
+
printInfo("or create one in the dashboard: https://codeloop.tech/dashboard/keys\n");
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
printInfo("Account created. Run npx codeloop auth to mint your first API key,");
|
|
70
|
+
printInfo("or visit https://codeloop.tech/dashboard/keys to create one.\n");
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
printApiKey(apiKey);
|
|
37
74
|
console.log("");
|
|
38
|
-
await promptSaveLocation(
|
|
75
|
+
await promptSaveLocation(apiKey);
|
|
39
76
|
console.log("\n Next steps:");
|
|
40
77
|
printSuccess("Run npx codeloop init to set up your project");
|
|
41
78
|
printSuccess("Visit https://codeloop.tech/dashboard for your dashboard\n");
|
|
@@ -45,7 +82,7 @@ export async function signupCommand() {
|
|
|
45
82
|
if (err instanceof ApiError) {
|
|
46
83
|
if (err.status === 409) {
|
|
47
84
|
printError("An account with this email already exists");
|
|
48
|
-
console.log(" Try: npx codeloop login\n");
|
|
85
|
+
console.log(" Try: npx codeloop login or npx codeloop auth\n");
|
|
49
86
|
}
|
|
50
87
|
else if (err.status === 400) {
|
|
51
88
|
printError(err.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../src/commands/signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../src/commands/signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;QACvB,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;KACpE,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC;QACxB,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;KACtE,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC;QACxB,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wCAAwC;KAClE,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC;QAC/B,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC;KAC9D,CAAC,CAAC;IAEH,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEpC,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACpC,YAAY,CACV,mFAAmF,CACpF,CAAC;YACF,IAAI,MAAM,CAAC,YAAY;gBAAE,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,SAAS,CAAC,2DAA2D,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,YAAY,CAAC,6BAA6B,CAAC,CAAC;QAE5C,IAAI,MAA0B,CAAC;QAE/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,4DAA4D;YAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,8DAA8D;YAC9D,iEAAiE;YACjE,+DAA+D;YAC/D,0BAA0B;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;YACjE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAChE,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACtC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBAC7D,SAAS,CACP,GAAG,YAAY,KAAK;oBAClB,CAAC,CAAC,GAAG,CAAC,OAAO;oBACb,CAAC,CAAC,uCAAuC,CAC5C,CAAC;gBACF,SAAS,CACP,2DAA2D,CAC5D,CAAC;gBACF,SAAS,CACP,wEAAwE,CACzE,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CACP,sEAAsE,CACvE,CAAC;YACF,SAAS,CACP,gEAAgE,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QAED,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,YAAY,CAAC,gDAAgD,CAAC,CAAC;QAC/D,YAAY,CAAC,4DAA4D,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE9B,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,UAAU,CAAC,2CAA2C,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC9B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
File without changes
|
|
@@ -2,6 +2,15 @@ export interface SignupResponse {
|
|
|
2
2
|
user_id: string;
|
|
3
3
|
api_key: string;
|
|
4
4
|
trial_expires_at: string;
|
|
5
|
+
/**
|
|
6
|
+
* §30.18: short-lived JWT for the new account. Present when the
|
|
7
|
+
* trial is eligible. Used by the CLI signup flow to mint the
|
|
8
|
+
* user's first key inline.
|
|
9
|
+
*/
|
|
10
|
+
token?: string;
|
|
11
|
+
trial_eligible?: boolean;
|
|
12
|
+
requires_subscription?: boolean;
|
|
13
|
+
block_reason?: string;
|
|
5
14
|
}
|
|
6
15
|
export interface LoginResponse {
|
|
7
16
|
token: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;IACzE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;IAC/C,KAAK,EAAE;QACL,iBAAiB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACnD,cAAc,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,kBAAkB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACpD,eAAe,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,CAAC;IACF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,qBAAa,QAAS,SAAQ,KAAK;IAGxB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;gBAFnB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAkB;CAKlC;AA8CD,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED,wBAAsB,KAAK,CACzB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAKxB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAA4B,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAM5B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAE1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,2BAA2B,CAAC;AA+ChD,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGxB;IACA;IAHT,YACE,OAAe,EACR,MAAc,EACd,OAAe,SAAS;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAoB;QAG/B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,KAAK,UAAU,QAAQ,CACrB,IAAY,EACZ,UAII,EAAE;IAEN,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,GAAG,IAAI,EAAE,EAAE;YAC9C,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAChB,wEAAwE,EACxE,CAAC,EACD,eAAe,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,QAAQ,CAChB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,mBAAmB,QAAQ,CAAC,MAAM,GAAG,EACnE,QAAQ,CAAC,MAAM,EACf,IAAI,CAAC,IAAI,IAAI,SAAS,CACvB,CAAC;IACJ,CAAC;IAED,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAa,EACb,QAAgB,EAChB,IAAY;IAEZ,OAAO,QAAQ,CAAiB,iBAAiB,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,KAAa,EACb,QAAgB;IAEhB,OAAO,QAAQ,CAAgB,gBAAgB,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc;IAEd,OAAO,QAAQ,CAAmB,mBAAmB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,OAAe,mBAAmB;IAElC,OAAO,QAAQ,CAAoB,UAAU,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,KAAK;QACL,IAAI,EAAE,EAAE,IAAI,EAAE;KACf,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa;IACjD,OAAO,QAAQ,CAAe,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAChE,CAAC"}
|