@explorins/pers-shared 2.1.121 → 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 (123) 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/tenant/tenantUpdate.request.dto.d.ts +1 -0
  25. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
  26. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +9 -0
  27. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
  28. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts +3 -0
  29. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  30. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js +67 -5
  31. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  32. package/dist/cjs/shared-lib/enum/token-validity-type.enum.d.ts +14 -1
  33. package/dist/cjs/shared-lib/enum/token-validity-type.enum.d.ts.map +1 -1
  34. package/dist/cjs/shared-lib/enum/token-validity-type.enum.js +14 -0
  35. package/dist/cjs/shared-lib/enum/token-validity-type.enum.js.map +1 -1
  36. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.d.ts +96 -0
  37. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.d.ts.map +1 -0
  38. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.js +25 -0
  39. package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.js.map +1 -0
  40. package/dist/cjs/shared-lib/interfaces/index.d.ts +2 -0
  41. package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
  42. package/dist/cjs/shared-lib/interfaces/index.js +2 -0
  43. package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
  44. package/dist/cjs/shared-lib/interfaces/token-transaction-input-data.interface.d.ts +13 -0
  45. package/dist/cjs/shared-lib/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
  46. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.d.ts +48 -0
  47. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.d.ts.map +1 -0
  48. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.js +3 -0
  49. package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.js.map +1 -0
  50. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts +17 -0
  51. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts.map +1 -1
  52. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js +26 -0
  53. package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js.map +1 -1
  54. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.d.ts +13 -0
  55. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.d.ts.map +1 -1
  56. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.js +24 -0
  57. package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.js.map +1 -1
  58. package/dist/cjs/shared-patterns/functions/token-metadata.functions.d.ts +38 -2
  59. package/dist/cjs/shared-patterns/functions/token-metadata.functions.d.ts.map +1 -1
  60. package/dist/cjs/shared-patterns/functions/token-metadata.functions.js +71 -3
  61. package/dist/cjs/shared-patterns/functions/token-metadata.functions.js.map +1 -1
  62. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -1
  63. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js +22 -2
  64. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -1
  65. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts +2 -0
  66. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
  67. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js +26 -0
  68. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
  69. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts +4 -1
  70. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
  71. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js +26 -4
  72. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
  73. package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts +2 -0
  74. package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
  75. package/dist/esm/shared-lib/dto/redemption/redemption.dto.js +8 -0
  76. package/dist/esm/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
  77. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts +2 -0
  78. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
  79. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js +11 -1
  80. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
  81. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts +2 -0
  82. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts.map +1 -1
  83. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +26 -3
  84. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js.map +1 -1
  85. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +1 -0
  86. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
  87. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +8 -0
  88. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
  89. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts +3 -0
  90. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  91. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js +66 -6
  92. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  93. package/dist/esm/shared-lib/enum/token-validity-type.enum.d.ts +14 -1
  94. package/dist/esm/shared-lib/enum/token-validity-type.enum.d.ts.map +1 -1
  95. package/dist/esm/shared-lib/enum/token-validity-type.enum.js +14 -0
  96. package/dist/esm/shared-lib/enum/token-validity-type.enum.js.map +1 -1
  97. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.d.ts +96 -0
  98. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.d.ts.map +1 -0
  99. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.js +19 -0
  100. package/dist/esm/shared-lib/interfaces/dynamic-context.interface.js.map +1 -0
  101. package/dist/esm/shared-lib/interfaces/index.d.ts +2 -0
  102. package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
  103. package/dist/esm/shared-lib/interfaces/index.js +2 -0
  104. package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
  105. package/dist/esm/shared-lib/interfaces/token-transaction-input-data.interface.d.ts +13 -0
  106. package/dist/esm/shared-lib/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
  107. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.d.ts +48 -0
  108. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.d.ts.map +1 -0
  109. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.js +2 -0
  110. package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.js.map +1 -0
  111. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts +17 -0
  112. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts.map +1 -1
  113. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js +24 -0
  114. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js.map +1 -1
  115. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.d.ts +13 -0
  116. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.d.ts.map +1 -1
  117. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.js +22 -0
  118. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.js.map +1 -1
  119. package/dist/esm/shared-patterns/functions/token-metadata.functions.d.ts +38 -2
  120. package/dist/esm/shared-patterns/functions/token-metadata.functions.d.ts.map +1 -1
  121. package/dist/esm/shared-patterns/functions/token-metadata.functions.js +69 -2
  122. package/dist/esm/shared-patterns/functions/token-metadata.functions.js.map +1 -1
  123. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tenantUpdate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,qBAAa,sBAAsB;IAO/B,WAAW,CAAC,EAAE,MAAM,CAAA;IAMpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAI5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAI7B,UAAU,CAAC,EAAE,MAAM,CAAA;IAQnB,+BAA+B,CAAC,EAAE,OAAO,CAAA;IAIzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAWzB,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAKrB,eAAe,CAAC,EAAE,MAAM,CAAA;IAUxB,mBAAmB,CAAC,EAAE,4BAA4B,EAAE,CAAA;CACrD"}
