xypriss-security 2.0.6 → 2.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.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * **CONVENIENCE FUNCTIONS: Quick access to common serialization patterns**
3
+ */
4
+ export declare const fastStringify: (obj: any) => string;
5
+ export declare const safeStringify: (obj: any) => string;
6
+ export declare const XyPriStringify: (obj: any) => string;
7
+ export declare const generateSafeCacheKey: (args: any[], prefix?: string) => string;
8
+ export declare const debugLog: (label: string, obj: any) => void;
9
+ export declare const auditStringify: (obj: any) => string;
10
+ export { SafeSerializer } from "./safe-serializer";
11
+ export * from "./types";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/serializer/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,KAAG,MAC2B,CAAC;AAGrE,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,KAAG,MACW,CAAC;AAGrD,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,KAAG,MACe,CAAC;AAG1D,eAAO,MAAM,oBAAoB,GAAI,MAAM,GAAG,EAAE,EAAE,SAAS,MAAM,KAAG,MACrB,CAAC;AAGhD,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,KAAK,GAAG,KAAG,IACd,CAAC;AAGtC,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,KAAG,MACZ,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,cAAc,SAAS,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * **CONVENIENCE FUNCTIONS: Quick access to common serialization patterns**
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.SafeSerializer = exports.auditStringify = exports.debugLog = exports.generateSafeCacheKey = exports.XyPriStringify = exports.safeStringify = exports.fastStringify = void 0;
21
+ const safe_serializer_1 = require("./safe-serializer");
22
+ // Ultra-fast serialization for performance-critical paths
23
+ const fastStringify = (obj) => safe_serializer_1.SafeSerializer.stringify(obj, { fastMode: true, maxLength: 1000 });
24
+ exports.fastStringify = fastStringify;
25
+ // Safe serialization for complex objects
26
+ const safeStringify = (obj) => safe_serializer_1.SafeSerializer.stringify(obj, { fastMode: false });
27
+ exports.safeStringify = safeStringify;
28
+ // XyPriss-safe serialization for req/res objects
29
+ const XyPriStringify = (obj) => safe_serializer_1.SafeSerializer.XyPriStringify(obj, { fastMode: false });
30
+ exports.XyPriStringify = XyPriStringify;
31
+ // Cache key generation
32
+ const generateSafeCacheKey = (args, prefix) => safe_serializer_1.SafeSerializer.generateCacheKey(args, prefix);
33
+ exports.generateSafeCacheKey = generateSafeCacheKey;
34
+ // Debug logging
35
+ const debugLog = (label, obj) => safe_serializer_1.SafeSerializer.debugLog(label, obj);
36
+ exports.debugLog = debugLog;
37
+ // Audit logging
38
+ const auditStringify = (obj) => safe_serializer_1.SafeSerializer.auditLog(obj);
39
+ exports.auditStringify = auditStringify;
40
+ var safe_serializer_2 = require("./safe-serializer");
41
+ Object.defineProperty(exports, "SafeSerializer", { enumerable: true, get: function () { return safe_serializer_2.SafeSerializer; } });
42
+ __exportStar(require("./types"), exports);
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/serializer/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,uDAAmD;AAEnD,0DAA0D;AACnD,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAU,EAAE,CAChD,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AADxD,QAAA,aAAa,iBAC2C;AAErE,yCAAyC;AAClC,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAU,EAAE,CAChD,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AADxC,QAAA,aAAa,iBAC2B;AAErD,iDAAiD;AAC1C,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAU,EAAE,CACjD,gCAAc,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAD7C,QAAA,cAAc,kBAC+B;AAE1D,uBAAuB;AAChB,MAAM,oBAAoB,GAAG,CAAC,IAAW,EAAE,MAAe,EAAU,EAAE,CAC3E,gCAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AADnC,QAAA,oBAAoB,wBACe;AAEhD,gBAAgB;AACT,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,GAAQ,EAAQ,EAAE,CACxD,gCAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AADzB,QAAA,QAAQ,YACiB;AAEtC,gBAAgB;AACT,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAU,EAAE,CACjD,gCAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AADlB,QAAA,cAAc,kBACI;AAE/B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,0CAAwB"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Safe Serialization Utility for FortifiedFunction
3
+ * Handles cyclic structures, XyPriss objects, and performance optimization
4
+ */
5
+ import { SafeSerializationOptions } from "./types";
6
+ export declare class SafeSerializer {
7
+ private static readonly DEFAULT_OPTIONS;
8
+ /**
9
+ * **ULTRA-FAST: Primary serialization method with performance optimization**
10
+ */
11
+ static stringify(obj: any, options?: SafeSerializationOptions): string;
12
+ /**
13
+ * **XyPriss-SAFE: Enhanced JSON.stringify for XyPriss objects**
14
+ */
15
+ static XyPriStringify(obj: any, options?: SafeSerializationOptions): string;
16
+ /**
17
+ * **XyPriss REPLACER: Handles XyPriss req/res objects and circular references**
18
+ */
19
+ private static createXyPrissReplacer;
20
+ /**
21
+ * **SAFE SERIALIZATION: Handles all edge cases**
22
+ */
23
+ private static safeStringify;
24
+ /**
25
+ * **UTILITY: Sanitize HTTP headers for safe logging**
26
+ */
27
+ private static sanitizeHeaders;
28
+ /**
29
+ * **ULTRA-FAST: Generate cache key with safe serialization**
30
+ */
31
+ static generateCacheKey(args: any[], prefix?: string): string;
32
+ /**
33
+ * **DEBUG: Safe debug logging**
34
+ */
35
+ static debugLog(label: string, obj: any, maxLength?: number): void;
36
+ /**
37
+ * **AUDIT: Safe audit logging with full details**
38
+ */
39
+ static auditLog(obj: any): string;
40
+ }
41
+ //# sourceMappingURL=safe-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-serializer.d.ts","sourceRoot":"","sources":["../../../../src/components/serializer/safe-serializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEnD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAOnC;IAEJ;;OAEG;WACW,SAAS,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,wBAA6B,GACrC,MAAM;IAmBT;;OAEG;WACW,cAAc,CAC1B,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,wBAA6B,GACrC,MAAM;IAWT;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAmGpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA6H5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyB9B;;OAEG;WACW,gBAAgB,CAC5B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,GAAE,MAAgB,GACvB,MAAM;IAmDT;;OAEG;WACW,QAAQ,CACpB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,GAAG,EACR,SAAS,GAAE,MAAY,GACtB,IAAI;IAWP;;OAEG;WACW,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;CASzC"}
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ /**
3
+ * Safe Serialization Utility for FortifiedFunction
4
+ * Handles cyclic structures, XyPriss objects, and performance optimization
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SafeSerializer = void 0;
8
+ class SafeSerializer {
9
+ /**
10
+ * **ULTRA-FAST: Primary serialization method with performance optimization**
11
+ */
12
+ static stringify(obj, options = {}) {
13
+ const opts = { ...this.DEFAULT_OPTIONS, ...options };
14
+ // **ULTRA-FAST PATH: Try simple JSON.stringify first**
15
+ if (opts.fastMode) {
16
+ try {
17
+ const result = JSON.stringify(obj);
18
+ if (result.length <= opts.maxLength) {
19
+ return result;
20
+ }
21
+ }
22
+ catch {
23
+ // Fall through to safe serialization
24
+ }
25
+ }
26
+ // **SAFE PATH: Handle complex objects with cyclic references**
27
+ return this.safeStringify(obj, opts);
28
+ }
29
+ /**
30
+ * **XyPriss-SAFE: Enhanced JSON.stringify for XyPriss objects**
31
+ */
32
+ static XyPriStringify(obj, options = {}) {
33
+ const opts = { ...this.DEFAULT_OPTIONS, ...options };
34
+ try {
35
+ return JSON.stringify(obj, this.createXyPrissReplacer(opts));
36
+ }
37
+ catch (error) {
38
+ // Fallback to safe serialization
39
+ return this.safeStringify(obj, opts);
40
+ }
41
+ }
42
+ /**
43
+ * **XyPriss REPLACER: Handles XyPriss req/res objects and circular references**
44
+ */
45
+ static createXyPrissReplacer(options) {
46
+ const seen = new WeakSet();
47
+ let depth = 0;
48
+ return function (key, value) {
49
+ // Track depth
50
+ if (key === "")
51
+ depth = 0;
52
+ else
53
+ depth++;
54
+ if (depth > options.maxDepth) {
55
+ return "[Max Depth Exceeded]";
56
+ }
57
+ // Handle null/undefined
58
+ if (value === null || value === undefined) {
59
+ return value;
60
+ }
61
+ // Handle circular references
62
+ if (typeof value === "object" && value !== null) {
63
+ if (seen.has(value)) {
64
+ return "[Circular Reference]";
65
+ }
66
+ seen.add(value);
67
+ }
68
+ // Handle XyPriss Request objects
69
+ if (value &&
70
+ typeof value === "object" &&
71
+ value.constructor &&
72
+ value.constructor.name === "IncomingMessage") {
73
+ return {
74
+ method: value.method,
75
+ url: value.url,
76
+ headers: value.headers,
77
+ query: value.query,
78
+ params: value.params,
79
+ body: value.body,
80
+ ip: value.ip,
81
+ _type: "[XyPriss Request]",
82
+ };
83
+ }
84
+ // Handle XyPriss Response objects
85
+ if (value &&
86
+ typeof value === "object" &&
87
+ value.constructor &&
88
+ value.constructor.name === "ServerResponse") {
89
+ return {
90
+ statusCode: value.statusCode,
91
+ statusMessage: value.statusMessage,
92
+ headersSent: value.headersSent,
93
+ _type: "[XyPriss Response]",
94
+ };
95
+ }
96
+ // Handle functions
97
+ if (typeof value === "function") {
98
+ return `[Function: ${value.name || "anonymous"}]`;
99
+ }
100
+ // Handle large strings
101
+ if (typeof value === "string" && value.length > options.truncateStrings) {
102
+ return value.substring(0, options.truncateStrings) + "...[truncated]";
103
+ }
104
+ // Handle Buffers
105
+ if (value instanceof Buffer) {
106
+ return `[Buffer: ${value.length} bytes]`;
107
+ }
108
+ // Handle other special objects
109
+ if (value instanceof Date) {
110
+ return value.toISOString();
111
+ }
112
+ if (value instanceof RegExp) {
113
+ return value.toString();
114
+ }
115
+ if (value instanceof Error) {
116
+ return {
117
+ name: value.name,
118
+ message: value.message,
119
+ stack: value.stack,
120
+ _type: "[Error]",
121
+ };
122
+ }
123
+ return value;
124
+ };
125
+ }
126
+ /**
127
+ * **SAFE SERIALIZATION: Handles all edge cases**
128
+ */
129
+ static safeStringify(obj, options) {
130
+ const seen = new WeakSet();
131
+ let depth = 0;
132
+ const replacer = (_key, value) => {
133
+ // Handle primitive values
134
+ if (value === null || typeof value !== "object") {
135
+ if (typeof value === "string" &&
136
+ value.length > options.truncateStrings) {
137
+ return value.substring(0, options.truncateStrings) + "...[truncated]";
138
+ }
139
+ return value;
140
+ }
141
+ // Check depth limit
142
+ depth++;
143
+ if (depth > options.maxDepth) {
144
+ depth--;
145
+ return "[Max Depth Exceeded]";
146
+ }
147
+ // Handle cyclic references
148
+ if (seen.has(value)) {
149
+ return `[Circular:${value.constructor?.name || "Object"}]`;
150
+ }
151
+ seen.add(value);
152
+ // Handle special XyPriss objects
153
+ if (value.constructor) {
154
+ const constructorName = value.constructor.name;
155
+ // XyPriss Request object
156
+ if (constructorName === "IncomingMessage" ||
157
+ constructorName === "Request") {
158
+ const result = {
159
+ method: value.method,
160
+ url: value.url,
161
+ headers: this.sanitizeHeaders(value.headers),
162
+ params: value.params,
163
+ query: value.query,
164
+ body: value.body ? "[Request Body]" : undefined,
165
+ };
166
+ depth--;
167
+ return result;
168
+ }
169
+ // XyPriss Response object
170
+ if (constructorName === "ServerResponse" ||
171
+ constructorName === "Response") {
172
+ const result = {
173
+ statusCode: value.statusCode,
174
+ statusMessage: value.statusMessage,
175
+ headersSent: value.headersSent,
176
+ };
177
+ depth--;
178
+ return result;
179
+ }
180
+ // Other problematic objects
181
+ if (["Socket", "Server", "Agent", "TLSSocket"].includes(constructorName)) {
182
+ depth--;
183
+ return `[${constructorName}:${value.constructor.name}]`;
184
+ }
185
+ }
186
+ // Handle functions
187
+ if (typeof value === "function") {
188
+ depth--;
189
+ return `[Function:${value.name || "anonymous"}]`;
190
+ }
191
+ // Handle Buffers
192
+ if (Buffer.isBuffer(value)) {
193
+ depth--;
194
+ return `[Buffer:${value.length}bytes]`;
195
+ }
196
+ // Handle large arrays
197
+ if (Array.isArray(value) && value.length > 100) {
198
+ depth--;
199
+ return `[Array:${value.length}items]`;
200
+ }
201
+ // Handle Error objects
202
+ if (value instanceof Error) {
203
+ depth--;
204
+ return {
205
+ name: value.name,
206
+ message: value.message,
207
+ stack: value.stack ? "[Stack Trace]" : undefined,
208
+ };
209
+ }
210
+ depth--;
211
+ return value;
212
+ };
213
+ try {
214
+ const result = JSON.stringify(obj, replacer);
215
+ // Check length limit
216
+ if (result.length > options.maxLength) {
217
+ return result.substring(0, options.maxLength) + "...[truncated]";
218
+ }
219
+ return result;
220
+ }
221
+ catch (error) {
222
+ // Ultimate fallback
223
+ return `[Serialization Error: ${error instanceof Error ? error.message : "Unknown"}]`;
224
+ }
225
+ }
226
+ /**
227
+ * **UTILITY: Sanitize HTTP headers for safe logging**
228
+ */
229
+ static sanitizeHeaders(headers) {
230
+ if (!headers || typeof headers !== "object") {
231
+ return headers;
232
+ }
233
+ const sanitized = {};
234
+ const sensitiveHeaders = [
235
+ "authorization",
236
+ "cookie",
237
+ "x-api-key",
238
+ "x-auth-token",
239
+ ];
240
+ for (const [key, value] of Object.entries(headers)) {
241
+ const lowerKey = key.toLowerCase();
242
+ if (sensitiveHeaders.includes(lowerKey)) {
243
+ sanitized[key] = "[REDACTED]";
244
+ }
245
+ else {
246
+ sanitized[key] = value;
247
+ }
248
+ }
249
+ return sanitized;
250
+ }
251
+ /**
252
+ * **ULTRA-FAST: Generate cache key with safe serialization**
253
+ */
254
+ static generateCacheKey(args, prefix = "cache") {
255
+ if (!args || args.length === 0) {
256
+ return `${prefix}:empty`;
257
+ }
258
+ // **XyPriss DETECTION: Check if arguments contain XyPriss req/res objects**
259
+ const hasXyPrissObjects = args.some((arg) => arg &&
260
+ typeof arg === "object" &&
261
+ arg.constructor &&
262
+ (arg.constructor.name === "IncomingMessage" ||
263
+ arg.constructor.name === "ServerResponse" ||
264
+ arg.constructor.name === "Request" ||
265
+ arg.constructor.name === "Response" ||
266
+ (arg.method && arg.url && arg.headers) || // XyPriss Request-like
267
+ (arg.statusCode !== undefined && arg.headersSent !== undefined)));
268
+ if (hasXyPrissObjects) {
269
+ // **XyPriss-SAFE PATH: Use XyPriss-safe serialization**
270
+ const safe = this.XyPriStringify(args, {
271
+ fastMode: false,
272
+ maxDepth: 3,
273
+ maxLength: 300,
274
+ truncateStrings: 50,
275
+ });
276
+ return `${prefix}:xypriss:${safe}`;
277
+ }
278
+ try {
279
+ // **ULTRA-FAST PATH: Try simple approach first for non-XyPriss objects**
280
+ const simple = JSON.stringify(args);
281
+ if (simple.length <= 500) {
282
+ return `${prefix}:${simple}`;
283
+ }
284
+ }
285
+ catch {
286
+ // Fall through to safe approach
287
+ }
288
+ // **SAFE PATH: Use safe serialization**
289
+ const safe = this.stringify(args, {
290
+ fastMode: false,
291
+ maxDepth: 5,
292
+ maxLength: 500,
293
+ truncateStrings: 100,
294
+ });
295
+ return `${prefix}:${safe}`;
296
+ }
297
+ /**
298
+ * **DEBUG: Safe debug logging**
299
+ */
300
+ static debugLog(label, obj, maxLength = 200) {
301
+ const serialized = this.stringify(obj, {
302
+ fastMode: true,
303
+ maxLength,
304
+ maxDepth: 3,
305
+ truncateStrings: 50,
306
+ });
307
+ console.log(`[DEBUG] ${label}: ${serialized}`);
308
+ }
309
+ /**
310
+ * **AUDIT: Safe audit logging with full details**
311
+ */
312
+ static auditLog(obj) {
313
+ return this.stringify(obj, {
314
+ fastMode: false,
315
+ maxDepth: 8,
316
+ maxLength: 5000,
317
+ truncateStrings: 500,
318
+ includeNonEnumerable: false,
319
+ });
320
+ }
321
+ }
322
+ exports.SafeSerializer = SafeSerializer;
323
+ SafeSerializer.DEFAULT_OPTIONS = {
324
+ maxDepth: 10,
325
+ maxLength: 10000,
326
+ includeNonEnumerable: false,
327
+ truncateStrings: 1000,
328
+ fastMode: false,
329
+ };
330
+ //# sourceMappingURL=safe-serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-serializer.js","sourceRoot":"","sources":["../../../../src/components/serializer/safe-serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface SafeSerializationOptions {
2
+ maxDepth?: number;
3
+ maxLength?: number;
4
+ includeNonEnumerable?: boolean;
5
+ truncateStrings?: number;
6
+ fastMode?: boolean;
7
+ }
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/serializer/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/serializer/types.ts"],"names":[],"mappings":""}
@@ -15,4 +15,5 @@ export * from "./core/index";
15
15
  export * from "./components/index";
