shiva-code 0.7.7 → 0.7.8
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/{chunk-KW3LP3K3.js → chunk-3BM2KHD4.js} +60 -34
- package/dist/{chunk-J5IS642F.js → chunk-KB6M24M3.js} +10 -0
- package/dist/{chunk-RQ75X32M.js → chunk-NM3RPOAT.js} +8 -8
- package/dist/{client-RPSJP4Z5.js → client-H3JXPT5B.js} +1 -1
- package/dist/{hook-GIK5RFRC.js → hook-YNVEHNHZ.js} +1 -1
- package/dist/index.js +24 -24
- package/dist/{login-Y6EJABSP.js → login-DE2U23GS.js} +2 -2
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-Z6NXFC4Q.js";
|
|
5
5
|
import {
|
|
6
6
|
api
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KB6M24M3.js";
|
|
8
8
|
import {
|
|
9
9
|
clearAuth,
|
|
10
10
|
getConfig,
|
|
@@ -414,44 +414,18 @@ async function loginWithOtp(email) {
|
|
|
414
414
|
}
|
|
415
415
|
]);
|
|
416
416
|
const authResponse = await api.verifyOtp(otpResponse.token, otp);
|
|
417
|
+
if (authResponse.requires2FA && authResponse.tempToken) {
|
|
418
|
+
log.newline();
|
|
419
|
+
log.info("2FA ist aktiviert. Bitte verifiziere dich.");
|
|
420
|
+
log.newline();
|
|
421
|
+
const result = await handle2FALoginFlow(authResponse.tempToken, authResponse.email || email);
|
|
422
|
+
return result;
|
|
423
|
+
}
|
|
417
424
|
if (!authResponse.success || !authResponse.token || !authResponse.user) {
|
|
418
425
|
log.error(authResponse.message || "Ung\xFCltiger Code");
|
|
419
426
|
return false;
|
|
420
427
|
}
|
|
421
428
|
setAuth(authResponse.token, authResponse.user);
|
|
422
|
-
try {
|
|
423
|
-
const tfaStatus = await twoFactorService.getStatus();
|
|
424
|
-
if (tfaStatus.enabled) {
|
|
425
|
-
log.newline();
|
|
426
|
-
log.info("2FA ist aktiviert. Bitte verifiziere dich.");
|
|
427
|
-
log.newline();
|
|
428
|
-
const isDeviceTrusted = await deviceTrustService.isDeviceTrusted();
|
|
429
|
-
if (!isDeviceTrusted) {
|
|
430
|
-
const verified = await prompt2FAVerification();
|
|
431
|
-
if (!verified) {
|
|
432
|
-
clearAuth();
|
|
433
|
-
log.error("2FA-Verifizierung fehlgeschlagen");
|
|
434
|
-
return false;
|
|
435
|
-
}
|
|
436
|
-
const { trustDevice } = await inquirer.prompt([{
|
|
437
|
-
type: "confirm",
|
|
438
|
-
name: "trustDevice",
|
|
439
|
-
message: "Diesem Ger\xE4t vertrauen? (Kein 2FA bei zuk\xFCnftigen Logins)",
|
|
440
|
-
default: true
|
|
441
|
-
}]);
|
|
442
|
-
if (trustDevice) {
|
|
443
|
-
try {
|
|
444
|
-
await deviceTrustService.trustDevice();
|
|
445
|
-
log.success("Ger\xE4t als vertrauensw\xFCrdig markiert");
|
|
446
|
-
} catch {
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
} else {
|
|
450
|
-
log.dim("Ger\xE4t ist vertrauensw\xFCrdig - 2FA \xFCbersprungen");
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
} catch {
|
|
454
|
-
}
|
|
455
429
|
log.newline();
|
|
456
430
|
log.success(`Angemeldet als ${authResponse.user.email} (${authResponse.user.tier.toUpperCase()})`);
|
|
457
431
|
return true;
|
|
@@ -461,6 +435,58 @@ async function loginWithOtp(email) {
|
|
|
461
435
|
return false;
|
|
462
436
|
}
|
|
463
437
|
}
|
|
438
|
+
async function handle2FALoginFlow(tempToken, email) {
|
|
439
|
+
const MAX_ATTEMPTS = 3;
|
|
440
|
+
for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
|
|
441
|
+
const { code } = await inquirer.prompt([{
|
|
442
|
+
type: "input",
|
|
443
|
+
name: "code",
|
|
444
|
+
message: "2FA-Code (6 Ziffern oder Backup-Code):",
|
|
445
|
+
validate: (input) => {
|
|
446
|
+
if (/^\d{6}$/.test(input) || /^[A-Za-z0-9-]+$/.test(input)) {
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
return "Bitte gib einen g\xFCltigen Code ein";
|
|
450
|
+
}
|
|
451
|
+
}]);
|
|
452
|
+
const { rememberDevice } = await inquirer.prompt([{
|
|
453
|
+
type: "confirm",
|
|
454
|
+
name: "rememberDevice",
|
|
455
|
+
message: "Diesem Ger\xE4t vertrauen?",
|
|
456
|
+
default: true
|
|
457
|
+
}]);
|
|
458
|
+
try {
|
|
459
|
+
const result = await api.validate2FALogin({
|
|
460
|
+
tempToken,
|
|
461
|
+
code,
|
|
462
|
+
rememberDevice
|
|
463
|
+
});
|
|
464
|
+
if (result.success && result.token && result.user) {
|
|
465
|
+
setAuth(result.token, result.user);
|
|
466
|
+
if (result.method === "backup" && result.backupCodesRemaining !== void 0) {
|
|
467
|
+
log.warn(`Backup-Code verwendet. Noch ${result.backupCodesRemaining} Codes \xFCbrig.`);
|
|
468
|
+
}
|
|
469
|
+
log.newline();
|
|
470
|
+
log.success(`Angemeldet als ${result.user.email} (${result.user.tier.toUpperCase()})`);
|
|
471
|
+
return true;
|
|
472
|
+
}
|
|
473
|
+
if (attempt < MAX_ATTEMPTS) {
|
|
474
|
+
log.error(`Ung\xFCltiger Code. Noch ${MAX_ATTEMPTS - attempt} Versuche.`);
|
|
475
|
+
}
|
|
476
|
+
} catch (error) {
|
|
477
|
+
const message = error instanceof Error ? error.message : "Verifizierung fehlgeschlagen";
|
|
478
|
+
if (message.includes("expired") || message.includes("abgelaufen")) {
|
|
479
|
+
log.error("2FA-Token abgelaufen. Bitte erneut anmelden.");
|
|
480
|
+
return false;
|
|
481
|
+
}
|
|
482
|
+
if (attempt < MAX_ATTEMPTS) {
|
|
483
|
+
log.error(`${message}. Noch ${MAX_ATTEMPTS - attempt} Versuche.`);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
log.error("2FA-Verifizierung fehlgeschlagen");
|
|
488
|
+
return false;
|
|
489
|
+
}
|
|
464
490
|
async function findAvailablePort() {
|
|
465
491
|
for (let port = PORT_RANGE_START; port <= PORT_RANGE_END; port++) {
|
|
466
492
|
const isAvailable = await checkPort(port);
|
|
@@ -71,6 +71,16 @@ var ApiClient = class {
|
|
|
71
71
|
body: JSON.stringify({ token, otp })
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Validate 2FA code during login
|
|
76
|
+
* Used when initial login returns requires2FA: true
|
|
77
|
+
*/
|
|
78
|
+
async validate2FALogin(data) {
|
|
79
|
+
return this.request("/auth/2fa/login-validate", {
|
|
80
|
+
method: "POST",
|
|
81
|
+
body: JSON.stringify(data)
|
|
82
|
+
});
|
|
83
|
+
}
|
|
74
84
|
async getCurrentUser() {
|
|
75
85
|
return this.request("/auth/me");
|
|
76
86
|
}
|
|
@@ -1659,7 +1659,7 @@ hookCommand.command("scan-command").description("Scanne Bash-Befehle auf Package
|
|
|
1659
1659
|
}
|
|
1660
1660
|
});
|
|
1661
1661
|
hookCommand.command("push").description("Hooks in Cloud sichern").action(async () => {
|
|
1662
|
-
const { api } = await import("./client-
|
|
1662
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1663
1663
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1664
1664
|
if (!isAuthenticated()) {
|
|
1665
1665
|
log.error("Nicht angemeldet");
|
|
@@ -1679,7 +1679,7 @@ hookCommand.command("push").description("Hooks in Cloud sichern").action(async (
|
|
|
1679
1679
|
}
|
|
1680
1680
|
});
|
|
1681
1681
|
hookCommand.command("pull").description("Hooks aus Cloud laden").option("-f, --force", "Lokale Hooks \xFCberschreiben").action(async (options) => {
|
|
1682
|
-
const { api } = await import("./client-
|
|
1682
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1683
1683
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1684
1684
|
if (!isAuthenticated()) {
|
|
1685
1685
|
log.error("Nicht angemeldet");
|
|
@@ -1711,7 +1711,7 @@ hookCommand.command("pull").description("Hooks aus Cloud laden").option("-f, --f
|
|
|
1711
1711
|
}
|
|
1712
1712
|
});
|
|
1713
1713
|
hookCommand.command("sync").description("Hooks mit Cloud synchronisieren").action(async () => {
|
|
1714
|
-
const { api } = await import("./client-
|
|
1714
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1715
1715
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1716
1716
|
if (!isAuthenticated()) {
|
|
1717
1717
|
log.error("Nicht angemeldet");
|
|
@@ -1738,7 +1738,7 @@ hookCommand.command("sync").description("Hooks mit Cloud synchronisieren").actio
|
|
|
1738
1738
|
}
|
|
1739
1739
|
});
|
|
1740
1740
|
hookCommand.command("cloud-list").description("Cloud-Hooks auflisten").option("--event <type>", "Nach Event-Typ filtern").option("--json", "JSON Output").action(async (options) => {
|
|
1741
|
-
const { api } = await import("./client-
|
|
1741
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1742
1742
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1743
1743
|
const { colors } = await import("./logger-E7SC5KUO.js");
|
|
1744
1744
|
if (!isAuthenticated()) {
|
|
@@ -1787,7 +1787,7 @@ hookCommand.command("cloud-list").description("Cloud-Hooks auflisten").option("-
|
|
|
1787
1787
|
}
|
|
1788
1788
|
});
|
|
1789
1789
|
hookCommand.command("cloud-create").description("Neuen Cloud-Hook erstellen").requiredOption("--event <event>", "Event-Typ (PreToolUse, PostToolUse, etc.)").requiredOption("--command <cmd>", "Auszuf\xFChrender Befehl").option("--matcher <pattern>", "Tool-Matcher Pattern").option("--type <type>", "Hook-Typ (command, script)", "command").option("--timeout <ms>", "Timeout in Millisekunden").action(async (options) => {
|
|
1790
|
-
const { api } = await import("./client-
|
|
1790
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1791
1791
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1792
1792
|
if (!isAuthenticated()) {
|
|
1793
1793
|
log.error("Nicht angemeldet");
|
|
@@ -1815,7 +1815,7 @@ hookCommand.command("cloud-create").description("Neuen Cloud-Hook erstellen").re
|
|
|
1815
1815
|
}
|
|
1816
1816
|
});
|
|
1817
1817
|
hookCommand.command("cloud-test").description("Cloud-Hook testen").argument("<hook-id>", "Hook ID").action(async (hookId) => {
|
|
1818
|
-
const { api } = await import("./client-
|
|
1818
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1819
1819
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1820
1820
|
const { colors } = await import("./logger-E7SC5KUO.js");
|
|
1821
1821
|
if (!isAuthenticated()) {
|
|
@@ -1850,7 +1850,7 @@ hookCommand.command("cloud-test").description("Cloud-Hook testen").argument("<ho
|
|
|
1850
1850
|
}
|
|
1851
1851
|
});
|
|
1852
1852
|
hookCommand.command("cloud-delete").description("Cloud-Hook l\xF6schen").argument("<hook-id>", "Hook ID").option("-y, --yes", "Ohne Best\xE4tigung").action(async (hookId, options) => {
|
|
1853
|
-
const { api } = await import("./client-
|
|
1853
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1854
1854
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1855
1855
|
if (!isAuthenticated()) {
|
|
1856
1856
|
log.error("Nicht angemeldet");
|
|
@@ -1885,7 +1885,7 @@ hookCommand.command("cloud-delete").description("Cloud-Hook l\xF6schen").argumen
|
|
|
1885
1885
|
}
|
|
1886
1886
|
});
|
|
1887
1887
|
hookCommand.command("cloud-toggle").description("Cloud-Hook aktivieren/deaktivieren").argument("<hook-id>", "Hook ID").option("--enable", "Hook aktivieren").option("--disable", "Hook deaktivieren").action(async (hookId, options) => {
|
|
1888
|
-
const { api } = await import("./client-
|
|
1888
|
+
const { api } = await import("./client-H3JXPT5B.js");
|
|
1889
1889
|
const { isAuthenticated } = await import("./config-FGMZONWV.js");
|
|
1890
1890
|
if (!isAuthenticated()) {
|
|
1891
1891
|
log.error("Nicht angemeldet");
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
hookCommand,
|
|
4
4
|
packageScanner
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NM3RPOAT.js";
|
|
6
6
|
import {
|
|
7
7
|
copyToClipboard,
|
|
8
8
|
getClipboardInstallInstructions,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
loginCommand,
|
|
27
27
|
logout,
|
|
28
28
|
twoFactorService
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-3BM2KHD4.js";
|
|
30
30
|
import {
|
|
31
31
|
colors,
|
|
32
32
|
log
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
api,
|
|
36
36
|
enableDebug
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-KB6M24M3.js";
|
|
38
38
|
import {
|
|
39
39
|
CONFIG_PATH,
|
|
40
40
|
clearAuth,
|
|
@@ -264,7 +264,7 @@ async function promptLogin() {
|
|
|
264
264
|
log.newline();
|
|
265
265
|
log.info("\xD6ffne Browser f\xFCr Anmeldung...");
|
|
266
266
|
log.newline();
|
|
267
|
-
const { loginCommand: loginCommand2 } = await import("./login-
|
|
267
|
+
const { loginCommand: loginCommand2 } = await import("./login-DE2U23GS.js");
|
|
268
268
|
await loginCommand2.parseAsync(["login"], { from: "user" });
|
|
269
269
|
return isAuthenticated();
|
|
270
270
|
}
|
|
@@ -336,7 +336,7 @@ async function promptHooks() {
|
|
|
336
336
|
if (installHooks) {
|
|
337
337
|
log.newline();
|
|
338
338
|
log.info("Installiere Hooks...");
|
|
339
|
-
const { hookCommand: hookCommand2 } = await import("./hook-
|
|
339
|
+
const { hookCommand: hookCommand2 } = await import("./hook-YNVEHNHZ.js");
|
|
340
340
|
await hookCommand2.parseAsync(["hook", "install", "--all"], { from: "user" });
|
|
341
341
|
onboardingStore.set("hooksInstalled", true);
|
|
342
342
|
return true;
|
|
@@ -6555,7 +6555,7 @@ async function checkProjectExists(path15) {
|
|
|
6555
6555
|
}
|
|
6556
6556
|
}
|
|
6557
6557
|
sessionsCommand.command("push").description("Sessions in Cloud sichern").option("-p, --project <pfad>", "Nur Sessions eines Projekts").action(async (options) => {
|
|
6558
|
-
const { api: api2 } = await import("./client-
|
|
6558
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6559
6559
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6560
6560
|
const { getProjectConfig: getProjectConfig2 } = await import("./config-D6M6LI6U.js");
|
|
6561
6561
|
if (!isAuthenticated2()) {
|
|
@@ -6615,7 +6615,7 @@ sessionsCommand.command("push").description("Sessions in Cloud sichern").option(
|
|
|
6615
6615
|
}
|
|
6616
6616
|
});
|
|
6617
6617
|
sessionsCommand.command("pull").description("Sessions aus Cloud laden").option("--json", "JSON Output").action(async (options) => {
|
|
6618
|
-
const { api: api2 } = await import("./client-
|
|
6618
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6619
6619
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6620
6620
|
if (!isAuthenticated2()) {
|
|
6621
6621
|
log.error("Nicht angemeldet");
|
|
@@ -6662,7 +6662,7 @@ sessionsCommand.command("pull").description("Sessions aus Cloud laden").option("
|
|
|
6662
6662
|
}
|
|
6663
6663
|
});
|
|
6664
6664
|
sessionsCommand.command("sync").description("Sessions mit Cloud synchronisieren").option("-p, --project <pfad>", "Nur Sessions eines Projekts").action(async (options) => {
|
|
6665
|
-
const { api: api2 } = await import("./client-
|
|
6665
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6666
6666
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6667
6667
|
const { getProjectConfig: getProjectConfig2 } = await import("./config-D6M6LI6U.js");
|
|
6668
6668
|
if (!isAuthenticated2()) {
|
|
@@ -6715,7 +6715,7 @@ sessionsCommand.command("sync").description("Sessions mit Cloud synchronisieren"
|
|
|
6715
6715
|
log.dim("Sessions werden automatisch mit lokalen Claude Sessions verkn\xFCpft");
|
|
6716
6716
|
});
|
|
6717
6717
|
sessionsCommand.command("delete <sessionId>").description("Session aus Cloud l\xF6schen").action(async (sessionId) => {
|
|
6718
|
-
const { api: api2 } = await import("./client-
|
|
6718
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6719
6719
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6720
6720
|
if (!isAuthenticated2()) {
|
|
6721
6721
|
log.error("Nicht angemeldet");
|
|
@@ -6734,7 +6734,7 @@ sessionsCommand.command("delete <sessionId>").description("Session aus Cloud l\x
|
|
|
6734
6734
|
}
|
|
6735
6735
|
});
|
|
6736
6736
|
sessionsCommand.command("active").description("Aktive Cloud-Sessions anzeigen").option("--json", "JSON Output").action(async (options) => {
|
|
6737
|
-
const { api: api2 } = await import("./client-
|
|
6737
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6738
6738
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6739
6739
|
if (!isAuthenticated2()) {
|
|
6740
6740
|
log.error("Nicht angemeldet");
|
|
@@ -6771,7 +6771,7 @@ sessionsCommand.command("active").description("Aktive Cloud-Sessions anzeigen").
|
|
|
6771
6771
|
}
|
|
6772
6772
|
});
|
|
6773
6773
|
sessionsCommand.command("stats").description("Cloud-Session-Statistiken anzeigen").option("--json", "JSON Output").action(async (options) => {
|
|
6774
|
-
const { api: api2 } = await import("./client-
|
|
6774
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6775
6775
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6776
6776
|
if (!isAuthenticated2()) {
|
|
6777
6777
|
log.error("Nicht angemeldet");
|
|
@@ -6803,7 +6803,7 @@ sessionsCommand.command("stats").description("Cloud-Session-Statistiken anzeigen
|
|
|
6803
6803
|
}
|
|
6804
6804
|
});
|
|
6805
6805
|
sessionsCommand.command("resume <sessionId>").description("Cloud-Session fortsetzen").action(async (sessionId) => {
|
|
6806
|
-
const { api: api2 } = await import("./client-
|
|
6806
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6807
6807
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6808
6808
|
if (!isAuthenticated2()) {
|
|
6809
6809
|
log.error("Nicht angemeldet");
|
|
@@ -6827,7 +6827,7 @@ sessionsCommand.command("resume <sessionId>").description("Cloud-Session fortset
|
|
|
6827
6827
|
}
|
|
6828
6828
|
});
|
|
6829
6829
|
sessionsCommand.command("export <sessionId>").description("Cloud-Session exportieren").option("-o, --output <file>", "Ausgabedatei").action(async (sessionId, options) => {
|
|
6830
|
-
const { api: api2 } = await import("./client-
|
|
6830
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6831
6831
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6832
6832
|
const { writeFileSync: writeFileSync11 } = await import("fs");
|
|
6833
6833
|
if (!isAuthenticated2()) {
|
|
@@ -6851,7 +6851,7 @@ sessionsCommand.command("export <sessionId>").description("Cloud-Session exporti
|
|
|
6851
6851
|
}
|
|
6852
6852
|
});
|
|
6853
6853
|
sessionsCommand.command("update <sessionId>").description("Cloud-Session aktualisieren").option("--summary <text>", "Session-Zusammenfassung").option("--branch <name>", "Git Branch").action(async (sessionId, options) => {
|
|
6854
|
-
const { api: api2 } = await import("./client-
|
|
6854
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
6855
6855
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
6856
6856
|
if (!isAuthenticated2()) {
|
|
6857
6857
|
log.error("Nicht angemeldet");
|
|
@@ -10427,7 +10427,7 @@ async function resolveSessionId(input) {
|
|
|
10427
10427
|
return null;
|
|
10428
10428
|
}
|
|
10429
10429
|
tagsCommand.command("cloud").description("Memory-Tags aus Cloud laden").option("--json", "JSON Output").action(async (options) => {
|
|
10430
|
-
const { api: api2 } = await import("./client-
|
|
10430
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
10431
10431
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
10432
10432
|
if (!isAuthenticated2()) {
|
|
10433
10433
|
log.error("Nicht angemeldet");
|
|
@@ -12339,7 +12339,7 @@ function formatNumber(n) {
|
|
|
12339
12339
|
return String(n);
|
|
12340
12340
|
}
|
|
12341
12341
|
statsCommand.command("sessions").description("Session Analytics (Pro Feature)").option("--json", "JSON Output").action(async (options) => {
|
|
12342
|
-
const { api: api2 } = await import("./client-
|
|
12342
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
12343
12343
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
12344
12344
|
if (!isAuthenticated2()) {
|
|
12345
12345
|
log.error("Nicht angemeldet");
|
|
@@ -12391,7 +12391,7 @@ statsCommand.command("sessions").description("Session Analytics (Pro Feature)").
|
|
|
12391
12391
|
}
|
|
12392
12392
|
});
|
|
12393
12393
|
statsCommand.command("tokens").description("Token Usage Analytics (Pro Feature)").option("--json", "JSON Output").action(async (options) => {
|
|
12394
|
-
const { api: api2 } = await import("./client-
|
|
12394
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
12395
12395
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
12396
12396
|
if (!isAuthenticated2()) {
|
|
12397
12397
|
log.error("Nicht angemeldet");
|
|
@@ -12439,7 +12439,7 @@ statsCommand.command("tokens").description("Token Usage Analytics (Pro Feature)"
|
|
|
12439
12439
|
}
|
|
12440
12440
|
});
|
|
12441
12441
|
statsCommand.command("tools").description("Tool Usage Analytics (Pro Feature)").option("--json", "JSON Output").action(async (options) => {
|
|
12442
|
-
const { api: api2 } = await import("./client-
|
|
12442
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
12443
12443
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
12444
12444
|
if (!isAuthenticated2()) {
|
|
12445
12445
|
log.error("Nicht angemeldet");
|
|
@@ -12483,7 +12483,7 @@ statsCommand.command("tools").description("Tool Usage Analytics (Pro Feature)").
|
|
|
12483
12483
|
}
|
|
12484
12484
|
});
|
|
12485
12485
|
statsCommand.command("export").description("Analytics-Daten exportieren (Pro Feature)").option("--start <date>", "Start-Datum (YYYY-MM-DD)").option("--end <date>", "End-Datum (YYYY-MM-DD)").option("--format <format>", "Format: json, csv", "json").option("-o, --output <file>", "Ausgabedatei").action(async (options) => {
|
|
12486
|
-
const { api: api2 } = await import("./client-
|
|
12486
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
12487
12487
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
12488
12488
|
const { writeFileSync: writeFileSync11 } = await import("fs");
|
|
12489
12489
|
if (!isAuthenticated2()) {
|
|
@@ -12518,7 +12518,7 @@ statsCommand.command("export").description("Analytics-Daten exportieren (Pro Fea
|
|
|
12518
12518
|
}
|
|
12519
12519
|
});
|
|
12520
12520
|
statsCommand.command("track").description("Analytics Event tracken").argument("<type>", "Event-Typ").argument("[data]", "Event-Daten als JSON").action(async (type2, data) => {
|
|
12521
|
-
const { api: api2 } = await import("./client-
|
|
12521
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
12522
12522
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
12523
12523
|
if (!isAuthenticated2()) {
|
|
12524
12524
|
log.error("Nicht angemeldet");
|
|
@@ -13719,7 +13719,7 @@ packageCommand.command("start <name>").description("Alle Projekte eines Packages
|
|
|
13719
13719
|
}
|
|
13720
13720
|
});
|
|
13721
13721
|
packageCommand.command("push").description("Packages in Cloud sichern").option("-n, --name <name>", "Nur ein bestimmtes Package").action(async (options) => {
|
|
13722
|
-
const { api: api2 } = await import("./client-
|
|
13722
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
13723
13723
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
13724
13724
|
if (!isAuthenticated2()) {
|
|
13725
13725
|
log.error("Nicht angemeldet");
|
|
@@ -13765,7 +13765,7 @@ packageCommand.command("push").description("Packages in Cloud sichern").option("
|
|
|
13765
13765
|
}
|
|
13766
13766
|
});
|
|
13767
13767
|
packageCommand.command("pull").description("Packages aus Cloud laden").option("-f, --force", "Lokale Packages \xFCberschreiben").option("--json", "JSON Output").action(async (options) => {
|
|
13768
|
-
const { api: api2 } = await import("./client-
|
|
13768
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
13769
13769
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
13770
13770
|
if (!isAuthenticated2()) {
|
|
13771
13771
|
log.error("Nicht angemeldet");
|
|
@@ -13827,7 +13827,7 @@ packageCommand.command("pull").description("Packages aus Cloud laden").option("-
|
|
|
13827
13827
|
}
|
|
13828
13828
|
});
|
|
13829
13829
|
packageCommand.command("sync").description("Packages mit Cloud synchronisieren").action(async () => {
|
|
13830
|
-
const { api: api2 } = await import("./client-
|
|
13830
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
13831
13831
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
13832
13832
|
if (!isAuthenticated2()) {
|
|
13833
13833
|
log.error("Nicht angemeldet");
|
|
@@ -13880,7 +13880,7 @@ packageCommand.command("sync").description("Packages mit Cloud synchronisieren")
|
|
|
13880
13880
|
log.tree.item(`${localPackages.length + pulledCount} Packages total`);
|
|
13881
13881
|
});
|
|
13882
13882
|
packageCommand.command("cloud-delete <name>").description("Package aus Cloud l\xF6schen").action(async (name) => {
|
|
13883
|
-
const { api: api2 } = await import("./client-
|
|
13883
|
+
const { api: api2 } = await import("./client-H3JXPT5B.js");
|
|
13884
13884
|
const { isAuthenticated: isAuthenticated2 } = await import("./config-FGMZONWV.js");
|
|
13885
13885
|
if (!isAuthenticated2()) {
|
|
13886
13886
|
log.error("Nicht angemeldet");
|