@veritas-lex/contract-analysis-package 1.4.8 → 1.5.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 (69) hide show
  1. package/dist/auth/interfaces/jwt-user.interface.d.ts +2 -0
  2. package/dist/auth/interfaces/jwt-user.interface.d.ts.map +1 -1
  3. package/dist/config/database.config.d.ts +1 -2
  4. package/dist/config/database.config.d.ts.map +1 -1
  5. package/dist/config/database.config.js +2 -4
  6. package/dist/config/database.config.js.map +1 -1
  7. package/dist/config/storage.config.js +1 -1
  8. package/dist/config/storage.config.js.map +1 -1
  9. package/dist/config/validation.config.d.ts +0 -2
  10. package/dist/config/validation.config.d.ts.map +1 -1
  11. package/dist/config/validation.config.js +1 -2
  12. package/dist/config/validation.config.js.map +1 -1
  13. package/dist/constants/analysis-queue.constants.d.ts +2 -0
  14. package/dist/constants/analysis-queue.constants.d.ts.map +1 -1
  15. package/dist/constants/enums.d.ts +2 -2
  16. package/dist/constants/enums.d.ts.map +1 -1
  17. package/dist/constants/enums.js +2 -2
  18. package/dist/constants/enums.js.map +1 -1
  19. package/dist/database/entities/base-contract-key-date-rule.entity.js +1 -1
  20. package/dist/database/entities/base-contract-key-date-rule.entity.js.map +1 -1
  21. package/dist/database/entities/base-contract-red-flag.entity.js +1 -1
  22. package/dist/database/entities/base-contract-red-flag.entity.js.map +1 -1
  23. package/dist/database/entities/extraction-group-example.entity.d.ts +39 -0
  24. package/dist/database/entities/extraction-group-example.entity.d.ts.map +1 -0
  25. package/dist/database/entities/extraction-group-example.entity.js +93 -0
  26. package/dist/database/entities/extraction-group-example.entity.js.map +1 -0
  27. package/dist/database/entities/index.d.ts +1 -0
  28. package/dist/database/entities/index.d.ts.map +1 -1
  29. package/dist/database/entities/index.js +3 -1
  30. package/dist/database/entities/index.js.map +1 -1
  31. package/dist/database/index.d.ts +1 -1
  32. package/dist/database/index.d.ts.map +1 -1
  33. package/dist/database/index.js +2 -1
  34. package/dist/database/index.js.map +1 -1
  35. package/dist/dto/index.d.ts +2 -0
  36. package/dist/dto/index.d.ts.map +1 -1
  37. package/dist/dto/index.js +16 -1
  38. package/dist/dto/index.js.map +1 -1
  39. package/dist/dto/pii/analyze-pii.dto.d.ts +76 -0
  40. package/dist/dto/pii/analyze-pii.dto.d.ts.map +1 -0
  41. package/dist/dto/pii/analyze-pii.dto.js +173 -0
  42. package/dist/dto/pii/analyze-pii.dto.js.map +1 -0
  43. package/dist/dto/pii/deanonymized-text-response.dto.d.ts +15 -0
  44. package/dist/dto/pii/deanonymized-text-response.dto.d.ts.map +1 -0
  45. package/dist/dto/pii/deanonymized-text-response.dto.js +96 -0
  46. package/dist/dto/pii/deanonymized-text-response.dto.js.map +1 -0
  47. package/dist/dto/pii/index.d.ts +7 -0
  48. package/dist/dto/pii/index.d.ts.map +1 -0
  49. package/dist/dto/pii/index.js +27 -0
  50. package/dist/dto/pii/index.js.map +1 -0
  51. package/dist/dto/pii/pii-contract.dto.d.ts +86 -0
  52. package/dist/dto/pii/pii-contract.dto.d.ts.map +1 -0
  53. package/dist/dto/pii/pii-contract.dto.js +331 -0
  54. package/dist/dto/pii/pii-contract.dto.js.map +1 -0
  55. package/dist/dto/pii/pii-preview-query.dto.d.ts +9 -0
  56. package/dist/dto/pii/pii-preview-query.dto.d.ts.map +1 -0
  57. package/dist/dto/pii/pii-preview-query.dto.js +60 -0
  58. package/dist/dto/pii/pii-preview-query.dto.js.map +1 -0
  59. package/dist/dto/pii/reject-pii.dto.d.ts +8 -0
  60. package/dist/dto/pii/reject-pii.dto.d.ts.map +1 -0
  61. package/dist/dto/pii/reject-pii.dto.js +36 -0
  62. package/dist/dto/pii/reject-pii.dto.js.map +1 -0
  63. package/dist/helpers/log-utils.d.ts +2 -2
  64. package/dist/helpers/log-utils.js +2 -2
  65. package/dist/index.d.ts +3 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +17 -1
  68. package/dist/index.js.map +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-pii.dto.d.ts","sourceRoot":"","sources":["../../../src/dto/pii/analyze-pii.dto.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,qBAAa,cAAc;IAGzB,WAAW,EAAE,MAAM,CAAC;IAIpB,KAAK,EAAE,MAAM,CAAC;IAId,GAAG,EAAE,MAAM,CAAC;IAIZ,KAAK,EAAE,MAAM,CAAC;IAId,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAI3B,oBAAoB,CAAC,EAAE;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,aAAa;IAOxB,IAAI,EAAE,MAAM,CAAC;IASb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAWlB,eAAe,CAAC,EAAE,MAAM,CAAC;IAUzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,eAAe;IAM1B,IAAI,EAAE,MAAM,CAAC;IAmBb,gBAAgB,EAAE,cAAc,EAAE,CAAC;IAUnC,kBAAkB,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAM7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC5C"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScanContractPiiDto = exports.AnonymizePiiDto = exports.AnalyzePiiDto = exports.AnalyzerResult = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const swagger_1 = require("@nestjs/swagger");
