@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
@@ -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"}
@@ -52,8 +52,28 @@ __decorate([
52
52
  ], AiPromptConfigDTO.prototype, "key", void 0);
53
53
  __decorate([
54
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}}',
55
+ description: `The prompt to send to the AI model. Supports dynamic placeholders that are replaced with context values.
56
+
57
+ **Available Placeholders:**
58
+ - \`{{user.firstName}}\`, \`{{user.lastName}}\`, \`{{user.email}}\` - User profile data
59
+ - \`{{campaign.name}}\`, \`{{campaign.description}}\` - Campaign data
60
+ - \`{{tenant.projectName}}\`, \`{{tenant.projectDescription}}\` - Tenant/project data
61
+ - \`{{business.displayName}}\`, \`{{business.name}}\` - Business data
62
+ - \`{{triggerSource.name}}\`, \`{{triggerSource.type}}\` - Trigger source data
63
+ - \`{{redemption.name}}\`, \`{{redemption.description}}\` - Redemption data
64
+ - \`{{context.xxx}}\` - Dynamic context from TriggerSource.context or CampaignClaimRequest.context
65
+ - \`{{defaults.xxx}}\` - Default values from TokenMetadata.defaultPromptContext
66
+
67
+ **Context Sources:**
68
+ 1. TriggerSource.context (admin QR/NFC) - Always applied
69
+ 2. CampaignClaimRequest.context (user API) - Only if allowExternalContextOverwrite=true
70
+ 3. TokenMetadata.defaultPromptContext - Always applied as fallback
71
+
72
+ **Examples:**
73
+ - \`"Generate a welcome message for {{user.firstName}} at {{business.displayName}}"\`
74
+ - \`"Create a VIP badge for guest {{context.guestName}} in room {{context.roomNumber}}"\`
75
+ - \`"Design a {{defaults.style}} reward image for {{campaign.name}}"\``,
76
+ example: 'Generate a unique reward name for {{user.firstName}} visiting {{business.displayName}}',
57
77
  }),
58
78
  (0, class_validator_1.IsString)(),
