@aifabrix/miso-client 3.9.0 → 4.1.0

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 (50) hide show
  1. package/CHANGELOG.md +1148 -1052
  2. package/dist/api/encryption.api.d.ts +31 -0
  3. package/dist/api/encryption.api.d.ts.map +1 -0
  4. package/dist/api/encryption.api.js +61 -0
  5. package/dist/api/encryption.api.js.map +1 -0
  6. package/dist/api/index.d.ts +5 -0
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +2 -0
  9. package/dist/api/index.js.map +1 -1
  10. package/dist/api/types/encryption.types.d.ts +47 -0
  11. package/dist/api/types/encryption.types.d.ts.map +1 -0
  12. package/dist/api/types/encryption.types.js +7 -0
  13. package/dist/api/types/encryption.types.js.map +1 -0
  14. package/dist/express/index.d.ts +0 -1
  15. package/dist/express/index.d.ts.map +1 -1
  16. package/dist/express/index.js +1 -4
  17. package/dist/express/index.js.map +1 -1
  18. package/dist/index.d.ts +13 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +17 -4
  21. package/dist/index.js.map +1 -1
  22. package/dist/services/encryption.service.d.ts +59 -0
  23. package/dist/services/encryption.service.d.ts.map +1 -0
  24. package/dist/services/encryption.service.js +83 -0
  25. package/dist/services/encryption.service.js.map +1 -0
  26. package/dist/services/permission.service.d.ts +0 -4
  27. package/dist/services/permission.service.d.ts.map +1 -1
  28. package/dist/services/permission.service.js +2 -23
  29. package/dist/services/permission.service.js.map +1 -1
  30. package/dist/services/role.service.d.ts +0 -4
  31. package/dist/services/role.service.d.ts.map +1 -1
  32. package/dist/services/role.service.js +2 -23
  33. package/dist/services/role.service.js.map +1 -1
  34. package/dist/types/config.types.d.ts +1 -1
  35. package/dist/types/config.types.d.ts.map +1 -1
  36. package/dist/types/config.types.js.map +1 -1
  37. package/dist/utils/config-loader.js +4 -4
  38. package/dist/utils/config-loader.js.map +1 -1
  39. package/dist/utils/data-client-request.d.ts.map +1 -1
  40. package/dist/utils/data-client-request.js +8 -0
  41. package/dist/utils/data-client-request.js.map +1 -1
  42. package/dist/utils/encryption-error.d.ts +24 -0
  43. package/dist/utils/encryption-error.d.ts.map +1 -0
  44. package/dist/utils/encryption-error.js +31 -0
  45. package/dist/utils/encryption-error.js.map +1 -0
  46. package/package.json +84 -84
  47. package/dist/express/encryption.d.ts +0 -29
  48. package/dist/express/encryption.d.ts.map +0 -1
  49. package/dist/express/encryption.js +0 -95
  50. package/dist/express/encryption.js.map +0 -1
@@ -1,95 +0,0 @@
1
- "use strict";
2
- /**
3
- * Encryption Utility
4
- * AES-256-GCM encryption for sensitive database fields
5
- */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.EncryptionUtil = void 0;
11
- const crypto_1 = __importDefault(require("crypto"));
12
- class EncryptionUtil {
13
- /**
14
- * Initialize encryption with key from environment
15
- * Must be called before encrypt/decrypt operations
16
- */
17
- static initialize() {
18
- if (this.initialized) {
19
- return;
20
- }
21
- const encryptionKey = process.env["ENCRYPTION_KEY"];
22
- if (!encryptionKey) {
23
- throw new Error("ENCRYPTION_KEY environment variable not configured");
24
- }
25
- // Validate key length (should be 64 hex characters = 32 bytes)
26
- if (encryptionKey.length !== 64) {
27
- throw new Error("ENCRYPTION_KEY must be 64 hex characters (32 bytes)");
28
- }
29
- try {
30
- this.key = Buffer.from(encryptionKey, "hex");
31
- }
32
- catch (error) {
33
- throw new Error("ENCRYPTION_KEY must be valid hex string");
34
- }
35
- this.initialized = true;
36
- }
37
- /**
38
- * Encrypt a string value
39
- * Returns: iv:authTag:encryptedData (all in hex)
40
- */
41
- static encrypt(text) {
42
- if (!this.initialized) {
43
- throw new Error("EncryptionUtil not initialized. Call initialize() first.");
44
- }
45
- if (!text) {
46
- throw new Error("Cannot encrypt empty text");
47
- }
48
- const iv = crypto_1.default.randomBytes(16);
49
- const cipher = crypto_1.default.createCipheriv(this.algorithm, this.key, iv);
50
- let encrypted = cipher.update(text, "utf8", "hex");
51
- encrypted += cipher.final("hex");
52
- const authTag = cipher.getAuthTag();
53
- // Format: iv:authTag:encryptedData
54
- return `${iv.toString("hex")}:${authTag.toString("hex")}:${encrypted}`;
55
- }
56
- /**
57
- * Decrypt an encrypted string
58
- * Expects format: iv:authTag:encryptedData (all in hex)
59
- */
60
- static decrypt(encryptedText) {
61
- if (!this.initialized) {
62
- throw new Error("EncryptionUtil not initialized. Call initialize() first.");
63
- }
64
- if (!encryptedText) {
65
- throw new Error("Cannot decrypt empty text");
66
- }
67
- try {
68
- const parts = encryptedText.split(":");
69
- if (parts.length !== 3) {
70
- throw new Error("Invalid encrypted text format");
71
- }
72
- const iv = Buffer.from(parts[0] || "", "hex");
73
- const authTag = Buffer.from(parts[1] || "", "hex");
74
- const encrypted = parts[2] || "";
75
- const decipher = crypto_1.default.createDecipheriv(this.algorithm, this.key, iv);
76
- decipher.setAuthTag(authTag);
77
- let decrypted = decipher.update(encrypted, "hex", "utf8");
78
- decrypted += decipher.final("utf8");
79
- return decrypted;
80
- }
81
- catch (error) {
82
- throw new Error(`Decryption failed: ${error instanceof Error ? error.message : "Unknown error"}`);
83
- }
84
- }
85
- /**
86
- * Generate a new encryption key (for setup/documentation)
87
- */
88
- static generateKey() {
89
- return crypto_1.default.randomBytes(32).toString("hex");
90
- }
91
- }
92
- exports.EncryptionUtil = EncryptionUtil;
93
- EncryptionUtil.algorithm = "aes-256-gcm";
94
- EncryptionUtil.initialized = false;
95
- //# sourceMappingURL=encryption.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/express/encryption.ts"],"names":[],"mappings":"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"}