kitstore-cli 1.0.4 → 1.0.6

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.
@@ -1 +1 @@
1
- {"server": "https://cursorkit-backend-123456789.us-central1.run.app"}
1
+ {"server": "https://cursorkit-backend-jl2wk4pdoq-uc.a.run.app"}
@@ -123,7 +123,13 @@ describe('Login Command', () => {
123
123
  isAxiosError: true,
124
124
  response: {
125
125
  status: 401,
126
- data: { error: 'Invalid credentials' },
126
+ data: {
127
+ message: {
128
+ message: 'Invalid credentials',
129
+ error: 'Unauthorized',
130
+ statusCode: 401
131
+ }
132
+ },
127
133
  },
128
134
  message: 'Request failed with status code 401',
129
135
  };
@@ -145,6 +151,7 @@ describe('Login Command', () => {
145
151
  password: 'WrongPassword',
146
152
  })).rejects.toThrow();
147
153
  expect(mockSaveConfig).not.toHaveBeenCalled();
154
+ expect(console.error).toHaveBeenCalledWith('❌ Login failed: Invalid credentials');
148
155
  });
149
156
  // TC-UNIT-CLI-003: Interactive login prompts
150
157
  it('should prompt for email and password when not provided', async () => {
@@ -233,7 +240,13 @@ describe('Login Command', () => {
233
240
  isAxiosError: true,
234
241
  response: {
235
242
  status: 500,
236
- data: { error: 'Internal server error' },
243
+ data: {
244
+ message: {
245
+ message: 'Internal server error',
246
+ error: 'Internal Server Error',
247
+ statusCode: 500
248
+ }
249
+ },
237
250
  },
238
251
  message: 'Request failed with status code 500',
239
252
  };
@@ -140,7 +140,7 @@ async function installCommand(options) {
140
140
  }
141
141
  catch (err) {
142
142
  if (axios_1.default.isAxiosError(err)) {
143
- console.error('❌ Install failed:', err.response?.data?.error || err.message);
143
+ console.error('❌ Install failed:', err.response?.data?.message?.message || err.response?.data?.message || err.message);
144
144
  }
145
145
  else {
146
146
  console.error('❌ Install failed:', err);
@@ -60,7 +60,7 @@ async function listCommand(options) {
60
60
  catch (err) {
61
61
  if (err && typeof err === 'object' && 'response' in err) {
62
62
  const axiosError = err;
63
- console.error(chalk_1.default.red(`❌ Failed to list rules: ${axiosError.response?.data?.error || axiosError.message}`));
63
+ console.error(chalk_1.default.red(`❌ Failed to list rules: ${axiosError.response?.data?.message?.message || axiosError.response?.data?.message || axiosError.message}`));
64
64
  }
65
65
  else {
66
66
  console.error(chalk_1.default.red(`❌ Failed to list rules: ${err}`));
@@ -35,14 +35,16 @@ async function loginCommand(options) {
35
35
  }
36
36
  const response = await authApi.authControllerLogin({ email, password });
37
37
  const data = response.data;
38
- if (data.token) {
38
+ // Handle nested response structure from backend API
39
+ const loginData = data.success ? data.data : data;
40
+ if (loginData.token) {
39
41
  await (0, config_1.saveConfig)({
40
- token: data.token,
42
+ token: loginData.token,
41
43
  server,
42
- user: data.user,
44
+ user: loginData.user,
43
45
  lastLogin: new Date().toISOString(),
44
46
  });
45
- console.log(`✅ Logged in as ${data.user.username}`);
47
+ console.log(`✅ Logged in as ${loginData.user.username}`);
46
48
  }
47
49
  else {
48
50
  console.error('❌ Login failed');
@@ -51,7 +53,7 @@ async function loginCommand(options) {
51
53
  }
52
54
  catch (err) {
53
55
  if (axios_1.default.isAxiosError(err)) {
54
- console.error(`❌ Login failed: ${err.response?.data?.error || err.message}`);
56
+ console.error(`❌ Login failed: ${err.response?.data?.message?.message || err.response?.data?.message || err.message}`);
55
57
  }
56
58
  else if (err instanceof Error) {
57
59
  console.error(`❌ Login failed: ${err.message}`);
@@ -49,7 +49,7 @@ async function searchCommand(query, options) {
49
49
  catch (err) {
50
50
  if (err && typeof err === 'object' && 'response' in err) {
51
51
  const axiosError = err;
52
- console.error('❌ Search failed:', axiosError.response?.data?.error || axiosError.message);
52
+ console.error('❌ Search failed:', axiosError.response?.data?.message?.message || axiosError.response?.data?.message || axiosError.message);
53
53
  }
54
54
  else {
55
55
  console.error('❌ Search failed:', err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitstore-cli",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "CLI tool for Cursor Kit",
5
5
  "main": "dist/index.js",
6
6
  "bin": {