@tracelens/shared 0.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 (63) hide show
  1. package/dist/__tests__/validation.test.d.ts +2 -0
  2. package/dist/__tests__/validation.test.d.ts.map +1 -0
  3. package/dist/__tests__/validation.test.js +16 -0
  4. package/dist/index.d.ts +4 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +4 -0
  7. package/dist/schemas/dependency.schema.d.ts +177 -0
  8. package/dist/schemas/dependency.schema.d.ts.map +1 -0
  9. package/dist/schemas/dependency.schema.js +187 -0
  10. package/dist/schemas/error.schema.d.ts +170 -0
  11. package/dist/schemas/error.schema.d.ts.map +1 -0
  12. package/dist/schemas/error.schema.js +176 -0
  13. package/dist/schemas/index.d.ts +5 -0
  14. package/dist/schemas/index.d.ts.map +1 -0
  15. package/dist/schemas/index.js +5 -0
  16. package/dist/schemas/performance.schema.d.ts +333 -0
  17. package/dist/schemas/performance.schema.d.ts.map +1 -0
  18. package/dist/schemas/performance.schema.js +200 -0
  19. package/dist/schemas/trace.schema.d.ts +325 -0
  20. package/dist/schemas/trace.schema.d.ts.map +1 -0
  21. package/dist/schemas/trace.schema.js +145 -0
  22. package/dist/types/dependency.types.d.ts +109 -0
  23. package/dist/types/dependency.types.d.ts.map +1 -0
  24. package/dist/types/dependency.types.js +8 -0
  25. package/dist/types/index.d.ts +10 -0
  26. package/dist/types/index.d.ts.map +1 -0
  27. package/dist/types/index.js +5 -0
  28. package/dist/types/performance.types.d.ts +95 -0
  29. package/dist/types/performance.types.d.ts.map +1 -0
  30. package/dist/types/performance.types.js +1 -0
  31. package/dist/types/security.types.d.ts +154 -0
  32. package/dist/types/security.types.d.ts.map +1 -0
  33. package/dist/types/security.types.js +8 -0
  34. package/dist/types/trace.types.d.ts +57 -0
  35. package/dist/types/trace.types.d.ts.map +1 -0
  36. package/dist/types/trace.types.js +20 -0
  37. package/dist/utils/index.d.ts +3 -0
  38. package/dist/utils/index.d.ts.map +1 -0
  39. package/dist/utils/index.js +5 -0
  40. package/dist/utils/validation.d.ts +21 -0
  41. package/dist/utils/validation.d.ts.map +1 -0
  42. package/dist/utils/validation.js +157 -0
  43. package/jest.config.js +14 -0
  44. package/package.json +22 -0
  45. package/src/__tests__/validation.test.ts +19 -0
  46. package/src/index.d.ts.map +1 -0
  47. package/src/index.ts +4 -0
  48. package/src/schemas/dependency.schema.ts +187 -0
  49. package/src/schemas/error.schema.ts +176 -0
  50. package/src/schemas/index.ts +5 -0
  51. package/src/schemas/performance.schema.ts +200 -0
  52. package/src/schemas/trace.schema.ts +146 -0
  53. package/src/types/dependency.types.ts +120 -0
  54. package/src/types/index.d.ts.map +1 -0
  55. package/src/types/index.ts +11 -0
  56. package/src/types/performance.types.ts +108 -0
  57. package/src/types/security.types.ts +172 -0
  58. package/src/types/trace.types.ts +62 -0
  59. package/src/utils/index.d.ts.map +1 -0
  60. package/src/utils/index.ts +6 -0
  61. package/src/utils/validation.ts +209 -0
  62. package/tsconfig.json +9 -0
  63. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,109 @@
