@tonk/cli 0.2.21 β 0.2.23
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 -14
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +63 -52
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +243 -85
- package/dist/commands/server.js.map +1 -1
- package/dist/config/environment.d.ts.map +1 -1
- package/dist/config/environment.js +4 -17
- package/dist/config/environment.js.map +1 -1
- package/dist/lib/tonkAuth.d.ts +2 -0
- package/dist/lib/tonkAuth.d.ts.map +1 -1
- package/dist/lib/tonkAuth.js +54 -17
- package/dist/lib/tonkAuth.js.map +1 -1
- package/dist/utils/serverUtils.d.ts +5 -0
- package/dist/utils/serverUtils.d.ts.map +1 -0
- package/dist/utils/serverUtils.js +34 -0
- package/dist/utils/serverUtils.js.map +1 -0
- package/package.json +1 -1
package/dist/lib/tonkAuth.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ declare class TonkAuthManager {
|
|
|
11
11
|
ensureReady(): Promise<void>;
|
|
12
12
|
login(): Promise<any>;
|
|
13
13
|
logout(): Promise<any>;
|
|
14
|
+
getAuthToken(): Promise<string | null>;
|
|
15
|
+
destroy(): Promise<void>;
|
|
14
16
|
}
|
|
15
17
|
export declare const tonkAuth: TonkAuthManager;
|
|
16
18
|
export declare function checkAuth(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tonkAuth.d.ts","sourceRoot":"","sources":["../../src/lib/tonkAuth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tonkAuth.d.ts","sourceRoot":"","sources":["../../src/lib/tonkAuth.ts"],"names":[],"mappings":"AAOA,cAAM,eAAe;IACnB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAS;;YAMX,UAAU;IA0BxB,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,KAAK;IAWL,MAAM;IAWN,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAYtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAED,eAAO,MAAM,QAAQ,iBAAwB,CAAC;AAE9C,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,eAAO,MAAM,QAAQ,qBAwDpB,CAAC"}
|
package/dist/lib/tonkAuth.js
CHANGED
|
@@ -2,6 +2,7 @@ import { RESPONSES } from '../utils/messages.js';
|
|
|
2
2
|
import { TonkAuth } from '@tonk/tonk-auth';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import inquirer from 'inquirer';
|
|
5
|
+
import { shutdownAnalytics } from '../utils/analytics.js';
|
|
5
6
|
// TonkAuth wrapped in a Singleton class with (non-blocking) async initilization keeps the CLI load snappy π’
|
|
6
7
|
class TonkAuthManager {
|
|
7
8
|
instance = null;
|
|
@@ -69,6 +70,24 @@ class TonkAuthManager {
|
|
|
69
70
|
return { ok: false, error: String(error) };
|
|
70
71
|
}
|
|
71
72
|
}
|
|
73
|
+
async getAuthToken() {
|
|
74
|
+
await this.ensureReady();
|
|
75
|
+
if (!this.instance?.__session)
|
|
76
|
+
return null;
|
|
77
|
+
try {
|
|
78
|
+
return await this.instance.__session.getToken();
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
console.error('Failed to get auth token:', error);
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async destroy() {
|
|
86
|
+
if (this.instance && typeof this.instance.destroy === 'function') {
|
|
87
|
+
this.instance.destroy();
|
|
88
|
+
}
|
|
89
|
+
await shutdownAnalytics();
|
|
90
|
+
}
|
|
72
91
|
}
|
|
73
92
|
export const tonkAuth = new TonkAuthManager();
|
|
74
93
|
export function checkAuth() {
|
|
@@ -79,25 +98,43 @@ export const authHook = async () => {
|
|
|
79
98
|
await tonkAuth.ensureReady();
|
|
80
99
|
if (checkAuth())
|
|
81
100
|
return;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
message: 'Do you want to login?',
|
|
88
|
-
default: true,
|
|
89
|
-
},
|
|
90
|
-
]);
|
|
91
|
-
if (!confirm) {
|
|
92
|
-
console.log(chalk.yellow('Authentication required. Exiting.'));
|
|
101
|
+
// Check if user is signed in but doesn't have active subscription
|
|
102
|
+
if (tonkAuth.isSignedIn && !tonkAuth.activeSubscription) {
|
|
103
|
+
console.log(chalk.yellow(RESPONSES.needSubscription));
|
|
104
|
+
console.log(chalk.yellow('Please upgrade your subscription to use Tonk hosting features.'));
|
|
105
|
+
await tonkAuth.destroy();
|
|
93
106
|
process.exit(1);
|
|
94
107
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
108
|
+
// User is not signed in at all
|
|
109
|
+
if (!tonkAuth.isSignedIn) {
|
|
110
|
+
console.log(chalk.yellow('You need to be signed in to use Tonk hosting features.'));
|
|
111
|
+
const { confirm } = await inquirer.prompt([
|
|
112
|
+
{
|
|
113
|
+
type: 'confirm',
|
|
114
|
+
name: 'confirm',
|
|
115
|
+
message: 'Do you want to login?',
|
|
116
|
+
default: true,
|
|
117
|
+
},
|
|
118
|
+
]);
|
|
119
|
+
if (!confirm) {
|
|
120
|
+
console.log(chalk.yellow('Authentication required. Exiting.'));
|
|
121
|
+
await tonkAuth.destroy();
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
console.log("\nπΊοΈ Great, let's sign you in using your browser!");
|
|
125
|
+
const res = await tonkAuth.login();
|
|
126
|
+
if (!res.ok) {
|
|
127
|
+
console.error(chalk.red(`Failed to login to Tonk: ${res.error || 'Unknown error'}`));
|
|
128
|
+
await tonkAuth.destroy();
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
console.log(chalk.green(`π Welcome back to Tonk ${tonkAuth.friendlyName || 'user'}!\n`));
|
|
132
|
+
// Check subscription status after login
|
|
133
|
+
if (!tonkAuth.activeSubscription) {
|
|
134
|
+
console.log(chalk.yellow('Please upgrade your subscription to use Tonk hosting features.'));
|
|
135
|
+
await tonkAuth.destroy();
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
100
138
|
}
|
|
101
|
-
console.log(chalk.green(`π Welcome back to Tonk ${tonkAuth.friendlyName || 'user'}!\n`));
|
|
102
139
|
};
|
|
103
140
|
//# sourceMappingURL=tonkAuth.js.map
|
package/dist/lib/tonkAuth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tonkAuth.js","sourceRoot":"","sources":["../../src/lib/tonkAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"tonkAuth.js","sourceRoot":"","sources":["../../src/lib/tonkAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverUtils.d.ts","sourceRoot":"","sources":["../../src/utils/serverUtils.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA0B1D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getDeploymentServiceUrl } from '../config/environment.js';
|
|
2
|
+
// Lazy-load tonkAuth to get auth token
|
|
3
|
+
async function getTonkAuth() {
|
|
4
|
+
const { tonkAuth } = await import('../lib/tonkAuth.js');
|
|
5
|
+
return tonkAuth;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Fetches the list of servers owned by the authenticated user
|
|
9
|
+
*/
|
|
10
|
+
export async function fetchUserServers() {
|
|
11
|
+
try {
|
|
12
|
+
const tonkAuth = await getTonkAuth();
|
|
13
|
+
const authToken = await tonkAuth.getAuthToken();
|
|
14
|
+
if (!authToken) {
|
|
15
|
+
throw new Error('Failed to get authentication token');
|
|
16
|
+
}
|
|
17
|
+
const deploymentServiceUrl = getDeploymentServiceUrl();
|
|
18
|
+
const response = await fetch(`${deploymentServiceUrl}/list-user-servers`, {
|
|
19
|
+
method: 'GET',
|
|
20
|
+
headers: {
|
|
21
|
+
'Authorization': `Bearer ${authToken}`,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const result = await response.json();
|
|
25
|
+
if (!response.ok || !result.success) {
|
|
26
|
+
throw new Error(result.error || 'Failed to fetch user servers');
|
|
27
|
+
}
|
|
28
|
+
return result.servers || [];
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new Error(`Failed to fetch servers: ${error instanceof Error ? error.message : String(error)}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=serverUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverUtils.js","sourceRoot":"","sources":["../../src/utils/serverUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAEjE,uCAAuC;AACvC,KAAK,UAAU,WAAW;IACxB,MAAM,EAAC,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,oBAAoB,oBAAoB,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,SAAS,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE1C,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,8BAA8B,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;AACH,CAAC"}
|