16
+ /**
17
+ * Result from PII analyzer (Presidio compatible)
18
+ */
19
+ class AnalyzerResult {
20
+ entity_type;
21
+ start;
22
+ end;
23
+ score;
24
+ analysis_explanation;
25
+ recognition_metadata;
26
+ }
27
+ exports.AnalyzerResult = AnalyzerResult;
28
+ __decorate([
29
+ (0, swagger_1.ApiProperty)({ description: 'Type of PII entity detected', example: 'PERSON' }),
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], AnalyzerResult.prototype, "entity_type", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiProperty)({ description: 'Start position in text', example: 0 }),
35
+ (0, class_validator_1.IsNumber)(),
36
+ __metadata("design:type", Number)
37
+ ], AnalyzerResult.prototype, "start", void 0);
38
+ __decorate([
39
+ (0, swagger_1.ApiProperty)({ description: 'End position in text', example: 8 }),
40
+ (0, class_validator_1.IsNumber)(),
41
+ __metadata("design:type", Number)
42
+ ], AnalyzerResult.prototype, "end", void 0);
43
+ __decorate([
44
+ (0, swagger_1.ApiProperty)({ description: 'Confidence score (0-1)', example: 0.85 }),
45
+ (0, class_validator_1.IsNumber)(),
46
+ __metadata("design:type", Number)
47
+ ], AnalyzerResult.prototype, "score", void 0);
48
+ __decorate([
49
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Explanation of how the entity was detected' }),
50
+ (0, class_validator_1.IsOptional)(),
51
+ __metadata("design:type", Object)
52
+ ], AnalyzerResult.prototype, "analysis_explanation", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Metadata about the recognizer used' }),
55
+ (0, class_validator_1.IsOptional)(),
56
+ __metadata("design:type", Object)
57
+ ], AnalyzerResult.prototype, "recognition_metadata", void 0);
58
+ /**
59
+ * DTO for PII analysis request (Presidio compatible)
60
+ */
61
+ class AnalyzePiiDto {
62
+ text;
63
+ language;
64
+ score_threshold;
65
+ entities;
66
+ }
67
+ exports.AnalyzePiiDto = AnalyzePiiDto;
68
+ __decorate([
69
+ (0, swagger_1.ApiProperty)({
70
+ description: 'Text to analyze for PII entities',
71
+ example: 'John Doe lives at 123 Main St and his email is john@example.com',
72
+ }),
73
+ (0, class_validator_1.IsString)(),
74
+ (0, class_validator_1.MaxLength)(1000000, { message: 'Text cannot exceed 1MB (1,000,000 characters)' }),
75
+ __metadata("design:type", String)
76
+ ], AnalyzePiiDto.prototype, "text", void 0);
77
+ __decorate([
78
+ (0, swagger_1.ApiPropertyOptional)({
79
+ description: 'Language of the text (ISO 639-1 code)',
80
+ example: 'en',
81
+ default: 'en',
82
+ }),
83
+ (0, class_validator_1.IsOptional)(),
84
+ (0, class_validator_1.IsString)(),
85
+ __metadata("design:type", String)
86
+ ], AnalyzePiiDto.prototype, "language", void 0);
87
+ __decorate([
88
+ (0, swagger_1.ApiPropertyOptional)({
89
+ description: 'Minimum confidence score (0-1) for entity detection',
90
+ example: 0.5,
91
+ default: 0.5,
92
+ }),
93
+ (0, class_validator_1.IsOptional)(),
94
+ (0, class_validator_1.IsNumber)(),
95
+ (0, class_validator_1.Min)(0),
96
+ (0, class_validator_1.Max)(1),
97
+ __metadata("design:type", Number)
98
+ ], AnalyzePiiDto.prototype, "score_threshold", void 0);
99
+ __decorate([
100
+ (0, swagger_1.ApiPropertyOptional)({
101
+ description: 'Specific entity types to detect (e.g., PERSON, EMAIL_ADDRESS, PHONE_NUMBER)',
102
+ example: ['PERSON', 'EMAIL_ADDRESS', 'PHONE_NUMBER'],
103
+ isArray: true,
104
+ }),
105
+ (0, class_validator_1.IsOptional)(),
106
+ (0, class_validator_1.IsArray)(),
107
+ (0, class_validator_1.IsString)({ each: true }),
108
+ __metadata("design:type", Array)
109
+ ], AnalyzePiiDto.prototype, "entities", void 0);
110
+ /**
111
+ * DTO for PII anonymization request (Presidio compatible)
112
+ */
113
+ class AnonymizePiiDto {
114
+ text;
115
+ analyzer_results;
116
+ anonymization_type;
117
+ }
118
+ exports.AnonymizePiiDto = AnonymizePiiDto;
119
+ __decorate([
120
+ (0, swagger_1.ApiProperty)({
121
+ description: 'Text to anonymize',
122
+ example: 'John Doe lives at 123 Main St',
123
+ }),
124
+ (0, class_validator_1.IsString)(),
125
+ __metadata("design:type", String)
126
+ ], AnonymizePiiDto.prototype, "text", void 0);
127
+ __decorate([
128
+ (0, swagger_1.ApiProperty)({
129
+ description: 'Analyzer results containing detected PII entities',
130
+ type: 'array',
131
+ example: [
132
+ {
133
+ entity_type: 'PERSON',
134
+ start: 0,
135
+ end: 8,
136
+ score: 0.85,
137
+ analysis_explanation: null,
138
+ },
139
+ ],
140
+ isArray: true,
141
+ }),
142
+ (0, class_validator_1.IsArray)(),
143
+ (0, class_validator_1.ValidateNested)({ each: true }),
144
+ (0, class_transformer_1.Type)(() => AnalyzerResult),
145
+ __metadata("design:type", Array)
146
+ ], AnonymizePiiDto.prototype, "analyzer_results", void 0);
147
+ __decorate([
148
+ (0, swagger_1.ApiPropertyOptional)({
149
+ description: 'Anonymization strategy: replace, redact, mask, hash, encrypt',
150
+ example: 'replace',
151
+ default: 'replace',
152
+ }),
153
+ (0, class_validator_1.IsOptional)(),
154
+ (0, class_validator_1.IsString)(),
155
+ (0, class_validator_1.IsEnum)(['replace', 'redact', 'mask', 'hash', 'encrypt']),
156
+ __metadata("design:type", String)
157
+ ], AnonymizePiiDto.prototype, "anonymization_type", void 0);
158
+ /**
159
+ * DTO for triggering PII scan on a contract
160
+ */
161
+ class ScanContractPiiDto {
162
+ contractId;
163
+ }
164
+ exports.ScanContractPiiDto = ScanContractPiiDto;
165
+ __decorate([
166
+ (0, swagger_1.ApiProperty)({
167
+ description: 'Contract ID to scan for PII',
168
+ example: '123e4567-e89b-12d3-a456-426614174000',
169
+ }),
170
+ (0, class_validator_1.IsString)(),
171
+ __metadata("design:type", String)
172
+ ], ScanContractPiiDto.prototype, "contractId", void 0);
173
+ //# sourceMappingURL=analyze-pii.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-pii.dto.js","sourceRoot":"","sources":["../../../src/dto/pii/analyze-pii.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Response DTO for de-anonymized contract text
3
+ */
4
+ export declare class GetDeAnonymizedTextResponseDto {
5
+ contractId: string;
6
+ text: string;
7
+ isDeAnonymized: boolean;
8
+ replacementCount: number;
9
+ ocrEngine?: string;
10
+ pageCount?: number;
11
+ language: string;
12
+ characterCount: number;
13
+ restoredEntityTypes: string[];
14
+ }
15
+ //# sourceMappingURL=deanonymized-text-response.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deanonymized-text-response.dto.d.ts","sourceRoot":"","sources":["../../../src/dto/pii/deanonymized-text-response.dto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,8BAA8B;IAKzC,UAAU,EAAE,MAAM,CAAC;IAMnB,IAAI,EAAE,MAAM,CAAC;IAMb,cAAc,EAAE,OAAO,CAAC;IAMxB,gBAAgB,EAAE,MAAM,CAAC;IAOzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,QAAQ,EAAE,MAAM,CAAC;IAMjB,cAAc,EAAE,MAAM,CAAC;IAQvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GetDeAnonymizedTextResponseDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ /**
15
+ * Response DTO for de-anonymized contract text
16
+ */
17
+ class GetDeAnonymizedTextResponseDto {
18
+ contractId;
19
+ text;
20
+ isDeAnonymized;
21
+ replacementCount;
22
+ ocrEngine;
23
+ pageCount;
24
+ language;
25
+ characterCount;
26
+ restoredEntityTypes;
27
+ }
28
+ exports.GetDeAnonymizedTextResponseDto = GetDeAnonymizedTextResponseDto;
29
+ __decorate([
30
+ (0, swagger_1.ApiProperty)({
31
+ description: 'Contract UUID',
32
+ example: '550e8400-e29b-41d4-a716-446655440000',
33
+ }),
34
+ __metadata("design:type", String)
35
+ ], GetDeAnonymizedTextResponseDto.prototype, "contractId", void 0);
36
+ __decorate([
37
+ (0, swagger_1.ApiProperty)({
38
+ description: 'Contract text with original PII restored (de-anonymized)',
39
+ example: 'This agreement is between John Smith and Acme Corporation...',
40
+ }),
41
+ __metadata("design:type", String)
42
+ ], GetDeAnonymizedTextResponseDto.prototype, "text", void 0);
43
+ __decorate([
44
+ (0, swagger_1.ApiProperty)({
45
+ description: 'Whether this is de-anonymized text (always true for this endpoint)',
46
+ example: true,
47
+ }),
48
+ __metadata("design:type", Boolean)
49
+ ], GetDeAnonymizedTextResponseDto.prototype, "isDeAnonymized", void 0);
50
+ __decorate([
51
+ (0, swagger_1.ApiProperty)({
52
+ description: 'Number of PII replacements performed',
53
+ example: 5,
54
+ }),
55
+ __metadata("design:type", Number)
56
+ ], GetDeAnonymizedTextResponseDto.prototype, "replacementCount", void 0);
57
+ __decorate([
58
+ (0, swagger_1.ApiPropertyOptional)({
59
+ description: 'OCR engine used (if applicable)',
60
+ required: false,
61
+ example: 'google',
62
+ }),
63
+ __metadata("design:type", String)
64
+ ], GetDeAnonymizedTextResponseDto.prototype, "ocrEngine", void 0);
65
+ __decorate([
66
+ (0, swagger_1.ApiPropertyOptional)({
67
+ description: 'Number of pages in the contract',
68
+ required: false,
69
+ example: 12,
70
+ }),
71
+ __metadata("design:type", Number)
72
+ ], GetDeAnonymizedTextResponseDto.prototype, "pageCount", void 0);
73
+ __decorate([
74
+ (0, swagger_1.ApiProperty)({
75
+ description: 'Primary language of the contract',
76
+ example: 'en',
77
+ }),
78
+ __metadata("design:type", String)
79
+ ], GetDeAnonymizedTextResponseDto.prototype, "language", void 0);
80
+ __decorate([
81
+ (0, swagger_1.ApiProperty)({
82
+ description: 'Character count of the text',
83
+ example: 15420,
84
+ }),
85
+ __metadata("design:type", Number)
86
+ ], GetDeAnonymizedTextResponseDto.prototype, "characterCount", void 0);
87
+ __decorate([
88
+ (0, swagger_1.ApiProperty)({
89
+ description: 'List of PII entity types that were restored',
90
+ type: [String],
91
+ example: ['PERSON', 'EMAIL_ADDRESS', 'PHONE_NUMBER'],
92
+ isArray: true,
93
+ }),
94
+ __metadata("design:type", Array)
95
+ ], GetDeAnonymizedTextResponseDto.prototype, "restoredEntityTypes", void 0);
96
+ //# sourceMappingURL=deanonymized-text-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deanonymized-text-response.dto.js","sourceRoot":"","sources":["../../../src/dto/pii/deanonymized-text-response.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AAEnE;;GAEG;AACH,MAAa,8BAA8B;IAKzC,UAAU,CAAS;IAMnB,IAAI,CAAS;IAMb,cAAc,CAAU;IAMxB,gBAAgB,CAAS;IAOzB,SAAS,CAAU;IAOnB,SAAS,CAAU;IAMnB,QAAQ,CAAS;IAMjB,cAAc,CAAS;IAQvB,mBAAmB,CAAW;CAC/B;AA1DD,wEA0DC;AArDC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,sCAAsC;KAChD,CAAC;;kEACiB;AAMnB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,8DAA8D;KACxE,CAAC;;4DACW;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,oEAAoE;QACjF,OAAO,EAAE,IAAI;KACd,CAAC;;sEACsB;AAMxB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,CAAC;KACX,CAAC;;wEACuB;AAOzB;IALC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,QAAQ;KAClB,CAAC;;iEACiB;AAOnB;IALC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;KACZ,CAAC;;iEACiB;AAMnB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,IAAI;KACd,CAAC;;gEACe;AAMjB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,KAAK;KACf,CAAC;;sEACqB;AAQvB;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC;QACpD,OAAO,EAAE,IAAI;KACd,CAAC;;2EAC4B"}
@@ -0,0 +1,7 @@
1
+ export { AnalyzerResult, AnalyzePiiDto, AnonymizePiiDto, ScanContractPiiDto, } from './analyze-pii.dto';
2
+ export type { AnalyzePiiResponseDto, AnonymizePiiResponseDto, AnonymizedItem, ScanContractPiiResponseDto, } from './analyze-pii.dto';
3
+ export { ApprovePiiDto, ApprovePiiResponseDto, RejectPiiResponseDto, PiiEntityDto, GetPiiEntitiesResponseDto, GetContractTextResponseDto, } from './pii-contract.dto';
4
+ export { GetDeAnonymizedTextResponseDto } from './deanonymized-text-response.dto';
5
+ export { RejectPiiDto } from './reject-pii.dto';
6
+ export { PiiPreviewQueryDto } from './pii-preview-query.dto';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dto/pii/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PiiPreviewQueryDto = exports.RejectPiiDto = exports.GetDeAnonymizedTextResponseDto = exports.GetContractTextResponseDto = exports.GetPiiEntitiesResponseDto = exports.PiiEntityDto = exports.RejectPiiResponseDto = exports.ApprovePiiResponseDto = exports.ApprovePiiDto = exports.ScanContractPiiDto = exports.AnonymizePiiDto = exports.AnalyzePiiDto = exports.AnalyzerResult = void 0;
4
+ // PII Analysis DTOs (Presidio compatible)
5
+ var analyze_pii_dto_1 = require("./analyze-pii.dto");
6
+ Object.defineProperty(exports, "AnalyzerResult", { enumerable: true, get: function () { return analyze_pii_dto_1.AnalyzerResult; } });
7
+ Object.defineProperty(exports, "AnalyzePiiDto", { enumerable: true, get: function () { return analyze_pii_dto_1.AnalyzePiiDto; } });
8
+ Object.defineProperty(exports, "AnonymizePiiDto", { enumerable: true, get: function () { return analyze_pii_dto_1.AnonymizePiiDto; } });
9
+ Object.defineProperty(exports, "ScanContractPiiDto", { enumerable: true, get: function () { return analyze_pii_dto_1.ScanContractPiiDto; } });
10
+ // PII Contract Workflow DTOs
11
+ var pii_contract_dto_1 = require("./pii-contract.dto");
12
+ Object.defineProperty(exports, "ApprovePiiDto", { enumerable: true, get: function () { return pii_contract_dto_1.ApprovePiiDto; } });
13
+ Object.defineProperty(exports, "ApprovePiiResponseDto", { enumerable: true, get: function () { return pii_contract_dto_1.ApprovePiiResponseDto; } });
14
+ Object.defineProperty(exports, "RejectPiiResponseDto", { enumerable: true, get: function () { return pii_contract_dto_1.RejectPiiResponseDto; } });
15
+ Object.defineProperty(exports, "PiiEntityDto", { enumerable: true, get: function () { return pii_contract_dto_1.PiiEntityDto; } });
16
+ Object.defineProperty(exports, "GetPiiEntitiesResponseDto", { enumerable: true, get: function () { return pii_contract_dto_1.GetPiiEntitiesResponseDto; } });
17
+ Object.defineProperty(exports, "GetContractTextResponseDto", { enumerable: true, get: function () { return pii_contract_dto_1.GetContractTextResponseDto; } });
18
+ // PII De-anonymization DTOs
19
+ var deanonymized_text_response_dto_1 = require("./deanonymized-text-response.dto");
20
+ Object.defineProperty(exports, "GetDeAnonymizedTextResponseDto", { enumerable: true, get: function () { return deanonymized_text_response_dto_1.GetDeAnonymizedTextResponseDto; } });
21
+ // PII Rejection DTOs
22
+ var reject_pii_dto_1 = require("./reject-pii.dto");
23
+ Object.defineProperty(exports, "RejectPiiDto", { enumerable: true, get: function () { return reject_pii_dto_1.RejectPiiDto; } });
24
+ // PII Preview Query DTOs
25
+ var pii_preview_query_dto_1 = require("./pii-preview-query.dto");
26
+ Object.defineProperty(exports, "PiiPreviewQueryDto", { enumerable: true, get: function () { return pii_preview_query_dto_1.PiiPreviewQueryDto; } });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dto/pii/index.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,qDAK2B;AAJzB,iHAAA,cAAc,OAAA;AACd,gHAAA,aAAa,OAAA;AACb,kHAAA,eAAe,OAAA;AACf,qHAAA,kBAAkB,OAAA;AASpB,6BAA6B;AAC7B,uDAO4B;AAN1B,iHAAA,aAAa,OAAA;AACb,yHAAA,qBAAqB,OAAA;AACrB,wHAAA,oBAAoB,OAAA;AACpB,gHAAA,YAAY,OAAA;AACZ,6HAAA,yBAAyB,OAAA;AACzB,8HAAA,0BAA0B,OAAA;AAG5B,4BAA4B;AAC5B,mFAAkF;AAAzE,gJAAA,8BAA8B,OAAA;AAEvC,qBAAqB;AACrB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AAErB,yBAAyB;AACzB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * DTO for PII approval request
3
+ */
4
+ export declare class ApprovePiiDto {
5
+ approved: boolean;
6
+ notes?: string;
7
+ }
8
+ /**
9
+ * DTO for PII approval response
10
+ */
11
+ export declare class ApprovePiiResponseDto {
12
+ success: boolean;
13
+ message: string;
14
+ contractId: string;
15
+ status: string;
16
+ workflowResumed?: boolean;
17
+ error?: string;
18
+ }
19
+ /**
20
+ * DTO for PII rejection response
21
+ */
22
+ export declare class RejectPiiResponseDto {
23
+ success: boolean;
24
+ message: string;
25
+ contractId: string;
26
+ action: string;
27
+ }
28
+ /**
29
+ * DTO for individual PII entity
30
+ */
31
+ export declare class PiiEntityDto {
32
+ text: string;
33
+ type: string;
34
+ score: number;
35
+ risk_level: string;
36
+ start: number;
37
+ end: number;
38
+ }
39
+ /**
40
+ * DTO for getting PII entities response
41
+ */
42
+ export declare class GetPiiEntitiesResponseDto {
43
+ contractId: string;
44
+ hasPii: boolean;
45
+ hasHighRiskPii: boolean;
46
+ piiApproved: boolean;
47
+ pseudonymized: boolean;
48
+ scannedAt: Date;
49
+ approvedAt?: Date;
50
+ entities: PiiEntityDto[];
51
+ totalEntities: number;
52
+ hasMoreEntities?: boolean;
53
+ riskCounts: {
54
+ high: number;
55
+ medium: number;
56
+ low: number;
57
+ };
58
+ riskLevel?: string;
59
+ highRiskTypes?: string[];
60
+ entityPreviews?: Array<{
61
+ type: string;
62
+ preview: string;
63
+ riskLevel: string;
64
+ }>;
65
+ approvalOptions?: {
66
+ canProceed: boolean;
67
+ canProceedWithMasking: boolean;
68
+ canReject: boolean;
69
+ expiresAt: string;
70
+ };
71
+ totalPreviewEntities?: number;
72
+ }
73
+ /**
74
+ * DTO for contract text response
75
+ */
76
+ export declare class GetContractTextResponseDto {
77
+ contractId: string;
78
+ text: string;
79
+ isPseudonymized: boolean;
80
+ ocrEngine?: string;
81
+ pageCount: number;
82
+ language: string;
83
+ characterCount: number;
84
+ maskedEntities?: number;
85
+ }
86
+ //# sourceMappingURL=pii-contract.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pii-contract.dto.d.ts","sourceRoot":"","sources":["../../../src/dto/pii/pii-contract.dto.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,aAAa;IAMxB,QAAQ,EAAE,OAAO,CAAC;IAQlB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAKhC,OAAO,EAAE,OAAO,CAAC;IAMjB,OAAO,EAAE,MAAM,CAAC;IAMhB,UAAU,EAAE,MAAM,CAAC;IAMnB,MAAM,EAAE,MAAM,CAAC;IAOf,eAAe,CAAC,EAAE,OAAO,CAAC;IAO1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAK/B,OAAO,EAAE,OAAO,CAAC;IAMjB,OAAO,EAAE,MAAM,CAAC;IAMhB,UAAU,EAAE,MAAM,CAAC;IAOnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,YAAY;IAEvB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,MAAM,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,yBAAyB;IAEpC,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,OAAO,CAAC;IAGhB,cAAc,EAAE,OAAO,CAAC;IAGxB,WAAW,EAAE,OAAO,CAAC;IAGrB,aAAa,EAAE,OAAO,CAAC;IAGvB,SAAS,EAAE,IAAI,CAAC;IAGhB,UAAU,CAAC,EAAE,IAAI,CAAC;IAGlB,QAAQ,EAAE,YAAY,EAAE,CAAC;IAGzB,aAAa,EAAE,MAAM,CAAC;IAOtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IAOF,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAQzB,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IAMH,eAAe,CAAC,EAAE;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,qBAAqB,EAAE,OAAO,CAAC;QAC/B,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAOF,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,0BAA0B;IAErC,UAAU,EAAE,MAAM,CAAC;IAGnB,IAAI,EAAE,MAAM,CAAC;IAGb,eAAe,EAAE,OAAO,CAAC;IAGzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,cAAc,EAAE,MAAM,CAAC;IAMvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}