@windrun-huaiin/backend-core 15.0.0 → 16.0.0

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 (340) hide show
  1. package/LICENSE +1 -1
  2. package/dist/app/api/stripe/checkout/route.js +2 -2
  3. package/dist/app/api/stripe/checkout/route.mjs +1 -1
  4. package/dist/app/api/stripe/customer-portal/route.js +2 -2
  5. package/dist/app/api/stripe/customer-portal/route.mjs +1 -1
  6. package/dist/app/api/user/anonymous/init/route.js +6 -6
  7. package/dist/app/api/user/anonymous/init/route.mjs +1 -1
  8. package/dist/app/api/webhook/clerk/user/route.js +4 -4
  9. package/dist/app/api/webhook/clerk/user/route.mjs +1 -1
  10. package/dist/app/api/webhook/stripe/route.js +2 -2
  11. package/dist/app/api/webhook/stripe/route.mjs +1 -1
  12. package/dist/auth/auth-middleware.js +3 -3
  13. package/dist/auth/auth-middleware.mjs +1 -1
  14. package/dist/auth/auth-utils.js +10 -10
  15. package/dist/auth/auth-utils.mjs +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +44 -0
  19. package/dist/index.mjs +8 -1
  20. package/dist/lib/index.js +19 -0
  21. package/dist/lib/index.mjs +1 -1
  22. package/dist/lib/money-price-helper.js +3 -3
  23. package/dist/lib/money-price-helper.mjs +1 -1
  24. package/dist/lib/stripe-config.js +8 -8
  25. package/dist/lib/stripe-config.mjs +1 -1
  26. package/dist/lib/upstash/qstash.d.ts +20 -7
  27. package/dist/lib/upstash/qstash.d.ts.map +1 -1
  28. package/dist/lib/upstash/qstash.js +45 -19
  29. package/dist/lib/upstash/qstash.mjs +35 -9
  30. package/dist/lib/upstash/redis-counter.js +7 -7
  31. package/dist/lib/upstash/redis-counter.mjs +1 -1
  32. package/dist/lib/upstash/redis-favorite.js +9 -9
  33. package/dist/lib/upstash/redis-favorite.mjs +1 -1
  34. package/dist/lib/upstash/redis-like.js +9 -9
  35. package/dist/lib/upstash/redis-like.mjs +1 -1
  36. package/dist/lib/upstash/redis-lock.js +6 -6
  37. package/dist/lib/upstash/redis-lock.mjs +1 -1
  38. package/dist/lib/upstash/redis-structures.d.ts +83 -0
  39. package/dist/lib/upstash/redis-structures.d.ts.map +1 -1
  40. package/dist/lib/upstash/redis-structures.js +245 -25
  41. package/dist/lib/upstash/redis-structures.mjs +203 -2
  42. package/dist/lib/upstash-config.d.ts.map +1 -1
  43. package/dist/lib/upstash-config.js +90 -18
  44. package/dist/lib/upstash-config.mjs +80 -8
  45. package/dist/prisma/prisma-transaction-util.js +2 -2
  46. package/dist/prisma/prisma-transaction-util.mjs +1 -1
  47. package/dist/services/aggregate/anonymous.aggregate.service.js +6 -6
  48. package/dist/services/aggregate/anonymous.aggregate.service.mjs +1 -1
  49. package/dist/services/aggregate/billing.aggregate.service.js +21 -21
  50. package/dist/services/aggregate/billing.aggregate.service.mjs +1 -1
  51. package/dist/services/aggregate/user.aggregate.service.js +10 -10
  52. package/dist/services/aggregate/user.aggregate.service.mjs +1 -1
  53. package/dist/services/ai/abort.d.ts +2 -0
  54. package/dist/services/ai/abort.d.ts.map +1 -0
  55. package/dist/services/ai/abort.js +24 -0
  56. package/dist/services/ai/abort.mjs +22 -0
  57. package/dist/services/ai/env.d.ts +21 -0
  58. package/dist/services/ai/env.d.ts.map +1 -0
  59. package/dist/services/ai/env.js +85 -0
  60. package/dist/services/ai/env.mjs +80 -0
  61. package/dist/services/ai/error.d.ts +3 -0
  62. package/dist/services/ai/error.d.ts.map +1 -0
  63. package/dist/services/ai/error.js +54 -0
  64. package/dist/services/ai/error.mjs +52 -0
  65. package/dist/services/ai/index.d.ts +9 -0
  66. package/dist/services/ai/index.d.ts.map +1 -0
  67. package/dist/services/ai/index.js +30 -0
  68. package/dist/services/ai/index.mjs +7 -0
  69. package/dist/services/ai/message-builder.d.ts +4 -0
  70. package/dist/services/ai/message-builder.d.ts.map +1 -0
  71. package/dist/services/ai/message-builder.js +15 -0
  72. package/dist/services/ai/message-builder.mjs +13 -0
  73. package/dist/services/ai/mock.d.ts +30 -0
  74. package/dist/services/ai/mock.d.ts.map +1 -0
  75. package/dist/services/ai/mock.js +314 -0
  76. package/dist/services/ai/mock.mjs +308 -0
  77. package/dist/services/ai/openrouter-client.d.ts +12 -0
  78. package/dist/services/ai/openrouter-client.d.ts.map +1 -0
  79. package/dist/services/ai/openrouter-client.js +81 -0
  80. package/dist/services/ai/openrouter-client.mjs +78 -0
  81. package/dist/services/ai/route.d.ts +6 -0
  82. package/dist/services/ai/route.d.ts.map +1 -0
  83. package/dist/services/ai/route.js +178 -0
  84. package/dist/services/ai/route.mjs +173 -0
  85. package/dist/services/ai/types.d.ts +98 -0
  86. package/dist/services/ai/types.d.ts.map +1 -0
  87. package/dist/services/context/user-context-service.js +3 -3
  88. package/dist/services/context/user-context-service.mjs +1 -1
  89. package/dist/services/database/apilog.service.js +14 -14
  90. package/dist/services/database/apilog.service.mjs +1 -1
  91. package/dist/services/database/credit.service.js +20 -20
  92. package/dist/services/database/credit.service.mjs +1 -1
  93. package/dist/services/database/creditAuditLog.service.js +13 -13
  94. package/dist/services/database/creditAuditLog.service.mjs +1 -1
  95. package/dist/services/database/subscription.service.js +16 -16
  96. package/dist/services/database/subscription.service.mjs +1 -1
  97. package/dist/services/database/transaction.service.js +18 -18
  98. package/dist/services/database/transaction.service.mjs +1 -1
  99. package/dist/services/database/user.service.js +14 -14
  100. package/dist/services/database/user.service.mjs +1 -1
  101. package/dist/services/database/userBackup.service.js +15 -15
  102. package/dist/services/database/userBackup.service.mjs +1 -1
  103. package/dist/services/stripe/webhook-handler.js +13 -13
  104. package/dist/services/stripe/webhook-handler.mjs +3 -3
  105. package/package.json +14 -4
  106. package/src/index.ts +1 -0
  107. package/src/lib/upstash/qstash.ts +55 -15
  108. package/src/lib/upstash/redis-structures.ts +248 -0
  109. package/src/lib/upstash-config.ts +106 -4
  110. package/src/services/ai/abort.ts +26 -0
  111. package/src/services/ai/env.ts +120 -0
  112. package/src/services/ai/error.ts +64 -0
  113. package/src/services/ai/index.ts +8 -0
  114. package/src/services/ai/message-builder.ts +17 -0
  115. package/src/services/ai/mock.ts +378 -0
  116. package/src/services/ai/openrouter-client.ts +94 -0
  117. package/src/services/ai/route.ts +218 -0
  118. package/src/services/ai/types.ts +131 -0
  119. package/dist/_virtual/_commonjs-dynamic-modules.js +0 -7
  120. package/dist/_virtual/_commonjs-dynamic-modules.mjs +0 -5
  121. package/dist/_virtual/_commonjsHelpers.js +0 -10
  122. package/dist/_virtual/_commonjsHelpers.mjs +0 -7
  123. package/dist/_virtual/aes.js +0 -5
  124. package/dist/_virtual/aes.mjs +0 -3
  125. package/dist/_virtual/blowfish.js +0 -5
  126. package/dist/_virtual/blowfish.mjs +0 -3
  127. package/dist/_virtual/cipher-core.js +0 -5
  128. package/dist/_virtual/cipher-core.mjs +0 -3
  129. package/dist/_virtual/core.js +0 -5
  130. package/dist/_virtual/core.mjs +0 -3
  131. package/dist/_virtual/enc-base64.js +0 -5
  132. package/dist/_virtual/enc-base64.mjs +0 -3
  133. package/dist/_virtual/enc-base64url.js +0 -5
  134. package/dist/_virtual/enc-base64url.mjs +0 -3
  135. package/dist/_virtual/enc-utf16.js +0 -5
  136. package/dist/_virtual/enc-utf16.mjs +0 -3
  137. package/dist/_virtual/evpkdf.js +0 -5
  138. package/dist/_virtual/evpkdf.mjs +0 -3
  139. package/dist/_virtual/format-hex.js +0 -5
  140. package/dist/_virtual/format-hex.mjs +0 -3
  141. package/dist/_virtual/hmac.js +0 -5
  142. package/dist/_virtual/hmac.mjs +0 -3
  143. package/dist/_virtual/index.js +0 -11
  144. package/dist/_virtual/index.mjs +0 -7
  145. package/dist/_virtual/index2.js +0 -5
  146. package/dist/_virtual/index2.mjs +0 -3
  147. package/dist/_virtual/lib-typedarrays.js +0 -5
  148. package/dist/_virtual/lib-typedarrays.mjs +0 -3
  149. package/dist/_virtual/md5.js +0 -5
  150. package/dist/_virtual/md5.mjs +0 -3
  151. package/dist/_virtual/mode-cfb.js +0 -5
  152. package/dist/_virtual/mode-cfb.mjs +0 -3
  153. package/dist/_virtual/mode-ctr-gladman.js +0 -5
  154. package/dist/_virtual/mode-ctr-gladman.mjs +0 -3
  155. package/dist/_virtual/mode-ctr.js +0 -5
  156. package/dist/_virtual/mode-ctr.mjs +0 -3
  157. package/dist/_virtual/mode-ecb.js +0 -5
  158. package/dist/_virtual/mode-ecb.mjs +0 -3
  159. package/dist/_virtual/mode-ofb.js +0 -5
  160. package/dist/_virtual/mode-ofb.mjs +0 -3
  161. package/dist/_virtual/pad-ansix923.js +0 -5
  162. package/dist/_virtual/pad-ansix923.mjs +0 -3
  163. package/dist/_virtual/pad-iso10126.js +0 -5
  164. package/dist/_virtual/pad-iso10126.mjs +0 -3
  165. package/dist/_virtual/pad-iso97971.js +0 -5
  166. package/dist/_virtual/pad-iso97971.mjs +0 -3
  167. package/dist/_virtual/pad-nopadding.js +0 -5
  168. package/dist/_virtual/pad-nopadding.mjs +0 -3
  169. package/dist/_virtual/pad-zeropadding.js +0 -5
  170. package/dist/_virtual/pad-zeropadding.mjs +0 -3
  171. package/dist/_virtual/pbkdf2.js +0 -5
  172. package/dist/_virtual/pbkdf2.mjs +0 -3
  173. package/dist/_virtual/rabbit-legacy.js +0 -5
  174. package/dist/_virtual/rabbit-legacy.mjs +0 -3
  175. package/dist/_virtual/rabbit.js +0 -5
  176. package/dist/_virtual/rabbit.mjs +0 -3
  177. package/dist/_virtual/rc4.js +0 -5
  178. package/dist/_virtual/rc4.mjs +0 -3
  179. package/dist/_virtual/ripemd160.js +0 -5
  180. package/dist/_virtual/ripemd160.mjs +0 -3
  181. package/dist/_virtual/sha1.js +0 -5
  182. package/dist/_virtual/sha1.mjs +0 -3
  183. package/dist/_virtual/sha224.js +0 -5
  184. package/dist/_virtual/sha224.mjs +0 -3
  185. package/dist/_virtual/sha256.js +0 -5
  186. package/dist/_virtual/sha256.mjs +0 -3
  187. package/dist/_virtual/sha3.js +0 -5
  188. package/dist/_virtual/sha3.mjs +0 -3
  189. package/dist/_virtual/sha384.js +0 -5
  190. package/dist/_virtual/sha384.mjs +0 -3
  191. package/dist/_virtual/sha512.js +0 -5
  192. package/dist/_virtual/sha512.mjs +0 -3
  193. package/dist/_virtual/tripledes.js +0 -5
  194. package/dist/_virtual/tripledes.mjs +0 -3
  195. package/dist/_virtual/x64-core.js +0 -5
  196. package/dist/_virtual/x64-core.mjs +0 -3
  197. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js +0 -48
  198. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs +0 -45
  199. package/dist/node_modules/.pnpm/@upstash_qstash@2.10.1/node_modules/@upstash/qstash/chunk-35B33QW3.js +0 -1848
  200. package/dist/node_modules/.pnpm/@upstash_qstash@2.10.1/node_modules/@upstash/qstash/chunk-35B33QW3.mjs +0 -1830
  201. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/chunk-IH7W44G6.js +0 -5308
  202. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/chunk-IH7W44G6.mjs +0 -5302
  203. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/nodejs.js +0 -116
  204. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/nodejs.mjs +0 -113
  205. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js +0 -248
  206. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.mjs +0 -246
  207. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.js +0 -485
  208. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.mjs +0 -483
  209. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.js +0 -906
  210. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.mjs +0 -904
  211. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.js +0 -818
  212. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.mjs +0 -816
  213. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.js +0 -146
  214. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.mjs +0 -144
  215. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.js +0 -158
  216. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.mjs +0 -156
  217. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.js +0 -159
  218. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.mjs +0 -157
  219. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.js +0 -146
  220. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.mjs +0 -144
  221. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.js +0 -77
  222. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.mjs +0 -75
  223. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.js +0 -153
  224. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.mjs +0 -151
  225. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.js +0 -62
  226. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.mjs +0 -60
  227. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.js +0 -86
  228. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.mjs +0 -84
  229. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.js +0 -278
  230. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.mjs +0 -276
  231. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.js +0 -91
  232. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.mjs +0 -89
  233. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.js +0 -127
  234. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.mjs +0 -125
  235. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.js +0 -69
  236. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.mjs +0 -67
  237. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js +0 -51
  238. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.mjs +0 -49
  239. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.js +0 -65
  240. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.mjs +0 -63
  241. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.js +0 -60
  242. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.mjs +0 -58
  243. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.js +0 -55
  244. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.mjs +0 -53
  245. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.js +0 -51
  246. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.mjs +0 -49
  247. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.js +0 -41
  248. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.mjs +0 -39
  249. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.js +0 -58
  250. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.mjs +0 -56
  251. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.js +0 -157
  252. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.mjs +0 -155
  253. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.js +0 -204
  254. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.mjs +0 -202
  255. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.js +0 -206
  256. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.mjs +0 -204
  257. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.js +0 -153
  258. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.mjs +0 -151
  259. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.js +0 -277
  260. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.mjs +0 -275
  261. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.js +0 -160
  262. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.mjs +0 -158
  263. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.js +0 -91
  264. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.mjs +0 -89
  265. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.js +0 -209
  266. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.mjs +0 -207
  267. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.js +0 -337
  268. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.mjs +0 -335
  269. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.js +0 -95
  270. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.mjs +0 -93
  271. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.js +0 -337
  272. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.mjs +0 -335
  273. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.js +0 -793
  274. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.mjs +0 -791
  275. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.js +0 -314
  276. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.mjs +0 -312
  277. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/compact/verify.js +0 -26
  278. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/compact/verify.mjs +0 -24
  279. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/flattened/verify.js +0 -127
  280. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/flattened/verify.mjs +0 -125
  281. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jwt/verify.js +0 -20
  282. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jwt/verify.mjs +0 -18
  283. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/key/import.js +0 -31
  284. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/key/import.mjs +0 -29
  285. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/buffer_utils.js +0 -18
  286. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/buffer_utils.mjs +0 -14
  287. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/check_key_type.js +0 -82
  288. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/check_key_type.mjs +0 -80
  289. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/crypto_key.js +0 -103
  290. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/crypto_key.mjs +0 -101
  291. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/epoch.js +0 -7
  292. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/epoch.mjs +0 -3
  293. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/invalid_key_input.js +0 -38
  294. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/invalid_key_input.mjs +0 -33
  295. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_disjoint.js +0 -27
  296. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_disjoint.mjs +0 -23
  297. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_jwk.js +0 -21
  298. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_jwk.mjs +0 -16
  299. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_object.js +0 -22
  300. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_object.mjs +0 -18
  301. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/jwt_claims_set.js +0 -111
  302. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/jwt_claims_set.mjs +0 -107
  303. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/secs.js +0 -61
  304. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/secs.mjs +0 -57
  305. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_algorithms.js +0 -16
  306. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_algorithms.mjs +0 -12
  307. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_crit.js +0 -40
  308. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_crit.mjs +0 -36
  309. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/base64url.js +0 -15
  310. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/base64url.mjs +0 -13
  311. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/check_key_length.js +0 -23
  312. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/check_key_length.mjs +0 -19
  313. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/dsa_digest.js +0 -30
  314. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/dsa_digest.mjs +0 -26
  315. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_named_curve.js +0 -60
  316. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_named_curve.mjs +0 -56
  317. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_sign_verify_key.js +0 -35
  318. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_sign_verify_key.mjs +0 -31
  319. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/hmac_digest.js +0 -20
  320. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/hmac_digest.mjs +0 -16
  321. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_like.js +0 -15
  322. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_like.mjs +0 -10
  323. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_object.js +0 -28
  324. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_object.mjs +0 -5
  325. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/jwk_to_key.js +0 -14
  326. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/jwk_to_key.mjs +0 -10
  327. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/node_key.js +0 -115
  328. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/node_key.mjs +0 -111
  329. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/sign.js +0 -42
  330. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/sign.mjs +0 -19
  331. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/verify.js +0 -54
  332. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/verify.mjs +0 -31
  333. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/webcrypto.js +0 -32
  334. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/webcrypto.mjs +0 -7
  335. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/util/errors.js +0 -69
  336. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/util/errors.mjs +0 -60
  337. package/dist/node_modules/.pnpm/neverthrow@7.2.0/node_modules/neverthrow/dist/index.es.js +0 -422
  338. package/dist/node_modules/.pnpm/neverthrow@7.2.0/node_modules/neverthrow/dist/index.es.mjs +0 -415
  339. package/dist/node_modules/.pnpm/uncrypto@0.1.3/node_modules/uncrypto/dist/crypto.web.js +0 -6
  340. package/dist/node_modules/.pnpm/uncrypto@0.1.3/node_modules/uncrypto/dist/crypto.web.mjs +0 -4
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 D8ger
3
+ Copyright (c) 2026 D8ger
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var server = require('next/server');
5
5
  var zod = require('zod');
