@explorins/pers-shared 2.1.122 → 2.1.123

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 (115) hide show
  1. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -1
  2. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js +22 -2
  3. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -1
  4. package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts +2 -0
  5. package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
  6. package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js +27 -0
  7. package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
  8. package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts +4 -1
  9. package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
  10. package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js +27 -4
  11. package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
  12. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts +2 -0
  13. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
  14. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js +9 -0
  15. package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
  16. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts +2 -0
  17. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
  18. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js +11 -0
  19. package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
  20. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts +2 -0
  21. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts.map +1 -1
  22. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +24 -0
  23. package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.js.map +1 -1
  24. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts +3 -0
  25. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  26. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js +67 -5
  27. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  28. package/dist/cjs/shared-lib/enum/token-validity-type.enum.d.ts +14 -1
  29. package/dist/cjs/shared-lib/enum/token-validity-type.enum.d.ts.map +1 -1
  30. package/dist/cjs/shared-lib/enum/token-validity-type.enum.js +14 -0
  31. package/dist/cjs/shared-lib/enum/token-validity-type.enum.js.map +1 -1
  32. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.d.ts +96 -0
  33. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.d.ts.map +1 -0
  34. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.js +25 -0
  35. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.js.map +1 -0
  36. package/dist/cjs/shared-lib/interfaces/index.d.ts +2 -0
  37. package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
  38. package/dist/cjs/shared-lib/interfaces/index.js +2 -0
  39. package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
  40. package/dist/cjs/shared-lib/interfaces/token-transaction-input-data.interface.d.ts +13 -0
  41. package/dist/cjs/shared-lib/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
  42. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.d.ts +48 -0
  43. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.d.ts.map +1 -0
  44. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.js +3 -0
  45. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.js.map +1 -0
  46. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts +17 -0
  47. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts.map +1 -1
  48. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js +26 -0
  49. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js.map +1 -1
  50. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.d.ts +13 -0
  51. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.d.ts.map +1 -1
  52. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.js +24 -0
  53. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.js.map +1 -1
  54. package/dist/cjs/shared-patterns/functions/token-metadata.functions.d.ts +38 -2
  55. package/dist/cjs/shared-patterns/functions/token-metadata.functions.d.ts.map +1 -1
  56. package/dist/cjs/shared-patterns/functions/token-metadata.functions.js +71 -3
  57. package/dist/cjs/shared-patterns/functions/token-metadata.functions.js.map +1 -1
  58. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -1
  59. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js +22 -2
  60. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -1
  61. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts +2 -0
  62. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
  63. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js +26 -0
  64. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
  65. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts +4 -1
  66. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
  67. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js +26 -4
  68. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
  69. package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts +2 -0
  70. package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
  71. package/dist/esm/shared-lib/dto/redemption/redemption.dto.js +8 -0
  72. package/dist/esm/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
  73. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts +2 -0
  74. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
  75. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js +11 -1
  76. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
  77. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts +2 -0
  78. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts.map +1 -1
  79. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +26 -3
  80. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js.map +1 -1
  81. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts +3 -0
  82. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  83. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js +66 -6
  84. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  85. package/dist/esm/shared-lib/enum/token-validity-type.enum.d.ts +14 -1
  86. package/dist/esm/shared-lib/enum/token-validity-type.enum.d.ts.map +1 -1
  87. package/dist/esm/shared-lib/enum/token-validity-type.enum.js +14 -0
  88. package/dist/esm/shared-lib/enum/token-validity-type.enum.js.map +1 -1
  89. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.d.ts +96 -0
  90. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.d.ts.map +1 -0
  91. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.js +19 -0
  92. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.js.map +1 -0
  93. package/dist/esm/shared-lib/interfaces/index.d.ts +2 -0
  94. package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
  95. package/dist/esm/shared-lib/interfaces/index.js +2 -0
  96. package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
  97. package/dist/esm/shared-lib/interfaces/token-transaction-input-data.interface.d.ts +13 -0
  98. package/dist/esm/shared-lib/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
  99. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.d.ts +48 -0
  100. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.d.ts.map +1 -0
  101. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.js +2 -0
  102. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.js.map +1 -0
  103. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts +17 -0
  104. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts.map +1 -1
  105. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js +24 -0
  106. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js.map +1 -1
  107. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.d.ts +13 -0
  108. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.d.ts.map +1 -1
  109. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.js +22 -0
  110. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.js.map +1 -1
  111. package/dist/esm/shared-patterns/functions/token-metadata.functions.d.ts +38 -2
  112. package/dist/esm/shared-patterns/functions/token-metadata.functions.d.ts.map +1 -1
  113. package/dist/esm/shared-patterns/functions/token-metadata.functions.js +69 -2
  114. package/dist/esm/shared-patterns/functions/token-metadata.functions.js.map +1 -1
  115. package/package.json +1 -1
@@ -6,7 +6,7 @@
6
6
  * validity computation, and attribute extraction.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.extractBusinessIdsFromMetadata = exports.extractTagsFromMetadata = exports.extractExpiryDateFromMetadata = exports.isTokenExpired = exports.computeExpiryDate = exports.checkIfTokenIdIsUri = void 0;
9
+ exports.mergeContexts = exports.extractBusinessIdsFromMetadata = exports.extractTagsFromMetadata = exports.extractExpiryDateFromMetadata = exports.isTokenExpired = exports.computeExpiryDate = exports.checkIfTokenIdIsUri = void 0;
10
10
  const token_validity_type_enum_1 = require("../../shared-lib/enum/token-validity-type.enum");
11
11
  const token_storage_data_interface_1 = require("../../shared-lib/interfaces/token-storage-data.interface");
