@explorins/pers-shared 2.1.96 → 2.1.97

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 (105) hide show
  1. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.d.ts +35 -0
  2. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.d.ts.map +1 -0
  3. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.js +184 -0
  4. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.js.map +1 -0
  5. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.d.ts +21 -0
  6. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -0
  7. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js +62 -0
  8. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -0
  9. package/dist/cjs/shared-lib/dto/ai/index.d.ts +3 -0
  10. package/dist/cjs/shared-lib/dto/ai/index.d.ts.map +1 -0
  11. package/dist/cjs/shared-lib/dto/ai/index.js +20 -0
  12. package/dist/cjs/shared-lib/dto/ai/index.js.map +1 -0
  13. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.d.ts +84 -0
  14. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.d.ts.map +1 -0
  15. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.js +295 -0
  16. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.js.map +1 -0
  17. package/dist/cjs/shared-lib/dto/analytics/index.d.ts +1 -0
  18. package/dist/cjs/shared-lib/dto/analytics/index.d.ts.map +1 -1
  19. package/dist/cjs/shared-lib/dto/analytics/index.js +1 -0
  20. package/dist/cjs/shared-lib/dto/analytics/index.js.map +1 -1
  21. package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
  22. package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
  23. package/dist/cjs/shared-lib/dto/index.js +2 -0
  24. package/dist/cjs/shared-lib/dto/index.js.map +1 -1
  25. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts +2 -0
  26. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  27. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js +20 -2
  28. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  29. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.d.ts +43 -0
  30. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.d.ts.map +1 -0
  31. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.js +48 -0
  32. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.js.map +1 -0
  33. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.d.ts +21 -0
  34. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.d.ts.map +1 -0
  35. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.js +25 -0
  36. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.js.map +1 -0
  37. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.d.ts +13 -0
  38. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.d.ts.map +1 -0
  39. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.js +17 -0
  40. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.js.map +1 -0
  41. package/dist/cjs/shared-lib/enum/index.d.ts +3 -0
  42. package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
  43. package/dist/cjs/shared-lib/enum/index.js +3 -0
  44. package/dist/cjs/shared-lib/enum/index.js.map +1 -1
  45. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.d.ts +19 -0
  46. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.d.ts.map +1 -0
  47. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.js +3 -0
  48. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.js.map +1 -0
  49. package/dist/cjs/shared-lib/interfaces/index.d.ts +1 -0
  50. package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
  51. package/dist/cjs/shared-lib/interfaces/index.js +1 -0
  52. package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
  53. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.d.ts +35 -0
  54. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.d.ts.map +1 -0
  55. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.js +158 -0
  56. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.js.map +1 -0
  57. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.d.ts +21 -0
  58. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -0
  59. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js +52 -0
  60. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -0
  61. package/dist/esm/shared-lib/dto/ai/index.d.ts +3 -0
  62. package/dist/esm/shared-lib/dto/ai/index.d.ts.map +1 -0
  63. package/dist/esm/shared-lib/dto/ai/index.js +4 -0
  64. package/dist/esm/shared-lib/dto/ai/index.js.map +1 -0
  65. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.d.ts +84 -0
  66. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.d.ts.map +1 -0
  67. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.js +256 -0
  68. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.js.map +1 -0
  69. package/dist/esm/shared-lib/dto/analytics/index.d.ts +1 -0
  70. package/dist/esm/shared-lib/dto/analytics/index.d.ts.map +1 -1
  71. package/dist/esm/shared-lib/dto/analytics/index.js +1 -0
  72. package/dist/esm/shared-lib/dto/analytics/index.js.map +1 -1
  73. package/dist/esm/shared-lib/dto/index.d.ts +1 -0
  74. package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
  75. package/dist/esm/shared-lib/dto/index.js +2 -0
  76. package/dist/esm/shared-lib/dto/index.js.map +1 -1
  77. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts +2 -0
  78. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  79. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js +20 -3
  80. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  81. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.d.ts +43 -0
  82. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.d.ts.map +1 -0
  83. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.js +45 -0
  84. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.js.map +1 -0
  85. package/dist/esm/shared-lib/enum/ai-operation-type.enum.d.ts +21 -0
  86. package/dist/esm/shared-lib/enum/ai-operation-type.enum.d.ts.map +1 -0
  87. package/dist/esm/shared-lib/enum/ai-operation-type.enum.js +22 -0
  88. package/dist/esm/shared-lib/enum/ai-operation-type.enum.js.map +1 -0
  89. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.d.ts +13 -0
  90. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.d.ts.map +1 -0
  91. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.js +14 -0
  92. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.js.map +1 -0
  93. package/dist/esm/shared-lib/enum/index.d.ts +3 -0
  94. package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
  95. package/dist/esm/shared-lib/enum/index.js +3 -0
  96. package/dist/esm/shared-lib/enum/index.js.map +1 -1
  97. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.d.ts +19 -0
  98. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.d.ts.map +1 -0
  99. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.js +2 -0
  100. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.js.map +1 -0
  101. package/dist/esm/shared-lib/interfaces/index.d.ts +1 -0
  102. package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
  103. package/dist/esm/shared-lib/interfaces/index.js +1 -0
  104. package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
  105. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ import { AiOperationType } from '../../enum/ai-operation-type.enum';