1
+ {"version":3,"file":"tenantUpdate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,qBAAa,sBAAsB;IAO/B,WAAW,CAAC,EAAE,MAAM,CAAA;IAMpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAI5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAI7B,UAAU,CAAC,EAAE,MAAM,CAAA;IAQnB,+BAA+B,CAAC,EAAE,OAAO,CAAA;IAIzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAWzB,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAKrB,eAAe,CAAC,EAAE,MAAM,CAAA;IAOxB,cAAc,CAAC,EAAE,MAAM,CAAA;IAUvB,mBAAmB,CAAC,EAAE,4BAA4B,EAAE,CAAA;CACrD"}
@@ -25,6 +25,7 @@ export class TenantUpdateRequestDTO {
25
25
  projectWebsite;
26
26
  projectEmail;
27
27
  projectImageUrl;
28
+ projectLogoUrl;
28
29
  allowedTokenIssuers;
29
30
  }
30
31
  __decorate([
@@ -83,6 +84,13 @@ __decorate([
83
84
  OptionalNullify(),
84
85
  IsUrl()
85
86
  ], TenantUpdateRequestDTO.prototype, "projectImageUrl", void 0);
87
+ __decorate([
88
+ ApiPropertyOptional({
89
+ description: 'Logo URL for the project (smaller icon/avatar)',
90
+ }),
91
+ OptionalNullify(),
92
+ IsUrl()
93
+ ], TenantUpdateRequestDTO.prototype, "projectLogoUrl", void 0);
86
94
  __decorate([
87
95
  ApiPropertyOptional({
88
96
  description: 'List of allowed external JWT token issuers for this tenant. Each object must have an issuer URL.',
@@ -1 +1 @@
1
- {"version":3,"file":"tenantUpdate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,MAAM,OAAO,sBAAsB;IAO/B,WAAW,CAAS;IAMpB,kBAAkB,CAAS;IAI3B,YAAY,CAAS;IAIrB,mBAAmB,CAAS;IAI5B,oBAAoB,CAAS;IAI7B,UAAU,CAAS;IAQnB,+BAA+B,CAAU;IAIzC,gBAAgB,CAAS;IAEzB;kCAC8B;IAE9B;kCAC8B;IAK9B,cAAc,CAAS;IAKvB,YAAY,CAAS;IAKrB,eAAe,CAAS;IAUxB,mBAAmB,CAAiC;CACrD;AAlEC;IALC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,YAAY;KACtB,CAAC;IACD,eAAe,EAAE;2DACE;AAMpB;IAJC,mBAAmB,CAAC;QACnB,WAAW,EAAE,yBAAyB;KACvC,CAAC;IACD,eAAe,EAAE;kEACS;AAI3B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;4DACG;AAIrB;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;mEACU;AAI5B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;oEACW;AAI7B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;0DACC;AAQnB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,OAAO;KACd,CAAC;IACD,eAAe,EAAE;IACjB,SAAS,EAAE;+EAC6B;AAIzC;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;gEACO;AAWzB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;8DACe;AAKvB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,OAAO,EAAE;4DACW;AAKrB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;+DACgB;AAUxB;IARC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kGAAkG;QAC/G,IAAI,EAAE,CAAC,4BAA4B,CAAC;KACrC,CAAC;IACD,eAAe,EAAE;IACjB,OAAO,EAAE;IACT,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC;mEACW"}
1
+ {"version":3,"file":"tenantUpdate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,MAAM,OAAO,sBAAsB;IAO/B,WAAW,CAAS;IAMpB,kBAAkB,CAAS;IAI3B,YAAY,CAAS;IAIrB,mBAAmB,CAAS;IAI5B,oBAAoB,CAAS;IAI7B,UAAU,CAAS;IAQnB,+BAA+B,CAAU;IAIzC,gBAAgB,CAAS;IAEzB;kCAC8B;IAE9B;kCAC8B;IAK9B,cAAc,CAAS;IAKvB,YAAY,CAAS;IAKrB,eAAe,CAAS;IAOxB,cAAc,CAAS;IAUvB,mBAAmB,CAAiC;CACrD;AAzEC;IALC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,YAAY;KACtB,CAAC;IACD,eAAe,EAAE;2DACE;AAMpB;IAJC,mBAAmB,CAAC;QACnB,WAAW,EAAE,yBAAyB;KACvC,CAAC;IACD,eAAe,EAAE;kEACS;AAI3B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;4DACG;AAIrB;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;mEACU;AAI5B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;oEACW;AAI7B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;0DACC;AAQnB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,OAAO;KACd,CAAC;IACD,eAAe,EAAE;IACjB,SAAS,EAAE;+EAC6B;AAIzC;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;gEACO;AAWzB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;8DACe;AAKvB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,OAAO,EAAE;4DACW;AAKrB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;+DACgB;AAOxB;IALC,mBAAmB,CAAC;QACnB,WAAW,EAAE,gDAAgD;KAC9D,CAAC;IACD,eAAe,EAAE;IACjB,KAAK,EAAE;8DACe;AAUvB;IARC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kGAAkG;QAC/G,IAAI,EAAE,CAAC,4BAA4B,CAAC;KACrC,CAAC;IACD,eAAe,EAAE;IACjB,OAAO,EAAE;IACT,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC;mEACW"}
@@ -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"}
@@ -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 { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
8
- import { IsUrl, IsString, IsDateString, IsEnum, IsNumber, IsArray, ValidateNested } from 'class-validator';
8
+ import { IsUrl, IsString, IsDateString, IsEnum, IsNumber, IsArray, ValidateNested, IsObject } from 'class-validator';
9
9
  import { Type } from 'class-transformer';
10
10
  import { OptionalStrip, OptionalStripNumber } from '../../decorators/index.js';
11
11
  import { TokenValidityTypes } from '../../enum/token-validity-type.enum.js';
@@ -46,6 +46,8 @@ export class TokenMetadataCreateRequestDTO {
46
46
  previewUrl;
47
47
  tags;
48
48
  aiPromptConfigs;
49
+ allowExternalContextOverwrite;
50
+ defaultPromptContext;
49
51
  businessIds;
50
52
  }
51
53
  __decorate([
@@ -64,14 +66,38 @@ __decorate([
64
66
  ], TokenMetadataCreateRequestDTO.prototype, "externalUrl", void 0);
65
67
  __decorate([
66
68
  ApiPropertyOptional({
67
- description: 'A human-readable description of the item. Markdown is supported.'
69
+ description: `A human-readable description of the item. Markdown is supported.
70
+
71
+ **ERC721 Template Interpolation:** Supports \`{{placeholder}}\` syntax for dynamic personalization at mint time (without AI costs).
72
+
73
+ **Available placeholders:**
74
+ - \`{{user.firstName}}\`, \`{{user.lastName}}\` - User data
75
+ - \`{{campaign.name}}\`, \`{{business.displayName}}\` - Campaign/business
76
+ - \`{{context.xxx}}\` - Dynamic context values (TriggerSource.context or claim request)
77
+ - \`{{defaults.xxx}}\` - Default values from defaultPromptContext
78
+
79
+ **Example:** \`"Thank you {{user.firstName}} for visiting {{business.displayName}}! Your exclusive reward for {{context.eventName}}."\`
80
+
81
+ **Processing order:** Template interpolation runs first, then AI processing (if configured) can further enhance the result.`
68
82
  }),
69
83
  OptionalStrip(),
70
84
  IsString()
71
85
  ], TokenMetadataCreateRequestDTO.prototype, "description", void 0);
72
86
  __decorate([
73
87
  ApiPropertyOptional({
74
- description: 'Name of the item.'
88
+ description: `Name of the item.
89
+
90
+ **ERC721 Template Interpolation:** Supports \`{{placeholder}}\` syntax for dynamic personalization at mint time (without AI costs).
91
+
92
+ **Available placeholders:**
93
+ - \`{{user.firstName}}\`, \`{{user.lastName}}\` - User data
94
+ - \`{{campaign.name}}\`, \`{{business.displayName}}\` - Campaign/business
95
+ - \`{{context.xxx}}\` - Dynamic context values (TriggerSource.context or claim request)
96
+ - \`{{defaults.xxx}}\` - Default values from defaultPromptContext
97
+
98
+ **Example:** \`"Welcome {{context.guestName}} - VIP Pass"\` or \`"{{user.firstName}}'s {{campaign.name}} Reward"\`
99
+
100
+ **Processing order:** Template interpolation runs first, then AI processing (if configured) can further enhance the result.`
75
101
  }),
76
102
  OptionalStrip(),
77
103
  IsString()
@@ -140,11 +166,17 @@ __decorate([
140
166
  ], TokenMetadataCreateRequestDTO.prototype, "tags", void 0);
141
167
  __decorate([
142
168
  ApiPropertyOptional({
143
- 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.',
169
+ description: `**ERC721 only** - AI prompt configurations for dynamic content generation at mint time.
170
+
171
+ AI processing runs AFTER template interpolation, so prompts can reference already-interpolated values.
172
+
173
+ Results are mapped by key to override static fields (name, description, imageUrl). Ignored for ERC1155 tokens.
174
+
175
+ **Note:** For simple personalization without AI costs, use \`{{placeholder}}\` syntax directly in name/description fields instead.`,
144
176
  type: [AiPromptConfigDTO],
145
177
  example: [
146
- { type: 'TEXT_GENERATION', key: 'name', prompt: 'Generate a unique reward name for {{user.name}}' },
147
- { type: 'IMAGE_GENERATION', key: 'imageUrl', prompt: 'A golden trophy badge' }
178
+ { type: 'TEXT_GENERATION', key: 'name', prompt: 'Generate a unique reward name for {{user.firstName}} at {{business.displayName}}' },
179
+ { type: 'IMAGE_GENERATION', key: 'imageUrl', prompt: 'A {{defaults.style}} trophy badge for {{context.eventName}}' }
148
180
  ]
149
181
  }),
150
182
  OptionalStrip(),
@@ -152,6 +184,34 @@ __decorate([
152
184
  ValidateNested({ each: true }),
153
185
  Type(() => AiPromptConfigDTO)
154
186
  ], TokenMetadataCreateRequestDTO.prototype, "aiPromptConfigs", void 0);
187
+ __decorate([
188
+ ApiPropertyOptional({
189
+ description: `**ERC721 only** - Allow USER-PROVIDED external context from claim/redeem requests to be used in template interpolation and AI prompts.
190
+
191
+ **Security model:**
192
+ - \`false\` (default): Only admin-controlled context (TriggerSource.context, Redemption.context, defaultPromptContext) is available
193
+ - \`true\`: User-provided context from API requests is also merged and available as \`{{context.xxx}}\`
194
+
195
+ **Note:** Admin-controlled context (QR/NFC data) is ALWAYS applied regardless of this flag.`,
196
+ type: Boolean,
197
+ default: false,
198
+ example: true
199
+ }),
200
+ OptionalStrip()
201
+ ], TokenMetadataCreateRequestDTO.prototype, "allowExternalContextOverwrite", void 0);
202
+ __decorate([
203
+ ApiPropertyOptional({
204
+ description: `**ERC721 only** - Default context values for template interpolation and AI prompts. Available as \`{{defaults.xxx}}\` placeholders.
205
+
206
+ Always applied regardless of allowExternalContextOverwrite. Use for brand defaults, styling preferences, or fallback values.
207
+
208
+ **Example usage in name:** \`"{{defaults.brand}} - {{user.firstName}}'s Reward"\``,
209
+ type: 'object',
210
+ example: { brand: 'PERS Rewards', style: 'minimal', defaultLocation: 'Online' }
211
+ }),
212
+ OptionalStrip(),
213
+ IsObject()
214
+ ], TokenMetadataCreateRequestDTO.prototype, "defaultPromptContext", void 0);
155
215
  __decorate([
156
216
  ApiPropertyOptional({
157
217
  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"}
@@ -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 const TokenValidityTypes = {
13
22
  FIXED_DATE: 'fixed_date',
@@ -16,6 +25,11 @@ export const TokenValidityTypes = {
16
25
  MONTHS_FROM_ISSUANCE: 'months_from_issuance',
17
26
  END_OF_MONTH: 'end_of_month',
18
27
  END_OF_YEAR: 'end_of_year',
28
+ // Trigger-based types - require context at runtime
29
+ TRIGGER_DATE: 'trigger_date',
30
+ TRIGGER_DATE_RANGE: 'trigger_date_range',
31
+ DAYS_FROM_TRIGGER: 'days_from_trigger',
32
+ HOURS_FROM_TRIGGER: 'hours_from_trigger',
19
33
  };
20
34
  export const TOKEN_VALIDITY_TYPE_VALUES = Object.values(TokenValidityTypes);
21
35
  //# sourceMappingURL=token-validity-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-validity-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,UAAU,EAAE,YAAY;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;CACpB,CAAC;AAIX,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"token-validity-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,UAAU,EAAE,YAAY;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,mDAAmD;IACnD,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;CAClC,CAAC;AAIX,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Dynamic Context Interface
3
+ *
4
+ * Used for runtime context injection in ERC721 token generation.
5
+ * Supports both AI prompt placeholders and trigger-based validity computation.
6
+ *
7
+ * Trust levels and filtering:
8
+ * - Dynamic context (TriggerSource.context): Admin-controlled (QR/NFC) → always trusted
9
+ * - External context (CampaignClaimRequest.context): User API request → only if allowExternalContextOverwrite=true
10
+ *
11
+ * Context merge order (later overrides earlier on conflict):
12
+ * 1. TokenMetadata.defaultPromptContext (admin-defined defaults)
13
+ * 2. Dynamic context (location/trigger-specific, always included)
14
+ * 3. External context (user-provided, only if allowExternalContextOverwrite=true)
15
+ *
16
+ * @example Hotel stay scenario
17
+ * ```typescript
18
+ * const context: DynamicContext = {
19
+ * // Validity - token expires on check-out
20
+ * validityEndDate: '2026-04-20T11:00:00Z',
21
+ *
22
+ * // AI prompt context - available as {{context.xxx}}
23
+ * guestName: 'John Doe',
24
+ * roomNumber: '305',
25
+ * roomType: 'Suite',
26
+ * };
27
+ * ```
28
+ *
29
+ * @example Event ticket scenario
30
+ * ```typescript
31
+ * const context: DynamicContext = {
32
+ * // Validity - token valid until event end + 2 hours
33
+ * validityDate: '2026-06-15T22:00:00Z',
34
+ * validityDuration: 2, // hours (with HOURS_FROM_TRIGGER)
35
+ *
36
+ * // AI prompt context
37
+ * eventName: 'Summer Festival',
38
+ * ticketType: 'VIP',
39
+ * seatNumber: 'A12',
40
+ * };
41
+ * ```
42
+ */
43
+ export interface DynamicContext {
44
+ /**
45
+ * Base date for trigger-based validity types.
46
+ * Used by: TRIGGER_DATE, DAYS_FROM_TRIGGER, HOURS_FROM_TRIGGER
47
+ *
48
+ * @example '2026-04-15T14:00:00Z' (hotel check-in date)
49
+ */
50
+ validityDate?: string | Date;
51
+ /**
52
+ * End date for date range scenarios.
53
+ * Used by: TRIGGER_DATE_RANGE
54
+ * Takes precedence over validityDate for expiry calculation.
55
+ *
56
+ * @example '2026-04-20T11:00:00Z' (hotel check-out date)
57
+ */
58
+ validityEndDate?: string | Date;
59
+ /**
60
+ * Dynamic duration override (days or hours depending on validity type).
61
+ * Used by: DAYS_FROM_TRIGGER, HOURS_FROM_TRIGGER
62
+ * Overrides TokenMetadata.validityDuration when provided.
63
+ *
64
+ * @example 5 (5-night hotel stay, or 5 hours for event)
65
+ */
66
+ validityDuration?: number;
67
+ /**
68
+ * Additional arbitrary keys for AI prompt placeholders.
69
+ * Available in prompts as {{context.keyName}}.
70
+ *
71
+ * Common examples:
72
+ * - guestName, customerName, userName
73
+ * - roomNumber, seatNumber, orderNumber
74
+ * - productCategory, eventType, tierLevel
75
+ */
76
+ [key: string]: string | number | boolean | Date | undefined | null;
77
+ }
78
+ /**
79
+ * Type guard to check if context has validity date
80
+ */
81
+ export declare const hasValidityDate: (context?: DynamicContext) => context is DynamicContext & {
82
+ validityDate: string | Date;
83
+ };
84
+ /**
85
+ * Type guard to check if context has validity end date
86
+ */
87
+ export declare const hasValidityEndDate: (context?: DynamicContext) => context is DynamicContext & {
88
+ validityEndDate: string | Date;
89
+ };
90
+ /**
91
+ * Type guard to check if context has validity duration
92
+ */
93
+ export declare const hasValidityDuration: (context?: DynamicContext) => context is DynamicContext & {
94
+ validityDuration: number;
95
+ };
96
+ //# sourceMappingURL=dynamic-context.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-context.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/dynamic-context.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,cAAc;IAK3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAM1B;;;;;;;;OAQG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,KAAG,OAAO,IAAI,cAAc,GAAG;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAEnH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,cAAc,KAAG,OAAO,IAAI,cAAc,GAAG;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAEzH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,cAAc,KAAG,OAAO,IAAI,cAAc,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAEpH,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Type guard to check if context has validity date
3
+ */
4
+ export const hasValidityDate = (context) => {
5
+ return !!context?.validityDate;
6
+ };
7
+ /**
8
+ * Type guard to check if context has validity end date
9
+ */
10
+ export const hasValidityEndDate = (context) => {
11
+ return !!context?.validityEndDate;
12
+ };
13
+ /**
14
+ * Type guard to check if context has validity duration
15
+ */
16
+ export const hasValidityDuration = (context) => {
17
+ return typeof context?.validityDuration === 'number' && context.validityDuration > 0;
18
+ };
19
+ //# sourceMappingURL=dynamic-context.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-context.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/dynamic-context.interface.ts"],"names":[],"mappings":"AAyFA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAwB,EAA+D,EAAE;IACrH,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;AACnC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAwB,EAAkE,EAAE;IAC3H,OAAO,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC;AACtC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAwB,EAA4D,EAAE;IACtH,OAAO,OAAO,OAAO,EAAE,gBAAgB,KAAK,QAAQ,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;AACzF,CAAC,CAAC"}
@@ -19,6 +19,8 @@ export * from './counterfactual-wallet-response.interface';
19
19
  export * from './campaign';
20
20
  export * from './ai-prompt-config.interface';
21
21
  export * from './balance-filter-options.interface';
22
+ export * from './dynamic-context.interface';
23
+ export * from './trigger-source-metadata.interface';
22
24
  export * from './ws-relay.types';
23
25
  export * from './external-token-issuer.interface';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
@@ -20,6 +20,8 @@ export * from './counterfactual-wallet-response.interface.js';
20
20
  export * from './campaign/index.js';
21
21
  export * from './ai-prompt-config.interface.js';
22
22
  export * from './balance-filter-options.interface.js';
23
+ export * from './dynamic-context.interface.js';
24
+ export * from './trigger-source-metadata.interface.js';
23
25
  export * from './ws-relay.types.js';
24
26
  export * from './external-token-issuer.interface.js';
25
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
@@ -4,6 +4,7 @@ import { Address } from "../value-objects";
4
4
  import { AccountOwnerType } from "../enum/owner-type.enum";
5
5
  import { NativeTokenType } from "../types";
6
6
  import { TransactionRole } from "../enum/transaction-role.enum";
7
+ import type { DynamicContext } from "./dynamic-context.interface";
7
8
  export interface TxParticipant {
8
9
  /** Account identifier (user ID, business ID, etc.) */
9
10
  accountId?: string | null;
@@ -30,6 +31,18 @@ export interface ITokenTransactionInputData {
30
31
  overrideTokenName?: string;
31
32
  overrideTokenDescription?: string;
32
33
  customAttributes?: Record<string, any>;
34
+ /**
35
+ * **ERC721 only** - Admin-defined dynamic context from trigger source (QR code, NFC tag, etc.).
36
+ * Always applied to AI prompts as {{dynamic.xxx}} - trusted source.
37
+ * Also used for trigger-based validity (validityDate, validityEndDate, validityDuration).
38
+ */
39
+ dynamicContext?: DynamicContext;
40
+ /**
41
+ * **ERC721 only** - User-provided external context from claim request.
42
+ * Only applied if TokenMetadata.allowExternalContextOverwrite is true.
43
+ * Available in AI prompts as {{external.xxx}} when allowed.
44
+ */
45
+ externalContext?: DynamicContext;
33
46
  /** Business commercially involved in this transaction (for stats/reporting) */
34
47
  engagedBusinessId: string | null;
35
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-transaction-input-data.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/token-transaction-input-data.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,sBAAsB;IACtB,WAAW,EAAE,gBAAgB,CAAC;IAE9B,iDAAiD;IACjD,cAAc,EAAE,OAAO,CAAC;IAExB,sCAAsC;IACtC,IAAI,EAAE,eAAe,CAAC;CACzB;AAGD,MAAM,WAAW,0BAA0B;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,eAAe,CAAC;IAG3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEvC,+EAA+E;IAC/E,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC"}
1
+ {"version":3,"file":"token-transaction-input-data.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/token-transaction-input-data.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,WAAW,aAAa;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,sBAAsB;IACtB,WAAW,EAAE,gBAAgB,CAAC;IAE9B,iDAAiD;IACjD,cAAc,EAAE,OAAO,CAAC;IAExB,sCAAsC;IACtC,IAAI,EAAE,eAAe,CAAC;CACzB;AAGD,MAAM,WAAW,0BAA0B;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,eAAe,CAAC;IAG3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEvC;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC;IAEjC,+EAA+E;IAC/E,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Token configuration override for trigger sources.
3
+ * Allows specific trigger sources (e.g., QR codes) to mint different token variants.
4
+ */
5
+ export interface TriggerSourceTokenConfig {
6
+ /**
7
+ * Override the tokenMetadataIncrementalId for this trigger source.
8
+ * Useful for QR codes that mint specific token variants.
9
+ *
10
+ * @example '2' (mint token metadata ID 2 instead of campaign default)
11
+ */
12
+ tokenId?: string | number;
13
+ }
14
+ /**
15
+ * Trigger Source Metadata Interface
16
+ *
17
+ * Typed metadata structure for trigger sources (QR codes, NFC tags, etc.).
18
+ * Contains ONLY token configuration overrides.
19
+ *
20
+ * NOTE: Dynamic context is now at TriggerSource.context (top-level),
21
+ * consistent with CampaignClaimRequest.context API design.
22
+ *
23
+ * @example QR code with specific token variant
24
+ * ```typescript
25
+ * const metadata: TriggerSourceMetadata = {
26
+ * tokenConfig: { tokenId: '2' }, // This QR mints token variant 2
27
+ * };
28
+ *
29
+ * // Context is now top-level:
30
+ * const triggerSource = {
31
+ * metadata: { tokenConfig: { tokenId: '2' } },
32
+ * context: { location: 'Main Lobby', deviceId: 'kiosk-001' }
33
+ * };
34
+ * ```
35
+ */
36
+ export interface TriggerSourceMetadata {
37
+ /**
38
+ * Token configuration override.
39
+ * Allows this trigger source to mint a different token variant than campaign default.
40
+ */
41
+ tokenConfig?: TriggerSourceTokenConfig;
42
+ /**
43
+ * Additional arbitrary metadata for custom use cases.
44
+ * Not processed by the system - available for integrations.
45
+ */
46
+ [key: string]: any;
47
+ }
48
+ //# sourceMappingURL=trigger-source-metadata.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-source-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/trigger-source-metadata.interface.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAEvC;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=trigger-source-metadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-source-metadata.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/trigger-source-metadata.interface.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ import { Web3TransactionType } from '../enum/transaction-type.enum';
2
2
  import { AccountSelector } from '../../shared-lib/types/account-selector.type';
3
3
  import { AccountSelectorVo } from './account-selector.vo';
4
4
  import { AccountOwnerType } from '../enum';
5
+ import type { DynamicContext } from '../interfaces/dynamic-context.interface';
5
6
  /**
6
7
  * Token Transaction Entity Reference Input VO
7
8
  *
@@ -29,6 +30,18 @@ export declare class TokenTransactionEntityReferenceInputVo {
29
30
  readonly overrideTokenName?: string;
30
31
  readonly overrideTokenDescription?: string;
31
32
  readonly customAttributes?: Record<string, any>;
33
+ /**
34
+ * **ERC721 only** - Admin-defined dynamic context from trigger source (QR code, NFC tag, etc.).
35
+ * Always applied to AI prompts as {{dynamic.xxx}} - trusted source.
36
+ * Also used for trigger-based validity (validityDate, validityEndDate, validityDuration).
37
+ */
38
+ readonly dynamicContext?: DynamicContext;
39
+ /**
40
+ * **ERC721 only** - User-provided external context from claim request.
41
+ * Only applied if TokenMetadata.allowExternalContextOverwrite is true.
42
+ * Available in AI prompts as {{external.xxx}} when allowed.
43
+ */
44
+ readonly externalContext?: DynamicContext;
32
45
  /** Business commercially involved in this transaction (for stats/reporting) */
33
46
  readonly engagedBusinessId: string | null;
34
47
  /** Entity authorized to submit this transaction (defaults to sender if not specified) */
@@ -48,6 +61,8 @@ export declare class TokenTransactionEntityReferenceInputVo {
48
61
  overrideTokenName?: string;
49
62
  overrideTokenDescription?: string;
50
63
  customAttributes?: Record<string, any>;
64
+ dynamicContext?: DynamicContext;
65
+ externalContext?: DynamicContext;
51
66
  engagedBusinessId: string | null;
52
67
  authorizedSubmitterId?: string | null;
53
68
  authorizedSubmitterType?: AccountOwnerType | null;
@@ -69,6 +84,8 @@ export declare class TokenTransactionEntityReferenceInputVo {
69
84
  overrideTokenName?: string;
70
85
  overrideTokenDescription?: string;
71
86
  customAttributes?: Record<string, any>;
87
+ dynamicContext?: DynamicContext;
88
+ externalContext?: DynamicContext;
72
89
  engagedBusinessId: string | null;
73
90
  authorizedSubmitterId: string | null;
74
91
  authorizedSubmitterType: AccountOwnerType | null;
@@ -1 +1 @@
1
- {"version":3,"file":"token-transaction-entity-reference-input.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-entity-reference-input.vo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-transaction-entity-reference-input.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-entity-reference-input.vo.ts"],"names":[],"mappings":"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"}