1
+ export interface PackageDependency {
2
+ name: string;
3
+ version: string;
4
+ type: DependencyType;
5
+ resolved?: string;
6
+ integrity?: string;
7
+ dev?: boolean;
8
+ optional?: boolean;
9
+ bundled?: boolean;
10
+ }
11
+ export declare enum DependencyType {
12
+ PRODUCTION = "production",
13
+ DEVELOPMENT = "development",
14
+ PEER = "peer",
15
+ OPTIONAL = "optional",
16
+ BUNDLED = "bundled"
17
+ }
18
+ export interface DependencyGraph {
19
+ projectId: string;
20
+ timestamp: number;
21
+ rootPackage: PackageInfo;
22
+ dependencies: Map<string, PackageDependency>;
23
+ dependencyTree: DependencyNode;
24
+ lockfileHash?: string;
25
+ }
26
+ export interface PackageInfo {
27
+ name: string;
28
+ version: string;
29
+ description?: string;
30
+ main?: string;
31
+ scripts?: Record<string, string>;
32
+ dependencies?: Record<string, string>;
33
+ devDependencies?: Record<string, string>;
34
+ peerDependencies?: Record<string, string>;
35
+ optionalDependencies?: Record<string, string>;
36
+ bundledDependencies?: string[];
37
+ }
38
+ export interface DependencyNode {
39
+ name: string;
40
+ version: string;
41
+ path: string;
42
+ children: DependencyNode[];
43
+ parent?: DependencyNode;
44
+ depth: number;
45
+ circular?: boolean;
46
+ }
47
+ export interface RuntimeDependency {
48
+ name: string;
49
+ version: string;
50
+ loadTime: number;
51
+ executionTime: number;
52
+ memoryUsage: number;
53
+ importPath: string;
54
+ isEsm: boolean;
55
+ exports: string[];
56
+ }
57
+ export interface DependencySnapshot {
58
+ id: string;
59
+ projectId: string;
60
+ timestamp: number;
61
+ environment: 'development' | 'production' | 'test';
62
+ nodeVersion: string;
63
+ npmVersion?: string;
64
+ yarnVersion?: string;
65
+ packageManager: 'npm' | 'yarn' | 'pnpm';
66
+ dependencies: PackageDependency[];
67
+ runtimeDependencies: RuntimeDependency[];
68
+ totalSize: number;
69
+ bundleSize?: number;
70
+ }
71
+ export interface DependencyChange {
72
+ type: 'added' | 'removed' | 'updated';
73
+ package: string;
74
+ oldVersion?: string;
75
+ newVersion?: string;
76
+ timestamp: number;
77
+ reason?: string;
78
+ }
79
+ export interface DependencyAnalysis {
80
+ snapshotId: string;
81
+ criticalPath: string[];
82
+ bottlenecks: DependencyBottleneck[];
83
+ unusedDependencies: string[];
84
+ duplicateDependencies: DuplicateDependency[];
85
+ securityIssues: string[];
86
+ performanceImpact: PerformanceImpact;
87
+ }
88
+ export interface DependencyBottleneck {
89
+ package: string;
90
+ version: string;
91
+ impact: 'high' | 'medium' | 'low';
92
+ reason: 'load-time' | 'execution-time' | 'memory-usage' | 'bundle-size';
93
+ value: number;
94
+ threshold: number;
95
+ }
96
+ export interface DuplicateDependency {
97
+ package: string;
98
+ versions: string[];
99
+ paths: string[];
100
+ wastedSize: number;
101
+ }
102
+ export interface PerformanceImpact {
103
+ totalLoadTime: number;
104
+ totalExecutionTime: number;
105
+ totalMemoryUsage: number;
106
+ criticalPathTime: number;
107
+ parallelizableTime: number;
108
+ }
109
+ //# sourceMappingURL=dependency.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency.types.d.ts","sourceRoot":"","sources":["../../src/types/dependency.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export var DependencyType;
2
+ (function (DependencyType) {
3
+ DependencyType["PRODUCTION"] = "production";
4
+ DependencyType["DEVELOPMENT"] = "development";
5
+ DependencyType["PEER"] = "peer";
6
+ DependencyType["OPTIONAL"] = "optional";
7
+ DependencyType["BUNDLED"] = "bundled";
8
+ })(DependencyType || (DependencyType = {}));
@@ -0,0 +1,10 @@
1
+ export * from './trace.types';
2
+ export * from './performance.types';
3
+ export * from './dependency.types';
4
+ export * from './security.types';
5
+ export interface BaseEvent {
6
+ id: string;
7
+ timestamp: number;
8
+ projectId: string;
9
+ }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AAEjC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,5 @@
1
+ // Shared type definitions
2
+ export * from './trace.types';
3
+ export * from './performance.types';
4
+ export * from './dependency.types';
5
+ export * from './security.types';
@@ -0,0 +1,95 @@
1
+ export interface WebVitalsMetrics {
2
+ cls?: CLSMetric;
3
+ fid?: FIDMetric;
4
+ lcp?: LCPMetric;
5
+ fcp?: FCPMetric;
6
+ ttfb?: TTFBMetric;
7
+ inp?: INPMetric;
8
+ }
9
+ export interface BaseMetric {
10
+ name: string;
11
+ value: number;
12
+ rating: 'good' | 'needs-improvement' | 'poor';
13
+ delta: number;
14
+ entries: unknown[];
15
+ id: string;
16
+ navigationType: NavigationType;
17
+ }
18
+ export interface CLSMetric extends BaseMetric {
19
+ name: 'CLS';
20
+ entries: unknown[];
21
+ }
22
+ export interface FIDMetric extends BaseMetric {
23
+ name: 'FID';
24
+ entries: unknown[];
25
+ }
26
+ export interface LCPMetric extends BaseMetric {
27
+ name: 'LCP';
28
+ entries: unknown[];
29
+ }
30
+ export interface FCPMetric extends BaseMetric {
31
+ name: 'FCP';
32
+ entries: unknown[];
33
+ }
34
+ export interface TTFBMetric extends BaseMetric {
35
+ name: 'TTFB';
36
+ entries: unknown[];
37
+ }
38
+ export interface INPMetric extends BaseMetric {
39
+ name: 'INP';
40
+ entries: unknown[];
41
+ }
42
+ export type NavigationType = 'navigate' | 'reload' | 'back-forward' | 'prerender';
43
+ export interface ResourceTiming {
44
+ name: string;
45
+ entryType: string;
46
+ startTime: number;
47
+ duration: number;
48
+ initiatorType: string;
49
+ nextHopProtocol: string;
50
+ renderBlockingStatus: string;
51
+ responseStatus: number;
52
+ transferSize: number;
53
+ encodedBodySize: number;
54
+ decodedBodySize: number;
55
+ responseStart: number;
56
+ responseEnd: number;
57
+ }
58
+ export interface NavigationTiming {
59
+ domComplete: number;
60
+ domContentLoadedEventEnd: number;
61
+ domContentLoadedEventStart: number;
62
+ domInteractive: number;
63
+ loadEventEnd: number;
64
+ loadEventStart: number;
65
+ redirectCount: number;
66
+ type: NavigationType;
67
+ unloadEventEnd: number;
68
+ unloadEventStart: number;
69
+ }
70
+ export interface LongTask {
71
+ name: string;
72
+ entryType: 'longtask';
73
+ startTime: number;
74
+ duration: number;
75
+ attribution: TaskAttributionTiming[];
76
+ }
77
+ export interface TaskAttributionTiming {
78
+ name: string;
79
+ entryType: 'taskattribution';
80
+ startTime: number;
81
+ duration: number;
82
+ containerType: string;
83
+ containerSrc: string;
84
+ containerId: string;
85
+ containerName: string;
86
+ }
87
+ export interface PerformanceEvent {
88
+ id: string;
89
+ timestamp: number;
90
+ type: 'web-vitals' | 'resource-timing' | 'navigation-timing' | 'long-task';
91
+ data: WebVitalsMetrics | ResourceTiming | NavigationTiming | LongTask;
92
+ url: string;
93
+ userAgent: string;
94
+ }
95
+ //# sourceMappingURL=performance.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.types.d.ts","sourceRoot":"","sources":["../../src/types/performance.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,154 @@
1
+ export interface CVERecord {
2
+ id: string;
3
+ published: string;
4
+ lastModified: string;
5
+ vulnStatus: VulnerabilityStatus;
6
+ descriptions: CVEDescription[];
7
+ metrics: CVEMetrics;
8
+ weaknesses: CVEWeakness[];
9
+ configurations: CVEConfiguration[];
10
+ references: CVEReference[];
11
+ vendorComments?: CVEVendorComment[];
12
+ }
13
+ export declare enum VulnerabilityStatus {
14
+ ANALYZED = "Analyzed",
15
+ MODIFIED = "Modified",
16
+ REJECTED = "Rejected",
17
+ AWAITING_ANALYSIS = "Awaiting Analysis",
18
+ RECEIVED = "Received"
19
+ }
20
+ export interface CVEDescription {
21
+ lang: string;
22
+ value: string;
23
+ }
24
+ export interface CVEMetrics {
25
+ cvssMetricV31?: CVSSv31[];
26
+ cvssMetricV30?: CVSSv30[];
27
+ cvssMetricV2?: CVSSv2[];
28
+ }
29
+ export interface CVSSv31 {
30
+ source: string;
31
+ type: 'Primary' | 'Secondary';
32
+ cvssData: {
33
+ version: '3.1';
34
+ vectorString: string;
35
+ attackVector: 'NETWORK' | 'ADJACENT_NETWORK' | 'LOCAL' | 'PHYSICAL';
36
+ attackComplexity: 'LOW' | 'HIGH';
37
+ privilegesRequired: 'NONE' | 'LOW' | 'HIGH';
38
+ userInteraction: 'NONE' | 'REQUIRED';
39
+ scope: 'UNCHANGED' | 'CHANGED';
40
+ confidentialityImpact: 'NONE' | 'LOW' | 'HIGH';
41
+ integrityImpact: 'NONE' | 'LOW' | 'HIGH';
42
+ availabilityImpact: 'NONE' | 'LOW' | 'HIGH';
43
+ baseScore: number;
44
+ baseSeverity: 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
45
+ };
46
+ exploitabilityScore: number;
47
+ impactScore: number;
48
+ }
49
+ export interface CVSSv30 {
50
+ source: string;
51
+ type: 'Primary' | 'Secondary';
52
+ cvssData: {
53
+ version: '3.0';
54
+ vectorString: string;
55
+ baseScore: number;
56
+ baseSeverity: 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
57
+ };
58
+ }
59
+ export interface CVSSv2 {
60
+ source: string;
61
+ type: 'Primary' | 'Secondary';
62
+ cvssData: {
63
+ version: '2.0';
64
+ vectorString: string;
65
+ baseScore: number;
66
+ };
67
+ }
68
+ export interface CVEWeakness {
69
+ source: string;
70
+ type: 'Primary' | 'Secondary';
71
+ description: CVEDescription[];
72
+ }
73
+ export interface CVEConfiguration {
74
+ nodes: CVENode[];
75
+ operator?: 'AND' | 'OR';
76
+ }
77
+ export interface CVENode {
78
+ operator: 'AND' | 'OR';
79
+ negate?: boolean;
80
+ cpeMatch: CPEMatch[];
81
+ }
82
+ export interface CPEMatch {
83
+ vulnerable: boolean;
84
+ criteria: string;
85
+ matchCriteriaId: string;
86
+ versionStartExcluding?: string;
87
+ versionStartIncluding?: string;
88
+ versionEndExcluding?: string;
89
+ versionEndIncluding?: string;
90
+ }
91
+ export interface CVEReference {
92
+ url: string;
93
+ source: string;
94
+ tags?: string[];
95
+ }
96
+ export interface CVEVendorComment {
97
+ organization: string;
98
+ comment: string;
99
+ lastModified: string;
100
+ }
101
+ export interface VulnerabilityAssessment {
102
+ cveId: string;
103
+ packageName: string;
104
+ packageVersion: string;
105
+ severity: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE';
106
+ score: number;
107
+ vector: string;
108
+ runtimeRelevant: boolean;
109
+ executionPaths: string[];
110
+ exploitability: ExploitabilityAssessment;
111
+ mitigation: MitigationRecommendation;
112
+ }
113
+ export interface ExploitabilityAssessment {
114
+ isExploitable: boolean;
115
+ exploitComplexity: 'LOW' | 'MEDIUM' | 'HIGH';
116
+ requiresUserInteraction: boolean;
117
+ requiresPrivileges: boolean;
118
+ networkAccessible: boolean;
119
+ publicExploitAvailable: boolean;
120
+ }
121
+ export interface MitigationRecommendation {
122
+ action: 'UPDATE' | 'PATCH' | 'WORKAROUND' | 'MONITOR';
123
+ targetVersion?: string;
124
+ patchUrl?: string;
125
+ workaroundDescription?: string;
126
+ priority: 'IMMEDIATE' | 'HIGH' | 'MEDIUM' | 'LOW';
127
+ estimatedEffort: 'MINUTES' | 'HOURS' | 'DAYS' | 'WEEKS';
128
+ }
129
+ export interface SecurityScan {
130
+ id: string;
131
+ projectId: string;
132
+ timestamp: number;
133
+ scanType: 'FULL' | 'INCREMENTAL' | 'TARGETED';
134
+ vulnerabilities: VulnerabilityAssessment[];
135
+ summary: SecuritySummary;
136
+ runtimeAnalysis: RuntimeSecurityAnalysis;
137
+ }
138
+ export interface SecuritySummary {
139
+ totalVulnerabilities: number;
140
+ criticalCount: number;
141
+ highCount: number;
142
+ mediumCount: number;
143
+ lowCount: number;
144
+ runtimeRelevantCount: number;
145
+ exploitableCount: number;
146
+ }
147
+ export interface RuntimeSecurityAnalysis {
148
+ executedPackages: string[];
149
+ vulnerableExecutedPackages: string[];
150
+ criticalPathVulnerabilities: VulnerabilityAssessment[];
151
+ riskScore: number;
152
+ recommendations: MitigationRecommendation[];
153
+ }
154
+ //# sourceMappingURL=security.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.types.d.ts","sourceRoot":"","sources":["../../src/types/security.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export var VulnerabilityStatus;
2
+ (function (VulnerabilityStatus) {
3
+ VulnerabilityStatus["ANALYZED"] = "Analyzed";
4
+ VulnerabilityStatus["MODIFIED"] = "Modified";
5
+ VulnerabilityStatus["REJECTED"] = "Rejected";
6
+ VulnerabilityStatus["AWAITING_ANALYSIS"] = "Awaiting Analysis";
7
+ VulnerabilityStatus["RECEIVED"] = "Received";
8
+ })(VulnerabilityStatus || (VulnerabilityStatus = {}));
@@ -0,0 +1,57 @@
1
+ export interface TraceSpan {
2
+ traceId: string;
3
+ spanId: string;
4
+ parentSpanId?: string;
5
+ operationName: string;
6
+ startTime: number;
7
+ endTime?: number;
8
+ duration?: number;
9
+ tags: Record<string, string | number | boolean>;
10
+ logs?: TraceLog[];
11
+ status: SpanStatus;
12
+ }
13
+ export interface TraceLog {
14
+ timestamp: number;
15
+ fields: Record<string, string | number | boolean>;
16
+ }
17
+ export declare enum SpanStatus {
18
+ OK = "OK",
19
+ CANCELLED = "CANCELLED",
20
+ UNKNOWN = "UNKNOWN",
21
+ INVALID_ARGUMENT = "INVALID_ARGUMENT",
22
+ DEADLINE_EXCEEDED = "DEADLINE_EXCEEDED",
23
+ NOT_FOUND = "NOT_FOUND",
24
+ ALREADY_EXISTS = "ALREADY_EXISTS",
25
+ PERMISSION_DENIED = "PERMISSION_DENIED",
26
+ RESOURCE_EXHAUSTED = "RESOURCE_EXHAUSTED",
27
+ FAILED_PRECONDITION = "FAILED_PRECONDITION",
28
+ ABORTED = "ABORTED",
29
+ OUT_OF_RANGE = "OUT_OF_RANGE",
30
+ UNIMPLEMENTED = "UNIMPLEMENTED",
31
+ INTERNAL = "INTERNAL",
32
+ UNAVAILABLE = "UNAVAILABLE",
33
+ DATA_LOSS = "DATA_LOSS",
34
+ UNAUTHENTICATED = "UNAUTHENTICATED"
35
+ }
36
+ export interface Trace {
37
+ traceId: string;
38
+ spans: TraceSpan[];
39
+ startTime: number;
40
+ endTime?: number;
41
+ duration?: number;
42
+ rootSpan?: TraceSpan;
43
+ }
44
+ export interface TraceContext {
45
+ traceId: string;
46
+ spanId: string;
47
+ traceFlags: number;
48
+ traceState?: string;
49
+ }
50
+ export interface TracingConfig {
51
+ serviceName: string;
52
+ serviceVersion: string;
53
+ environment: string;
54
+ samplingRate: number;
55
+ endpoint?: string;
56
+ }
57
+ //# sourceMappingURL=trace.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.types.d.ts","sourceRoot":"","sources":["../../src/types/trace.types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACnD;AAED,oBAAY,UAAU;IACpB,EAAE,OAAO;IACT,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,eAAe,oBAAoB;CACpC;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,20 @@
1
+ export var SpanStatus;
2
+ (function (SpanStatus) {
3
+ SpanStatus["OK"] = "OK";
4
+ SpanStatus["CANCELLED"] = "CANCELLED";
5
+ SpanStatus["UNKNOWN"] = "UNKNOWN";
6
+ SpanStatus["INVALID_ARGUMENT"] = "INVALID_ARGUMENT";
7
+ SpanStatus["DEADLINE_EXCEEDED"] = "DEADLINE_EXCEEDED";
8
+ SpanStatus["NOT_FOUND"] = "NOT_FOUND";
9
+ SpanStatus["ALREADY_EXISTS"] = "ALREADY_EXISTS";
10
+ SpanStatus["PERMISSION_DENIED"] = "PERMISSION_DENIED";
11
+ SpanStatus["RESOURCE_EXHAUSTED"] = "RESOURCE_EXHAUSTED";
12
+ SpanStatus["FAILED_PRECONDITION"] = "FAILED_PRECONDITION";
13
+ SpanStatus["ABORTED"] = "ABORTED";
14
+ SpanStatus["OUT_OF_RANGE"] = "OUT_OF_RANGE";
15
+ SpanStatus["UNIMPLEMENTED"] = "UNIMPLEMENTED";
16
+ SpanStatus["INTERNAL"] = "INTERNAL";
17
+ SpanStatus["UNAVAILABLE"] = "UNAVAILABLE";
18
+ SpanStatus["DATA_LOSS"] = "DATA_LOSS";
19
+ SpanStatus["UNAUTHENTICATED"] = "UNAUTHENTICATED";
20
+ })(SpanStatus || (SpanStatus = {}));
@@ -0,0 +1,3 @@
1
+ export * from './validation';
2
+ export declare function generateId(): string;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAE7B,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
@@ -0,0 +1,5 @@
1
+ // Shared utilities
2
+ export * from './validation';
3
+ export function generateId() {
4
+ return Math.random().toString(36).substring(2, 15);
5
+ }
@@ -0,0 +1,21 @@
1
+ import { TraceSpan, Trace } from '../types/trace.types';
2
+ import { PerformanceEvent } from '../types/performance.types';
3
+ import { DependencySnapshot } from '../types/dependency.types';
4
+ import { CVERecord } from '../types/security.types';
5
+ export declare class ValidationError extends Error {
6
+ field: string;
7
+ value: unknown;
8
+ constructor(message: string, field: string, value: unknown);
9
+ }
10
+ export declare function validateTraceSpan(span: unknown): TraceSpan;
11
+ export declare function validateTrace(trace: unknown): Trace;
12
+ export declare function validatePerformanceEvent(event: unknown): PerformanceEvent;
13
+ export declare function validateDependencySnapshot(snapshot: unknown): DependencySnapshot;
14
+ export declare function validateCVERecord(cve: unknown): CVERecord;
15
+ export declare function sanitizeInput(input: string): string;
16
+ export declare function validateProjectId(projectId: string): boolean;
17
+ export declare function validateTimestamp(timestamp: number): boolean;
18
+ export declare function validateUrl(url: string): boolean;
19
+ export declare function validateVersion(version: string): boolean;
20
+ export declare function isValidJSON(str: string): boolean;
21
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAoB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,SAAS,EAA2B,MAAM,yBAAyB,CAAC;AAE7E,qBAAa,eAAgB,SAAQ,KAAK;IAG/B,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;gBAFrB,OAAO,EAAE,MAAM,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO;CAKxB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAgC1D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CA8BnD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA6BzE;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,GAAG,kBAAkB,CAwBhF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAsBzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOhD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIxD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOhD"}