12
12
  /**
@@ -28,16 +28,22 @@ exports.checkIfTokenIdIsUri = checkIfTokenIdIsUri;
28
28
  * Computes the expiry date based on validity configuration.
29
29
  *
30
30
  * @param validityType - The type of validity calculation
31
- * @param validityDuration - Duration in days or hours (for relative types)
31
+ * @param validityDuration - Duration in days or hours (for relative types) - can be overridden by triggerDuration
32
32
  * @param fixedExpiryDate - Fixed expiry date (for fixed_date type)
33
33
  * @param issuanceDate - The date of issuance (defaults to now)
34
+ * @param triggerContext - Runtime context for trigger-based types:
35
+ * - triggerDate: Base date (e.g., check-in date) for TRIGGER_DATE, DAYS_FROM_TRIGGER
36
+ * - triggerEndDate: End date (e.g., check-out date) for TRIGGER_DATE_RANGE
37
+ * - triggerDuration: Dynamic duration override for DAYS_FROM_TRIGGER, HOURS_FROM_TRIGGER
34
38
  * @returns The computed expiry date, or undefined if no validity is configured
35
39
  */
36
- const computeExpiryDate = (validityType, validityDuration, fixedExpiryDate, issuanceDate = new Date()) => {
40
+ const computeExpiryDate = (validityType, validityDuration, fixedExpiryDate, issuanceDate = new Date(), triggerContext) => {
37
41
  if (!validityType) {
38
42
  // Fallback to fixed expiry date if no validity type specified
39
43
  return fixedExpiryDate;
40
44
  }
45
+ // For trigger-based types, prefer dynamic duration from context over template duration
46
+ const effectiveDuration = triggerContext?.triggerDuration ?? validityDuration;
41
47
  switch (validityType) {
42
48
  case token_validity_type_enum_1.TokenValidityTypes.FIXED_DATE:
43
49
  return fixedExpiryDate;
@@ -71,6 +77,29 @@ const computeExpiryDate = (validityType, validityDuration, fixedExpiryDate, issu
71
77
  endOfYear.setDate(31);
72
78
  endOfYear.setHours(23, 59, 59, 999);
73
79
  return endOfYear;
80
+ // Trigger-based types - use data from runtime context
81
+ case token_validity_type_enum_1.TokenValidityTypes.TRIGGER_DATE:
82
+ // Use triggerDate directly as expiry (e.g., guest check-out date)
83
+ return triggerContext?.triggerDate;
84
+ case token_validity_type_enum_1.TokenValidityTypes.TRIGGER_DATE_RANGE:
85
+ // Use explicit end date (e.g., check-out date when check-in is separate)
86
+ return triggerContext?.triggerEndDate ?? triggerContext?.triggerDate;
87
+ case token_validity_type_enum_1.TokenValidityTypes.DAYS_FROM_TRIGGER:
88
+ if (!triggerContext?.triggerDate)
89
+ return undefined;
90
+ if (!effectiveDuration || effectiveDuration <= 0)
91
+ return triggerContext.triggerDate;
92
+ const daysFromTrigger = new Date(triggerContext.triggerDate);
93
+ daysFromTrigger.setDate(daysFromTrigger.getDate() + effectiveDuration);
94
+ return daysFromTrigger;
95
+ case token_validity_type_enum_1.TokenValidityTypes.HOURS_FROM_TRIGGER:
96
+ if (!triggerContext?.triggerDate)
97
+ return undefined;
98
+ if (!effectiveDuration || effectiveDuration <= 0)
99
+ return triggerContext.triggerDate;
100
+ const hoursFromTrigger = new Date(triggerContext.triggerDate);
101
+ hoursFromTrigger.setHours(hoursFromTrigger.getHours() + effectiveDuration);
102
+ return hoursFromTrigger;
74
103
  default:
75
104
  return fixedExpiryDate;
76
105
  }
@@ -167,4 +196,43 @@ const extractBusinessIdsFromMetadata = (metadata) => {
167
196
  return [];
168
197
  };
169
198
  exports.extractBusinessIdsFromMetadata = extractBusinessIdsFromMetadata;
199
+ /**
200
+ * Merges dynamic and external contexts with security enforcement.
201
+ * This is a DOMAIN RULE - enforces trust levels for context injection.
202
+ *
203
+ * Trust levels:
204
+ * - dynamicContext: Admin-controlled (QR/NFC) → ALWAYS applied
205
+ * - externalContext: User request → ONLY if allowExternalContextOverwrite=true
206
+ *
207
+ * This function should be used by any code that needs to merge contexts
208
+ * for ERC721 token generation, ensuring consistent security enforcement.
209
+ *
210
+ * @param allowExternalContextOverwrite - Whether user-provided external context is allowed (from TokenMetadata)
211
+ * @param dynamicContext - Admin-controlled context (always trusted)
212
+ * @param externalContext - User-provided context (requires explicit opt-in)
213
+ * @returns Merged context or undefined if empty
214
+ *
215
+ * @example
216
+ * // Admin context only (user context not allowed)
217
+ * mergeContexts(false, { location: 'Lobby' }, { hack: 'attempt' })
218
+ * // Returns: { location: 'Lobby' }
219
+ *
220
+ * @example
221
+ * // Both contexts merged (user context allowed)
222
+ * mergeContexts(true, { location: 'Lobby' }, { guestName: 'John' })
223
+ * // Returns: { location: 'Lobby', guestName: 'John' }
224
+ */
225
+ const mergeContexts = (allowExternalContextOverwrite, dynamicContext, externalContext) => {
226
+ // Security: Only include user-provided context if explicitly allowed
227
+ const filteredExternalContext = allowExternalContextOverwrite ? externalContext : undefined;
228
+ if (!dynamicContext && !filteredExternalContext) {
229
+ return undefined;
230
+ }
231
+ // Merge: dynamic → external (external wins on conflict when allowed)
232
+ return {
233
+ ...(dynamicContext || {}),
234
+ ...(filteredExternalContext || {})
235
+ };
236
+ };
237
+ exports.mergeContexts = mergeContexts;
170
238
  //# sourceMappingURL=token-metadata.functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-metadata.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/token-metadata.functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-metadata.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/token-metadata.functions.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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;IA4Bb,MAAM,EAAG,MAAM,CAAC;CACjB"}
@@ -43,8 +43,28 @@ __decorate([
43
43
  ], AiPromptConfigDTO.prototype, "key", void 0);
44
44
  __decorate([
45
45
  ApiProperty({
46
- description: 'The prompt to send to the AI model. Supports placeholders like {{user.name}}, {{campaign.name}}, {{tenant.name}}',
47
- example: 'Generate a unique reward name for {{user.name}}',
46
+ description: `The prompt to send to the AI model. Supports dynamic placeholders that are replaced with context values.
47
+
48
+ **Available Placeholders:**
49
+ - \`{{user.firstName}}\`, \`{{user.lastName}}\`, \`{{user.email}}\` - User profile data
50
+ - \`{{campaign.name}}\`, \`{{campaign.description}}\` - Campaign data
51
+ - \`{{tenant.projectName}}\`, \`{{tenant.projectDescription}}\` - Tenant/project data
52
+ - \`{{business.displayName}}\`, \`{{business.name}}\` - Business data
53
+ - \`{{triggerSource.name}}\`, \`{{triggerSource.type}}\` - Trigger source data
54
+ - \`{{redemption.name}}\`, \`{{redemption.description}}\` - Redemption data
55
+ - \`{{context.xxx}}\` - Dynamic context from TriggerSource.context or CampaignClaimRequest.context
56
+ - \`{{defaults.xxx}}\` - Default values from TokenMetadata.defaultPromptContext
57
+
58
+ **Context Sources:**
59
+ 1. TriggerSource.context (admin QR/NFC) - Always applied
60
+ 2. CampaignClaimRequest.context (user API) - Only if allowExternalContextOverwrite=true
61
+ 3. TokenMetadata.defaultPromptContext - Always applied as fallback
62
+
63
+ **Examples:**
64
+ - \`"Generate a welcome message for {{user.firstName}} at {{business.displayName}}"\`
65
+ - \`"Create a VIP badge for guest {{context.guestName}} in room {{context.roomNumber}}"\`
66
+ - \`"Design a {{defaults.style}} reward image for {{campaign.name}}"\``,
67
+ example: 'Generate a unique reward name for {{user.firstName}} visiting {{business.displayName}}',
48
68
  }),
49
69
  IsString(),
50
70
  MaxLength(2000)
@@ -1 +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,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IAO5B,IAAI,CAAsB;IAQ1B,GAAG,CAAU;IAQb,MAAM,CAAU;CACjB;AAjBC;IANC,WAAW,CAAC;QACX,IAAI,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,gBAAgB,CAAC;QACzE,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,eAAe,CAAC,eAAe;KACzC,CAAC;IACD,MAAM,CAAC,eAAe,CAAC;+CACE;AAQ1B;IANC,WAAW,CAAC;QACX,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,MAAM;KAChB,CAAC;IACD,QAAQ,EAAE;IACV,SAAS,CAAC,EAAE,CAAC;8CACD;AAQb;IANC,WAAW,CAAC;QACX,WAAW,EAAE,kHAAkH;QAC/H,OAAO,EAAE,iDAAiD;KAC3D,CAAC;IACD,QAAQ,EAAE;IACV,SAAS,CAAC,IAAI,CAAC;iDACA"}
1
+ {"version":3,"file":"ai-prompt-config.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/ai-prompt-config.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IAO5B,IAAI,CAAsB;IAQ1B,GAAG,CAAU;IA4Bb,MAAM,CAAU;CACjB;AArCC;IANC,WAAW,CAAC;QACX,IAAI,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,gBAAgB,CAAC;QACzE,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,eAAe,CAAC,eAAe;KACzC,CAAC;IACD,MAAM,CAAC,eAAe,CAAC;+CACE;AAQ1B;IANC,WAAW,CAAC;QACX,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,MAAM;KAChB,CAAC;IACD,QAAQ,EAAE;IACV,SAAS,CAAC,EAAE,CAAC;8CACD;AA4Bb;IA1BC,WAAW,CAAC;QACX,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;uEAoBsD;QACnE,OAAO,EAAE,wFAAwF;KAClG,CAAC;IACD,QAAQ,EAAE;IACV,SAAS,CAAC,IAAI,CAAC;iDACA"}
@@ -1,4 +1,5 @@
1
1
  import type { UserDTOKeys } from "../user/user.dto";
2
+ import type { DynamicContext } from '../../interfaces/dynamic-context.interface';
2
3
  /**
3
4
  * Campaign Claim Request DTO
4
5
  *
@@ -33,6 +34,7 @@ export declare class CampaignClaimRequestDTO {
33
34
  externalReferenceId?: string;
34
35
  triggerSourceId?: string;
35
36
  metadata?: Record<string, any>;
37
+ context?: DynamicContext;
36
38
  multiplier?: number;
37
39
  latitude?: number;
38
40
  longitude?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"campaignClaim.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignClaim.request.dto.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,uBAAuB;IAOhC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAO7B,eAAe,CAAC,EAAE,MAAM,CAAC;IAOzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAO/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAOpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,cAAc,CAAC,EAAE,MAAM,CAAC;IASxB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C;;OAEG;IAMH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IAMH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"campaignClaim.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignClaim.request.dto.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,uBAAuB;IAOhC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAO7B,eAAe,CAAC,EAAE,MAAM,CAAC;IAOzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAyB/B,OAAO,CAAC,EAAE,cAAc,CAAC;IAOzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAOpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,cAAc,CAAC,EAAE,MAAM,CAAC;IASxB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C;;OAEG;IAMH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IAMH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -41,6 +41,7 @@ export class CampaignClaimRequestDTO {
41
41
  externalReferenceId;
42
42
  triggerSourceId;
43
43
  metadata;
44
+ context;
44
45
  multiplier;
45
46
  latitude;
46
47
  longitude;
@@ -76,6 +77,31 @@ __decorate([
76
77
  OptionalStrip(),
77
78
  IsObject()
78
79
  ], CampaignClaimRequestDTO.prototype, "metadata", void 0);
80
+ __decorate([
81
+ ApiPropertyOptional({
82
+ description: `**ERC721 only** - User-provided external context for template interpolation and AI prompts.
83
+
84
+ **SECURITY:** Only applied if TokenMetadata.allowExternalContextOverwrite is true (admin opt-in required). TriggerSource.context (admin-controlled QR/NFC data) is ALWAYS applied regardless.
85
+
86
+ **Template Interpolation:** Values become available as \`{{context.keyName}}\` placeholders in TokenMetadata name/description fields and AI prompts.
87
+
88
+ **Special validity keys:**
89
+ - \`validityDate\` - Base date for trigger-based validity
90
+ - \`validityEndDate\` - End date for date ranges (e.g., hotel checkout)
91
+ - \`validityDuration\` - Override duration in days/hours
92
+
93
+ **Custom keys:** Any arbitrary key becomes \`{{context.keyName}}\` placeholder.
94
+
95
+ **Example use cases:**
96
+ - Hotel: \`{ guestName: "John", roomNumber: "305", validityEndDate: "2026-04-20T11:00:00Z" }\`
97
+ - Event: \`{ ticketType: "VIP", seatNumber: "A12" }\`
98
+ - Retail: \`{ productName: "Gold Watch", purchaseAmount: 299.99 }\``,
99
+ type: 'object',
100
+ example: { guestName: 'John Doe', validityDate: '2026-04-15T14:00:00Z', validityEndDate: '2026-04-20T11:00:00Z' }
101
+ }),
102
+ OptionalStrip(),
103
+ IsObject()
104
+ ], CampaignClaimRequestDTO.prototype, "context", void 0);
79
105
  __decorate([
80
106
  ApiPropertyOptional({
81
107
  description: 'The campaign multiplier that will be applied to the reward. This determines the final reward amount (reward * multiplier). Default is 1.0',
@@ -1 +1 @@
1
- {"version":3,"file":"campaignClaim.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignClaim.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,uBAAuB;IAOhC,mBAAmB,CAAU;IAO7B,eAAe,CAAU;IAOzB,QAAQ,CAAuB;IAO/B,UAAU,CAAU;IAOpB,QAAQ,CAAU;IAOlB,SAAS,CAAU;IAOnB,cAAc,CAAU;IASxB,QAAQ,CAAqC;IAE7C;;OAEG;IAMH,UAAU,CAAU;IAEpB;;OAEG;IAMH,UAAU,CAAU;CACvB;AAxEG;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,4KAA4K;KAC5L,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;oEACkB;AAO7B;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,6KAA6K;KAC7L,CAAC;IACD,aAAa,EAAE;IACf,MAAM,EAAE;gEACgB;AAOzB;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,kDAAkD;KAClE,CAAC;IACL,aAAa,EAAE;IACf,QAAQ,EAAE;yDACoB;AAO/B;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,2IAA2I;KAC3J,CAAC;IACL,mBAAmB,EAAE;IACrB,QAAQ,EAAE;2DACS;AAOpB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,2PAA2P;KAC3Q,CAAC;IACD,mBAAmB,EAAE;IACrB,QAAQ,EAAE;yDACO;AAOlB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,6PAA6P;KAC7Q,CAAC;IACD,mBAAmB,EAAE;IACrB,QAAQ,EAAE;0DACQ;AAOnB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,wIAAwI;KACxJ,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;+DACa;AASxB;IAPC,mBAAmB,CAAC;QACjB,WAAW,EAAE,+XAA+X;QAC5Y,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;KACxF,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;yDACkC;AAU7C;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,wJAAwJ;KAC5K,CAAC;IACD,aAAa,EAAE;IACf,MAAM,EAAE;2DACW;AAUpB;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,8WAA8W;KAC9X,CAAC;IACL,aAAa,EAAE;IACf,QAAQ,EAAE;2DACS"}
1
+ {"version":3,"file":"campaignClaim.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignClaim.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,uBAAuB;IAOhC,mBAAmB,CAAU;IAO7B,eAAe,CAAU;IAOzB,QAAQ,CAAuB;IAyB/B,OAAO,CAAkB;IAOzB,UAAU,CAAU;IAOpB,QAAQ,CAAU;IAOlB,SAAS,CAAU;IAOnB,cAAc,CAAU;IASxB,QAAQ,CAAqC;IAE7C;;OAEG;IAMH,UAAU,CAAU;IAEpB;;OAEG;IAMH,UAAU,CAAU;CACvB;AAjGG;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,4KAA4K;KAC5L,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;oEACkB;AAO7B;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,6KAA6K;KAC7L,CAAC;IACD,aAAa,EAAE;IACf,MAAM,EAAE;gEACgB;AAOzB;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,kDAAkD;KAClE,CAAC;IACL,aAAa,EAAE;IACf,QAAQ,EAAE;yDACoB;AAyB/B;IAvBC,mBAAmB,CAAC;QACjB,WAAW,EAAE;;;;;;;;;;;;;;;;oEAgB+C;QAC5D,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE;KACpH,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;wDACc;AAOzB;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,2IAA2I;KAC3J,CAAC;IACL,mBAAmB,EAAE;IACrB,QAAQ,EAAE;2DACS;AAOpB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,2PAA2P;KAC3Q,CAAC;IACD,mBAAmB,EAAE;IACrB,QAAQ,EAAE;yDACO;AAOlB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,6PAA6P;KAC7Q,CAAC;IACD,mBAAmB,EAAE;IACrB,QAAQ,EAAE;0DACQ;AAOnB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,wIAAwI;KACxJ,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;+DACa;AASxB;IAPC,mBAAmB,CAAC;QACjB,WAAW,EAAE,+XAA+X;QAC5Y,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;KACxF,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;yDACkC;AAU7C;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,wJAAwJ;KAC5K,CAAC;IACD,aAAa,EAAE;IACf,MAAM,EAAE;2DACW;AAUpB;IALC,mBAAmB,CAAC;QACb,WAAW,EAAE,8WAA8W;KAC9X,CAAC;IACL,aAAa,EAAE;IACf,QAAQ,EAAE;2DACS"}
@@ -1,9 +1,12 @@
1
1
  import { TriggerSourceType } from "../../enum/campaign/trigger-source-type.enum";
2
+ import type { TriggerSourceMetadata } from '../../interfaces/trigger-source-metadata.interface';
3
+ import type { DynamicContext } from '../../interfaces/dynamic-context.interface';
2
4
  export declare class TriggerSourceCreateRequestDTO {
3
5
  type: TriggerSourceType;
4
6
  name: string;
5
7
  description?: string | null;
6
- metadata?: Record<string, any>;
8
+ metadata?: TriggerSourceMetadata;
9
+ context?: DynamicContext;
7
10
  maxUsage?: number | null;
8
11
  businessId?: string | null;
9
12
  coordsLatitude?: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-source.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/trigger-source.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAoD,MAAM,8CAA8C,CAAC;AAcnI,qBAAa,6BAA6B;IA0BtC,IAAI,EAAE,iBAAiB,CAAgC;IAQvD,IAAI,EAAG,MAAM,CAAC;IAUd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAY5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAW/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAUzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAW3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAW/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAGD,qBAAa,gBAAiB,SAAQ,6BAA6B;IAE/D,EAAE,EAAE,MAAM,CAAM;IAchB,QAAQ,EAAE,OAAO,CAAQ;IASzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO/B,WAAW,EAAE,OAAO,CAAS;IAM7B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAM9B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;CACjC"}
1
+ {"version":3,"file":"trigger-source.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/trigger-source.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAoD,MAAM,8CAA8C,CAAC;AAEnI,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAajF,qBAAa,6BAA6B;IA0BtC,IAAI,EAAE,iBAAiB,CAAgC;IAQvD,IAAI,EAAG,MAAM,CAAC;IAUd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAU5B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAuBjC,OAAO,CAAC,EAAE,cAAc,CAAC;IAWzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAUzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAW3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAW/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAGD,qBAAa,gBAAiB,SAAQ,6BAA6B;IAE/D,EAAE,EAAE,MAAM,CAAM;IAchB,QAAQ,EAAE,OAAO,CAAQ;IASzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO/B,WAAW,EAAE,OAAO,CAAS;IAM7B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAM9B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;CACjC"}
@@ -23,6 +23,7 @@ export class TriggerSourceCreateRequestDTO {
23
23
  name;
24
24
  description;
25
25
  metadata;
26
+ context;
26
27
  maxUsage;
27
28
  businessId;
28
29
  coordsLatitude;
@@ -75,15 +76,36 @@ __decorate([
75
76
  __decorate([
76
77
  ApiPropertyOptional({
77
78
  type: 'object',
78
- description: 'Type-specific configuration and settings',
79
- example: { tokenConfig: {
80
- tokenId: '1'
81
- } },
79
+ description: 'Type-specific configuration: `tokenConfig` (override token ID). See TriggerSourceMetadata interface.',
80
+ example: { tokenConfig: { tokenId: '1' } },
82
81
  additionalProperties: true
83
82
  }),
84
83
  OptionalStrip(),
85
84
  IsObject()
86
85
  ], TriggerSourceCreateRequestDTO.prototype, "metadata", void 0);
86
+ __decorate([
87
+ ApiPropertyOptional({
88
+ type: 'object',
89
+ description: `**ERC721 only** - Admin-controlled dynamic context for template interpolation and AI prompts. This data is ALWAYS applied (not subject to allowExternalContextOverwrite).
90
+
91
+ **Template Interpolation:** Values become available as \`{{context.keyName}}\` placeholders in TokenMetadata name/description fields and AI prompts.
92
+
93
+ **Special validity keys:**
94
+ - \`validityDate\` - Base date for trigger-based validity
95
+ - \`validityEndDate\` - End date for date ranges (e.g., hotel checkout)
96
+ - \`validityDuration\` - Override duration in days/hours
97
+
98
+ **Custom keys:** Any arbitrary key becomes \`{{context.keyName}}\` placeholder.
99
+
100
+ **Use cases:**
101
+ - QR at hotel room: \`{ location: "Room 305", roomType: "Suite" }\`
102
+ - NFC at event entrance: \`{ eventName: "Summer Festival", zone: "VIP" }\`
103
+ - Kiosk-specific: \`{ deviceId: "kiosk-001", branch: "Downtown" }\``,
104
+ example: { location: 'Main Lobby', deviceId: 'kiosk-001', validityDate: '2026-04-20T11:00:00Z' }
105
+ }),
106
+ OptionalStrip(),
107
+ IsObject()
108
+ ], TriggerSourceCreateRequestDTO.prototype, "context", void 0);
87
109
  __decorate([
88
110
  ApiPropertyOptional({
89
111
  type: Number,
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-source.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/trigger-source.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trigger-source.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/trigger-source.dto.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { RedemptionTypeDTO } from "./redemptionType.dto";
2
2
  import { TokenUnitDTO } from "../token/token-unit.dto";
3
3
  import { UserStatusTypeDTO } from "../user-status-type.dto";
4
4
  import { ItemSupply } from "../item-supply.dto";
5
+ import type { DynamicContext } from "../../interfaces/dynamic-context.interface";
5
6
  export declare class RedemptionDTO {
6
7
  id: string;
7
8
  description: string | null;
@@ -18,5 +19,6 @@ export declare class RedemptionDTO {
18
19
  minUserStatusType: UserStatusTypeDTO | null;
19
20
  countryCodeRestrictions: string[] | null;
20
21
  tags: string[];
22
+ context?: DynamicContext;
21
23
  }
22
24
  //# sourceMappingURL=redemption.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redemption.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,qBAAa,aAAa;IAKtB,EAAE,EAAE,MAAM,CAAM;IAOhB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAOlC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAK9B,QAAQ,EAAE,OAAO,CAAS;IAK1B,iBAAiB,EAAE,MAAM,CAAK;IAO9B,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAMrC,UAAU,EAAE,YAAY,EAAE,CAAM;IAOhC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAI;IAQxB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAO;IAKhC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAO1B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAOlD,uBAAuB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAQhD,IAAI,EAAE,MAAM,EAAE,CAAM;CACvB"}
1
+ {"version":3,"file":"redemption.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAGjF,qBAAa,aAAa;IAKtB,EAAE,EAAE,MAAM,CAAM;IAOhB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAOlC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAK9B,QAAQ,EAAE,OAAO,CAAS;IAK1B,iBAAiB,EAAE,MAAM,CAAK;IAO9B,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAMrC,UAAU,EAAE,YAAY,EAAE,CAAM;IAOhC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAI;IAQxB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAO;IAKhC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAO1B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAOlD,uBAAuB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAQhD,IAAI,EAAE,MAAM,EAAE,CAAM;IAOpB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC5B"}
@@ -25,6 +25,7 @@ export class RedemptionDTO {
25
25
  minUserStatusType = null;
26
26
  countryCodeRestrictions = null;
27
27
  tags = [];
28
+ context;
28
29
  }
29
30
  __decorate([
30
31
  ApiProperty({
@@ -123,4 +124,11 @@ __decorate([
123
124
  default: []
124
125
  })
125
126
  ], RedemptionDTO.prototype, "tags", void 0);
127
+ __decorate([
128
+ ApiPropertyOptional({
129
+ description: '**ERC721 only** - Admin-defined dynamic context for AI prompts and trigger-based validity. Always applied to tokens minted from this redemption. Special keys: `validityDate`, `validityEndDate`, `validityDuration` for token expiry.',
130
+ type: 'object',
131
+ example: { eventName: 'Summer Sale', validityDuration: 30 }
132
+ })
133
+ ], RedemptionDTO.prototype, "context", void 0);
126
134
  //# sourceMappingURL=redemption.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redemption.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redemption.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,MAAM,OAAO,aAAa;IAKtB,EAAE,GAAW,EAAE,CAAC;IAOhB,WAAW,GAAkB,IAAI,CAAC;IAOlC,IAAI,GAAkB,IAAI,CAAC;IAO3B,QAAQ,GAAkB,IAAI,CAAC;IAO/B,OAAO,GAAkB,IAAI,CAAC;IAK9B,QAAQ,GAAY,KAAK,CAAC;IAK1B,iBAAiB,GAAW,CAAC,CAAC;IAO9B,IAAI,GAA6B,IAAI,CAAA;IAMrC,UAAU,GAAmB,EAAE,CAAC;IAOhC,KAAK,GAAkB,CAAC,CAAA;IAQxB,MAAM,GAAsB,IAAI,CAAA;IAKhC,UAAU,CAAgB;IAO1B,iBAAiB,GAA6B,IAAI,CAAA;IAOlD,uBAAuB,GAAoB,IAAI,CAAC;IAQhD,IAAI,GAAa,EAAE,CAAC;IAOpB,OAAO,CAAkB;CAC5B;AArGG;IAHC,WAAW,CAAC;QACL,WAAW,EAAE,eAAe;KAC/B,CAAC;yCACU;AAOhB;IALC,WAAW,CAAC;QACT,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;kDACgC;AAOlC;IALC,WAAW,CAAC;QACT,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;2CACyB;AAO3B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;+CAC6B;AAO/B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;8CAC4B;AAK9B;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,qBAAqB;KACrC,CAAC;+CACwB;AAK1B;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,oEAAoE;KACpF,CAAC;wDAC4B;AAO9B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC7B,QAAQ,EAAE,IAAI;KACjB,CAAC;2CACmC;AAMrC;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC;KAC7B,CAAC;iDAC8B;AAOhC;IALC,WAAW,CAAC;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6BAA6B;KAC7C,CAAC;4CACsB;AAQxB;IALC,mBAAmB,CAAC;QACjB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wCAAwC;KACxD,CAAC;6CAC8B;AAKhC;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,iCAAiC;KACjD,CAAC;iDACwB;AAO1B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC7B,QAAQ,EAAE,IAAI;KACjB,CAAC;wDACgD;AAOlD;IALC,WAAW,CAAC;QACT,WAAW,EAAE,2EAA2E;QACxF,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5B,CAAC;8DAC8C;AAQhD;IANC,WAAW,CAAC;QACT,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE;KACd,CAAC;2CACkB;AAOpB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,wOAAwO;QACrP,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;KAC9D,CAAC;8CACuB"}
@@ -1,3 +1,4 @@
1
+ import type { DynamicContext } from '../../interfaces/dynamic-context.interface';
1
2
  export declare class RedemptionCreateRequestDTO {
2
3
  creditTokenAmount?: number;
3
4
  description?: string | null;
@@ -11,5 +12,6 @@ export declare class RedemptionCreateRequestDTO {
11
12
  maxPerUser?: number | null;
12
13
  countryCodeRestrictions?: string[] | null;
13
14
  tags?: string[];
15
+ context?: DynamicContext;
14
16
  }
15
17
  //# sourceMappingURL=redemptionCreate.request.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redemptionCreate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionCreate.request.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,0BAA0B;IAQnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAS3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ5B,IAAI,CAAC,EAAE,MAAM,CAAC;IASd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASjC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAS/B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAStB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAa3B,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAU1C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
1
+ {"version":3,"file":"redemptionCreate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionCreate.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF,qBAAa,0BAA0B;IAQnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAS3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ5B,IAAI,CAAC,EAAE,MAAM,CAAC;IASd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASjC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IASpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAS/B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAStB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAa3B,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAU1C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAShB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC5B"}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { ApiPropertyOptional } from "@nestjs/swagger";
8
- import { IsNumber, IsString, IsUrl, IsArray, ValidateIf } from 'class-validator';
8
+ import { IsNumber, IsString, IsUrl, IsArray, ValidateIf, IsObject } from 'class-validator';
9
9
  import { OptionalStrip, OptionalStripNumber, OptionalNullify, OptionalNullifyNumber } from '../../decorators/index.js';
10
10
  export class RedemptionCreateRequestDTO {
11
11
  creditTokenAmount;
@@ -20,6 +20,7 @@ export class RedemptionCreateRequestDTO {
20
20
  maxPerUser;
21
21
  countryCodeRestrictions;
22
22
  tags;
23
+ context;
23
24
  }
24
25
  __decorate([
25
26
  ApiPropertyOptional({
@@ -132,4 +133,13 @@ __decorate([
132
133
  IsArray(),
133
134
  IsString({ each: true })
134
135
  ], RedemptionCreateRequestDTO.prototype, "tags", void 0);
136
+ __decorate([
137
+ ApiPropertyOptional({
138
+ description: '**ERC721 only** - Admin-defined dynamic context for AI prompts and trigger-based validity. Always applied to tokens minted from this redemption. Special keys: `validityDate`, `validityEndDate`, `validityDuration` for token expiry.',
139
+ type: 'object',
140
+ example: { eventName: 'Summer Sale', validityDuration: 30 }
141
+ }),
142
+ OptionalStrip(),
143
+ IsObject()
144
+ ], RedemptionCreateRequestDTO.prototype, "context", void 0);
135
145
  //# sourceMappingURL=redemptionCreate.request.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redemptionCreate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionCreate.request.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redemptionCreate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionCreate.request.dto.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { DynamicContext } from '../../interfaces/dynamic-context.interface';
1
2
  export declare class RedemptionRedeemRequestDTO {
2
3
  /**
3
4
  * The ID of the redemption to redeem
@@ -8,5 +9,6 @@ export declare class RedemptionRedeemRequestDTO {
8
9
  */
9
10
  redemptionId: string;
10
11
  businessId?: string | null;
12
+ context?: DynamicContext;
11
13
  }
12
14
  //# sourceMappingURL=redemptionRedeem.request.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redemptionRedeem.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionRedeem.request.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,0BAA0B;IACnC;;;;;;OAMG;IAUH,YAAY,EAAG,MAAM,CAAC;IAStB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
1
+ {"version":3,"file":"redemptionRedeem.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionRedeem.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF,qBAAa,0BAA0B;IACnC;;;;;;OAMG;IAUH,YAAY,EAAG,MAAM,CAAC;IAStB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAsB3B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC5B"}
@@ -4,9 +4,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  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;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { ApiProperty } from "@nestjs/swagger";
8
- import { IsNotEmpty, IsUUID } from 'class-validator';
9
- import { OptionalNullify } from '../../decorators/index.js';
7
+ import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
8
+ import { IsNotEmpty, IsUUID, IsObject } from 'class-validator';
9
+ import { OptionalNullify, OptionalStrip } from '../../decorators/index.js';
10
10
  export class RedemptionRedeemRequestDTO {
11
11
  /**
12
12
  * The ID of the redemption to redeem
@@ -20,6 +20,7 @@ export class RedemptionRedeemRequestDTO {
20
20
  }) */
21
21
  redemptionId;
22
22
  businessId;
23
+ context;
23
24
  }
24
25
  __decorate([
25
26
  ApiProperty({
@@ -38,4 +39,26 @@ __decorate([
38
39
  OptionalNullify(),
39
40
  IsUUID()
40
41
  ], RedemptionRedeemRequestDTO.prototype, "businessId", void 0);
42
+ __decorate([
43
+ ApiPropertyOptional({
44
+ description: `**ERC721 only** - User-provided external context for template interpolation and AI prompts.
45
+
46
+ **SECURITY:** Only applied if TokenMetadata.allowExternalContextOverwrite is true (admin opt-in required). Redemption.context (admin-controlled) is ALWAYS applied regardless.
47
+
48
+ **Template Interpolation:** Values become available as \`{{context.keyName}}\` placeholders in TokenMetadata name/description fields and AI prompts.
49
+
50
+ **Special validity keys:**
51
+ - \`validityDate\` - Base date for trigger-based validity
52
+ - \`validityEndDate\` - End date for date ranges (e.g., hotel checkout)
53
+ - \`validityDuration\` - Override duration in days/hours
54
+
55
+ **Custom keys:** Any arbitrary key becomes \`{{context.keyName}}\` placeholder.
56
+
57
+ **Example:** \`{ guestName: "John", roomNumber: "305", validityEndDate: "2026-04-20T11:00:00Z" }\``,
58
+ type: 'object',
59
+ example: { guestName: 'John Doe', validityDate: '2026-04-15T14:00:00Z', validityEndDate: '2026-04-20T11:00:00Z' }
60
+ }),
61
+ OptionalStrip(),
62
+ IsObject()
63
+ ], RedemptionRedeemRequestDTO.prototype, "context", void 0);
41
64
  //# sourceMappingURL=redemptionRedeem.request.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redemptionRedeem.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionRedeem.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,OAAO,0BAA0B;IACnC;;;;;;OAMG;IACH;;SAEK;IAOL,YAAY,CAAU;IAStB,UAAU,CAAiB;CAC9B;AAVG;IANC,WAAW,CAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,MAAM;KACf,CAAC;IACD,UAAU,EAAE;IACZ,MAAM,EAAE;gEACa;AAStB;IAPC,WAAW,CAAC;QACT,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,eAAe,EAAE;IACjB,MAAM,EAAE;8DACkB"}
1
+ {"version":3,"file":"redemptionRedeem.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionRedeem.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGlE,MAAM,OAAO,0BAA0B;IACnC;;;;;;OAMG;IACH;;SAEK;IAOL,YAAY,CAAU;IAStB,UAAU,CAAiB;IAsB3B,OAAO,CAAkB;CAC5B;AAhCG;IANC,WAAW,CAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,MAAM;KACf,CAAC;IACD,UAAU,EAAE;IACZ,MAAM,EAAE;gEACa;AAStB;IAPC,WAAW,CAAC;QACT,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,eAAe,EAAE;IACjB,MAAM,EAAE;8DACkB;AAsB3B;IApBC,mBAAmB,CAAC;QACjB,WAAW,EAAE;;;;;;;;;;;;;mGAa8E;QAC3F,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE;KACpH,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;2DACc"}
@@ -1,5 +1,6 @@
1
1
  import { type TokenValidityType } from '../../enum/token-validity-type.enum';
2
2
  import { AiPromptConfigDTO } from '../ai/ai-prompt-config.dto';
3
+ import type { DynamicContext } from '../../interfaces/dynamic-context.interface';
3
4
  /**
4
5
  * Token Metadata - NFT Template/Blueprint
5
6
  *
@@ -36,6 +37,8 @@ export declare class TokenMetadataCreateRequestDTO {
36
37
  previewUrl?: string;
37
38
  tags?: string[];
38
39
  aiPromptConfigs?: AiPromptConfigDTO[];
40
+ allowExternalContextOverwrite?: boolean;
41
+ defaultPromptContext?: DynamicContext;
39
42
  businessIds?: string[];
40
43
  }
41
44
  export declare class TokenMetadataDTO extends TokenMetadataCreateRequestDTO {
@@ -1 +1 @@
1
- {"version":3,"file":"token-metadata.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,6BAA6B;IAOtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,WAAW,CAAC,EAAE,MAAM,CAAA;IAOpB,IAAI,CAAC,EAAE,MAAM,CAAA;IASb,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAQhC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAOzB,UAAU,CAAC,EAAE,IAAI,CAAA;IAOjB,YAAY,CAAC,EAAE,MAAM,CAAA;IAOrB,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAO9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAchB,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAUtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAGD,qBAAa,gBAAiB,SAAQ,6BAA6B;IAK/D,EAAE,EAAE,MAAM,CAAK;IAKf,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAKhC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAK7B,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,0BAA0B,EAAE,MAAM,CAAK;IAKvC,QAAQ,EAAE,OAAO,CAAS;IAO1B,IAAI,EAAE,MAAM,EAAE,CAAM;IAOpB,WAAW,EAAE,MAAM,EAAE,CAAM;CAC9B"}
1
+ {"version":3,"file":"token-metadata.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,6BAA6B;IAOtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAmBrB,WAAW,CAAC,EAAE,MAAM,CAAA;IAmBpB,IAAI,CAAC,EAAE,MAAM,CAAA;IASb,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAQhC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAOzB,UAAU,CAAC,EAAE,IAAI,CAAA;IAOjB,YAAY,CAAC,EAAE,MAAM,CAAA;IAOrB,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAO9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAoBhB,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAetC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAaxC,oBAAoB,CAAC,EAAE,cAAc,CAAC;IAUtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAGD,qBAAa,gBAAiB,SAAQ,6BAA6B;IAK/D,EAAE,EAAE,MAAM,CAAK;IAKf,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAKhC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAK7B,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,0BAA0B,EAAE,MAAM,CAAK;IAKvC,QAAQ,EAAE,OAAO,CAAS;IAO1B,IAAI,EAAE,MAAM,EAAE,CAAM;IAOpB,WAAW,EAAE,MAAM,EAAE,CAAM;CAC9B"}