2
+ import { AiTriggerProcessType } from '../../enum/ai-trigger-process-type.enum';
3
+ /**
4
+ * AI Generation Log DTO
5
+ *
6
+ * Represents an AI generation operation record.
7
+ * Used for:
8
+ * - API responses from AI module
9
+ * - Cross-domain analytics queries
10
+ * - Billing and usage tracking
11
+ *
12
+ * DDD: Shared Kernel - used by AI module and Analytics module
13
+ */
14
+ export declare class AiGenerationLogDTO {
15
+ id: string;
16
+ tenantId: string;
17
+ userId?: string;
18
+ operationType: AiOperationType;
19
+ triggerProcessType?: AiTriggerProcessType | null;
20
+ triggerProcessId?: string | null;
21
+ model: string;
22
+ promptHash?: string | null;
23
+ promptPreview?: string | null;
24
+ inputTokens: number;
25
+ outputTokens: number;
26
+ totalTokens: number;
27
+ estimatedCostUsd: number;
28
+ responseTimeMs: number;
29
+ success: boolean;
30
+ message?: string | null;
31
+ metadata?: Record<string, unknown> | null;
32
+ createdAt: Date;
33
+ updatedAt: Date;
34
+ }
35
+ //# sourceMappingURL=ai-generation-log.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-generation-log.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/ai-generation-log.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAK7B,EAAE,EAAG,MAAM,CAAC;IAMZ,QAAQ,EAAG,MAAM,CAAC;IAMlB,MAAM,CAAC,EAAE,MAAM,CAAC;IAOhB,aAAa,EAAG,eAAe,CAAC;IAOhC,kBAAkB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAMjD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMjC,KAAK,EAAG,MAAM,CAAC;IAMf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM9B,WAAW,EAAG,MAAM,CAAC;IAMrB,YAAY,EAAG,MAAM,CAAC;IAMtB,WAAW,EAAG,MAAM,CAAC;IAMrB,gBAAgB,EAAG,MAAM,CAAC;IAM1B,cAAc,EAAG,MAAM,CAAC;IAMxB,OAAO,EAAG,OAAO,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAM1C,SAAS,EAAG,IAAI,CAAC;IAMjB,SAAS,EAAG,IAAI,CAAC;CAClB"}
@@ -0,0 +1,184 @@
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.AiGenerationLogDTO = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const ai_operation_type_enum_1 = require("../../enum/ai-operation-type.enum");
15
+ const ai_trigger_process_type_enum_1 = require("../../enum/ai-trigger-process-type.enum");
16
+ /**
17
+ * AI Generation Log DTO
18
+ *
19
+ * Represents an AI generation operation record.
20
+ * Used for:
21
+ * - API responses from AI module
22
+ * - Cross-domain analytics queries
23
+ * - Billing and usage tracking
24
+ *
25
+ * DDD: Shared Kernel - used by AI module and Analytics module
26
+ */
27
+ class AiGenerationLogDTO {
28
+ id;
29
+ tenantId;
30
+ userId;
31
+ operationType;
32
+ triggerProcessType;
33
+ triggerProcessId;
34
+ model;
35
+ promptHash;
36
+ promptPreview;
37
+ inputTokens;
38
+ outputTokens;
39
+ totalTokens;
40
+ estimatedCostUsd;
41
+ responseTimeMs;
42
+ success;
43
+ message;
44
+ metadata;
45
+ createdAt;
46
+ updatedAt;
47
+ }
48
+ exports.AiGenerationLogDTO = AiGenerationLogDTO;
49
+ __decorate([
50
+ (0, swagger_1.ApiProperty)({
51
+ description: 'Unique identifier',
52
+ example: '123e4567-e89b-12d3-a456-426614174000'
53
+ }),
54
+ __metadata("design:type", String)
55
+ ], AiGenerationLogDTO.prototype, "id", void 0);
56
+ __decorate([
57
+ (0, swagger_1.ApiProperty)({
58
+ description: 'Tenant identifier (auto-populated via RLS)',
59
+ example: 'tenant-123'
60
+ }),
61
+ __metadata("design:type", String)
62
+ ], AiGenerationLogDTO.prototype, "tenantId", void 0);
63
+ __decorate([
64
+ (0, swagger_1.ApiPropertyOptional)({
65
+ description: 'User who triggered the generation (null for system operations)',
66
+ example: '123e4567-e89b-12d3-a456-426614174000'
67
+ }),
68
+ __metadata("design:type", String)
69
+ ], AiGenerationLogDTO.prototype, "userId", void 0);
70
+ __decorate([
71
+ (0, swagger_1.ApiProperty)({
72
+ description: 'Type of AI operation performed',
73
+ enum: ai_operation_type_enum_1.AiOperationType,
74
+ example: ai_operation_type_enum_1.AiOperationType.TEXT_GENERATION
75
+ }),
76
+ __metadata("design:type", String)
77
+ ], AiGenerationLogDTO.prototype, "operationType", void 0);
78
+ __decorate([
79
+ (0, swagger_1.ApiPropertyOptional)({
80
+ description: 'Business process that triggered this AI generation (for cost allocation)',
81
+ enum: ai_trigger_process_type_enum_1.AiTriggerProcessType,
82
+ example: ai_trigger_process_type_enum_1.AiTriggerProcessType.TRANSACTION
83
+ }),
84
+ __metadata("design:type", Object)
85
+ ], AiGenerationLogDTO.prototype, "triggerProcessType", void 0);
86
+ __decorate([
87
+ (0, swagger_1.ApiPropertyOptional)({
88
+ description: 'ID of the entity that triggered this generation (e.g., Transaction ID)',
89
+ example: '123e4567-e89b-12d3-a456-426614174000'
90
+ }),
91
+ __metadata("design:type", Object)
92
+ ], AiGenerationLogDTO.prototype, "triggerProcessId", void 0);
93
+ __decorate([
94
+ (0, swagger_1.ApiProperty)({
95
+ description: 'Model used for generation',
96
+ example: 'gemini-2.5-flash'
97
+ }),
98
+ __metadata("design:type", String)
99
+ ], AiGenerationLogDTO.prototype, "model", void 0);
100
+ __decorate([
101
+ (0, swagger_1.ApiPropertyOptional)({
102
+ description: 'SHA256 hash of prompt for deduplication (privacy-aware)',
103
+ example: 'a1b2c3d4e5f6...'
104
+ }),
105
+ __metadata("design:type", Object)
106
+ ], AiGenerationLogDTO.prototype, "promptHash", void 0);
107
+ __decorate([
108
+ (0, swagger_1.ApiPropertyOptional)({
109
+ description: 'First N characters of prompt for debugging',
110
+ example: 'Generate a description for...'
111
+ }),
112
+ __metadata("design:type", Object)
113
+ ], AiGenerationLogDTO.prototype, "promptPreview", void 0);
114
+ __decorate([
115
+ (0, swagger_1.ApiProperty)({
116
+ description: 'Number of input tokens',
117
+ example: 150
118
+ }),
119
+ __metadata("design:type", Number)
120
+ ], AiGenerationLogDTO.prototype, "inputTokens", void 0);
121
+ __decorate([
122
+ (0, swagger_1.ApiProperty)({
123
+ description: 'Number of output tokens',
124
+ example: 500
125
+ }),
126
+ __metadata("design:type", Number)
127
+ ], AiGenerationLogDTO.prototype, "outputTokens", void 0);
128
+ __decorate([
129
+ (0, swagger_1.ApiProperty)({
130
+ description: 'Total tokens (input + output)',
131
+ example: 650
132
+ }),
133
+ __metadata("design:type", Number)
134
+ ], AiGenerationLogDTO.prototype, "totalTokens", void 0);
135
+ __decorate([
136
+ (0, swagger_1.ApiProperty)({
137
+ description: 'Estimated cost in USD',
138
+ example: 0.0013
139
+ }),
140
+ __metadata("design:type", Number)
141
+ ], AiGenerationLogDTO.prototype, "estimatedCostUsd", void 0);
142
+ __decorate([
143
+ (0, swagger_1.ApiProperty)({
144
+ description: 'Response time in milliseconds',
145
+ example: 1250
146
+ }),
147
+ __metadata("design:type", Number)
148
+ ], AiGenerationLogDTO.prototype, "responseTimeMs", void 0);
149
+ __decorate([
150
+ (0, swagger_1.ApiProperty)({
151
+ description: 'Whether the operation succeeded',
152
+ example: true
153
+ }),
154
+ __metadata("design:type", Boolean)
155
+ ], AiGenerationLogDTO.prototype, "success", void 0);
156
+ __decorate([
157
+ (0, swagger_1.ApiPropertyOptional)({
158
+ description: 'Message (error details if failed, or context info)',
159
+ example: null
160
+ }),
161
+ __metadata("design:type", Object)
162
+ ], AiGenerationLogDTO.prototype, "message", void 0);
163
+ __decorate([
164
+ (0, swagger_1.ApiPropertyOptional)({
165
+ description: 'Additional metadata (generation options, temperature, etc.)',
166
+ example: { temperature: 0.7, thinkingLevel: 'medium' }
167
+ }),
168
+ __metadata("design:type", Object)
169
+ ], AiGenerationLogDTO.prototype, "metadata", void 0);
170
+ __decorate([
171
+ (0, swagger_1.ApiProperty)({
172
+ description: 'Creation timestamp',
173
+ example: '2026-03-12T10:30:00Z'
174
+ }),
175
+ __metadata("design:type", Date)
176
+ ], AiGenerationLogDTO.prototype, "createdAt", void 0);
177
+ __decorate([
178
+ (0, swagger_1.ApiProperty)({
179
+ description: 'Last update timestamp',
180
+ example: '2026-03-12T10:30:00Z'
181
+ }),
182
+ __metadata("design:type", Date)
183
+ ], AiGenerationLogDTO.prototype, "updatedAt", void 0);
184
+ //# sourceMappingURL=ai-generation-log.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-generation-log.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/ai-generation-log.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { AiPromptConfig, AiPromptConfigType } from '../../interfaces/ai-prompt-config.interface';
2
+ export type { AiPromptConfigType, AiPromptResults } from '../../interfaces/ai-prompt-config.interface';
3
+ /**
4
+ * DTO for a single AI prompt operation configuration.
5
+ * Implements AiPromptConfig interface with validation decorators.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const configs: AiPromptConfigDTO[] = [
10
+ * { type: AiOperationType.TEXT_GENERATION, key: 'name', prompt: 'Generate a reward name' },
11
+ * { type: AiOperationType.TEXT_GENERATION, key: 'description', prompt: 'Generate a description' },
12
+ * { type: AiOperationType.IMAGE_GENERATION, key: 'imageUrl', prompt: 'Generate a badge image' },
13
+ * ];
14
+ * ```
15
+ */
16
+ export declare class AiPromptConfigDTO implements AiPromptConfig {
17
+ type: AiPromptConfigType;
18
+ key: string;
19
+ prompt: string;
20
+ }
21
+ //# sourceMappingURL=ai-prompt-config.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-prompt-config.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/ai-prompt-config.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGtG,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEvG;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAOtD,IAAI,EAAG,kBAAkB,CAAC;IAQ1B,GAAG,EAAG,MAAM,CAAC;IAQb,MAAM,EAAG,MAAM,CAAC;CACjB"}
@@ -0,0 +1,62 @@
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.AiPromptConfigDTO = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const ai_operation_type_enum_1 = require("../../enum/ai-operation-type.enum");
16
+ /**
17
+ * DTO for a single AI prompt operation configuration.
18
+ * Implements AiPromptConfig interface with validation decorators.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const configs: AiPromptConfigDTO[] = [
23
+ * { type: AiOperationType.TEXT_GENERATION, key: 'name', prompt: 'Generate a reward name' },
24
+ * { type: AiOperationType.TEXT_GENERATION, key: 'description', prompt: 'Generate a description' },
25
+ * { type: AiOperationType.IMAGE_GENERATION, key: 'imageUrl', prompt: 'Generate a badge image' },
26
+ * ];
27
+ * ```
28
+ */
29
+ class AiPromptConfigDTO {
30
+ type;
31
+ key;
32
+ prompt;
33
+ }
34
+ exports.AiPromptConfigDTO = AiPromptConfigDTO;
35
+ __decorate([
36
+ (0, swagger_1.ApiProperty)({
37
+ enum: [ai_operation_type_enum_1.AiOperationType.TEXT_GENERATION, ai_operation_type_enum_1.AiOperationType.IMAGE_GENERATION],
38
+ description: 'Type of AI operation to perform',
39
+ example: ai_operation_type_enum_1.AiOperationType.TEXT_GENERATION,
40
+ }),
41
+ (0, class_validator_1.IsEnum)(ai_operation_type_enum_1.AiOperationType),
42
+ __metadata("design:type", String)
43
+ ], AiPromptConfigDTO.prototype, "type", void 0);
44
+ __decorate([
45
+ (0, swagger_1.ApiProperty)({
46
+ description: 'Key to store the generated result under',
47
+ example: 'name',
48
+ }),
49
+ (0, class_validator_1.IsString)(),
50
+ (0, class_validator_1.MaxLength)(50),
51
+ __metadata("design:type", String)
52
+ ], AiPromptConfigDTO.prototype, "key", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiProperty)({
55
+ description: 'The prompt to send to the AI model. Supports placeholders like {{user.name}}, {{campaign.name}}, {{tenant.name}}',
56
+ example: 'Generate a unique reward name for {{user.name}}',
57
+ }),
58
+ (0, class_validator_1.IsString)(),
59
+ (0, class_validator_1.MaxLength)(2000),
60
+ __metadata("design:type", String)
61
+ ], AiPromptConfigDTO.prototype, "prompt", void 0);
62
+ //# sourceMappingURL=ai-prompt-config.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-prompt-config.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/ai-prompt-config.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAA8D;AAC9D,8EAAoE;AAMpE;;;;;;;;;;;;GAYG;AACH,MAAa,iBAAiB;IAO5B,IAAI,CAAsB;IAQ1B,GAAG,CAAU;IAQb,MAAM,CAAU;CACjB;AAxBD,8CAwBC;AAjBC;IANC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,CAAC,wCAAe,CAAC,eAAe,EAAE,wCAAe,CAAC,gBAAgB,CAAC;QACzE,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,wCAAe,CAAC,eAAe;KACzC,CAAC;IACD,IAAA,wBAAM,EAAC,wCAAe,CAAC;;+CACE;AAQ1B;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,MAAM;KAChB,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;8CACD;AAQb;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kHAAkH;QAC/H,OAAO,EAAE,iDAAiD;KAC3D,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,IAAI,CAAC;;iDACA"}
@@ -0,0 +1,3 @@
1
+ export * from './ai-generation-log.dto';
2
+ export * from './ai-prompt-config.dto';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // AI DTOs Barrel
18
+ __exportStar(require("./ai-generation-log.dto"), exports);
19
+ __exportStar(require("./ai-prompt-config.dto"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,0DAAwC;AACxC,yDAAuC"}
@@ -0,0 +1,84 @@
1
+ import { SortOrder } from '../../enum/sort-order.enum';
2
+ import { AiTriggerProcessType } from '../../enum/ai-trigger-process-type.enum';
3
+ import { AiOperationType } from '../../enum/ai-operation-type.enum';
4
+ import { AiAnalyticsMetric, AiAnalyticsGroupBy } from '../../enum/ai-analytics-metric.enum';
5
+ /**
6
+ * AI Usage Summary Request DTO
7
+ *
8
+ * Request for aggregated AI usage metrics for billing/reporting.
9
+ */
10
+ export declare class AiUsageSummaryRequestDTO {
11
+ startDate: Date;
12
+ endDate: Date;
13
+ }
14
+ /**
15
+ * AI Usage Summary Response DTO
16
+ *
17
+ * Aggregated AI usage metrics with breakdown by model and operation type.
18
+ */
19
+ export declare class AiUsageSummaryResponseDTO {
20
+ totalGenerations: number;
21
+ totalTokens: number;
22
+ inputTokens: number;
23
+ outputTokens: number;
24
+ totalCostUsd: number;
25
+ avgResponseTimeMs: number;
26
+ byModel: Record<string, {
27
+ count: number;
28
+ tokens: number;
29
+ costUsd: number;
30
+ }>;
31
+ byOperationType: Record<string, {
32
+ count: number;
33
+ tokens: number;
34
+ costUsd: number;
35
+ }>;
36
+ metadata: {
37
+ dateRange: {
38
+ startDate: Date;
39
+ endDate: Date;
40
+ };
41
+ };
42
+ }
43
+ /**
44
+ * AI Analytics Filters DTO
45
+ */
46
+ export declare class AiAnalyticsFiltersDTO {
47
+ userId?: string;
48
+ operationType?: AiOperationType;
49
+ triggerProcessType?: AiTriggerProcessType;
50
+ triggerProcessId?: string;
51
+ model?: string;
52
+ success?: boolean;
53
+ }
54
+ /**
55
+ * AI Analytics Request DTO
56
+ *
57
+ * Flexible analytics request with grouping, metrics, and filters.
58
+ */
59
+ export declare class AiAnalyticsRequestDTO {
60
+ filters?: AiAnalyticsFiltersDTO;
61
+ groupBy?: AiAnalyticsGroupBy[];
62
+ metrics?: AiAnalyticsMetric[];
63
+ sortBy?: AiAnalyticsMetric;
64
+ sortOrder?: SortOrder;
65
+ limit?: number;
66
+ startDate?: Date;
67
+ endDate?: Date;
68
+ }
69
+ /**
70
+ * AI Analytics Response DTO
71
+ *
72
+ * Results from flexible analytics query.
73
+ */
74
+ export declare class AiAnalyticsResponseDTO {
75
+ results: Record<string, any>[];
76
+ totalGroups: number;
77
+ metadata: {
78
+ dateRange: {
79
+ startDate: Date;
80
+ endDate: Date;
81
+ };
82
+ };
83
+ }
84
+ //# sourceMappingURL=ai-analytics.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/ai-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE5F;;;;GAIG;AACH,qBAAa,wBAAwB;IAOnC,SAAS,EAAG,IAAI,CAAC;IAQjB,OAAO,EAAG,IAAI,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,yBAAyB;IAEpC,gBAAgB,EAAG,MAAM,CAAC;IAG1B,WAAW,EAAG,MAAM,CAAC;IAGrB,WAAW,EAAG,MAAM,CAAC;IAGrB,YAAY,EAAG,MAAM,CAAC;IAGtB,YAAY,EAAG,MAAM,CAAC;IAGtB,iBAAiB,EAAG,MAAM,CAAC;IAS3B,OAAO,EAAG,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAS7E,eAAe,EAAG,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGrF,QAAQ,EAAG;QACT,SAAS,EAAE;YACT,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAIhC,MAAM,CAAC,EAAE,MAAM,CAAC;IAShB,aAAa,CAAC,EAAE,eAAe,CAAC;IAShC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAK1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,qBAAqB;IAMhC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAWhC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAW/B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAS9B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAS3B,SAAS,CAAC,EAAE,SAAS,CAAC;IAQtB,KAAK,CAAC,EAAE,MAAM,CAAC;IASf,SAAS,CAAC,EAAE,IAAI,CAAC;IASjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IAQjC,OAAO,EAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAGhC,WAAW,EAAG,MAAM,CAAC;IAGrB,QAAQ,EAAG;QACT,SAAS,EAAE;YACT,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,CAAC;KACH,CAAC;CACH"}