16
16
  export * from "./utils/index";
17
17
  export * from "./components/encryption/index";
18
+ export * from "./components/serializer";
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;8EAO8E;AAE9E;;;;GAIG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,eAAe,CAAC;AAC9B,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;8EAO8E;AAE9E;;;;GAIG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,eAAe,CAAC;AAC9B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC"}
package/dist/src/index.js CHANGED
@@ -34,4 +34,5 @@ __exportStar(require("./components/index"), exports);
34
34
  // --- 3. UTILITIES ---
35
35
  __exportStar(require("./utils/index"), exports);
36
36
  __exportStar(require("./components/encryption/index"), exports);
37
+ __exportStar(require("./components/serializer"), exports);
37
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;8EAO8E;;;;;;;;;;;;;;;;AAE9E;;;;GAIG;AAEH,yDAAyD;AACzD,+CAA6B,CAAC,6CAA6C;AAE3E,oDAAoD;AACpD,qDAAmC;AAEnC,uBAAuB;AACvB,gDAA8B;AAC9B,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;8EAO8E;;;;;;;;;;;;;;;;AAE9E;;;;GAIG;AAEH,yDAAyD;AACzD,+CAA6B,CAAC,6CAA6C;AAE3E,oDAAoD;AACpD,qDAAmC;AAEnC,uBAAuB;AACvB,gDAA8B;AAC9B,gEAA8C;AAC9C,0DAAwC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss-security",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "Advanced High-Performance Security Framework powered by a Go Core. Military-grade encryption, post-quantum resilience, and fortified data structures.",
5
5
  "author": {
6
6
  "name": "NEHONIX",