@explorins/pers-shared 2.1.96 → 2.1.98

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 (284) hide show
  1. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.d.ts +35 -0
  2. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.d.ts.map +1 -0
  3. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.js +184 -0
  4. package/dist/cjs/shared-lib/dto/ai/ai-generation-log.dto.js.map +1 -0
  5. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.d.ts +21 -0
  6. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -0
  7. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js +62 -0
  8. package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -0
  9. package/dist/cjs/shared-lib/dto/ai/index.d.ts +3 -0
  10. package/dist/cjs/shared-lib/dto/ai/index.d.ts.map +1 -0
  11. package/dist/cjs/shared-lib/dto/ai/index.js +20 -0
  12. package/dist/cjs/shared-lib/dto/ai/index.js.map +1 -0
  13. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.d.ts +84 -0
  14. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.d.ts.map +1 -0
  15. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.js +295 -0
  16. package/dist/cjs/shared-lib/dto/analytics/ai-analytics.dto.js.map +1 -0
  17. package/dist/cjs/shared-lib/dto/analytics/index.d.ts +1 -0
  18. package/dist/cjs/shared-lib/dto/analytics/index.d.ts.map +1 -1
  19. package/dist/cjs/shared-lib/dto/analytics/index.js +1 -0
  20. package/dist/cjs/shared-lib/dto/analytics/index.js.map +1 -1
  21. package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
  22. package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
  23. package/dist/cjs/shared-lib/dto/index.js +2 -0
  24. package/dist/cjs/shared-lib/dto/index.js.map +1 -1
  25. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts +2 -0
  26. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  27. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js +20 -2
  28. package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  29. package/dist/cjs/shared-lib/dto/user/user.dto.d.ts +9 -0
  30. package/dist/cjs/shared-lib/dto/user/user.dto.d.ts.map +1 -1
  31. package/dist/cjs/shared-lib/dto/user/user.dto.js +35 -0
  32. package/dist/cjs/shared-lib/dto/user/user.dto.js.map +1 -1
  33. package/dist/cjs/shared-lib/dto/user-status-type.dto.d.ts +1 -2
  34. package/dist/cjs/shared-lib/dto/user-status-type.dto.d.ts.map +1 -1
  35. package/dist/cjs/shared-lib/dto/user-status-type.dto.js +12 -16
  36. package/dist/cjs/shared-lib/dto/user-status-type.dto.js.map +1 -1
  37. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.d.ts +43 -0
  38. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.d.ts.map +1 -0
  39. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.js +48 -0
  40. package/dist/cjs/shared-lib/enum/ai-analytics-metric.enum.js.map +1 -0
  41. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.d.ts +21 -0
  42. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.d.ts.map +1 -0
  43. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.js +25 -0
  44. package/dist/cjs/shared-lib/enum/ai-operation-type.enum.js.map +1 -0
  45. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.d.ts +13 -0
  46. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.d.ts.map +1 -0
  47. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.js +17 -0
  48. package/dist/cjs/shared-lib/enum/ai-trigger-process-type.enum.js.map +1 -0
  49. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.d.ts +13 -0
  50. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.d.ts.map +1 -0
  51. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.js +17 -0
  52. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.js.map +1 -0
  53. package/dist/cjs/shared-lib/enum/index.d.ts +4 -0
  54. package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
  55. package/dist/cjs/shared-lib/enum/index.js +4 -0
  56. package/dist/cjs/shared-lib/enum/index.js.map +1 -1
  57. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.d.ts +19 -0
  58. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.d.ts.map +1 -0
  59. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.js +3 -0
  60. package/dist/cjs/shared-lib/interfaces/ai-prompt-config.interface.js.map +1 -0
  61. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.d.ts +43 -0
  62. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.d.ts.map +1 -0
  63. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.js +3 -0
  64. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.js.map +1 -0
  65. package/dist/cjs/shared-lib/interfaces/index.d.ts +2 -0
  66. package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
  67. package/dist/cjs/shared-lib/interfaces/index.js +2 -0
  68. package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
  69. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.d.ts +5 -1
  70. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.d.ts.map +1 -1
  71. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.js +4 -0
  72. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.js.map +1 -1
  73. package/dist/cjs/shared-lib/types/index.d.ts +1 -0
  74. package/dist/cjs/shared-lib/types/index.d.ts.map +1 -1
  75. package/dist/cjs/shared-lib/types/index.js +1 -0
  76. package/dist/cjs/shared-lib/types/index.js.map +1 -1
  77. package/dist/cjs/shared-lib/types/user-include-relation.type.d.ts +11 -0
  78. package/dist/cjs/shared-lib/types/user-include-relation.type.d.ts.map +1 -0
  79. package/dist/cjs/shared-lib/types/user-include-relation.type.js +16 -0
  80. package/dist/cjs/shared-lib/types/user-include-relation.type.js.map +1 -0
  81. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.d.ts +18 -1
  82. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.d.ts.map +1 -1
  83. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.js +24 -2
  84. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.js.map +1 -1
  85. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts +71 -0
  86. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts.map +1 -0
  87. package/dist/cjs/shared-patterns/functions/helper.functions.js +185 -0
  88. package/dist/cjs/shared-patterns/functions/helper.functions.js.map +1 -0
  89. package/dist/esm/browser.js +2 -2
  90. package/dist/esm/index.js +5 -5
  91. package/dist/esm/shared-lib/decorators/index.js +1 -1
  92. package/dist/esm/shared-lib/dto/account-selector.dto.js +2 -2
  93. package/dist/esm/shared-lib/dto/account-token-balances.dto.js +1 -1
  94. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.js +2 -2
  95. package/dist/esm/shared-lib/dto/admin/admin.dto.js +2 -2
  96. package/dist/esm/shared-lib/dto/admin/index.js +2 -2
  97. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.d.ts +35 -0
  98. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.d.ts.map +1 -0
  99. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.js +158 -0
  100. package/dist/esm/shared-lib/dto/ai/ai-generation-log.dto.js.map +1 -0
  101. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.d.ts +21 -0
  102. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -0
  103. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js +52 -0
  104. package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -0
  105. package/dist/esm/shared-lib/dto/ai/index.d.ts +3 -0
  106. package/dist/esm/shared-lib/dto/ai/index.d.ts.map +1 -0
  107. package/dist/esm/shared-lib/dto/ai/index.js +4 -0
  108. package/dist/esm/shared-lib/dto/ai/index.js.map +1 -0
  109. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.d.ts +84 -0
  110. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.d.ts.map +1 -0
  111. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.js +256 -0
  112. package/dist/esm/shared-lib/dto/analytics/ai-analytics.dto.js.map +1 -0
  113. package/dist/esm/shared-lib/dto/analytics/base-analytics.dto.js +1 -1
  114. package/dist/esm/shared-lib/dto/analytics/business-ranking-analytics.dto.js +3 -3
  115. package/dist/esm/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.js +5 -5
  116. package/dist/esm/shared-lib/dto/analytics/campaign-claim-analytics.dto.js +5 -5
  117. package/dist/esm/shared-lib/dto/analytics/group-by-expression.dto.js +2 -2
  118. package/dist/esm/shared-lib/dto/analytics/index.d.ts +1 -0
  119. package/dist/esm/shared-lib/dto/analytics/index.d.ts.map +1 -1
  120. package/dist/esm/shared-lib/dto/analytics/index.js +9 -8
  121. package/dist/esm/shared-lib/dto/analytics/index.js.map +1 -1
  122. package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.js +3 -3
  123. package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.js +6 -6
  124. package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.js +1 -1
  125. package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.js +3 -3
  126. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.js +1 -1
  127. package/dist/esm/shared-lib/dto/api-key/api-key.dto.js +1 -1
  128. package/dist/esm/shared-lib/dto/api-key/index.js +3 -3
  129. package/dist/esm/shared-lib/dto/auth/auth.dto.js +5 -5
  130. package/dist/esm/shared-lib/dto/auth/index.js +2 -2
  131. package/dist/esm/shared-lib/dto/business/business-create.request.dto.js +1 -1
  132. package/dist/esm/shared-lib/dto/business/business-membership.dto.js +4 -4
  133. package/dist/esm/shared-lib/dto/business/business-type.dto.js +1 -1
  134. package/dist/esm/shared-lib/dto/business/business-update.request.dto.js +1 -1
  135. package/dist/esm/shared-lib/dto/business/business.dto.js +3 -3
  136. package/dist/esm/shared-lib/dto/business/businessToggleActive.request.dto.js +1 -1
  137. package/dist/esm/shared-lib/dto/business/businessTypeCreate.request.dto.js +1 -1
  138. package/dist/esm/shared-lib/dto/business/index.js +8 -8
  139. package/dist/esm/shared-lib/dto/campaign/campaign-business-engagement.request.dto.js +1 -1
  140. package/dist/esm/shared-lib/dto/campaign/campaign.dto.js +5 -5
  141. package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js +1 -1
  142. package/dist/esm/shared-lib/dto/campaign/campaignCreate.request.dto.js +1 -1
  143. package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.js +4 -4
  144. package/dist/esm/shared-lib/dto/campaign/campaignTriggerCondition.dto.js +1 -1
  145. package/dist/esm/shared-lib/dto/campaign/campaignUpdate.request.dto.js +1 -1
  146. package/dist/esm/shared-lib/dto/campaign/campaignUserClaim.dto.js +6 -6
  147. package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js +2 -2
  148. package/dist/esm/shared-lib/dto/error-response.dto.js +2 -2
  149. package/dist/esm/shared-lib/dto/file/entity-storage-url.dto.js +3 -3
  150. package/dist/esm/shared-lib/dto/file/index.js +2 -2
  151. package/dist/esm/shared-lib/dto/index.d.ts +1 -0
  152. package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
  153. package/dist/esm/shared-lib/dto/index.js +37 -35
  154. package/dist/esm/shared-lib/dto/index.js.map +1 -1
  155. package/dist/esm/shared-lib/dto/pagination/index.js +2 -2
  156. package/dist/esm/shared-lib/dto/pagination/pagination.request.dto.js +2 -2
  157. package/dist/esm/shared-lib/dto/purchase/index.js +9 -9
  158. package/dist/esm/shared-lib/dto/purchase/purchase.dto.js +1 -1
  159. package/dist/esm/shared-lib/dto/purchase/purchaseCreate.request.dto.js +1 -1
  160. package/dist/esm/shared-lib/dto/purchase/purchaseCreate.response.dto.js +1 -1
  161. package/dist/esm/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.js +1 -1
  162. package/dist/esm/shared-lib/dto/purchase/purchaseType.dto.js +1 -1
  163. package/dist/esm/shared-lib/dto/redemption/index.js +5 -5
  164. package/dist/esm/shared-lib/dto/redemption/redemption.dto.js +4 -4
  165. package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js +1 -1
  166. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.dto.js +5 -5
  167. package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +1 -1
  168. package/dist/esm/shared-lib/dto/redemption/redemptionType.dto.js +1 -1
  169. package/dist/esm/shared-lib/dto/signing-account/create-signing-account-request.dto.js +4 -4
  170. package/dist/esm/shared-lib/dto/signing-account/index.js +5 -5
  171. package/dist/esm/shared-lib/dto/signing-account/signing-account.dto.js +1 -1
  172. package/dist/esm/shared-lib/dto/signing-account/update-signing-account.dto.js +1 -1
  173. package/dist/esm/shared-lib/dto/tenant/index.js +4 -4
  174. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js +1 -1
  175. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +1 -1
  176. package/dist/esm/shared-lib/dto/token/index.js +7 -7
  177. package/dist/esm/shared-lib/dto/token/token-balance.dto.js +1 -1
  178. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts +2 -0
  179. package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
  180. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js +22 -5
  181. package/dist/esm/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
  182. package/dist/esm/shared-lib/dto/token/token-selector.dto.js +1 -1
  183. package/dist/esm/shared-lib/dto/token/token-type.dto.js +2 -2
  184. package/dist/esm/shared-lib/dto/token/token-unit.dto.js +2 -2
  185. package/dist/esm/shared-lib/dto/token/token.dto.js +2 -2
  186. package/dist/esm/shared-lib/dto/token/token.request.dto.js +2 -2
  187. package/dist/esm/shared-lib/dto/transaction/index.js +8 -8
  188. package/dist/esm/shared-lib/dto/transaction/transaction-bulk-data.request.dto.js +2 -2
  189. package/dist/esm/shared-lib/dto/transaction/transaction-pagination.request.dto.js +4 -4
  190. package/dist/esm/shared-lib/dto/transaction/transaction-trigger-process.dto.js +1 -1
  191. package/dist/esm/shared-lib/dto/transaction/transaction.dto.js +6 -6
  192. package/dist/esm/shared-lib/dto/transaction/transaction.request.dto.js +9 -9
  193. package/dist/esm/shared-lib/dto/user/index.js +3 -3
  194. package/dist/esm/shared-lib/dto/user/user.dto.d.ts +9 -0
  195. package/dist/esm/shared-lib/dto/user/user.dto.d.ts.map +1 -1
  196. package/dist/esm/shared-lib/dto/user/user.dto.js +37 -3
  197. package/dist/esm/shared-lib/dto/user/user.dto.js.map +1 -1
  198. package/dist/esm/shared-lib/dto/user/user.request.dto.js +1 -1
  199. package/dist/esm/shared-lib/dto/user/userUploadData.dto.js +1 -1
  200. package/dist/esm/shared-lib/dto/user-status-type.dto.d.ts +1 -2
  201. package/dist/esm/shared-lib/dto/user-status-type.dto.d.ts.map +1 -1
  202. package/dist/esm/shared-lib/dto/user-status-type.dto.js +12 -15
  203. package/dist/esm/shared-lib/dto/user-status-type.dto.js.map +1 -1
  204. package/dist/esm/shared-lib/dto/wallet.dto.js +2 -2
  205. package/dist/esm/shared-lib/dto/web3-contract.dto.js +3 -3
  206. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.d.ts +43 -0
  207. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.d.ts.map +1 -0
  208. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.js +45 -0
  209. package/dist/esm/shared-lib/enum/ai-analytics-metric.enum.js.map +1 -0
  210. package/dist/esm/shared-lib/enum/ai-operation-type.enum.d.ts +21 -0
  211. package/dist/esm/shared-lib/enum/ai-operation-type.enum.d.ts.map +1 -0
  212. package/dist/esm/shared-lib/enum/ai-operation-type.enum.js +22 -0
  213. package/dist/esm/shared-lib/enum/ai-operation-type.enum.js.map +1 -0
  214. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.d.ts +13 -0
  215. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.d.ts.map +1 -0
  216. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.js +14 -0
  217. package/dist/esm/shared-lib/enum/ai-trigger-process-type.enum.js.map +1 -0
  218. package/dist/esm/shared-lib/enum/balance-migration-type.enum.d.ts +13 -0
  219. package/dist/esm/shared-lib/enum/balance-migration-type.enum.d.ts.map +1 -0
  220. package/dist/esm/shared-lib/enum/balance-migration-type.enum.js +14 -0
  221. package/dist/esm/shared-lib/enum/balance-migration-type.enum.js.map +1 -0
  222. package/dist/esm/shared-lib/enum/campaign/index.js +3 -3
  223. package/dist/esm/shared-lib/enum/index.d.ts +4 -0
  224. package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
  225. package/dist/esm/shared-lib/enum/index.js +28 -24
  226. package/dist/esm/shared-lib/enum/index.js.map +1 -1
  227. package/dist/esm/shared-lib/enum/purchase/index.js +2 -2
  228. package/dist/esm/shared-lib/errors/base-business-error.js +1 -1
  229. package/dist/esm/shared-lib/errors/domains/authentication-errors.js +3 -3
  230. package/dist/esm/shared-lib/errors/domains/balance-errors.js +2 -2
  231. package/dist/esm/shared-lib/errors/domains/business-errors.js +2 -2
  232. package/dist/esm/shared-lib/errors/domains/campaign-errors.js +2 -2
  233. package/dist/esm/shared-lib/errors/domains/contract-errors.js +2 -2
  234. package/dist/esm/shared-lib/errors/domains/signing-account-errors.js +2 -2
  235. package/dist/esm/shared-lib/errors/domains/system-errors.js +2 -2
  236. package/dist/esm/shared-lib/errors/domains/tenant-errors.js +2 -2
  237. package/dist/esm/shared-lib/errors/domains/token-errors.js +2 -2
  238. package/dist/esm/shared-lib/errors/domains/transaction-errors.js +2 -2
  239. package/dist/esm/shared-lib/errors/domains/trigger-source-errors.js +2 -2
  240. package/dist/esm/shared-lib/errors/domains/user-errors.js +2 -2
  241. package/dist/esm/shared-lib/errors/domains/validation-errors.js +2 -2
  242. package/dist/esm/shared-lib/errors/domains/wallet-errors.js +2 -2
  243. package/dist/esm/shared-lib/errors/index.js +18 -18
  244. package/dist/esm/shared-lib/errors/technical-errors.js +2 -2
  245. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.d.ts +19 -0
  246. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.d.ts.map +1 -0
  247. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.js +2 -0
  248. package/dist/esm/shared-lib/interfaces/ai-prompt-config.interface.js.map +1 -0
  249. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.d.ts +43 -0
  250. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.d.ts.map +1 -0
  251. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.js +2 -0
  252. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.js.map +1 -0
  253. package/dist/esm/shared-lib/interfaces/campaign/index.js +1 -1
  254. package/dist/esm/shared-lib/interfaces/index.d.ts +2 -0
  255. package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
  256. package/dist/esm/shared-lib/interfaces/index.js +21 -19
  257. package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
  258. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.d.ts +5 -1
  259. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.d.ts.map +1 -1
  260. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.js +4 -0
  261. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.js.map +1 -1
  262. package/dist/esm/shared-lib/types/index.d.ts +1 -0
  263. package/dist/esm/shared-lib/types/index.d.ts.map +1 -1
  264. package/dist/esm/shared-lib/types/index.js +15 -14
  265. package/dist/esm/shared-lib/types/index.js.map +1 -1
  266. package/dist/esm/shared-lib/types/user-include-relation.type.d.ts +11 -0
  267. package/dist/esm/shared-lib/types/user-include-relation.type.d.ts.map +1 -0
  268. package/dist/esm/shared-lib/types/user-include-relation.type.js +12 -0
  269. package/dist/esm/shared-lib/types/user-include-relation.type.js.map +1 -0
  270. package/dist/esm/shared-lib/value-objects/account-selector.vo.js +3 -3
  271. package/dist/esm/shared-lib/value-objects/address.value-object.js +1 -1
  272. package/dist/esm/shared-lib/value-objects/index.js +8 -8
  273. package/dist/esm/shared-lib/value-objects/token-balance.value-object.d.ts +18 -1
  274. package/dist/esm/shared-lib/value-objects/token-balance.value-object.d.ts.map +1 -1
  275. package/dist/esm/shared-lib/value-objects/token-balance.value-object.js +24 -2
  276. package/dist/esm/shared-lib/value-objects/token-balance.value-object.js.map +1 -1
  277. package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js +2 -2
  278. package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.js +2 -2
  279. package/dist/esm/shared-patterns/errors/error-factory.js +13 -13
  280. package/dist/esm/shared-patterns/functions/helper.functions.d.ts +71 -0
  281. package/dist/esm/shared-patterns/functions/helper.functions.d.ts.map +1 -0
  282. package/dist/esm/shared-patterns/functions/helper.functions.js +174 -0
  283. package/dist/esm/shared-patterns/functions/helper.functions.js.map +1 -0
  284. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"token-balance.value-object.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-balance.value-object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD;;GAEG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAE5C;;;;;;;;;;;OAWG;gBAEC,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,OAAO,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,YAAO,EAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,YAAO,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe;IAa9B;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,uBAAuB,IAAI,OAAO;IAIzC;;;;OAIG;IACI,UAAU,IAAI,MAAM,GAAG,IAAI;IAIlC;;;;OAIG;IACI,cAAc,IAAI,MAAM,GAAG,IAAI;IAItC;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;OAIG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;OAIG;IACI,YAAY,IAAI,eAAe;IAItC;;;;OAIG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;CAS9C"}
