@internxt/cli 1.5.4 → 1.5.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.
Files changed (60) hide show
  1. package/.env +4 -3
  2. package/README.md +65 -30
  3. package/dist/commands/create-folder.js +2 -0
  4. package/dist/commands/download-file.d.ts +1 -1
  5. package/dist/commands/download-file.js +9 -2
  6. package/dist/commands/list.d.ts +40 -2
  7. package/dist/commands/login.d.ts +1 -0
  8. package/dist/commands/login.js +58 -8
  9. package/dist/commands/move-file.d.ts +19 -1
  10. package/dist/commands/move-file.js +1 -1
  11. package/dist/commands/move-folder.js +3 -1
  12. package/dist/commands/rename-file.d.ts +1 -0
  13. package/dist/commands/rename-file.js +11 -4
  14. package/dist/commands/trash-file.js +1 -1
  15. package/dist/commands/trash-folder.js +1 -1
  16. package/dist/commands/trash-list.d.ts +40 -2
  17. package/dist/commands/trash-restore-file.d.ts +19 -1
  18. package/dist/commands/trash-restore-file.js +1 -1
  19. package/dist/commands/trash-restore-folder.js +3 -1
  20. package/dist/commands/upload-file.d.ts +17 -1
  21. package/dist/commands/upload-file.js +17 -11
  22. package/dist/commands/webdav-config.d.ts +1 -0
  23. package/dist/commands/webdav-config.js +9 -0
  24. package/dist/commands/webdav.js +2 -2
  25. package/dist/commands/whoami.js +14 -8
  26. package/dist/hooks/prerun/auth_check.js +2 -5
  27. package/dist/services/auth.service.d.ts +2 -1
  28. package/dist/services/auth.service.js +32 -37
  29. package/dist/services/config.service.d.ts +1 -1
  30. package/dist/services/config.service.js +4 -7
  31. package/dist/services/database/drive-file/drive-file.attributes.d.ts +3 -1
  32. package/dist/services/database/drive-file/drive-file.domain.d.ts +4 -2
  33. package/dist/services/database/drive-file/drive-file.domain.js +9 -2
  34. package/dist/services/drive/drive-file.service.d.ts +1 -1
  35. package/dist/services/drive/drive-file.service.js +5 -4
  36. package/dist/services/drive/drive-folder.service.d.ts +41 -4
  37. package/dist/services/drive/drive-folder.service.js +2 -2
  38. package/dist/services/drive/trash.service.d.ts +40 -2
  39. package/dist/services/keys.service.d.ts +0 -3
  40. package/dist/services/keys.service.js +1 -60
  41. package/dist/services/sdk-manager.service.d.ts +1 -3
  42. package/dist/services/sdk-manager.service.js +6 -15
  43. package/dist/services/thumbnail.service.js +59 -15
  44. package/dist/types/command.types.d.ts +27 -3
  45. package/dist/types/config.types.d.ts +1 -0
  46. package/dist/types/drive.types.d.ts +5 -4
  47. package/dist/types/keys.types.d.ts +0 -12
  48. package/dist/types/keys.types.js +0 -29
  49. package/dist/utils/drive.utils.js +4 -3
  50. package/dist/utils/network.utils.d.ts +4 -3
  51. package/dist/utils/network.utils.js +8 -8
  52. package/dist/webdav/handlers/DELETE.handler.js +1 -1
  53. package/dist/webdav/handlers/MOVE.handler.js +9 -7
  54. package/dist/webdav/handlers/PROPFIND.handler.js +8 -5
  55. package/dist/webdav/handlers/PUT.handler.js +5 -6
  56. package/dist/webdav/index.js +2 -5
  57. package/dist/webdav/middewares/auth.middleware.js +3 -10
  58. package/dist/webdav/webdav-server.js +4 -3
  59. package/oclif.manifest.json +27 -3
  60. package/package.json +27 -28