59
79
  (0, class_validator_1.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,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"}
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;IA4Bb,MAAM,CAAU;CACjB;AA5CD,8CA4CC;AArCC;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;AA4Bb;IA1BC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;uEAoBsD;QACnE,OAAO,EAAE,wFAAwF;KAClG,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,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"}
@@ -47,6 +47,7 @@ class CampaignClaimRequestDTO {
47
47
  externalReferenceId;
48
48
  triggerSourceId;
49
49
  metadata;
50
+ context;
50
51
  multiplier;
51
52
  latitude;
52
53
  longitude;
@@ -86,6 +87,32 @@ __decorate([
86
87
  (0, class_validator_1.IsObject)(),
87
88
  __metadata("design:type", Object)
88
89
  ], CampaignClaimRequestDTO.prototype, "metadata", void 0);
90
+ __decorate([
91
+ (0, swagger_1.ApiPropertyOptional)({
92
+ description: `**ERC721 only** - User-provided external context for template interpolation and AI prompts.
93
+
94
+ **SECURITY:** Only applied if TokenMetadata.allowExternalContextOverwrite is true (admin opt-in required). TriggerSource.context (admin-controlled QR/NFC data) is ALWAYS applied regardless.
95
+
96
+ **Template Interpolation:** Values become available as \`{{context.keyName}}\` placeholders in TokenMetadata name/description fields and AI prompts.
97
+
98
+ **Special validity keys:**
99
+ - \`validityDate\` - Base date for trigger-based validity
100
+ - \`validityEndDate\` - End date for date ranges (e.g., hotel checkout)
101
+ - \`validityDuration\` - Override duration in days/hours
102
+
103
+ **Custom keys:** Any arbitrary key becomes \`{{context.keyName}}\` placeholder.
104
+
105
+ **Example use cases:**
106
+ - Hotel: \`{ guestName: "John", roomNumber: "305", validityEndDate: "2026-04-20T11:00:00Z" }\`
107
+ - Event: \`{ ticketType: "VIP", seatNumber: "A12" }\`
108
+ - Retail: \`{ productName: "Gold Watch", purchaseAmount: 299.99 }\``,
109
+ type: 'object',
110
+ example: { guestName: 'John Doe', validityDate: '2026-04-15T14:00:00Z', validityEndDate: '2026-04-20T11:00:00Z' }
111
+ }),
112
+ (0, decorators_1.OptionalStrip)(),
113
+ (0, class_validator_1.IsObject)(),
114
+ __metadata("design:type", Object)
115
+ ], CampaignClaimRequestDTO.prototype, "context", void 0);
89
116
  __decorate([
90
117
  (0, swagger_1.ApiPropertyOptional)({
91
118
  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,6CAAsD;AACtD,qDAAuE;AAEvE,iDAAsE;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,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;AA/ED,0DA+EC;AAxEG;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,4KAA4K;KAC5L,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;oEACkB;AAO7B;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6KAA6K;KAC7L,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,wBAAM,GAAE;;gEACgB;AAOzB;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,kDAAkD;KAClE,CAAC;IACL,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;yDACoB;AAO/B;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,2IAA2I;KAC3J,CAAC;IACL,IAAA,gCAAmB,GAAE;IACrB,IAAA,0BAAQ,GAAE;;2DACS;AAOpB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,2PAA2P;KAC3Q,CAAC;IACD,IAAA,gCAAmB,GAAE;IACrB,IAAA,0BAAQ,GAAE;;yDACO;AAOlB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6PAA6P;KAC7Q,CAAC;IACD,IAAA,gCAAmB,GAAE;IACrB,IAAA,0BAAQ,GAAE;;0DACQ;AAOnB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,wIAAwI;KACxJ,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;+DACa;AASxB;IAPC,IAAA,6BAAmB,EAAC;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,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;yDACkC;AAU7C;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,wJAAwJ;KAC5K,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,wBAAM,GAAE;;2DACW;AAUpB;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,8WAA8W;KAC9X,CAAC;IACL,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;2DACS"}
1
+ {"version":3,"file":"campaignClaim.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaignClaim.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,qDAAuE;AAEvE,iDAAsE;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,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;AAxGD,0DAwGC;AAjGG;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,4KAA4K;KAC5L,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;oEACkB;AAO7B;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6KAA6K;KAC7L,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,wBAAM,GAAE;;gEACgB;AAOzB;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,kDAAkD;KAClE,CAAC;IACL,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;yDACoB;AAyB/B;IAvBC,IAAA,6BAAmB,EAAC;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,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;wDACc;AAOzB;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,2IAA2I;KAC3J,CAAC;IACL,IAAA,gCAAmB,GAAE;IACrB,IAAA,0BAAQ,GAAE;;2DACS;AAOpB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,2PAA2P;KAC3Q,CAAC;IACD,IAAA,gCAAmB,GAAE;IACrB,IAAA,0BAAQ,GAAE;;yDACO;AAOlB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6PAA6P;KAC7Q,CAAC;IACD,IAAA,gCAAmB,GAAE;IACrB,IAAA,0BAAQ,GAAE;;0DACQ;AAOnB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,wIAAwI;KACxJ,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;+DACa;AASxB;IAPC,IAAA,6BAAmB,EAAC;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,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;yDACkC;AAU7C;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,wJAAwJ;KAC5K,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,wBAAM,GAAE;;2DACW;AAUpB;IALC,IAAA,6BAAmB,EAAC;QACb,WAAW,EAAE,8WAA8W;KAC9X,CAAC;IACL,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;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"}
@@ -29,6 +29,7 @@ class TriggerSourceCreateRequestDTO {
29
29
  name;
30
30
  description;
31
31
  metadata;
32
+ context;
32
33
  maxUsage;
33
34
  businessId;
34
35
  coordsLatitude;
@@ -85,16 +86,38 @@ __decorate([
85
86
  __decorate([
86
87
  (0, swagger_1.ApiPropertyOptional)({
87
88
  type: 'object',
88
- description: 'Type-specific configuration and settings',
89
- example: { tokenConfig: {
90
- tokenId: '1'
91
- } },
89
+ description: 'Type-specific configuration: `tokenConfig` (override token ID). See TriggerSourceMetadata interface.',
90
+ example: { tokenConfig: { tokenId: '1' } },
92
91
  additionalProperties: true
93
92
  }),
94
93
  (0, decorators_1.OptionalStrip)(),
95
94
  (0, class_validator_1.IsObject)(),
96
95
  __metadata("design:type", Object)
97
96
  ], TriggerSourceCreateRequestDTO.prototype, "metadata", void 0);
97
+ __decorate([
98
+ (0, swagger_1.ApiPropertyOptional)({
99
+ type: 'object',
100
+ description: `**ERC721 only** - Admin-controlled dynamic context for template interpolation and AI prompts. This data is ALWAYS applied (not subject to allowExternalContextOverwrite).
101
+
102
+ **Template Interpolation:** Values become available as \`{{context.keyName}}\` placeholders in TokenMetadata name/description fields and AI prompts.
103
+
104
+ **Special validity keys:**
105
+ - \`validityDate\` - Base date for trigger-based validity
106
+ - \`validityEndDate\` - End date for date ranges (e.g., hotel checkout)
107
+ - \`validityDuration\` - Override duration in days/hours
108
+
109
+ **Custom keys:** Any arbitrary key becomes \`{{context.keyName}}\` placeholder.
110
+
111
+ **Use cases:**
112
+ - QR at hotel room: \`{ location: "Room 305", roomType: "Suite" }\`
113
+ - NFC at event entrance: \`{ eventName: "Summer Festival", zone: "VIP" }\`
114
+ - Kiosk-specific: \`{ deviceId: "kiosk-001", branch: "Downtown" }\``,
115
+ example: { location: 'Main Lobby', deviceId: 'kiosk-001', validityDate: '2026-04-20T11:00:00Z' }
116
+ }),
117
+ (0, decorators_1.OptionalStrip)(),
118
+ (0, class_validator_1.IsObject)(),
119
+ __metadata("design:type", Object)
120
+ ], TriggerSourceCreateRequestDTO.prototype, "context", void 0);
98
121
  __decorate([
99
122
  (0, swagger_1.ApiPropertyOptional)({
100
123
  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"}
@@ -31,6 +31,7 @@ class RedemptionDTO {
31
31
  minUserStatusType = null;
32
32
  countryCodeRestrictions = null;
33
33
  tags = [];
34
+ context;
34
35
  }
35
36
  exports.RedemptionDTO = RedemptionDTO;
36
37
  __decorate([
@@ -145,4 +146,12 @@ __decorate([
145
146
  }),
146
147
  __metadata("design:type", Array)
147
148
  ], RedemptionDTO.prototype, "tags", void 0);
149
+ __decorate([
150
+ (0, swagger_1.ApiPropertyOptional)({
151
+ 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.',
152
+ type: 'object',
153
+ example: { eventName: 'Summer Sale', validityDuration: 30 }
154
+ }),
155
+ __metadata("design:type", Object)
156
+ ], RedemptionDTO.prototype, "context", void 0);
148
157
  //# 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":"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"}
@@ -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"}
@@ -26,6 +26,7 @@ class RedemptionCreateRequestDTO {
26
26
  maxPerUser;
27
27
  countryCodeRestrictions;
28
28
  tags;
29
+ context;
29
30
  }
30
31
  exports.RedemptionCreateRequestDTO = RedemptionCreateRequestDTO;
31
32
  __decorate([
@@ -151,4 +152,14 @@ __decorate([
151
152
  (0, class_validator_1.IsString)({ each: true }),
152
153
  __metadata("design:type", Array)
153
154
  ], RedemptionCreateRequestDTO.prototype, "tags", void 0);
155
+ __decorate([
156
+ (0, swagger_1.ApiPropertyOptional)({
157
+ 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.',
158
+ type: 'object',
159
+ example: { eventName: 'Summer Sale', validityDuration: 30 }
160
+ }),
161
+ (0, decorators_1.OptionalStrip)(),
162
+ (0, class_validator_1.IsObject)(),
163
+ __metadata("design:type", Object)
164
+ ], RedemptionCreateRequestDTO.prototype, "context", void 0);
154
165
  //# 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":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,qDAA2F;AAC3F,iDAA8G;AAG9G,MAAa,0BAA0B;IAQnC,iBAAiB,CAAU;IAS3B,WAAW,CAAiB;IAQ5B,IAAI,CAAU;IASd,QAAQ,CAAiB;IASzB,OAAO,CAAiB;IASxB,gBAAgB,CAAiB;IASjC,mBAAmB,CAAiB;IASpC,cAAc,CAAiB;IAS/B,KAAK,CAAiB;IAStB,UAAU,CAAiB;IAa3B,uBAAuB,CAAmB;IAU1C,IAAI,CAAY;IAShB,OAAO,CAAkB;CAC5B;AAzHD,gEAyHC;AAjHG;IANC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,oEAAoE;QACjF,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,gCAAmB,GAAE;IACrB,IAAA,0BAAQ,GAAE;;qEACgB;AAS3B;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,4BAAe,GAAE;IACjB,IAAA,0BAAQ,GAAE;;+DACiB;AAQ5B;IANC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;wDACG;AASd;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,4BAAe,GAAE;IACjB,IAAA,uBAAK,GAAE;;4DACiB;AASzB;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,mDAAmD;QAChE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,4BAAe,GAAE;IACjB,IAAA,uBAAK,GAAE;;2DACgB;AASxB;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,kCAAqB,GAAE;IACvB,IAAA,0BAAQ,GAAE;;oEACsB;AASjC;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,kCAAqB,GAAE;IACvB,IAAA,0BAAQ,GAAE;;uEACyB;AASpC;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,kCAAqB,GAAE;IACvB,IAAA,0BAAQ,GAAE;;kEACoB;AAS/B;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,kCAAqB,GAAE;IACvB,IAAA,0BAAQ,GAAE;;yDACW;AAStB;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,kCAAqB,GAAE;IACvB,IAAA,0BAAQ,GAAE;;8DACgB;AAa3B;IAXC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,2EAA2E;QACxF,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QACzB,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;IAChC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;2EACiB;AAU1C;IARC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;KAC7C,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;wDACT;AAShB;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,wOAAwO;QACrP,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;KAC9D,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;2DACc"}
@@ -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"}
@@ -26,6 +26,7 @@ class RedemptionRedeemRequestDTO {
26
26
  }) */
27
27
  redemptionId;
28
28
  businessId;
29
+ context;
29
30
  }
30
31
  exports.RedemptionRedeemRequestDTO = RedemptionRedeemRequestDTO;
31
32
  __decorate([
@@ -47,4 +48,27 @@ __decorate([
47
48
  (0, class_validator_1.IsUUID)(),
48
49
  __metadata("design:type", Object)
49
50
  ], RedemptionRedeemRequestDTO.prototype, "businessId", void 0);
51
+ __decorate([
52
+ (0, swagger_1.ApiPropertyOptional)({
53
+ description: `**ERC721 only** - User-provided external context for template interpolation and AI prompts.
54
+
55
+ **SECURITY:** Only applied if TokenMetadata.allowExternalContextOverwrite is true (admin opt-in required). Redemption.context (admin-controlled) is ALWAYS applied regardless.
56
+
57
+ **Template Interpolation:** Values become available as \`{{context.keyName}}\` placeholders in TokenMetadata name/description fields and AI prompts.
58
+
59
+ **Special validity keys:**
60
+ - \`validityDate\` - Base date for trigger-based validity
61
+ - \`validityEndDate\` - End date for date ranges (e.g., hotel checkout)
62
+ - \`validityDuration\` - Override duration in days/hours
63
+
64
+ **Custom keys:** Any arbitrary key becomes \`{{context.keyName}}\` placeholder.
65
+
66
+ **Example:** \`{ guestName: "John", roomNumber: "305", validityEndDate: "2026-04-20T11:00:00Z" }\``,
67
+ type: 'object',
68
+ example: { guestName: 'John Doe', validityDate: '2026-04-15T14:00:00Z', validityEndDate: '2026-04-20T11:00:00Z' }
69
+ }),
70
+ (0, decorators_1.OptionalStrip)(),
71
+ (0, class_validator_1.IsObject)(),
72
+ __metadata("design:type", Object)
73
+ ], RedemptionRedeemRequestDTO.prototype, "context", void 0);
50
74
  //# 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,6CAA8C;AAC9C,qDAAqD;AACrD,iDAAmD;AAEnD,MAAa,0BAA0B;IACnC;;;;;;OAMG;IACH;;SAEK;IAOL,YAAY,CAAU;IAStB,UAAU,CAAiB;CAC9B;AA3BD,gEA2BC;AAVG;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;gEACa;AAStB;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,4BAAe,GAAE;IACjB,IAAA,wBAAM,GAAE;;8DACkB"}
1
+ {"version":3,"file":"redemptionRedeem.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemptionRedeem.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAA+D;AAC/D,iDAAkE;AAGlE,MAAa,0BAA0B;IACnC;;;;;;OAMG;IACH;;SAEK;IAOL,YAAY,CAAU;IAStB,UAAU,CAAiB;IAsB3B,OAAO,CAAkB;CAC5B;AAjDD,gEAiDC;AAhCG;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;gEACa;AAStB;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,4BAAe,GAAE;IACjB,IAAA,wBAAM,GAAE;;8DACkB;AAsB3B;IApBC,IAAA,6BAAmB,EAAC;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,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;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"}
@@ -52,6 +52,8 @@ class TokenMetadataCreateRequestDTO {
52
52
  previewUrl;
53
53
  tags;
54
54
  aiPromptConfigs;
55
+ allowExternalContextOverwrite;
56
+ defaultPromptContext;
55
57
  businessIds;
56
58
  }
57
59
  exports.TokenMetadataCreateRequestDTO = TokenMetadataCreateRequestDTO;
@@ -73,7 +75,19 @@ __decorate([
73
75
  ], TokenMetadataCreateRequestDTO.prototype, "externalUrl", void 0);
74
76
  __decorate([
75
77
  (0, swagger_1.ApiPropertyOptional)({
76
- description: 'A human-readable description of the item. Markdown is supported.'
78
+ description: `A human-readable description of the item. Markdown is supported.
79
+
80
+ **ERC721 Template Interpolation:** Supports \`{{placeholder}}\` syntax for dynamic personalization at mint time (without AI costs).
81
+
82
+ **Available placeholders:**
83
+ - \`{{user.firstName}}\`, \`{{user.lastName}}\` - User data
84
+ - \`{{campaign.name}}\`, \`{{business.displayName}}\` - Campaign/business
85
+ - \`{{context.xxx}}\` - Dynamic context values (TriggerSource.context or claim request)
86
+ - \`{{defaults.xxx}}\` - Default values from defaultPromptContext
87
+
88
+ **Example:** \`"Thank you {{user.firstName}} for visiting {{business.displayName}}! Your exclusive reward for {{context.eventName}}."\`
89
+
90
+ **Processing order:** Template interpolation runs first, then AI processing (if configured) can further enhance the result.`
77
91
  }),
78
92
  (0, decorators_1.OptionalStrip)(),
79
93
  (0, class_validator_1.IsString)(),
@@ -81,7 +95,19 @@ __decorate([
81
95
  ], TokenMetadataCreateRequestDTO.prototype, "description", void 0);
82
96
  __decorate([
83
97
  (0, swagger_1.ApiPropertyOptional)({
84
- description: 'Name of the item.'
98
+ description: `Name of the item.
99
+
100
+ **ERC721 Template Interpolation:** Supports \`{{placeholder}}\` syntax for dynamic personalization at mint time (without AI costs).
101
+
102
+ **Available placeholders:**
103
+ - \`{{user.firstName}}\`, \`{{user.lastName}}\` - User data
104
+ - \`{{campaign.name}}\`, \`{{business.displayName}}\` - Campaign/business
105
+ - \`{{context.xxx}}\` - Dynamic context values (TriggerSource.context or claim request)
106
+ - \`{{defaults.xxx}}\` - Default values from defaultPromptContext
107
+
108
+ **Example:** \`"Welcome {{context.guestName}} - VIP Pass"\` or \`"{{user.firstName}}'s {{campaign.name}} Reward"\`
109
+
110
+ **Processing order:** Template interpolation runs first, then AI processing (if configured) can further enhance the result.`
85
111
  }),
86
112
  (0, decorators_1.OptionalStrip)(),
87
113
  (0, class_validator_1.IsString)(),
@@ -159,11 +185,17 @@ __decorate([
159
185
  ], TokenMetadataCreateRequestDTO.prototype, "tags", void 0);
160
186
  __decorate([
161
187
  (0, swagger_1.ApiPropertyOptional)({
162
- description: '**ERC721 only** - AI prompt configurations for dynamic content generation at mint time. Results are mapped by key to override static fields (name, description, imageUrl). Ignored for ERC1155 tokens.',
188
+ description: `**ERC721 only** - AI prompt configurations for dynamic content generation at mint time.
189
+
190
+ AI processing runs AFTER template interpolation, so prompts can reference already-interpolated values.
191
+
192
+ Results are mapped by key to override static fields (name, description, imageUrl). Ignored for ERC1155 tokens.
193
+
194
+ **Note:** For simple personalization without AI costs, use \`{{placeholder}}\` syntax directly in name/description fields instead.`,
163
195
  type: [ai_prompt_config_dto_1.AiPromptConfigDTO],
164
196
  example: [
165
- { type: 'TEXT_GENERATION', key: 'name', prompt: 'Generate a unique reward name for {{user.name}}' },
166
- { type: 'IMAGE_GENERATION', key: 'imageUrl', prompt: 'A golden trophy badge' }
197
+ { type: 'TEXT_GENERATION', key: 'name', prompt: 'Generate a unique reward name for {{user.firstName}} at {{business.displayName}}' },
198
+ { type: 'IMAGE_GENERATION', key: 'imageUrl', prompt: 'A {{defaults.style}} trophy badge for {{context.eventName}}' }
167
199
  ]
168
200
  }),
169
201
  (0, decorators_1.OptionalStrip)(),
@@ -172,6 +204,36 @@ __decorate([
172
204
  (0, class_transformer_1.Type)(() => ai_prompt_config_dto_1.AiPromptConfigDTO),
173
205
  __metadata("design:type", Array)
174
206
  ], TokenMetadataCreateRequestDTO.prototype, "aiPromptConfigs", void 0);
207
+ __decorate([
208
+ (0, swagger_1.ApiPropertyOptional)({
209
+ description: `**ERC721 only** - Allow USER-PROVIDED external context from claim/redeem requests to be used in template interpolation and AI prompts.
210
+
211
+ **Security model:**
212
+ - \`false\` (default): Only admin-controlled context (TriggerSource.context, Redemption.context, defaultPromptContext) is available
213
+ - \`true\`: User-provided context from API requests is also merged and available as \`{{context.xxx}}\`
214
+
215
+ **Note:** Admin-controlled context (QR/NFC data) is ALWAYS applied regardless of this flag.`,
216
+ type: Boolean,
217
+ default: false,
218
+ example: true
219
+ }),
220
+ (0, decorators_1.OptionalStrip)(),
221
+ __metadata("design:type", Boolean)
222
+ ], TokenMetadataCreateRequestDTO.prototype, "allowExternalContextOverwrite", void 0);
223
+ __decorate([
224
+ (0, swagger_1.ApiPropertyOptional)({
225
+ description: `**ERC721 only** - Default context values for template interpolation and AI prompts. Available as \`{{defaults.xxx}}\` placeholders.
226
+
227
+ Always applied regardless of allowExternalContextOverwrite. Use for brand defaults, styling preferences, or fallback values.
228
+
229
+ **Example usage in name:** \`"{{defaults.brand}} - {{user.firstName}}'s Reward"\``,
230
+ type: 'object',
231
+ example: { brand: 'PERS Rewards', style: 'minimal', defaultLocation: 'Online' }
232
+ }),
233
+ (0, decorators_1.OptionalStrip)(),
234
+ (0, class_validator_1.IsObject)(),
235
+ __metadata("design:type", Object)
236
+ ], TokenMetadataCreateRequestDTO.prototype, "defaultPromptContext", void 0);
175
237
  __decorate([
176
238
  (0, swagger_1.ApiPropertyOptional)({
177
239
  description: 'Business IDs where this token can be redeemed/spent. If empty, token can be spent at any business in the tenant. Used to restrict token usage to specific participating businesses.',
@@ -1 +1 @@
1
- {"version":3,"file":"token-metadata.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-metadata.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,21 @@
2
2
  * Token Validity Type Enum
3
3
  *
4
4
  * Defines how token expiry is calculated:
5
+ *
6
+ * Static types (computed at issuance from template):
5
7
  * - FIXED_DATE: Uses expiryDate directly as absolute expiration
6
8
  * - DAYS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration days
7
9
  * - HOURS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration hours
8
10
  * - MONTHS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration months
9
11
  * - END_OF_MONTH: Token expires at end of the month when issued
10
12
  * - END_OF_YEAR: Token expires at end of the year when issued
13
+ *
14
+ * Trigger-based types (computed from runtime context):
15
+ * - TRIGGER_DATE: Uses date from context.validityDate (e.g., hotel check-out date)
16
+ * - TRIGGER_DATE_RANGE: Uses context.validityEndDate directly (for explicit start/end scenarios)
17
+ * - DAYS_FROM_TRIGGER: Computes expiry as context.validityDate + duration days
18
+ * Duration from context.validityDuration OR template.validityDuration
19
+ * - HOURS_FROM_TRIGGER: Same as above but hours
11
20
  */
12
21
  export declare const TokenValidityTypes: {
13
22
  readonly FIXED_DATE: "fixed_date";
@@ -16,7 +25,11 @@ export declare const TokenValidityTypes: {
16
25
  readonly MONTHS_FROM_ISSUANCE: "months_from_issuance";
17
26
  readonly END_OF_MONTH: "end_of_month";
18
27
  readonly END_OF_YEAR: "end_of_year";
28
+ readonly TRIGGER_DATE: "trigger_date";
29
+ readonly TRIGGER_DATE_RANGE: "trigger_date_range";
30
+ readonly DAYS_FROM_TRIGGER: "days_from_trigger";
31
+ readonly HOURS_FROM_TRIGGER: "hours_from_trigger";
19
32
  };
20
33
  export type TokenValidityType = typeof TokenValidityTypes[keyof typeof TokenValidityTypes];
21
- export declare const TOKEN_VALIDITY_TYPE_VALUES: ("fixed_date" | "days_from_issuance" | "hours_from_issuance" | "months_from_issuance" | "end_of_month" | "end_of_year")[];
34
+ export declare const TOKEN_VALIDITY_TYPE_VALUES: ("fixed_date" | "days_from_issuance" | "hours_from_issuance" | "months_from_issuance" | "end_of_month" | "end_of_year" | "trigger_date" | "trigger_date_range" | "days_from_trigger" | "hours_from_trigger")[];
22
35
  //# sourceMappingURL=token-validity-type.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-validity-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE3F,eAAO,MAAM,0BAA0B,2HAAoC,CAAC"}
1
+ {"version":3,"file":"token-validity-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAYrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE3F,eAAO,MAAM,0BAA0B,gNAAoC,CAAC"}