1
+ {"version":3,"file":"token-balance.value-object.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-balance.value-object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD;;GAEG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC;;;;;;;;;;;;OAYG;gBAEC,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,OAAO,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,YAAO,EAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,YAAO,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,EAAE,wDAAwD;IACpF,UAAU,GAAE,IAAI,GAAG,IAAW;IAalC;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,uBAAuB,IAAI,OAAO;IAIzC;;;;OAIG;IACI,UAAU,IAAI,MAAM,GAAG,IAAI;IAIlC;;;;OAIG;IACI,cAAc,IAAI,MAAM,GAAG,IAAI;IAItC;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;OAIG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;OAIG;IACI,YAAY,IAAI,eAAe;IAItC;;;;OAIG;IACI,aAAa,IAAI,IAAI,GAAG,IAAI;IAInC;;;;;;OAMG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;OAIG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;CAS9C"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TokenBalance = void 0;
4
+ const helper_functions_1 = require("../../shared-patterns/functions/helper.functions");
4
5
  /**
5
6
  * Value object representing the token balance details.
6
7
  */
@@ -13,6 +14,7 @@ class TokenBalance {
13
14
  tokenName;
14
15
  tokenSymbol;
15
16
  tokenType;
17
+ expiryDate;
16
18
  /**
17
19
  * Constructs a new TokenBalance value object.
18
20
  *
@@ -24,9 +26,10 @@ class TokenBalance {
24
26
  * @param {string} tokenName - The name of the token.
25
27
  * @param {string} tokenSymbol - The symbol of the token.
26
28
  * @param {NativeTokenType} tokenType - The type of the token (e.g., ERC20, ERC721).
29
+ * @param {Date | null} expiryDate - The expiry date of the token (optional).
27
30
  */
28
- constructor(chainId, smartContractAddress, tokenId = null, metadataUri = null, balance, tokenName, tokenSymbol, tokenType // = NativeTokenType.ERC20 // Default value set to ERC20
29
- ) {
31
+ constructor(chainId, smartContractAddress, tokenId = null, metadataUri = null, balance, tokenName, tokenSymbol, tokenType, // = NativeTokenType.ERC20 // Default value set to ERC20
32
+ expiryDate = null) {
30
33
  this.chainId = chainId;
31
34
  this.smartContractAddress = smartContractAddress;
32
35
  this.tokenId = tokenId;
@@ -35,6 +38,7 @@ class TokenBalance {
35
38
  this.tokenName = tokenName;
36
39
  this.tokenSymbol = tokenSymbol;
37
40
  this.tokenType = tokenType;
41
+ this.expiryDate = expiryDate;
38
42
  }
39
43
  /**
40
44
  * Gets the chain ID.
@@ -100,6 +104,24 @@ class TokenBalance {
100
104
  getTokenType() {
101
105
  return this.tokenType;
102
106
  }
107
+ /**
108
+ * Gets the expiry date of the token.
109
+ *
110
+ * @returns {Date | null} The expiry date (or null if no expiry).
111
+ */
112
+ getExpiryDate() {
113
+ return this.expiryDate;
114
+ }
115
+ /**
116
+ * Checks if the token has expired.
117
+ * Uses shared isTokenExpired helper for consistent date comparison logic.
118
+ *
119
+ * @returns {boolean} True if the token has an expiry date and it has passed.
120
+ * Returns false if no expiry date (never expires).
121
+ */
122
+ isExpired() {
123
+ return (0, helper_functions_1.isTokenExpired)(this.expiryDate) ?? false;
124
+ }
103
125
  /**
104
126
  * Returns a string representation of the TokenBalance.
105
127
  *
@@ -1 +1 @@
1
- {"version":3,"file":"token-balance.value-object.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-balance.value-object.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,MAAa,YAAY;IACJ,OAAO,CAAS;IAChB,oBAAoB,CAAU;IAC9B,OAAO,CAAgB;IACvB,WAAW,CAAgB;IAC3B,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,SAAS,CAAkB;IAE5C;;;;;;;;;;;OAWG;IACH,YACI,OAAe,EACf,oBAA6B,EAC7B,UAAyB,IAAI,EAC7B,cAA6B,IAAI,EACjC,OAAe,EACf,SAAiB,EACjB,WAAmB,EACnB,SAA0B,CAAC,wDAAwD;;QAGnF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,uBAAuB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,cAAc;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,cAAc;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,OAAO,2BAA2B,IAAI,CAAC,OAAO,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,OAAO,gBAAgB,IAAI,CAAC,SAAS,kBAAkB,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,SAAS,GAAG,CAAC;IAChQ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAmB;QAC7B,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,UAAU,EAAE;YACtC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACjE,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,EAAE;YACvC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc,EAAE;YAC3C,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;CACJ;AA3ID,oCA2IC"}
1
+ {"version":3,"file":"token-balance.value-object.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-balance.value-object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { type TokenValidityType } from '../../shared-lib/enum/token-validity-type.enum';
2
+ import { TokenStorageData } from '../../shared-lib/interfaces/token-storage-data.interface';
3
+ /**
4
+ * Parses a comma-separated string into an array of strings.
5
+ *
6
+ * @param commaSeparatedString - The string to parse.
7
+ * @returns An array of trimmed, non-empty strings.
8
+ */
9
+ export declare const parseCommaSeparatedStringToStringArray: (commaSeparatedString: string | null) => string[];
10
+ export declare const checkIfTokenIdIsUri: (tokenId: string | null) => boolean;
11
+ export declare const compareVersions: (version1: string, version2: string) => number;
12
+ /**
13
+ * Computes the expiry date based on validity configuration.
14
+ *
15
+ * @param validityType - The type of validity calculation
16
+ * @param validityDuration - Duration in days or hours (for relative types)
17
+ * @param fixedExpiryDate - Fixed expiry date (for fixed_date type)
18
+ * @param issuanceDate - The date of issuance (defaults to now)
19
+ * @returns The computed expiry date, or undefined if no validity is configured
20
+ */
21
+ export declare const computeExpiryDate: (validityType?: TokenValidityType, validityDuration?: number, fixedExpiryDate?: Date, issuanceDate?: Date) => Date | undefined;
22
+ /**
23
+ * Checks if a token has expired based on its expiry date.
24
+ *
25
+ * @param expiryDate - The expiry date to check
26
+ * @param referenceDate - The date to compare against (defaults to now)
27
+ * @returns true if expired, false if still valid, undefined if no expiry date
28
+ */
29
+ export declare const isTokenExpired: (expiryDate?: Date | null, referenceDate?: Date) => boolean | undefined;
30
+ /**
31
+ * Normalizes an array of tags for consistent storage.
32
+ * - Converts to lowercase
33
+ * - Trims whitespace
34
+ * - Replaces spaces with dashes
35
+ * - Removes duplicates
36
+ * - Filters out empty strings
37
+ *
38
+ * @param tags - Array of tag strings to normalize
39
+ * @returns Normalized, deduplicated array of tags
40
+ *
41
+ * @example
42
+ * normalizeTags(['Summer', ' VIP ', 'Black Friday', 'summer'])
43
+ * // Returns: ['summer', 'vip', 'black-friday']
44
+ */
45
+ export declare const normalizeTags: (tags?: string[] | null) => string[];
46
+ /**
47
+ * Extracts the expiry_date attribute from token metadata (OpenSea standard format).
48
+ * This is the inverse operation of computeExpiryDate - it reads the expiry that was
49
+ * stored in the metadata when the token was minted.
50
+ *
51
+ * @param metadata - The token metadata object containing attributes array
52
+ * @returns The expiry date if found, null otherwise
53
+ *
54
+ * @example
55
+ * const metadata = { attributes: [{ trait_type: 'expiry_date', value: '2024-12-31T23:59:59.000Z' }] };
56
+ * extractExpiryDateFromMetadata(metadata); // Returns Date object
57
+ */
58
+ export declare const extractExpiryDateFromMetadata: (metadata: TokenStorageData | null) => Date | null;
59
+ /**
60
+ * Extracts tags from token metadata (OpenSea standard format).
61
+ * Tags are stored as a comma-separated string in the 'Tags' attribute.
62
+ *
63
+ * @param metadata - The token metadata object containing attributes array
64
+ * @returns Array of tags found in the metadata, or empty array if none
65
+ *
66
+ * @example
67
+ * const metadata = { attributes: [{ trait_type: 'Tags', value: 'techno, mindfulness' }] };
68
+ * extractTagsFromMetadata(metadata); // Returns ['techno', 'mindfulness']
69
+ */
70
+ export declare const extractTagsFromMetadata: (metadata: TokenStorageData | null) => string[];
71
+ //# sourceMappingURL=helper.functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAkC,MAAM,0DAA0D,CAAC;AAE5H;;;;;KAKK;AACL,eAAO,MAAM,sCAAsC,GAAI,sBAAsB,MAAM,GAAG,IAAI,KAAG,MAAM,EAI9F,CAAA;AAGL,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,OAM5D,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,MAWpE,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,eAAe,iBAAiB,EAChC,mBAAmB,MAAM,EACzB,kBAAkB,IAAI,EACtB,eAAc,IAAiB,KAC9B,IAAI,GAAG,SA6CT,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,aAAa,IAAI,GAAG,IAAI,EACxB,gBAAe,IAAiB,KAC/B,OAAO,GAAG,SAGZ,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,GAAG,IAAI,KAAG,MAAM,EAgB5D,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,UAAU,gBAAgB,GAAG,IAAI,KAAG,IAAI,GAAG,IAaxF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,UAAU,gBAAgB,GAAG,IAAI,KAAG,MAAM,EAiBjF,CAAA"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractTagsFromMetadata = exports.extractExpiryDateFromMetadata = exports.normalizeTags = exports.isTokenExpired = exports.computeExpiryDate = exports.compareVersions = exports.checkIfTokenIdIsUri = exports.parseCommaSeparatedStringToStringArray = void 0;
4
+ const token_validity_type_enum_1 = require("../../shared-lib/enum/token-validity-type.enum");
5
+ const token_storage_data_interface_1 = require("../../shared-lib/interfaces/token-storage-data.interface");
6
+ /**
7
+ * Parses a comma-separated string into an array of strings.
8
+ *
9
+ * @param commaSeparatedString - The string to parse.
10
+ * @returns An array of trimmed, non-empty strings.
11
+ */
12
+ const parseCommaSeparatedStringToStringArray = (commaSeparatedString) => {
13
+ return commaSeparatedString
14
+ ? commaSeparatedString.split(',').map((s) => s.trim()).filter(Boolean)
15
+ : [];
16
+ };
17
+ exports.parseCommaSeparatedStringToStringArray = parseCommaSeparatedStringToStringArray;
18
+ const checkIfTokenIdIsUri = (tokenId) => {
19
+ const uriRegex = /^(https?|ipfs):\/\/.*/;
20
+ if (!tokenId || !uriRegex.test(tokenId)) {
21
+ return false;
22
+ }
23
+ return true;
24
+ };
25
+ exports.checkIfTokenIdIsUri = checkIfTokenIdIsUri;
26
+ const compareVersions = (version1, version2) => {
27
+ const v1 = version1.split('.').map(Number);
28
+ const v2 = version2.split('.').map(Number);
29
+ for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
30
+ const num1 = v1[i] || 0;
31
+ const num2 = v2[i] || 0;
32
+ if (num1 > num2)
33
+ return 1;
34
+ if (num1 < num2)
35
+ return -1;
36
+ }
37
+ return 0;
38
+ };
39
+ exports.compareVersions = compareVersions;
40
+ /**
41
+ * Computes the expiry date based on validity configuration.
42
+ *
43
+ * @param validityType - The type of validity calculation
44
+ * @param validityDuration - Duration in days or hours (for relative types)
45
+ * @param fixedExpiryDate - Fixed expiry date (for fixed_date type)
46
+ * @param issuanceDate - The date of issuance (defaults to now)
47
+ * @returns The computed expiry date, or undefined if no validity is configured
48
+ */
49
+ const computeExpiryDate = (validityType, validityDuration, fixedExpiryDate, issuanceDate = new Date()) => {
50
+ if (!validityType) {
51
+ // Fallback to fixed expiry date if no validity type specified
52
+ return fixedExpiryDate;
53
+ }
54
+ switch (validityType) {
55
+ case token_validity_type_enum_1.TokenValidityTypes.FIXED_DATE:
56
+ return fixedExpiryDate;
57
+ case token_validity_type_enum_1.TokenValidityTypes.DAYS_FROM_ISSUANCE:
58
+ if (!validityDuration || validityDuration <= 0)
59
+ return undefined;
60
+ const daysResult = new Date(issuanceDate);
61
+ daysResult.setDate(daysResult.getDate() + validityDuration);
62
+ return daysResult;
63
+ case token_validity_type_enum_1.TokenValidityTypes.HOURS_FROM_ISSUANCE:
64
+ if (!validityDuration || validityDuration <= 0)
65
+ return undefined;
66
+ const hoursResult = new Date(issuanceDate);
67
+ hoursResult.setHours(hoursResult.getHours() + validityDuration);
68
+ return hoursResult;
69
+ case token_validity_type_enum_1.TokenValidityTypes.MONTHS_FROM_ISSUANCE:
70
+ if (!validityDuration || validityDuration <= 0)
71
+ return undefined;
72
+ const monthsResult = new Date(issuanceDate);
73
+ monthsResult.setMonth(monthsResult.getMonth() + validityDuration);
74
+ return monthsResult;
75
+ case token_validity_type_enum_1.TokenValidityTypes.END_OF_MONTH:
76
+ const endOfMonth = new Date(issuanceDate);
77
+ endOfMonth.setMonth(endOfMonth.getMonth() + 1);
78
+ endOfMonth.setDate(0); // Last day of previous month (i.e., current month)
79
+ endOfMonth.setHours(23, 59, 59, 999);
80
+ return endOfMonth;
81
+ case token_validity_type_enum_1.TokenValidityTypes.END_OF_YEAR:
82
+ const endOfYear = new Date(issuanceDate);
83
+ endOfYear.setMonth(11); // December
84
+ endOfYear.setDate(31);
85
+ endOfYear.setHours(23, 59, 59, 999);
86
+ return endOfYear;
87
+ default:
88
+ return fixedExpiryDate;
89
+ }
90
+ };
91
+ exports.computeExpiryDate = computeExpiryDate;
92
+ /**
93
+ * Checks if a token has expired based on its expiry date.
94
+ *
95
+ * @param expiryDate - The expiry date to check
96
+ * @param referenceDate - The date to compare against (defaults to now)
97
+ * @returns true if expired, false if still valid, undefined if no expiry date
98
+ */
99
+ const isTokenExpired = (expiryDate, referenceDate = new Date()) => {
100
+ if (!expiryDate)
101
+ return undefined;
102
+ return new Date(expiryDate) < referenceDate;
103
+ };
104
+ exports.isTokenExpired = isTokenExpired;
105
+ /**
106
+ * Normalizes an array of tags for consistent storage.
107
+ * - Converts to lowercase
108
+ * - Trims whitespace
109
+ * - Replaces spaces with dashes
110
+ * - Removes duplicates
111
+ * - Filters out empty strings
112
+ *
113
+ * @param tags - Array of tag strings to normalize
114
+ * @returns Normalized, deduplicated array of tags
115
+ *
116
+ * @example
117
+ * normalizeTags(['Summer', ' VIP ', 'Black Friday', 'summer'])
118
+ * // Returns: ['summer', 'vip', 'black-friday']
119
+ */
120
+ const normalizeTags = (tags) => {
121
+ if (!tags || !Array.isArray(tags))
122
+ return [];
123
+ const normalized = tags
124
+ .map(tag => tag
125
+ .toLowerCase()
126
+ .trim()
127
+ .replace(/\s+/g, '-') // Replace spaces with dashes
128
+ .replace(/[^a-z0-9-]/g, '') // Remove special characters except dashes
129
+ .replace(/-+/g, '-') // Replace multiple dashes with single
130
+ .replace(/^-|-$/g, '') // Remove leading/trailing dashes
131
+ )
132
+ .filter(Boolean); // Remove empty strings
133
+ return [...new Set(normalized)]; // Remove duplicates
134
+ };
135
+ exports.normalizeTags = normalizeTags;
136
+ /**
137
+ * Extracts the expiry_date attribute from token metadata (OpenSea standard format).
138
+ * This is the inverse operation of computeExpiryDate - it reads the expiry that was
139
+ * stored in the metadata when the token was minted.
140
+ *
141
+ * @param metadata - The token metadata object containing attributes array
142
+ * @returns The expiry date if found, null otherwise
143
+ *
144
+ * @example
145
+ * const metadata = { attributes: [{ trait_type: 'expiry_date', value: '2024-12-31T23:59:59.000Z' }] };
146
+ * extractExpiryDateFromMetadata(metadata); // Returns Date object
147
+ */
148
+ const extractExpiryDateFromMetadata = (metadata) => {
149
+ if (!metadata?.attributes)
150
+ return null;
151
+ // Case-insensitive comparison to handle legacy formats
152
+ const expiryAttribute = metadata.attributes.find(attr => attr.trait_type.toLowerCase() === token_storage_data_interface_1.TokenStorageDataAttributesType.EXPIRY_DATE.toLowerCase());
153
+ if (expiryAttribute?.value) {
154
+ return new Date(expiryAttribute.value);
155
+ }
156
+ return null;
157
+ };
158
+ exports.extractExpiryDateFromMetadata = extractExpiryDateFromMetadata;
159
+ /**
160
+ * Extracts tags from token metadata (OpenSea standard format).
161
+ * Tags are stored as a comma-separated string in the 'Tags' attribute.
162
+ *
163
+ * @param metadata - The token metadata object containing attributes array
164
+ * @returns Array of tags found in the metadata, or empty array if none
165
+ *
166
+ * @example
167
+ * const metadata = { attributes: [{ trait_type: 'Tags', value: 'techno, mindfulness' }] };
168
+ * extractTagsFromMetadata(metadata); // Returns ['techno', 'mindfulness']
169
+ */
170
+ const extractTagsFromMetadata = (metadata) => {
171
+ if (!metadata?.attributes)
172
+ return [];
173
+ // Case-insensitive comparison to handle legacy formats ('Tags', 'tags', etc.)
174
+ const tagsAttribute = metadata.attributes.find(attr => attr.trait_type.toLowerCase() === token_storage_data_interface_1.TokenStorageDataAttributesType.TAGS.toLowerCase());
175
+ if (tagsAttribute?.value) {
176
+ // Tags are stored as comma-separated string, split and trim
177
+ return tagsAttribute.value
178
+ .split(',')
179
+ .map(tag => tag.trim())
180
+ .filter(Boolean);
181
+ }
182
+ return [];
183
+ };
184
+ exports.extractTagsFromMetadata = extractTagsFromMetadata;
185
+ //# sourceMappingURL=helper.functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  * Uses barrel exports for automatic inclusion - no manual maintenance needed!
4
4
  */
5
5
  // Export enums - these are safe for browser use (barrel export)
6
- export * from './shared-lib/enum/index.js';
6
+ export * from './shared-lib/enum';
7
7
  // Export types and constants (runtime exports) - browser-safe only
8
- export * from './shared-lib/types/index.js';
8
+ export * from './shared-lib/types';
9
9
  // Re-export web3 types for convenience
10
10
  export * from '@explorins/web3-types';
11
11
  // Note: Backend-specific types (like TRANSACTION_FORMATS) are excluded from browser build
package/dist/esm/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  // PERS Shared Contracts Library - Pure Data Contracts and Domain Vocabulary
2
2
  // 🌐 PUBLIC: Safe for external consumption - contains only DTOs, interfaces, types, and enums
3
3
  // Core domain contracts
4
- export * from './shared-lib/enum/index.js';
5
- export * from './shared-lib/interfaces/index.js';
6
- export * from './shared-lib/types/index.js';
4
+ export * from './shared-lib/enum';
5
+ export * from './shared-lib/interfaces';
6
+ export * from './shared-lib/types';
7
7
  // Re-export web3 types for convenience
8
8
  export * from '@explorins/web3-types';
9
- export { ErrorCategory } from './shared-lib/errors/base/error-classification-enums.js';
9
+ export { ErrorCategory } from './shared-lib/errors/base/error-classification-enums';
10
10
  // Shared patterns (architecture components)
11
- // export * from './shared-patterns/index.js';
11
+ // export * from './shared-patterns/index';
12
12
  // External consumers should only use the type exports and documented public APIs
13
13
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- export * from './validation.decorators.js';
1
+ export * from './validation.decorators';
2
2
  //# sourceMappingURL=index.js.map
@@ -6,8 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
8
8
  import { IsString, IsEnum } from "class-validator";
9
- import { AccountOwnerType } from "../enum/index.js";
10
- import { OptionalStrip } from '../decorators/index.js';
9
+ import { AccountOwnerType } from "../enum";
10
+ import { OptionalStrip } from '../decorators';
11
11
  /**
12
12
  * Standard Account Identification for Transaction Participants
13
13
  * Supports multiple identification methods with auto-detection
@@ -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 } from "@nestjs/swagger";
8
- import { TokenBalanceDTO, TokenMetadataBalanceDTO } from "./token/token-balance.dto.js";
8
+ import { TokenBalanceDTO, TokenMetadataBalanceDTO } from "./token/token-balance.dto";
9
9
  export class AccountTokenBalancesDTO {
10
10
  accountAddress = '';
11
11
  tokenBalances = [];
@@ -6,8 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
8
8
  import { IsNotEmpty, IsEmail, IsString, IsEnum } from 'class-validator';
9
- import { AdminType } from './../../enum/admin-type.enum.js';
10
- import { OptionalStrip } from '../../decorators/index.js';
9
+ import { AdminType } from './../../enum/admin-type.enum';
10
+ import { OptionalStrip } from '../../decorators';
11
11
  export class AdminCreateRequestDTO {
12
12
  email = '';
13
13
  displayName;
@@ -5,8 +5,8 @@ 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 { AdminType } from "../../enum/admin-type.enum.js";
9
- import { TenantDTO } from "./../tenant/index.js";
8
+ import { AdminType } from "../../enum/admin-type.enum";
9
+ import { TenantDTO } from "./../tenant";
10
10
  export class AdminDTO {
11
11
  id = '';
12
12
  email = '';
@@ -1,3 +1,3 @@
1
- export * from './admin-create.request.dto.js';
2
- export * from './admin.dto.js';
1
+ export * from './admin-create.request.dto';
2
+ export * from './admin.dto';
3
3
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,35 @@
1
+ import { AiOperationType } from '../../enum/ai-operation-type.enum';
2
+ import { AiTriggerProcessType } from '../../enum/ai-trigger-process-type.enum';
3
+ /**
4
+ * AI Generation Log DTO
5
+ *
6
+ * Represents an AI generation operation record.
7
+ * Used for:
8
+ * - API responses from AI module
9
+ * - Cross-domain analytics queries
10
+ * - Billing and usage tracking
11
+ *
12
+ * DDD: Shared Kernel - used by AI module and Analytics module
13
+ */
14
+ export declare class AiGenerationLogDTO {
15
+ id: string;
16
+ tenantId: string;
17
+ userId?: string;
18
+ operationType: AiOperationType;
19
+ triggerProcessType?: AiTriggerProcessType | null;
20
+ triggerProcessId?: string | null;
21
+ model: string;
22
+ promptHash?: string | null;
23
+ promptPreview?: string | null;
24
+ inputTokens: number;
25
+ outputTokens: number;
26
+ totalTokens: number;
27
+ estimatedCostUsd: number;
28
+ responseTimeMs: number;
29
+ success: boolean;
30
+ message?: string | null;
31
+ metadata?: Record<string, unknown> | null;
32
+ createdAt: Date;
33
+ updatedAt: Date;
34
+ }
35
+ //# sourceMappingURL=ai-generation-log.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-generation-log.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/ai-generation-log.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAK7B,EAAE,EAAG,MAAM,CAAC;IAMZ,QAAQ,EAAG,MAAM,CAAC;IAMlB,MAAM,CAAC,EAAE,MAAM,CAAC;IAOhB,aAAa,EAAG,eAAe,CAAC;IAOhC,kBAAkB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAMjD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMjC,KAAK,EAAG,MAAM,CAAC;IAMf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM9B,WAAW,EAAG,MAAM,CAAC;IAMrB,YAAY,EAAG,MAAM,CAAC;IAMtB,WAAW,EAAG,MAAM,CAAC;IAMrB,gBAAgB,EAAG,MAAM,CAAC;IAM1B,cAAc,EAAG,MAAM,CAAC;IAMxB,OAAO,EAAG,OAAO,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAM1C,SAAS,EAAG,IAAI,CAAC;IAMjB,SAAS,EAAG,IAAI,CAAC;CAClB"}
@@ -0,0 +1,158 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
8
+ import { AiOperationType } from '../../enum/ai-operation-type.enum';
9
+ import { AiTriggerProcessType } from '../../enum/ai-trigger-process-type.enum';
10
+ /**
11
+ * AI Generation Log DTO
12
+ *
13
+ * Represents an AI generation operation record.
14
+ * Used for:
15
+ * - API responses from AI module
16
+ * - Cross-domain analytics queries
17
+ * - Billing and usage tracking
18
+ *
19
+ * DDD: Shared Kernel - used by AI module and Analytics module
20
+ */
21
+ export class AiGenerationLogDTO {
22
+ id;
23
+ tenantId;
24
+ userId;
25
+ operationType;
26
+ triggerProcessType;
27
+ triggerProcessId;
28
+ model;
29
+ promptHash;
30
+ promptPreview;
31
+ inputTokens;
32
+ outputTokens;
33
+ totalTokens;
34
+ estimatedCostUsd;
35
+ responseTimeMs;
36
+ success;
37
+ message;
38
+ metadata;
39
+ createdAt;
40
+ updatedAt;
41
+ }
42
+ __decorate([
43
+ ApiProperty({
44
+ description: 'Unique identifier',
45
+ example: '123e4567-e89b-12d3-a456-426614174000'
46
+ })
47
+ ], AiGenerationLogDTO.prototype, "id", void 0);
48
+ __decorate([
49
+ ApiProperty({
50
+ description: 'Tenant identifier (auto-populated via RLS)',
51
+ example: 'tenant-123'
52
+ })
53
+ ], AiGenerationLogDTO.prototype, "tenantId", void 0);
54
+ __decorate([
55
+ ApiPropertyOptional({
56
+ description: 'User who triggered the generation (null for system operations)',
57
+ example: '123e4567-e89b-12d3-a456-426614174000'
58
+ })
59
+ ], AiGenerationLogDTO.prototype, "userId", void 0);
60
+ __decorate([
61
+ ApiProperty({
62
+ description: 'Type of AI operation performed',
63
+ enum: AiOperationType,
64
+ example: AiOperationType.TEXT_GENERATION
65
+ })
66
+ ], AiGenerationLogDTO.prototype, "operationType", void 0);
67
+ __decorate([
68
+ ApiPropertyOptional({
69
+ description: 'Business process that triggered this AI generation (for cost allocation)',
70
+ enum: AiTriggerProcessType,
71
+ example: AiTriggerProcessType.TRANSACTION
72
+ })
73
+ ], AiGenerationLogDTO.prototype, "triggerProcessType", void 0);
74
+ __decorate([
75
+ ApiPropertyOptional({
76
+ description: 'ID of the entity that triggered this generation (e.g., Transaction ID)',
77
+ example: '123e4567-e89b-12d3-a456-426614174000'
78
+ })
79
+ ], AiGenerationLogDTO.prototype, "triggerProcessId", void 0);
80
+ __decorate([
81
+ ApiProperty({
82
+ description: 'Model used for generation',
83
+ example: 'gemini-2.5-flash'
84
+ })
85
+ ], AiGenerationLogDTO.prototype, "model", void 0);
86
+ __decorate([
87
+ ApiPropertyOptional({
88
+ description: 'SHA256 hash of prompt for deduplication (privacy-aware)',
89
+ example: 'a1b2c3d4e5f6...'
90
+ })
91
+ ], AiGenerationLogDTO.prototype, "promptHash", void 0);
92
+ __decorate([
93
+ ApiPropertyOptional({
94
+ description: 'First N characters of prompt for debugging',
95
+ example: 'Generate a description for...'
96
+ })
97
+ ], AiGenerationLogDTO.prototype, "promptPreview", void 0);
98
+ __decorate([
99
+ ApiProperty({
100
+ description: 'Number of input tokens',
101
+ example: 150
102
+ })
103
+ ], AiGenerationLogDTO.prototype, "inputTokens", void 0);
104
+ __decorate([
105
+ ApiProperty({
106
+ description: 'Number of output tokens',
107
+ example: 500
108
+ })
109
+ ], AiGenerationLogDTO.prototype, "outputTokens", void 0);
110
+ __decorate([
111
+ ApiProperty({
112
+ description: 'Total tokens (input + output)',
113
+ example: 650
114
+ })
115
+ ], AiGenerationLogDTO.prototype, "totalTokens", void 0);
116
+ __decorate([
117
+ ApiProperty({
118
+ description: 'Estimated cost in USD',
119
+ example: 0.0013
120
+ })
121
+ ], AiGenerationLogDTO.prototype, "estimatedCostUsd", void 0);
122
+ __decorate([
123
+ ApiProperty({
124
+ description: 'Response time in milliseconds',
125
+ example: 1250
126
+ })
127
+ ], AiGenerationLogDTO.prototype, "responseTimeMs", void 0);
128
+ __decorate([
129
+ ApiProperty({
130
+ description: 'Whether the operation succeeded',
131
+ example: true
132
+ })
133
+ ], AiGenerationLogDTO.prototype, "success", void 0);
134
+ __decorate([
135
+ ApiPropertyOptional({
136
+ description: 'Message (error details if failed, or context info)',
137
+ example: null
138
+ })
139
+ ], AiGenerationLogDTO.prototype, "message", void 0);
140
+ __decorate([
141
+ ApiPropertyOptional({
142
+ description: 'Additional metadata (generation options, temperature, etc.)',
143
+ example: { temperature: 0.7, thinkingLevel: 'medium' }
144
+ })
145
+ ], AiGenerationLogDTO.prototype, "metadata", void 0);
146
+ __decorate([
147
+ ApiProperty({
148
+ description: 'Creation timestamp',
149
+ example: '2026-03-12T10:30:00Z'
150
+ })
151
+ ], AiGenerationLogDTO.prototype, "createdAt", void 0);
152
+ __decorate([
153
+ ApiProperty({
154
+ description: 'Last update timestamp',
155
+ example: '2026-03-12T10:30:00Z'
156
+ })
157
+ ], AiGenerationLogDTO.prototype, "updatedAt", void 0);
158
+ //# sourceMappingURL=ai-generation-log.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-generation-log.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/ai/ai-generation-log.dto.ts"],"names":[],"mappings":"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"}