@@ -20,11 +20,8 @@ const init = async () => {
20
20
  await config_service_1.ConfigService.instance.ensureInternxtCliDataDirExists();
21
21
  await config_service_1.ConfigService.instance.ensureWebdavCertsDirExists();
22
22
  await config_service_1.ConfigService.instance.ensureInternxtLogsDirExists();
23
- const { token, newToken } = await auth_service_1.AuthService.instance.getAuthDetails();
24
- sdk_manager_service_1.SdkManager.init({
25
- token,
26
- newToken,
27
- });
23
+ const { token } = await auth_service_1.AuthService.instance.getAuthDetails();
24
+ sdk_manager_service_1.SdkManager.init({ token });
28
25
  new webdav_server_1.WebDavServer((0, express_1.default)(), config_service_1.ConfigService.instance, drive_file_service_1.DriveFileService.instance, drive_folder_service_1.DriveFolderService.instance, download_service_1.DownloadService.instance, auth_service_1.AuthService.instance, crypto_service_1.CryptoService.instance, trash_service_1.TrashService.instance)
29
26
  .start()
30
27
  .then()
@@ -5,18 +5,11 @@ const sdk_manager_service_1 = require("../../services/sdk-manager.service");
5
5
  const logger_utils_1 = require("../../utils/logger.utils");
6
6
  const xml_utils_1 = require("../../utils/xml.utils");
7
7
  const AuthMiddleware = (authService) => {
8
- return (req, res, next) => {
8
+ return (_, res, next) => {
9
9
  (async () => {
10
10
  try {
11
- const { token, newToken, user } = await authService.getAuthDetails();
12
- sdk_manager_service_1.SdkManager.init({
13
- token,
14
- newToken,
15
- });
16
- req.user = {
17
- uuid: user.uuid,
18
- rootFolderId: user.root_folder_id,
19
- };
11
+ const { token } = await authService.getAuthDetails();
12
+ sdk_manager_service_1.SdkManager.init({ token });
20
13
  next();
21
14
  }
22
15
  catch (error) {
@@ -63,6 +63,7 @@ class WebDavServer {
63
63
  bridgePass: credentials.user.userId,
64
64
  bridgeUrl: config_service_1.ConfigService.instance.get('NETWORK_URL'),
65
65
  encryptionKey: credentials.user.mnemonic,
66
+ appDetails: sdk_manager_service_1.SdkManager.getAppDetails(),
66
67
  });
67
68
  const networkFacade = new network_facade_service_1.NetworkFacade(networkModule, environment, download_service_1.DownloadService.instance, crypto_service_1.CryptoService.instance);
68
69
  return networkFacade;
@@ -130,13 +131,13 @@ class WebDavServer {
130
131
  server = http_1.default.createServer(this.app);
131
132
  }
132
133
  else {
133
- const httpsCerts = await network_utils_1.NetworkUtils.getWebdavSSLCerts();
134
+ const httpsCerts = await network_utils_1.NetworkUtils.getWebdavSSLCerts(configs);
134
135
  server = https_1.default.createServer(httpsCerts, this.app);
135
136
  }
136
137
  server.requestTimeout = configs.timeoutMinutes * 60 * 1000;
137
- server.listen(configs.port, () => {
138
+ server.listen(Number(configs.port), configs.host, undefined, () => {
138
139
  logger_utils_1.webdavLogger.info(`Internxt ${sdk_manager_service_1.SdkManager.getAppDetails().clientVersion} WebDav server ` +
139
- `listening at ${configs.protocol}://${config_service_1.ConfigService.WEBDAV_LOCAL_URL}:${configs.port}`);
140
+ `listening at ${configs.protocol}://${configs.host}:${configs.port}`);
140
141
  });
141
142
  };
142
143
  }
@@ -382,7 +382,7 @@
382
382
  ],
383
383
  "char": "e",
384
384
  "description": "The email to log in",
385
- "env": "INXT_EMAIL",
385
+ "env": "INXT_USER",
386
386
  "name": "email",
387
387
  "required": false,
388
388
  "hasDynamicHelp": false,
@@ -408,7 +408,7 @@
408
408
  "two-factor"
409
409
  ],
410
410
  "char": "w",
411
- "description": "The two factor auth code (only needed if the account is two-factor protected)",
411
+ "description": "The two factor auth code (TOTP). ",
412
412
  "env": "INXT_TWOFACTORCODE",
413
413
  "name": "twofactor",
414
414
  "required": false,
@@ -416,6 +416,21 @@
416
416
  "helpValue": "123456",
417
417
  "multiple": false,
418
418
  "type": "option"
419
+ },
420
+ "twofactortoken": {
421
+ "aliases": [
422
+ "otp",
423
+ "otp-token"
424
+ ],
425
+ "char": "t",
426
+ "description": "The TOTP secret token. It is used to generate a TOTP code if needed. It has prority over the two factor code flag.",
427
+ "env": "INXT_OTPTOKEN",
428
+ "name": "twofactortoken",
429
+ "required": false,
430
+ "hasDynamicHelp": false,
431
+ "helpValue": "token",
432
+ "multiple": false,
433
+ "type": "option"
419
434
  }
420
435
  },
421
436
  "hasDynamicHelp": false,
@@ -1133,6 +1148,15 @@
1133
1148
  "allowNo": false,
1134
1149
  "type": "boolean"
1135
1150
  },
1151
+ "host": {
1152
+ "char": "l",
1153
+ "description": "The listening host for the WebDAV server.",
1154
+ "name": "host",
1155
+ "required": false,
1156
+ "hasDynamicHelp": false,
1157
+ "multiple": false,
1158
+ "type": "option"
1159
+ },
1136
1160
  "port": {
1137
1161
  "char": "p",
1138
1162
  "description": "The new port for the WebDAV server.",
@@ -1266,5 +1290,5 @@
1266
1290
  ]
