@mindbricks/mbx 1.0.5 → 1.0.7

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
@@ -1,6 +1,6 @@
1
1
  # @mindbricks/mbx
2
2
 
3
- CLI tool for authenticating with the Mindbricks platform
3
+ Official CLI tool for the Mindbricks platform. Authenticate and manage your Mindbricks projects from the command line.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,10 +8,62 @@ CLI tool for authenticating with the Mindbricks platform
8
8
  npm install -g @mindbricks/mbx
9
9
  ```
10
10
 
11
+ ## Quick Start
12
+
13
+ ### Login
14
+ Authenticate with your Mindbricks account:
15
+
16
+ ```bash
17
+ mbx login
18
+ ```
19
+
20
+ ### Check Authentication Status
21
+ View your current logged-in user:
22
+
23
+ ```bash
24
+ mbx whoami
25
+ ```
26
+
27
+ ### Export Project
28
+ Download and extract a project to a folder (auto-extracts by default):
29
+
30
+ ```bash
31
+ mbx export <project-shortname>
32
+
33
+ # Examples:
34
+ mbx export myproject # Exports and extracts to current directory
35
+ mbx export myproject -o ./downloads # Exports and extracts to specified directory
36
+ mbx export myproject --zip # Downloads as ZIP file (no extraction)
37
+ mbx export myproject -o ./downloads -z # Downloads as ZIP to specified directory
38
+ ```
39
+
40
+ ## Commands
41
+
42
+ | Command | Description |
43
+ |---------|-------------|
44
+ | `mbx login` | Authenticate with your Mindbricks account |
45
+ | `mbx whoami` | Display current authenticated user information |
46
+ | `mbx export <shortname>` | Export a project to local directory |
47
+
48
+ ## Options
49
+
50
+ ### Export Options
51
+
52
+ - `-o, --output <path>` - Specify output directory (default: current directory)
53
+ - `-z, --zip` - Keep as ZIP file without extracting (default: auto-extract to folder)
54
+
55
+ ## Authentication
56
+
57
+ The CLI stores your authentication token in `~/.mbx-token.json`. This file is automatically created when you login and is used for all authenticated requests.
58
+
59
+ ## Requirements
60
+
61
+ - Node.js >= 16.0.0
62
+
11
63
  ## License
12
64
 
13
65
  MIT
14
66
 
15
67
  ## Support
16
68
 
17
- For issues and questions, please visit https://mindbricks.com/support
69
+ For issues and questions, please visit [https://mindbricks.com/support](https://mindbricks.com/support)
package/dist/cli.js CHANGED
@@ -3,12 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
5
  const commands_1 = require("./commands");
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../package.json'), 'utf-8'));
6
9
  const program = new commander_1.Command();
7
10
  const handler = new commands_1.CommandHandler();
8
11
  program
9
12
  .name('mbx')
10
13
  .description('Mindbricks CLI - Command line tools for Mindbricks platform')
11
- .version('1.0.0');
14
+ .version(packageJson.version);
12
15
  program
13
16
  .command('login')
14
17
  .description('Authenticate with your account')
@@ -21,6 +24,20 @@ program
21
24
  .action(async () => {
22
25
  await handler.handleWhoami();
23
26
  });
27
+ program
28
+ .command('logout')
29
+ .description('Logout and remove stored credentials')
30
+ .action(async () => {
31
+ await handler.handleLogout();
32
+ });
33
+ program
34
+ .command('export <projectId>')
35
+ .description('Export a project to local directory')
36
+ .option('-o, --output <path>', 'Output directory path', '.')
37
+ .option('-z, --zip', 'Keep as zip file (default: auto-extract to folder)')
38
+ .action(async (projectId, options) => {
39
+ await handler.handleExport(projectId, options.output, options.zip || false);
40
+ });
24
41
  program.parse(process.argv);
25
42
  if (!process.argv.slice(2).length) {
26
43
  program.outputHelp();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAA4C;AAE5C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,MAAM,OAAO,GAAG,IAAI,yBAAc,EAAE,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAGL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAA4C;AAC5C,2BAAkC;AAClC,+BAA4B;AAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAC1D,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,MAAM,OAAO,GAAG,IAAI,yBAAc,EAAE,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAGL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,GAAG,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAA0C,EAAE,EAAE;IAC9E,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
@@ -4,5 +4,7 @@ export declare class CommandHandler {
4
4
  constructor();
5
5
  handleLogin(): Promise<void>;
6
6
  handleWhoami(): Promise<void>;
7
+ handleLogout(): Promise<void>;
8
+ handleExport(projectShortname: string, outputPath: string, keepZip?: boolean): Promise<void>;
7
9
  }
8
10
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAMA,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAe;;IAQxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBpC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAUA,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAe;;IAQxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB7B,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA+F1G"}
package/dist/commands.js CHANGED
@@ -1,10 +1,47 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.CommandHandler = void 0;
7
40
  const prompts_1 = __importDefault(require("prompts"));
41
+ const axios_1 = __importDefault(require("axios"));
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const extract_zip_1 = __importDefault(require("extract-zip"));
8
45
  const auth_1 = require("./auth");
9
46
  const storage_1 = require("./storage");
10
47
  const config_1 = require("./config");
@@ -79,6 +116,114 @@ class CommandHandler {
79
116
  process.exit(1);
80
117
  }
81
118
  }
119
+ async handleLogout() {
120
+ try {
121
+ const token = this.storage.getToken();
122
+ if (!token) {
123
+ console.log('ℹ️ You are not currently logged in.');
124
+ return;
125
+ }
126
+ const deleted = this.storage.deleteToken();
127
+ if (deleted) {
128
+ console.log('\n✅ Logged out successfully');
129
+ console.log(` Credentials removed from: ${this.storage.getTokenPath()}`);
130
+ }
131
+ else {
132
+ console.log('⚠️ No credentials found to remove');
133
+ }
134
+ }
135
+ catch (error) {
136
+ console.error('❌ Failed to logout');
137
+ console.error(` ${error instanceof Error ? error.message : 'Unknown error'}`);
138
+ process.exit(1);
139
+ }
140
+ }
141
+ async handleExport(projectShortname, outputPath, keepZip = false) {
142
+ try {
143
+ console.log('📦 Exporting project...\n');
144
+ let token;
145
+ try {
146
+ token = this.storage.getValidToken();
147
+ }
148
+ catch (error) {
149
+ const errorMsg = error instanceof Error ? error.message : 'TOKEN_ERROR';
150
+ const message = config_1.MESSAGES[errorMsg];
151
+ console.error(`\n${message}`);
152
+ process.exit(1);
153
+ }
154
+ console.log(` Project: ${projectShortname}`);
155
+ console.log(` User: ${token.fullname}`);
156
+ console.log(`\n⏳ Downloading project archive...`);
157
+ const downloadUrl = `${config_1.CONFIG.API_BASE_URL}${config_1.CONFIG.EXPORT_ENDPOINT}/${projectShortname}/download`;
158
+ const response = await axios_1.default.get(downloadUrl, {
159
+ headers: {
160
+ 'Authorization': `Bearer ${token.accessToken}`,
161
+ },
162
+ responseType: 'arraybuffer',
163
+ timeout: 300000,
164
+ });
165
+ let filename = `${projectShortname}.zip`;
166
+ const contentDisposition = response.headers['content-disposition'];
167
+ if (contentDisposition) {
168
+ const filenameMatch = contentDisposition.match(/filename="?([^"]+)"?/);
169
+ if (filenameMatch) {
170
+ filename = filenameMatch[1];
171
+ }
172
+ }
173
+ const outputDir = path.resolve(outputPath);
174
+ if (!fs.existsSync(outputDir)) {
175
+ fs.mkdirSync(outputDir, { recursive: true });
176
+ }
177
+ const filePath = path.join(outputDir, filename);
178
+ fs.writeFileSync(filePath, response.data);
179
+ const stats = fs.statSync(filePath);
180
+ const fileSizeMB = (stats.size / (1024 * 1024)).toFixed(2);
181
+ console.log('\n✓ Download completed successfully!');
182
+ console.log(` File: ${filename}`);
183
+ console.log(` Size: ${fileSizeMB} MB`);
184
+ console.log(` Location: ${filePath}`);
185
+ if (!keepZip) {
186
+ console.log('\n⏳ Extracting archive...');
187
+ const extractPath = path.join(outputDir, projectShortname);
188
+ try {
189
+ await (0, extract_zip_1.default)(filePath, { dir: extractPath });
190
+ console.log('\n✓ Extraction completed successfully!');
191
+ console.log(` Extracted: ${extractPath}`);
192
+ fs.unlinkSync(filePath);
193
+ console.log(` Cleaned up: ${filename}`);
194
+ }
195
+ catch (extractError) {
196
+ console.error('\n⚠️ Extraction failed, but zip file is still available');
197
+ console.error(` ${extractError instanceof Error ? extractError.message : 'Unknown error'}`);
198
+ console.log(` Zip file: ${filePath}`);
199
+ }
200
+ }
201
+ }
202
+ catch (error) {
203
+ console.error('\n❌ Export failed');
204
+ if (axios_1.default.isAxiosError(error)) {
205
+ if (error.response?.status === 401) {
206
+ console.error(` ${config_1.MESSAGES.TOKEN_INVALID}`);
207
+ }
208
+ else if (error.response?.status === 403) {
209
+ console.error(' You do not have permission to export this project');
210
+ }
211
+ else if (error.response?.status === 404) {
212
+ console.error(' Project not found. Please check the project shortname.');
213
+ }
214
+ else if (error.code === 'ECONNABORTED') {
215
+ console.error(' Download timeout. The project may be too large or connection is slow.');
216
+ }
217
+ else {
218
+ console.error(` ${error.response?.data?.message || error.message}`);
219
+ }
220
+ }
221
+ else {
222
+ console.error(` ${error instanceof Error ? error.message : 'Unknown error'}`);
223
+ }
224
+ process.exit(1);
225
+ }
226
+ }
82
227
  }
83
228
  exports.CommandHandler = CommandHandler;
84
229
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export declare const CONFIG: {
2
- readonly API_BASE_URL: "https://app.mindbricks.com";
2
+ readonly API_BASE_URL: "https://stage.mindbricks.com";
3
3
  readonly LOGIN_ENDPOINT: "/api/mindbrix-auth/login";
4
- readonly TOKEN_FILE_NAME: "mbx-token.json";
4
+ readonly EXPORT_ENDPOINT: "/api/repository/takeout/projects";
5
+ readonly TOKEN_FILE_NAME: ".mbx-token.json";
5
6
  };
6
7
  export declare const MESSAGES: {
7
8
  readonly LOGIN_SUCCESS: "✓ Successfully logged in!";
@@ -10,5 +11,8 @@ export declare const MESSAGES: {
10
11
  readonly NO_TOKEN: "Not authenticated. Please run: mbx login";
11
12
  readonly TOKEN_SAVED: "✓ Token saved successfully";
12
13
  readonly INVALID_CREDENTIALS: "✗ Invalid email or password";
14
+ readonly TOKEN_EXPIRED: "✗ Your session has expired. Please login again: mbx login";
15
+ readonly TOKEN_INVALID: "✗ Your authentication token is invalid. Please login again: mbx login";
16
+ readonly TOKEN_ERROR: "✗ Unable to read authentication token. Please login again: mbx login";
13
17
  };
14
18
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;CAUX,CAAC"}
package/dist/config.js CHANGED
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MESSAGES = exports.CONFIG = void 0;
4
4
  exports.CONFIG = {
5
- API_BASE_URL: 'https://app.mindbricks.com',
5
+ API_BASE_URL: 'https://stage.mindbricks.com',
6
6
  LOGIN_ENDPOINT: '/api/mindbrix-auth/login',
7
- TOKEN_FILE_NAME: 'mbx-token.json',
7
+ EXPORT_ENDPOINT: '/api/repository/takeout/projects',
8
+ TOKEN_FILE_NAME: '.mbx-token.json',
8
9
  };
9
10
  exports.MESSAGES = {
10
11
  LOGIN_SUCCESS: '✓ Successfully logged in!',
@@ -13,5 +14,8 @@ exports.MESSAGES = {
13
14
  NO_TOKEN: 'Not authenticated. Please run: mbx login',
14
15
  TOKEN_SAVED: '✓ Token saved successfully',
15
16
  INVALID_CREDENTIALS: '✗ Invalid email or password',
17
+ TOKEN_EXPIRED: '✗ Your session has expired. Please login again: mbx login',
18
+ TOKEN_INVALID: '✗ Your authentication token is invalid. Please login again: mbx login',
19
+ TOKEN_ERROR: '✗ Unable to read authentication token. Please login again: mbx login',
16
20
  };
17
21
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE,4BAA4B;IAC1C,cAAc,EAAE,0BAA0B;IAC1C,eAAe,EAAE,gBAAgB;CACzB,CAAC;AAEE,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,2BAA2B;IAC1C,YAAY,EAAE,gBAAgB;IAC9B,cAAc,EAAE,2BAA2B;IAC3C,QAAQ,EAAE,0CAA0C;IACpD,WAAW,EAAE,4BAA4B;IACzC,mBAAmB,EAAE,6BAA6B;CAC1C,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE,8BAA8B;IAC5C,cAAc,EAAE,0BAA0B;IAC1C,eAAe,EAAE,kCAAkC;IACnD,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEE,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,2BAA2B;IAC1C,YAAY,EAAE,gBAAgB;IAC9B,cAAc,EAAE,2BAA2B;IAC3C,QAAQ,EAAE,0CAA0C;IACpD,WAAW,EAAE,4BAA4B;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,aAAa,EAAE,2DAA2D;IAC1E,aAAa,EAAE,uEAAuE;IACtF,WAAW,EAAE,sEAAsE;CAC3E,CAAC"}
package/dist/storage.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  import { StoredToken } from './types';
2
2
  export declare class TokenStorage {
3
3
  private tokenPath;
4
- constructor(workingDirectory?: string);
4
+ constructor();
5
5
  saveToken(token: StoredToken): void;
6
6
  getToken(): StoredToken | null;
7
7
  deleteToken(): boolean;
8
8
  hasToken(): boolean;
9
9
  getTokenPath(): string;
10
+ validateToken(): string | null;
11
+ getValidToken(): StoredToken;
10
12
  }
11
13
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,gBAAgB,GAAE,MAAsB;IAKpD,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAUnC,QAAQ,IAAI,WAAW,GAAG,IAAI;IAa9B,WAAW,IAAI,OAAO;IAatB,QAAQ,IAAI,OAAO;IAKnB,YAAY,IAAI,MAAM;CAGvB"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;;IAO1B,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAUnC,QAAQ,IAAI,WAAW,GAAG,IAAI;IAa9B,WAAW,IAAI,OAAO;IAatB,QAAQ,IAAI,OAAO;IAKnB,YAAY,IAAI,MAAM;IAItB,aAAa,IAAI,MAAM,GAAG,IAAI;IAyB9B,aAAa,IAAI,WAAW;CAO7B"}
package/dist/storage.js CHANGED
@@ -36,10 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.TokenStorage = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const os = __importStar(require("os"));
39
40
  const config_1 = require("./config");
40
41
  class TokenStorage {
41
- constructor(workingDirectory = process.cwd()) {
42
- this.tokenPath = path.join(workingDirectory, config_1.CONFIG.TOKEN_FILE_NAME);
42
+ constructor() {
43
+ this.tokenPath = path.join(os.homedir(), config_1.CONFIG.TOKEN_FILE_NAME);
43
44
  }
44
45
  saveToken(token) {
45
46
  try {
@@ -80,6 +81,32 @@ class TokenStorage {
80
81
  getTokenPath() {
81
82
  return this.tokenPath;
82
83
  }
84
+ validateToken() {
85
+ if (!this.hasToken()) {
86
+ return 'NO_TOKEN';
87
+ }
88
+ const token = this.getToken();
89
+ if (!token) {
90
+ return 'TOKEN_ERROR';
91
+ }
92
+ if (!token.accessToken || !token.sessionId || !token.userId) {
93
+ return 'TOKEN_INVALID';
94
+ }
95
+ if (token.expiresAt) {
96
+ const expiryDate = new Date(token.expiresAt);
97
+ if (expiryDate < new Date()) {
98
+ return 'TOKEN_EXPIRED';
99
+ }
100
+ }
101
+ return null;
102
+ }
103
+ getValidToken() {
104
+ const validationError = this.validateToken();
105
+ if (validationError) {
106
+ throw new Error(validationError);
107
+ }
108
+ return this.getToken();
109
+ }
83
110
  }
84
111
  exports.TokenStorage = TokenStorage;
85
112
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,qCAAkC;AAIlC,MAAa,YAAY;IAGvB,YAAY,mBAA2B,OAAO,CAAC,GAAG,EAAE;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAM,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAGD,SAAS,CAAC,KAAkB;QAC1B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAgB,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAGD,WAAW;QACT,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAGD,QAAQ;QACN,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAGD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AApDD,oCAoDC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindbricks/mbx",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Mindbricks CLI Command line tools for Mindbricks platform",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -27,9 +27,11 @@
27
27
  "dependencies": {
28
28
  "axios": "^1.6.5",
29
29
  "commander": "^12.0.0",
30
+ "extract-zip": "^2.0.1",
30
31
  "prompts": "^2.4.2"
31
32
  },
32
33
  "devDependencies": {
34
+ "@types/extract-zip": "^2.0.0",
33
35
  "@types/node": "^20.11.5",
34
36
  "@types/prompts": "^2.4.9",
35
37
  "typescript": "^5.3.3"