vibekit-auth 1.0.1 → 1.0.2
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/index.js +29 -2
- package/dist/types.d.ts +1 -0
- package/dist/upload.d.ts +2 -1
- package/dist/upload.js +4 -2
- package/package.json +1 -1
- package/src/index.ts +31 -3
- package/src/types.ts +1 -0
- package/src/upload.ts +4 -1
package/dist/index.js
CHANGED
|
@@ -83,16 +83,43 @@ async function main() {
|
|
|
83
83
|
}
|
|
84
84
|
const telegramId = response.telegramId.trim();
|
|
85
85
|
const numericTelegramId = parseInt(telegramId, 10);
|
|
86
|
-
// Step 3:
|
|
86
|
+
// Step 3: Select session duration
|
|
87
|
+
console.log();
|
|
88
|
+
const durationResponse = await (0, prompts_1.default)([
|
|
89
|
+
{
|
|
90
|
+
type: 'select',
|
|
91
|
+
name: 'sessionDuration',
|
|
92
|
+
message: 'How long should Auto Mode stay active?',
|
|
93
|
+
choices: [
|
|
94
|
+
{ title: '1 day', value: 1 },
|
|
95
|
+
{ title: '7 days', value: 7 },
|
|
96
|
+
{ title: '30 days', value: 30 },
|
|
97
|
+
{ title: 'Until I disconnect', value: 0 },
|
|
98
|
+
],
|
|
99
|
+
initial: 2 // Default to 30 days
|
|
100
|
+
}
|
|
101
|
+
]);
|
|
102
|
+
if (durationResponse.sessionDuration === undefined) {
|
|
103
|
+
console.log(chalk_1.default.yellow('\n Cancelled.'));
|
|
104
|
+
process.exit(0);
|
|
105
|
+
}
|
|
106
|
+
const sessionDurationDays = durationResponse.sessionDuration;
|
|
107
|
+
// Step 4: Upload to server
|
|
87
108
|
console.log();
|
|
88
109
|
const uploadSpinner = (0, ora_1.default)('Uploading credentials to VibeKit...').start();
|
|
89
110
|
try {
|
|
90
|
-
const result = await (0, upload_1.uploadCredentials)(numericTelegramId, credentials, VIBEKIT_SERVER);
|
|
111
|
+
const result = await (0, upload_1.uploadCredentials)(numericTelegramId, credentials, sessionDurationDays, VIBEKIT_SERVER);
|
|
91
112
|
if (result.success) {
|
|
92
113
|
uploadSpinner.succeed(chalk_1.default.green('Credentials uploaded successfully!'));
|
|
93
114
|
console.log();
|
|
94
115
|
console.log(chalk_1.default.bold.green(' Auto Mode is ready!'));
|
|
95
116
|
console.log();
|
|
117
|
+
if (sessionDurationDays > 0) {
|
|
118
|
+
console.log(chalk_1.default.gray(` Session active for ${sessionDurationDays} day${sessionDurationDays > 1 ? 's' : ''}`));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.log(chalk_1.default.gray(' Session active until you disconnect'));
|
|
122
|
+
}
|
|
96
123
|
console.log(chalk_1.default.white(' Open Telegram and use /auto to start.'));
|
|
97
124
|
console.log(chalk_1.default.gray(' Your Claude subscription will be used for AI - no credits needed.'));
|
|
98
125
|
console.log();
|
package/dist/types.d.ts
CHANGED
package/dist/upload.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ClaudeOAuthCredentials, UploadResponse } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Upload credentials to VibeKit server
|
|
4
|
+
* @param sessionDurationDays - Number of days to keep session active (0 = until manual disconnect)
|
|
4
5
|
*/
|
|
5
|
-
export declare function uploadCredentials(telegramId: number, credentials: ClaudeOAuthCredentials, serverUrl?: string): Promise<UploadResponse>;
|
|
6
|
+
export declare function uploadCredentials(telegramId: number, credentials: ClaudeOAuthCredentials, sessionDurationDays: number, serverUrl?: string): Promise<UploadResponse>;
|
|
6
7
|
/**
|
|
7
8
|
* Check if user has existing auto mode credentials on server
|
|
8
9
|
*/
|
package/dist/upload.js
CHANGED
|
@@ -11,15 +11,17 @@ const url_1 = require("url");
|
|
|
11
11
|
const DEFAULT_SERVER_URL = 'https://vibekit.bot';
|
|
12
12
|
/**
|
|
13
13
|
* Upload credentials to VibeKit server
|
|
14
|
+
* @param sessionDurationDays - Number of days to keep session active (0 = until manual disconnect)
|
|
14
15
|
*/
|
|
15
|
-
async function uploadCredentials(telegramId, credentials, serverUrl = DEFAULT_SERVER_URL) {
|
|
16
|
+
async function uploadCredentials(telegramId, credentials, sessionDurationDays, serverUrl = DEFAULT_SERVER_URL) {
|
|
16
17
|
const url = new url_1.URL('/api/auto/credentials', serverUrl);
|
|
17
18
|
// Prepare payload - base64 encode the full credentials JSON
|
|
18
19
|
const payload = JSON.stringify({
|
|
19
20
|
telegramId,
|
|
20
21
|
credentials: Buffer.from(JSON.stringify(credentials)).toString('base64'),
|
|
21
22
|
subscriptionType: credentials.claudeAiOauth.subscriptionType,
|
|
22
|
-
expiresAt: credentials.claudeAiOauth.expiresAt
|
|
23
|
+
expiresAt: credentials.claudeAiOauth.expiresAt,
|
|
24
|
+
sessionDurationDays
|
|
23
25
|
});
|
|
24
26
|
return new Promise((resolve, reject) => {
|
|
25
27
|
const protocol = url.protocol === 'https:' ? https_1.default : http_1.default;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -93,21 +93,49 @@ async function main() {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
const telegramId = response.telegramId.trim();
|
|
96
|
-
|
|
97
96
|
const numericTelegramId = parseInt(telegramId, 10);
|
|
98
97
|
|
|
99
|
-
// Step 3:
|
|
98
|
+
// Step 3: Select session duration
|
|
99
|
+
console.log();
|
|
100
|
+
const durationResponse = await prompts([
|
|
101
|
+
{
|
|
102
|
+
type: 'select',
|
|
103
|
+
name: 'sessionDuration',
|
|
104
|
+
message: 'How long should Auto Mode stay active?',
|
|
105
|
+
choices: [
|
|
106
|
+
{ title: '1 day', value: 1 },
|
|
107
|
+
{ title: '7 days', value: 7 },
|
|
108
|
+
{ title: '30 days', value: 30 },
|
|
109
|
+
{ title: 'Until I disconnect', value: 0 },
|
|
110
|
+
],
|
|
111
|
+
initial: 2 // Default to 30 days
|
|
112
|
+
}
|
|
113
|
+
]);
|
|
114
|
+
|
|
115
|
+
if (durationResponse.sessionDuration === undefined) {
|
|
116
|
+
console.log(chalk.yellow('\n Cancelled.'));
|
|
117
|
+
process.exit(0);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const sessionDurationDays = durationResponse.sessionDuration;
|
|
121
|
+
|
|
122
|
+
// Step 4: Upload to server
|
|
100
123
|
console.log();
|
|
101
124
|
const uploadSpinner = ora('Uploading credentials to VibeKit...').start();
|
|
102
125
|
|
|
103
126
|
try {
|
|
104
|
-
const result = await uploadCredentials(numericTelegramId, credentials, VIBEKIT_SERVER);
|
|
127
|
+
const result = await uploadCredentials(numericTelegramId, credentials, sessionDurationDays, VIBEKIT_SERVER);
|
|
105
128
|
|
|
106
129
|
if (result.success) {
|
|
107
130
|
uploadSpinner.succeed(chalk.green('Credentials uploaded successfully!'));
|
|
108
131
|
console.log();
|
|
109
132
|
console.log(chalk.bold.green(' Auto Mode is ready!'));
|
|
110
133
|
console.log();
|
|
134
|
+
if (sessionDurationDays > 0) {
|
|
135
|
+
console.log(chalk.gray(` Session active for ${sessionDurationDays} day${sessionDurationDays > 1 ? 's' : ''}`));
|
|
136
|
+
} else {
|
|
137
|
+
console.log(chalk.gray(' Session active until you disconnect'));
|
|
138
|
+
}
|
|
111
139
|
console.log(chalk.white(' Open Telegram and use /auto to start.'));
|
|
112
140
|
console.log(chalk.gray(' Your Claude subscription will be used for AI - no credits needed.'));
|
|
113
141
|
console.log();
|
package/src/types.ts
CHANGED
package/src/upload.ts
CHANGED
|
@@ -7,10 +7,12 @@ const DEFAULT_SERVER_URL = 'https://vibekit.bot';
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Upload credentials to VibeKit server
|
|
10
|
+
* @param sessionDurationDays - Number of days to keep session active (0 = until manual disconnect)
|
|
10
11
|
*/
|
|
11
12
|
export async function uploadCredentials(
|
|
12
13
|
telegramId: number,
|
|
13
14
|
credentials: ClaudeOAuthCredentials,
|
|
15
|
+
sessionDurationDays: number,
|
|
14
16
|
serverUrl: string = DEFAULT_SERVER_URL
|
|
15
17
|
): Promise<UploadResponse> {
|
|
16
18
|
const url = new URL('/api/auto/credentials', serverUrl);
|
|
@@ -20,7 +22,8 @@ export async function uploadCredentials(
|
|
|
20
22
|
telegramId,
|
|
21
23
|
credentials: Buffer.from(JSON.stringify(credentials)).toString('base64'),
|
|
22
24
|
subscriptionType: credentials.claudeAiOauth.subscriptionType,
|
|
23
|
-
expiresAt: credentials.claudeAiOauth.expiresAt
|
|
25
|
+
expiresAt: credentials.claudeAiOauth.expiresAt,
|
|
26
|
+
sessionDurationDays
|
|
24
27
|
});
|
|
25
28
|
|
|
26
29
|
return new Promise((resolve, reject) => {
|