1267
1291
  }
1268
1292
  },
1269
- "version": "1.5.4"
1293
+ "version": "1.5.6"
1270
1294
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "author": "Internxt <hello@internxt.com>",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
4
4
  "description": "Internxt CLI to manage your encrypted storage",
5
5
  "scripts": {
6
6
  "build": "yarn clean && tsc",
@@ -36,59 +36,56 @@
36
36
  "/oclif.manifest.json"
37
37
  ],
38
38
  "dependencies": {
39
- "@inquirer/prompts": "7.6.0",
40
- "@internxt/inxt-js": "2.2.2",
39
+ "@inquirer/prompts": "7.8.6",
40
+ "@internxt/inxt-js": "2.2.9",
41
41
  "@internxt/lib": "1.3.1",
42
- "@internxt/sdk": "1.10.5",
43
- "@oclif/core": "4.4.1",
44
- "@types/validator": "13.15.2",
45
- "async": "3.2.6",
46
- "axios": "1.10.0",
42
+ "@internxt/sdk": "1.11.12",
43
+ "@oclif/core": "4.5.4",
44
+ "@oclif/plugin-autocomplete": "3.2.35",
45
+ "axios": "1.12.2",
47
46
  "bip39": "3.1.0",
48
47
  "body-parser": "2.2.0",
49
48
  "cli-progress": "3.12.0",
50
- "dayjs": "1.11.13",
51
- "dotenv": "17.0.1",
49
+ "dayjs": "1.11.18",
50
+ "dotenv": "17.2.3",
52
51
  "express": "5.1.0",
53
52
  "express-async-handler": "1.2.0",
54
- "express-basic-auth": "1.2.1",
55
53
  "fast-xml-parser": "5.2.5",
56
54
  "mime-types": "3.0.1",
57
- "openpgp": "5.11.3",
58
- "pm2": "6.0.8",
55
+ "openpgp": "6.2.2",
56
+ "otpauth": "9.4.1",
57
+ "pm2": "6.0.13",
59
58
  "range-parser": "1.2.1",
60
- "reflect-metadata": "0.2.2",
61
- "selfsigned": "2.4.1",
62
- "sharp": "0.34.2",
59
+ "selfsigned": "3.0.1",
63
60
  "tty-table": "4.2.3",
64
- "winston": "3.17.0"
61
+ "winston": "3.18.3"
65
62
  },
66
63
  "devDependencies": {
67
- "@internxt/eslint-config-internxt": "2.0.0",
64
+ "@internxt/eslint-config-internxt": "2.0.1",
68
65
  "@internxt/prettier-config": "internxt/prettier-config#v1.0.2",
69
- "@oclif/test": "4.1.13",
70
- "@openpgp/web-stream-tools": "0.0.11-patch-1",
71
- "@types/async": "3.2.24",
66
+ "@openpgp/web-stream-tools": "0.1.3",
72
67
  "@types/cli-progress": "3.11.6",
73
68
  "@types/express": "5.0.3",
74
69
  "@types/mime-types": "3.0.1",
75
- "@types/node": "22.16.0",
70
+ "@types/node": "22.18.6",
76
71
  "@types/range-parser": "1.2.7",
77
72
  "@vitest/coverage-istanbul": "3.2.4",
78
73
  "@vitest/spy": "3.2.4",
79
- "eslint": "9.30.1",
74
+ "eslint": "9.36.0",
80
75
  "husky": "9.1.7",
81
- "lint-staged": "16.1.2",
82
- "nock": "14.0.5",
76
+ "lint-staged": "16.2.3",
83
77
  "nodemon": "3.1.10",
84
- "oclif": "4.20.1",
78
+ "oclif": "4.22.27",
85
79
  "prettier": "3.6.2",
86
80
  "rimraf": "6.0.1",
87
81
  "ts-node": "10.9.2",
88
- "typescript": "5.8.3",
82
+ "typescript": "5.9.3",
89
83
  "vitest": "3.2.4",
90
84
  "vitest-mock-express": "2.2.0"
91
85
  },
86
+ "optionalDependencies": {
87
+ "sharp": "0.34.4"
88
+ },
92
89
  "engines": {
93
90
  "node": ">=22.12.0"
94
91
  },
@@ -99,7 +96,9 @@
99
96
  "bin": "internxt",
100
97
  "dirname": "internxt-cli",
101
98
  "commands": "./dist/commands",
102
- "plugins": [],
99
+ "plugins": [
100
+ "@oclif/plugin-autocomplete"
101
+ ],
103
102
  "topicSeparator": " ",
104
103
  "topics": {},
105
104
  "hooks": {