6
6
  var stripeConfig = require('../../../../lib/stripe-config.js');
@@ -20,7 +20,7 @@ const createCheckoutSchema = zod.z.object({
20
20
  provider: zod.z.string().min(1, 'Provider is required'),
21
21
  });
22
22
  function POST(request) {
23
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
23
+ return tslib.__awaiter(this, void 0, void 0, function* () {
24
24
  var _a;
25
25
  try {
26
26
  // Parse request body
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import { NextResponse } from 'next/server';
3
3
  import { z } from 'zod';
4
4
  import { createOrGetCustomer, createCheckoutSession, ActiveSubscriptionExistsError } from '../../../../lib/stripe-config.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var server = require('next/server');
5
5
  var zod = require('zod');
6
6
  var stripeConfig = require('../../../../lib/stripe-config.js');
@@ -16,7 +16,7 @@ const createCustomerPortalSchema = zod.z
16
16
  })
17
17
  .optional();
18
18
  function POST(request) {
19
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
19
+ return tslib.__awaiter(this, void 0, void 0, function* () {
20
20
  try {
21
21
  const body = yield request.json().catch(() => ({}));
22
22
  const parsed = createCustomerPortalSchema.parse(body);
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import { NextResponse } from 'next/server';
3
3
  import { z } from 'zod';
4
4
  import { createOrGetCustomer, createCustomerPortalSession } from '../../../../lib/stripe-config.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var anonymous_aggregate_service = require('../../../../../services/aggregate/anonymous.aggregate.service.js');
5
5
  var authUtils = require('../../../../../auth/auth-utils.js');
6
6
  var server = require('@windrun-huaiin/third-ui/fingerprint/server');
@@ -458,7 +458,7 @@ function extractSourceRef(request) {
458
458
  * 根据fingerprint_id查询用户并返回响应数据
459
459
  */
460
460
  function getUserByClerkId(clerkUserId) {
461
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
461
+ return tslib.__awaiter(this, void 0, void 0, function* () {
462
462
  const entities = yield userContextService.fetchUserContextByClerkUserId(clerkUserId);
463
463
  if (!entities) {
464
464
  return null;
@@ -473,12 +473,12 @@ function getUserByClerkId(clerkUserId) {
473
473
  * 根据fingerprint_id查询用户并返回响应数据
474
474
  */
475
475
  function getUserByFingerprintId(fingerprintId) {
476
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
476
+ return tslib.__awaiter(this, void 0, void 0, function* () {
477
477
  const result = yield userContextService.fetchLatestUserContextByFingerprintId(fingerprintId);
478
478
  if (!result) {
479
479
  return null;
480
480
  }
481
- const { totalUsersOnDevice, hasAnonymousUser } = result, entities = tslib_es6.__rest(result, ["totalUsersOnDevice", "hasAnonymousUser"]);
481
+ const { totalUsersOnDevice, hasAnonymousUser } = result, entities = tslib.__rest(result, ["totalUsersOnDevice", "hasAnonymousUser"]);
482
482
  return createSuccessResponse({
483
483
  entities,
484
484
  isNewUser: false,
@@ -493,7 +493,7 @@ function getUserByFingerprintId(fingerprintId) {
493
493
  * 通用的fingerprint处理逻辑
494
494
  */
495
495
  function handleFingerprintRequest(request_1) {
496
- return tslib_es6.__awaiter(this, arguments, void 0, function* (request, options = {}) {
496
+ return tslib.__awaiter(this, arguments, void 0, function* (request, options = {}) {
497
497
  var _a;
498
498
  // 从请求中提取fingerprint ID
499
499
  const fingerprintId = server.extractFingerprintFromNextRequest(request);
@@ -560,7 +560,7 @@ function handleFingerprintRequest(request_1) {
560
560
  * POST /api/user/anonymous/init
561
561
  */
562
562
  function POST(request) {
563
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
563
+ return tslib.__awaiter(this, void 0, void 0, function* () {
564
564
  return handleFingerprintRequest(request, { createIfNotExists: true });
565
565
  });
566
566
  }
@@ -1,4 +1,4 @@
1
- import { __awaiter, __rest } from '../../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter, __rest } from 'tslib';
2
2
  import { anonymousAggregateService } from '../../../../../services/aggregate/anonymous.aggregate.service.mjs';
3
3
  import { getOptionalServerAuthIdentity } from '../../../../../auth/auth-utils.mjs';
4
4
  import { extractFingerprintFromNextRequest } from '@windrun-huaiin/third-ui/fingerprint/server';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var user_aggregate_service = require('../../../../../services/aggregate/user.aggregate.service.js');
5
5
  var constants = require('../../../../../services/database/constants.js');
6
6
  var user_service = require('../../../../../services/database/user.service.js');
@@ -18,7 +18,7 @@ BigInt.prototype.toJSON = function () {
18
18
  return this.toString();
19
19
  };
20
20
  function POST(request) {
21
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
21
+ return tslib.__awaiter(this, void 0, void 0, function* () {
22
22
  var _a, _b, _c;
23
23
  try {
24
24
  // 获取原始请求体
@@ -112,7 +112,7 @@ function POST(request) {
112
112
  * 处理用户创建事件
113
113
  */
114
114
  function handleUserCreated(event) {
115
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
115
+ return tslib.__awaiter(this, void 0, void 0, function* () {
116
116
  var _a, _b;
117
117
  const { data } = event;
118
118
  const clerkUserId = data.id;
@@ -179,7 +179,7 @@ function handleUserCreated(event) {
179
179
  * 处理用户删除事件
180
180
  */
181
181
  function handleUserDeleted(event) {
182
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
182
+ return tslib.__awaiter(this, void 0, void 0, function* () {
183
183
  const { data } = event;
184
184
  const clerkUserId = data.id;
185
185
  console.log('Processing user.deleted event:', { clerkUserId });
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import { userAggregateService } from '../../../../../services/aggregate/user.aggregate.service.mjs';
3
3
  import { UserStatus } from '../../../../../services/database/constants.mjs';
4
4
  import { userService } from '../../../../../services/database/user.service.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var server = require('next/server');
5
5
  var headers = require('next/headers');
6
6
  var stripeConfig = require('../../../../lib/stripe-config.js');
@@ -11,7 +11,7 @@ var webhookHandler = require('../../../../services/stripe/webhook-handler.js');
11
11
  // Disable body parsing, need raw body for signature verification
12
12
  const runtime = 'nodejs';
13
13
  function POST(request) {
14
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
14
+ return tslib.__awaiter(this, void 0, void 0, function* () {
15
15
  try {
16
16
  // 1. Get raw request body and signature
17
17
  const body = yield request.text();
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../../../../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import { NextResponse } from 'next/server';
3
3
  import { headers } from 'next/headers';
4
4
  import { validateStripeWebhook } from '../../../../lib/stripe-config.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var server = require('next/server');
5
5
  var authShared = require('./auth-shared.js');
6
6
 
@@ -23,7 +23,7 @@ function buildProtectedPageRoutePatterns(protectedRoots, locales) {
23
23
  return [...patterns];
24
24
  }
25
25
  function authenticateWithClerk(auth) {
26
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
26
+ return tslib.__awaiter(this, void 0, void 0, function* () {
27
27
  const { userId } = yield auth();
28
28
  if (!userId) {
29
29
  return null;
@@ -41,7 +41,7 @@ function buildAuthenticatedRequestHeaders(req, auth) {
41
41
  return headers;
42
42
  }
43
43
  function handleAuthMiddleware(auth, req, options) {
44
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
44
+ return tslib.__awaiter(this, void 0, void 0, function* () {
45
45
  const { protectedPageRoutes, protectedApiRoutes, publicApiRoutes, intlMiddleware } = options;
46
46
  if (protectedPageRoutes(req)) {
47
47
  const identity = yield authenticateWithClerk(auth);
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import { NextRequest, NextResponse } from 'next/server';
3
3
  import { AUTH_HEADERS } from './auth-shared.mjs';
4
4
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var server = require('@clerk/nextjs/server');
5
5
  var user_service = require('../services/database/user.service.js');
6
6
  require('../prisma/prisma.js');
@@ -12,7 +12,7 @@ var authShared = require('./auth-shared.js');
12
12
  * 从中间件设置的 Clerk ID 获取完整用户信息
13
13
  */
14
14
  function getAuthenticatedUser(req) {
15
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
15
+ return tslib.__awaiter(this, void 0, void 0, function* () {
16
16
  try {
17
17
  const provider = req.headers.get(authShared.AUTH_HEADERS.provider);
18
18
  const providerUserId = req.headers.get(authShared.AUTH_HEADERS.providerUserId);
@@ -40,7 +40,7 @@ function getAuthenticatedUser(req) {
40
40
  * 要求用户必须已认证,返回用户ID
41
41
  */
42
42
  function requireAuth(req) {
43
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
43
+ return tslib.__awaiter(this, void 0, void 0, function* () {
44
44
  const auth = yield getAuthenticatedUser(req);
45
45
  return auth.userId;
46
46
  });
@@ -49,7 +49,7 @@ function requireAuth(req) {
49
49
  * 要求用户必须已认证,返回完整用户信息
50
50
  */
51
51
  function requireAuthWithUser(req) {
52
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
52
+ return tslib.__awaiter(this, void 0, void 0, function* () {
53
53
  return yield getAuthenticatedUser(req);
54
54
  });
55
55
  }
@@ -58,7 +58,7 @@ function requireAuthWithUser(req) {
58
58
  * 适用于只依赖登录态、不需要查询业务用户的逻辑
59
59
  */
60
60
  function getOptionalServerAuthIdentity() {
61
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
61
+ return tslib.__awaiter(this, void 0, void 0, function* () {
62
62
  try {
63
63
  const { userId: providerUserId } = yield server.auth();
64
64
  if (!providerUserId) {
@@ -80,7 +80,7 @@ function getOptionalServerAuthIdentity() {
80
80
  * 适用于 Server Component / Server Action 中基于登录态控制展示的逻辑
81
81
  */
82
82
  function getOptionalServerAuthUser() {
83
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
83
+ return tslib.__awaiter(this, void 0, void 0, function* () {
84
84
  try {
85
85
  const identity = yield getOptionalServerAuthIdentity();
86
86
  if (!identity) {
@@ -114,7 +114,7 @@ class ApiAuthUtils {
114
114
  * 要求用户必须已认证,返回用户ID
115
115
  */
116
116
  requireAuth() {
117
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
117
+ return tslib.__awaiter(this, void 0, void 0, function* () {
118
118
  return yield requireAuth(this.req);
119
119
  });
120
120
  }
@@ -122,7 +122,7 @@ class ApiAuthUtils {
122
122
  * 要求用户必须已认证,返回完整用户信息
123
123
  */
124
124
  requireAuthWithUser() {
125
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
125
+ return tslib.__awaiter(this, void 0, void 0, function* () {
126
126
  return yield requireAuthWithUser(this.req);
127
127
  });
128
128
  }
@@ -130,7 +130,7 @@ class ApiAuthUtils {
130
130
  * 获取用户ID(如果已认证)
131
131
  */
132
132
  getUserId() {
133
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
133
+ return tslib.__awaiter(this, void 0, void 0, function* () {
134
134
  try {
135
135
  const auth = yield getAuthenticatedUser(this.req);
136
136
  return auth.userId;
@@ -144,7 +144,7 @@ class ApiAuthUtils {
144
144
  * 获取完整用户信息(如果已认证)
145
145
  */
146
146
  getUser() {
147
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
147
+ return tslib.__awaiter(this, void 0, void 0, function* () {
148
148
  try {
149
149
  return yield getAuthenticatedUser(this.req);
150
150
  }
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import { auth } from '@clerk/nextjs/server';
3
3
  import { userService } from '../services/database/user.service.mjs';
4
4
  import '../prisma/prisma.mjs';
package/dist/index.d.ts CHANGED
@@ -3,5 +3,6 @@ export * from './services/database';
3
3
  export * from './services/aggregate';
4
4
  export * from './services/context';
5
5
  export * from './services/stripe';
6
+ export * from './services/ai';
6
7
  export * from './lib';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,13 @@ var anonymous_aggregate_service = require('./services/aggregate/anonymous.aggreg
16
16
  var userContextService = require('./services/context/user-context-service.js');
17
17
  var userContextFinalizer = require('./services/context/user-context-finalizer.js');
18
18
  var webhookHandler = require('./services/stripe/webhook-handler.js');
19
+ var abort = require('./services/ai/abort.js');
20
+ var error = require('./services/ai/error.js');
21
+ var env = require('./services/ai/env.js');
22
+ var messageBuilder = require('./services/ai/message-builder.js');
23
+ var mock = require('./services/ai/mock.js');
24
+ var openrouterClient = require('./services/ai/openrouter-client.js');
25
+ var route = require('./services/ai/route.js');
19
26
  var moneyPriceConfig = require('./lib/money-price-config.js');
20
27
  var moneyPriceHelper = require('./lib/money-price-helper.js');
21
28
  var fingerprintConfig = require('./lib/fingerprint-config.js');
@@ -70,6 +77,24 @@ exports.mapSubscriptionToXSubscription = userContextService.mapSubscriptionToXSu
70
77
  exports.mapUserToXUser = userContextService.mapUserToXUser;
71
78
  exports.finalizeUserContext = userContextFinalizer.finalizeUserContext;
72
79
  exports.handleStripeEvent = webhookHandler.handleStripeEvent;
80
+ exports.createUpstreamAbortSignal = abort.createUpstreamAbortSignal;
81
+ exports.normalizeAIError = error.normalizeAIError;
82
+ exports.createOpenRouterClientConfigFromEnv = env.createOpenRouterClientConfigFromEnv;
83
+ exports.createOpenRouterMockFromEnv = env.createOpenRouterMockFromEnv;
84
+ exports.createOpenRouterMockFromEnvForContext = env.createOpenRouterMockFromEnvForContext;
85
+ exports.getOpenRouterEnvConfig = env.getOpenRouterEnvConfig;
86
+ exports.buildModelMessages = messageBuilder.buildModelMessages;
87
+ exports.createConfigurableMockHandler = mock.createConfigurableMockHandler;
88
+ exports.createErrorMockResponse = mock.createErrorMockResponse;
89
+ exports.createScenarioMockHandler = mock.createScenarioMockHandler;
90
+ exports.createSimpleMockHandler = mock.createSimpleMockHandler;
91
+ exports.getMockScenario = mock.getMockScenario;
92
+ exports.callOpenRouterStream = openrouterClient.callOpenRouterStream;
93
+ exports.guardedOpenRouterStreamStart = openrouterClient.guardedOpenRouterStreamStart;
94
+ exports.createOpenRouterRoute = route.createOpenRouterRoute;
95
+ exports.dynamic = route.dynamic;
96
+ exports.revalidate = route.revalidate;
97
+ exports.runtime = route.runtime;
73
98
  exports.getActiveProviderConfig = moneyPriceConfig.getActiveProviderConfig;
74
99
  exports.getCreditsFromPriceId = moneyPriceConfig.getCreditsFromPriceId;
75
100
  exports.getPriceConfig = moneyPriceConfig.getPriceConfig;
@@ -111,21 +136,40 @@ exports.getCounter = redisCounter.getCounter;
111
136
  exports.getUniqueCounter = redisCounter.getUniqueCounter;
112
137
  exports.incrCounter = redisCounter.incrCounter;
113
138
  exports.incrUniqueCounter = redisCounter.incrUniqueCounter;
139
+ exports.del = redisStructures.del;
114
140
  exports.deleteHashField = redisStructures.deleteHashField;
115
141
  exports.deleteKey = redisStructures.deleteKey;
142
+ exports.exists = redisStructures.exists;
143
+ exports.expire = redisStructures.expire;
116
144
  exports.getHashAll = redisStructures.getHashAll;
117
145
  exports.getHashField = redisStructures.getHashField;
118
146
  exports.getHashJson = redisStructures.getHashJson;
119
147
  exports.getJson = redisStructures.getJson;
120
148
  exports.getString = redisStructures.getString;
149
+ exports.hexists = redisStructures.hexists;
150
+ exports.hkeys = redisStructures.hkeys;
151
+ exports.hlen = redisStructures.hlen;
152
+ exports.hmget = redisStructures.hmget;
153
+ exports.hmset = redisStructures.hmset;
121
154
  exports.listLength = redisStructures.listLength;
155
+ exports.mget = redisStructures.mget;
156
+ exports.mgetJson = redisStructures.mgetJson;
157
+ exports.mset = redisStructures.mset;
158
+ exports.msetJson = redisStructures.msetJson;
159
+ exports.pipeline = redisStructures.pipeline;
122
160
  exports.popList = redisStructures.popList;
123
161
  exports.pushList = redisStructures.pushList;
124
162
  exports.rangeList = redisStructures.rangeList;
163
+ exports.sadd = redisStructures.sadd;
164
+ exports.scard = redisStructures.scard;
125
165
  exports.setHashField = redisStructures.setHashField;
126
166
  exports.setHashJson = redisStructures.setHashJson;
127
167
  exports.setJson = redisStructures.setJson;
128
168
  exports.setString = redisStructures.setString;
169
+ exports.sismember = redisStructures.sismember;
170
+ exports.smembers = redisStructures.smembers;
171
+ exports.srem = redisStructures.srem;
172
+ exports.ttl = redisStructures.ttl;
129
173
  exports.cancelSchedule = qstash.cancelSchedule;
130
174
  exports.publishDelayedMessage = qstash.publishDelayedMessage;
131
175
  exports.publishMessage = qstash.publishMessage;
package/dist/index.mjs CHANGED
@@ -14,6 +14,13 @@ export { anonymousAggregateService } from './services/aggregate/anonymous.aggreg
14
14
  export { buildInitUserContextFromEntities, fetchLatestUserContextByFingerprintId, fetchUserContextByClerkUserId, mapCreditToXCredit, mapSubscriptionToXSubscription, mapUserToXUser } from './services/context/user-context-service.mjs';
15
15
  export { finalizeUserContext } from './services/context/user-context-finalizer.mjs';
16
16
  export { handleStripeEvent } from './services/stripe/webhook-handler.mjs';
17
+ export { createUpstreamAbortSignal } from './services/ai/abort.mjs';
18
+ export { normalizeAIError } from './services/ai/error.mjs';
19
+ export { createOpenRouterClientConfigFromEnv, createOpenRouterMockFromEnv, createOpenRouterMockFromEnvForContext, getOpenRouterEnvConfig } from './services/ai/env.mjs';
20
+ export { buildModelMessages } from './services/ai/message-builder.mjs';
21
+ export { createConfigurableMockHandler, createErrorMockResponse, createScenarioMockHandler, createSimpleMockHandler, getMockScenario } from './services/ai/mock.mjs';
22
+ export { callOpenRouterStream, guardedOpenRouterStreamStart } from './services/ai/openrouter-client.mjs';
23
+ export { createOpenRouterRoute, dynamic, revalidate, runtime } from './services/ai/route.mjs';
17
24
  export { getActiveProviderConfig, getCreditsFromPriceId, getPriceConfig, moneyPriceConfig } from './lib/money-price-config.mjs';
18
25
  export { getMoneyPriceInitUserContext } from './lib/money-price-helper.mjs';
19
26
  export { fingerprintConfig } from './lib/fingerprint-config.mjs';
@@ -24,5 +31,5 @@ export { acquireLock, releaseLock, withLock } from './lib/upstash/redis-lock.mjs
24
31
  export { getTargetLikeCount, getUserLikedTargets, isTargetLiked, likeTarget, unlikeTarget } from './lib/upstash/redis-like.mjs';
25
32
  export { addFavorite, getFavoriteCount, getUserFavorites, isFavorited, removeFavorite } from './lib/upstash/redis-favorite.mjs';
26
33
  export { getCounter, getUniqueCounter, incrCounter, incrUniqueCounter } from './lib/upstash/redis-counter.mjs';
27
- export { deleteHashField, deleteKey, getHashAll, getHashField, getHashJson, getJson, getString, listLength, popList, pushList, rangeList, setHashField, setHashJson, setJson, setString } from './lib/upstash/redis-structures.mjs';
34
+ export { del, deleteHashField, deleteKey, exists, expire, getHashAll, getHashField, getHashJson, getJson, getString, hexists, hkeys, hlen, hmget, hmset, listLength, mget, mgetJson, mset, msetJson, pipeline, popList, pushList, rangeList, sadd, scard, setHashField, setHashJson, setJson, setString, sismember, smembers, srem, ttl } from './lib/upstash/redis-structures.mjs';
28
35
  export { cancelSchedule, publishDelayedMessage, publishMessage, scheduleMessage, verifyQstashSignature } from './lib/upstash/qstash.mjs';
package/dist/lib/index.js CHANGED
@@ -56,21 +56,40 @@ exports.getCounter = redisCounter.getCounter;
56
56
  exports.getUniqueCounter = redisCounter.getUniqueCounter;
57
57
  exports.incrCounter = redisCounter.incrCounter;
58
58
  exports.incrUniqueCounter = redisCounter.incrUniqueCounter;
59
+ exports.del = redisStructures.del;
59
60
  exports.deleteHashField = redisStructures.deleteHashField;
60
61
  exports.deleteKey = redisStructures.deleteKey;
62
+ exports.exists = redisStructures.exists;
63
+ exports.expire = redisStructures.expire;
61
64
  exports.getHashAll = redisStructures.getHashAll;
62
65
  exports.getHashField = redisStructures.getHashField;
63
66
  exports.getHashJson = redisStructures.getHashJson;
64
67
  exports.getJson = redisStructures.getJson;
65
68
  exports.getString = redisStructures.getString;
69
+ exports.hexists = redisStructures.hexists;
70
+ exports.hkeys = redisStructures.hkeys;
71
+ exports.hlen = redisStructures.hlen;
72
+ exports.hmget = redisStructures.hmget;
73
+ exports.hmset = redisStructures.hmset;
66
74
  exports.listLength = redisStructures.listLength;
75
+ exports.mget = redisStructures.mget;
76
+ exports.mgetJson = redisStructures.mgetJson;
77
+ exports.mset = redisStructures.mset;
78
+ exports.msetJson = redisStructures.msetJson;
79
+ exports.pipeline = redisStructures.pipeline;
67
80
  exports.popList = redisStructures.popList;
68
81
  exports.pushList = redisStructures.pushList;
69
82
  exports.rangeList = redisStructures.rangeList;
83
+ exports.sadd = redisStructures.sadd;
84
+ exports.scard = redisStructures.scard;
70
85
  exports.setHashField = redisStructures.setHashField;
71
86
  exports.setHashJson = redisStructures.setHashJson;
72
87
  exports.setJson = redisStructures.setJson;
73
88
  exports.setString = redisStructures.setString;
89
+ exports.sismember = redisStructures.sismember;
90
+ exports.smembers = redisStructures.smembers;
91
+ exports.srem = redisStructures.srem;
92
+ exports.ttl = redisStructures.ttl;
74
93
  exports.cancelSchedule = qstash.cancelSchedule;
75
94
  exports.publishDelayedMessage = qstash.publishDelayedMessage;
76
95
  exports.publishMessage = qstash.publishMessage;
@@ -8,5 +8,5 @@ export { acquireLock, releaseLock, withLock } from './upstash/redis-lock.mjs';
8
8
  export { getTargetLikeCount, getUserLikedTargets, isTargetLiked, likeTarget, unlikeTarget } from './upstash/redis-like.mjs';
9
9
  export { addFavorite, getFavoriteCount, getUserFavorites, isFavorited, removeFavorite } from './upstash/redis-favorite.mjs';
10
10
  export { getCounter, getUniqueCounter, incrCounter, incrUniqueCounter } from './upstash/redis-counter.mjs';
11
- export { deleteHashField, deleteKey, getHashAll, getHashField, getHashJson, getJson, getString, listLength, popList, pushList, rangeList, setHashField, setHashJson, setJson, setString } from './upstash/redis-structures.mjs';
11
+ export { del, deleteHashField, deleteKey, exists, expire, getHashAll, getHashField, getHashJson, getJson, getString, hexists, hkeys, hlen, hmget, hmset, listLength, mget, mgetJson, mset, msetJson, pipeline, popList, pushList, rangeList, sadd, scard, setHashField, setHashJson, setJson, setString, sismember, smembers, srem, ttl } from './upstash/redis-structures.mjs';
12
12
  export { cancelSchedule, publishDelayedMessage, publishMessage, scheduleMessage, verifyQstashSignature } from './upstash/qstash.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var headers = require('next/headers');
5
5
  var server = require('@windrun-huaiin/third-ui/fingerprint/server');
6
6
  var authUtils = require('../auth/auth-utils.js');
@@ -8,7 +8,7 @@ var userContextService = require('../services/context/user-context-service.js');
8
8
  var userContextFinalizer = require('../services/context/user-context-finalizer.js');
9
9
 
10
10
  function readFingerprintIdFromRequest() {
11
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
11
+ return tslib.__awaiter(this, void 0, void 0, function* () {
12
12
  const cookieStore = yield headers.cookies();
13
13
  const headerList = yield headers.headers();
14
14
  return server.extractFingerprintFromNextStores({
@@ -18,7 +18,7 @@ function readFingerprintIdFromRequest() {
18
18
  });
19
19
  }
20
20
  function getMoneyPriceInitUserContext() {
21
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
21
+ return tslib.__awaiter(this, void 0, void 0, function* () {
22
22
  var _a;
23
23
  const authIdentity = yield authUtils.getOptionalServerAuthIdentity();
24
24
  const clerkUserId = (_a = authIdentity === null || authIdentity === void 0 ? void 0 : authIdentity.providerUserId) !== null && _a !== void 0 ? _a : null;
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import { cookies, headers } from 'next/headers';
3
3
  import { extractFingerprintFromNextStores } from '@windrun-huaiin/third-ui/fingerprint/server';
4
4
  import { getOptionalServerAuthIdentity } from '../auth/auth-utils.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var Stripe = require('stripe');
5
5
  var user_service = require('../services/database/user.service.js');
6
6
  var subscription_service = require('../services/database/subscription.service.js');
@@ -27,7 +27,7 @@ const validateStripeWebhook = (payload, signature, secret) => {
27
27
  return getStripe().webhooks.constructEvent(payload, signature, secret);
28
28
  };
29
29
  // Helper function to create checkout session
30
- const createCheckoutSession = (params, subscriptionData) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
30
+ const createCheckoutSession = (params, subscriptionData) => tslib.__awaiter(void 0, void 0, void 0, function* () {
31
31
  const { priceId, customerId, clientReferenceId, successUrl, cancelUrl, metadata, interval } = params;
32
32
  // ✅ Dynamic mode determination: subscription if interval is not 'onetime'
33
33
  const mode = interval && interval !== 'onetime' ? 'subscription' : 'payment';
@@ -91,7 +91,7 @@ const createCheckoutSession = (params, subscriptionData) => tslib_es6.__awaiter(
91
91
  }
92
92
  });
93
93
  // 根据发票ID去查支付ID
94
- const fetchPaymentId = (invoiceId) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
94
+ const fetchPaymentId = (invoiceId) => tslib.__awaiter(void 0, void 0, void 0, function* () {
95
95
  var _a, _b;
96
96
  const fullInvoice = yield getStripe().invoices.retrieve(invoiceId, {
97
97
  expand: ['payments']
@@ -102,13 +102,13 @@ const fetchPaymentId = (invoiceId) => tslib_es6.__awaiter(void 0, void 0, void 0
102
102
  return paymentIntentId;
103
103
  });
104
104
  // Helper function to create or retrieve customer
105
- const createOrGetCustomer = (params) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
105
+ const createOrGetCustomer = (params) => tslib.__awaiter(void 0, void 0, void 0, function* () {
106
106
  const { userId } = params;
107
107
  const user = yield user_service.userService.findByUserId(userId);
108
108
  if (!user) {
109
109
  throw new Error(`User not found for userId: ${userId}`);
110
110
  }
111
- const setStripeCustomerId = (stripeCusId) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
111
+ const setStripeCustomerId = (stripeCusId) => tslib.__awaiter(void 0, void 0, void 0, function* () {
112
112
  try {
113
113
  yield user_service.userService.updateStripeCustomerId(userId, stripeCusId);
114
114
  }
@@ -186,7 +186,7 @@ const createOrGetCustomer = (params) => tslib_es6.__awaiter(void 0, void 0, void
186
186
  }
187
187
  });
188
188
  // Helper function to update subscription
189
- const updateSubscription = (params) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
189
+ const updateSubscription = (params) => tslib.__awaiter(void 0, void 0, void 0, function* () {
190
190
  const { subscriptionId, priceId, prorationBehavior = 'create_prorations' } = params;
191
191
  const subscription = yield getStripe().subscriptions.retrieve(subscriptionId);
192
192
  // Create log record with request
@@ -216,7 +216,7 @@ const updateSubscription = (params) => tslib_es6.__awaiter(void 0, void 0, void
216
216
  throw error;
217
217
  }
218
218
  });
219
- const createCustomerPortalSession = (params) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
219
+ const createCustomerPortalSession = (params) => tslib.__awaiter(void 0, void 0, void 0, function* () {
220
220
  const logId = yield apilog_service.Apilogger.logStripeOutgoing('createCustomerPortalSession', params);
221
221
  try {
222
222
  const session = yield getStripe().billingPortal.sessions.create({
@@ -237,7 +237,7 @@ const createCustomerPortalSession = (params) => tslib_es6.__awaiter(void 0, void
237
237
  }
238
238
  });
239
239
  // Helper function to cancel subscription
240
- const cancelSubscription = (subscriptionId_1, ...args_1) => tslib_es6.__awaiter(void 0, [subscriptionId_1, ...args_1], void 0, function* (subscriptionId, cancelAtPeriodEnd = true) {
240
+ const cancelSubscription = (subscriptionId_1, ...args_1) => tslib.__awaiter(void 0, [subscriptionId_1, ...args_1], void 0, function* (subscriptionId, cancelAtPeriodEnd = true) {
241
241
  // Create log record with request
242
242
  const logId = yield apilog_service.Apilogger.logStripeOutgoing('cancelSubscription', {
243
243
  subscriptionId,
@@ -1,4 +1,4 @@
1
- import { __awaiter } from '../node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs';
1
+ import { __awaiter } from 'tslib';
2
2
  import Stripe from 'stripe';
3
3
  import { userService } from '../services/database/user.service.mjs';
4
4
  import { subscriptionService } from '../services/database/subscription.service.mjs';
@@ -1,25 +1,38 @@
1
1
  export type PublishBody = Record<string, unknown> | string | number | boolean | null;
2
- export interface PublishMessageOptions {
2
+ export interface QstashEnvelope<TBody extends PublishBody = PublishBody> {
3
+ source_msg_id: string;
4
+ payload: TBody;
5
+ }
6
+ export interface PublishMessageOptions<TBody extends PublishBody = PublishBody> {
3
7
  url: string;
4
- body: PublishBody;
8
+ body: TBody;
5
9
  }
6
10
  /**
7
11
  * Publish a message. Returns message id or null if QStash is unavailable.
8
12
  */
9
- export declare const publishMessage: (options: PublishMessageOptions) => Promise<string | null>;
13
+ export declare const publishMessage: <TBody extends PublishBody>(options: PublishMessageOptions<TBody>) => Promise<{
14
+ messageId: string | null;
15
+ message: QstashEnvelope<TBody>;
16
+ } | null>;
10
17
  /**
11
18
  * Publish a delayed message. Returns message id or null if QStash is unavailable.
12
19
  */
13
- export declare const publishDelayedMessage: (options: PublishMessageOptions & {
20
+ export declare const publishDelayedMessage: <TBody extends PublishBody>(options: PublishMessageOptions<TBody> & {
14
21
  delaySec: number;
15
- }) => Promise<string | null>;
16
- export interface ScheduleMessageOptions extends PublishMessageOptions {
22
+ }) => Promise<{
23
+ messageId: string | null;
24
+ message: QstashEnvelope<TBody>;
25
+ } | null>;
26
+ export interface ScheduleMessageOptions<TBody extends PublishBody = PublishBody> extends PublishMessageOptions<TBody> {
17
27
  cron: string;
18
28
  }
19
29
  /**
20
30
  * Schedule a recurring message. Returns schedule id or null if QStash is unavailable.
21
31
  */
22
- export declare const scheduleMessage: (options: ScheduleMessageOptions) => Promise<string | null>;
32
+ export declare const scheduleMessage: <TBody extends PublishBody>(options: ScheduleMessageOptions<TBody>) => Promise<{
33
+ scheduleId: string | null;
34
+ message: QstashEnvelope<TBody>;
35
+ } | null>;
23
36
  /**
24
37
  * Cancel a scheduled message. Returns false if QStash is unavailable.
25
38
  */