@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.
- package/LICENSE +1 -1
- package/dist/app/api/stripe/checkout/route.js +2 -2
- package/dist/app/api/stripe/checkout/route.mjs +1 -1
- package/dist/app/api/stripe/customer-portal/route.js +2 -2
- package/dist/app/api/stripe/customer-portal/route.mjs +1 -1
- package/dist/app/api/user/anonymous/init/route.js +6 -6
- package/dist/app/api/user/anonymous/init/route.mjs +1 -1
- package/dist/app/api/webhook/clerk/user/route.js +4 -4
- package/dist/app/api/webhook/clerk/user/route.mjs +1 -1
- package/dist/app/api/webhook/stripe/route.js +2 -2
- package/dist/app/api/webhook/stripe/route.mjs +1 -1
- package/dist/auth/auth-middleware.js +3 -3
- package/dist/auth/auth-middleware.mjs +1 -1
- package/dist/auth/auth-utils.js +10 -10
- package/dist/auth/auth-utils.mjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -0
- package/dist/index.mjs +8 -1
- package/dist/lib/index.js +19 -0
- package/dist/lib/index.mjs +1 -1
- package/dist/lib/money-price-helper.js +3 -3
- package/dist/lib/money-price-helper.mjs +1 -1
- package/dist/lib/stripe-config.js +8 -8
- package/dist/lib/stripe-config.mjs +1 -1
- package/dist/lib/upstash/qstash.d.ts +20 -7
- package/dist/lib/upstash/qstash.d.ts.map +1 -1
- package/dist/lib/upstash/qstash.js +45 -19
- package/dist/lib/upstash/qstash.mjs +35 -9
- package/dist/lib/upstash/redis-counter.js +7 -7
- package/dist/lib/upstash/redis-counter.mjs +1 -1
- package/dist/lib/upstash/redis-favorite.js +9 -9
- package/dist/lib/upstash/redis-favorite.mjs +1 -1
- package/dist/lib/upstash/redis-like.js +9 -9
- package/dist/lib/upstash/redis-like.mjs +1 -1
- package/dist/lib/upstash/redis-lock.js +6 -6
- package/dist/lib/upstash/redis-lock.mjs +1 -1
- package/dist/lib/upstash/redis-structures.d.ts +83 -0
- package/dist/lib/upstash/redis-structures.d.ts.map +1 -1
- package/dist/lib/upstash/redis-structures.js +245 -25
- package/dist/lib/upstash/redis-structures.mjs +203 -2
- package/dist/lib/upstash-config.d.ts.map +1 -1
- package/dist/lib/upstash-config.js +90 -18
- package/dist/lib/upstash-config.mjs +80 -8
- package/dist/prisma/prisma-transaction-util.js +2 -2
- package/dist/prisma/prisma-transaction-util.mjs +1 -1
- package/dist/services/aggregate/anonymous.aggregate.service.js +6 -6
- package/dist/services/aggregate/anonymous.aggregate.service.mjs +1 -1
- package/dist/services/aggregate/billing.aggregate.service.js +21 -21
- package/dist/services/aggregate/billing.aggregate.service.mjs +1 -1
- package/dist/services/aggregate/user.aggregate.service.js +10 -10
- package/dist/services/aggregate/user.aggregate.service.mjs +1 -1
- package/dist/services/ai/abort.d.ts +2 -0
- package/dist/services/ai/abort.d.ts.map +1 -0
- package/dist/services/ai/abort.js +24 -0
- package/dist/services/ai/abort.mjs +22 -0
- package/dist/services/ai/env.d.ts +21 -0
- package/dist/services/ai/env.d.ts.map +1 -0
- package/dist/services/ai/env.js +85 -0
- package/dist/services/ai/env.mjs +80 -0
- package/dist/services/ai/error.d.ts +3 -0
- package/dist/services/ai/error.d.ts.map +1 -0
- package/dist/services/ai/error.js +54 -0
- package/dist/services/ai/error.mjs +52 -0
- package/dist/services/ai/index.d.ts +9 -0
- package/dist/services/ai/index.d.ts.map +1 -0
- package/dist/services/ai/index.js +30 -0
- package/dist/services/ai/index.mjs +7 -0
- package/dist/services/ai/message-builder.d.ts +4 -0
- package/dist/services/ai/message-builder.d.ts.map +1 -0
- package/dist/services/ai/message-builder.js +15 -0
- package/dist/services/ai/message-builder.mjs +13 -0
- package/dist/services/ai/mock.d.ts +30 -0
- package/dist/services/ai/mock.d.ts.map +1 -0
- package/dist/services/ai/mock.js +314 -0
- package/dist/services/ai/mock.mjs +308 -0
- package/dist/services/ai/openrouter-client.d.ts +12 -0
- package/dist/services/ai/openrouter-client.d.ts.map +1 -0
- package/dist/services/ai/openrouter-client.js +81 -0
- package/dist/services/ai/openrouter-client.mjs +78 -0
- package/dist/services/ai/route.d.ts +6 -0
- package/dist/services/ai/route.d.ts.map +1 -0
- package/dist/services/ai/route.js +178 -0
- package/dist/services/ai/route.mjs +173 -0
- package/dist/services/ai/types.d.ts +98 -0
- package/dist/services/ai/types.d.ts.map +1 -0
- package/dist/services/context/user-context-service.js +3 -3
- package/dist/services/context/user-context-service.mjs +1 -1
- package/dist/services/database/apilog.service.js +14 -14
- package/dist/services/database/apilog.service.mjs +1 -1
- package/dist/services/database/credit.service.js +20 -20
- package/dist/services/database/credit.service.mjs +1 -1
- package/dist/services/database/creditAuditLog.service.js +13 -13
- package/dist/services/database/creditAuditLog.service.mjs +1 -1
- package/dist/services/database/subscription.service.js +16 -16
- package/dist/services/database/subscription.service.mjs +1 -1
- package/dist/services/database/transaction.service.js +18 -18
- package/dist/services/database/transaction.service.mjs +1 -1
- package/dist/services/database/user.service.js +14 -14
- package/dist/services/database/user.service.mjs +1 -1
- package/dist/services/database/userBackup.service.js +15 -15
- package/dist/services/database/userBackup.service.mjs +1 -1
- package/dist/services/stripe/webhook-handler.js +13 -13
- package/dist/services/stripe/webhook-handler.mjs +3 -3
- package/package.json +14 -4
- package/src/index.ts +1 -0
- package/src/lib/upstash/qstash.ts +55 -15
- package/src/lib/upstash/redis-structures.ts +248 -0
- package/src/lib/upstash-config.ts +106 -4
- package/src/services/ai/abort.ts +26 -0
- package/src/services/ai/env.ts +120 -0
- package/src/services/ai/error.ts +64 -0
- package/src/services/ai/index.ts +8 -0
- package/src/services/ai/message-builder.ts +17 -0
- package/src/services/ai/mock.ts +378 -0
- package/src/services/ai/openrouter-client.ts +94 -0
- package/src/services/ai/route.ts +218 -0
- package/src/services/ai/types.ts +131 -0
- package/dist/_virtual/_commonjs-dynamic-modules.js +0 -7
- package/dist/_virtual/_commonjs-dynamic-modules.mjs +0 -5
- package/dist/_virtual/_commonjsHelpers.js +0 -10
- package/dist/_virtual/_commonjsHelpers.mjs +0 -7
- package/dist/_virtual/aes.js +0 -5
- package/dist/_virtual/aes.mjs +0 -3
- package/dist/_virtual/blowfish.js +0 -5
- package/dist/_virtual/blowfish.mjs +0 -3
- package/dist/_virtual/cipher-core.js +0 -5
- package/dist/_virtual/cipher-core.mjs +0 -3
- package/dist/_virtual/core.js +0 -5
- package/dist/_virtual/core.mjs +0 -3
- package/dist/_virtual/enc-base64.js +0 -5
- package/dist/_virtual/enc-base64.mjs +0 -3
- package/dist/_virtual/enc-base64url.js +0 -5
- package/dist/_virtual/enc-base64url.mjs +0 -3
- package/dist/_virtual/enc-utf16.js +0 -5
- package/dist/_virtual/enc-utf16.mjs +0 -3
- package/dist/_virtual/evpkdf.js +0 -5
- package/dist/_virtual/evpkdf.mjs +0 -3
- package/dist/_virtual/format-hex.js +0 -5
- package/dist/_virtual/format-hex.mjs +0 -3
- package/dist/_virtual/hmac.js +0 -5
- package/dist/_virtual/hmac.mjs +0 -3
- package/dist/_virtual/index.js +0 -11
- package/dist/_virtual/index.mjs +0 -7
- package/dist/_virtual/index2.js +0 -5
- package/dist/_virtual/index2.mjs +0 -3
- package/dist/_virtual/lib-typedarrays.js +0 -5
- package/dist/_virtual/lib-typedarrays.mjs +0 -3
- package/dist/_virtual/md5.js +0 -5
- package/dist/_virtual/md5.mjs +0 -3
- package/dist/_virtual/mode-cfb.js +0 -5
- package/dist/_virtual/mode-cfb.mjs +0 -3
- package/dist/_virtual/mode-ctr-gladman.js +0 -5
- package/dist/_virtual/mode-ctr-gladman.mjs +0 -3
- package/dist/_virtual/mode-ctr.js +0 -5
- package/dist/_virtual/mode-ctr.mjs +0 -3
- package/dist/_virtual/mode-ecb.js +0 -5
- package/dist/_virtual/mode-ecb.mjs +0 -3
- package/dist/_virtual/mode-ofb.js +0 -5
- package/dist/_virtual/mode-ofb.mjs +0 -3
- package/dist/_virtual/pad-ansix923.js +0 -5
- package/dist/_virtual/pad-ansix923.mjs +0 -3
- package/dist/_virtual/pad-iso10126.js +0 -5
- package/dist/_virtual/pad-iso10126.mjs +0 -3
- package/dist/_virtual/pad-iso97971.js +0 -5
- package/dist/_virtual/pad-iso97971.mjs +0 -3
- package/dist/_virtual/pad-nopadding.js +0 -5
- package/dist/_virtual/pad-nopadding.mjs +0 -3
- package/dist/_virtual/pad-zeropadding.js +0 -5
- package/dist/_virtual/pad-zeropadding.mjs +0 -3
- package/dist/_virtual/pbkdf2.js +0 -5
- package/dist/_virtual/pbkdf2.mjs +0 -3
- package/dist/_virtual/rabbit-legacy.js +0 -5
- package/dist/_virtual/rabbit-legacy.mjs +0 -3
- package/dist/_virtual/rabbit.js +0 -5
- package/dist/_virtual/rabbit.mjs +0 -3
- package/dist/_virtual/rc4.js +0 -5
- package/dist/_virtual/rc4.mjs +0 -3
- package/dist/_virtual/ripemd160.js +0 -5
- package/dist/_virtual/ripemd160.mjs +0 -3
- package/dist/_virtual/sha1.js +0 -5
- package/dist/_virtual/sha1.mjs +0 -3
- package/dist/_virtual/sha224.js +0 -5
- package/dist/_virtual/sha224.mjs +0 -3
- package/dist/_virtual/sha256.js +0 -5
- package/dist/_virtual/sha256.mjs +0 -3
- package/dist/_virtual/sha3.js +0 -5
- package/dist/_virtual/sha3.mjs +0 -3
- package/dist/_virtual/sha384.js +0 -5
- package/dist/_virtual/sha384.mjs +0 -3
- package/dist/_virtual/sha512.js +0 -5
- package/dist/_virtual/sha512.mjs +0 -3
- package/dist/_virtual/tripledes.js +0 -5
- package/dist/_virtual/tripledes.mjs +0 -3
- package/dist/_virtual/x64-core.js +0 -5
- package/dist/_virtual/x64-core.mjs +0 -3
- 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
- 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
- package/dist/node_modules/.pnpm/@upstash_qstash@2.10.1/node_modules/@upstash/qstash/chunk-35B33QW3.js +0 -1848
- package/dist/node_modules/.pnpm/@upstash_qstash@2.10.1/node_modules/@upstash/qstash/chunk-35B33QW3.mjs +0 -1830
- package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/chunk-IH7W44G6.js +0 -5308
- package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/chunk-IH7W44G6.mjs +0 -5302
- package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/nodejs.js +0 -116
- package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/nodejs.mjs +0 -113
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js +0 -248
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.mjs +0 -246
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.js +0 -485
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.mjs +0 -483
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.js +0 -906
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.mjs +0 -904
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.js +0 -818
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.mjs +0 -816
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.js +0 -146
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.mjs +0 -144
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.js +0 -158
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.mjs +0 -156
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.js +0 -159
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.mjs +0 -157
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.js +0 -146
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.mjs +0 -144
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.js +0 -77
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.mjs +0 -75
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.js +0 -153
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.mjs +0 -151
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.js +0 -62
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.mjs +0 -60
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.js +0 -86
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.mjs +0 -84
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.js +0 -278
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.mjs +0 -276
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.js +0 -91
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.mjs +0 -89
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.js +0 -127
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.mjs +0 -125
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.js +0 -69
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.mjs +0 -67
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js +0 -51
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.mjs +0 -49
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.js +0 -65
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.mjs +0 -63
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.js +0 -60
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.mjs +0 -58
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.js +0 -55
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.mjs +0 -53
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.js +0 -51
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.mjs +0 -49
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.js +0 -41
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.mjs +0 -39
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.js +0 -58
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.mjs +0 -56
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.js +0 -157
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.mjs +0 -155
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.js +0 -204
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.mjs +0 -202
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.js +0 -206
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.mjs +0 -204
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.js +0 -153
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.mjs +0 -151
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.js +0 -277
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.mjs +0 -275
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.js +0 -160
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.mjs +0 -158
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.js +0 -91
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.mjs +0 -89
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.js +0 -209
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.mjs +0 -207
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.js +0 -337
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.mjs +0 -335
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.js +0 -95
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.mjs +0 -93
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.js +0 -337
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.mjs +0 -335
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.js +0 -793
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.mjs +0 -791
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.js +0 -314
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.mjs +0 -312
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/compact/verify.js +0 -26
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/compact/verify.mjs +0 -24
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/flattened/verify.js +0 -127
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/flattened/verify.mjs +0 -125
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jwt/verify.js +0 -20
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jwt/verify.mjs +0 -18
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/key/import.js +0 -31
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/key/import.mjs +0 -29
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/buffer_utils.js +0 -18
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/buffer_utils.mjs +0 -14
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/check_key_type.js +0 -82
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/check_key_type.mjs +0 -80
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/crypto_key.js +0 -103
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/crypto_key.mjs +0 -101
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/epoch.js +0 -7
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/epoch.mjs +0 -3
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/invalid_key_input.js +0 -38
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/invalid_key_input.mjs +0 -33
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_disjoint.js +0 -27
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_disjoint.mjs +0 -23
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_jwk.js +0 -21
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_jwk.mjs +0 -16
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_object.js +0 -22
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_object.mjs +0 -18
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/jwt_claims_set.js +0 -111
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/jwt_claims_set.mjs +0 -107
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/secs.js +0 -61
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/secs.mjs +0 -57
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_algorithms.js +0 -16
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_algorithms.mjs +0 -12
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_crit.js +0 -40
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_crit.mjs +0 -36
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/base64url.js +0 -15
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/base64url.mjs +0 -13
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/check_key_length.js +0 -23
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/check_key_length.mjs +0 -19
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/dsa_digest.js +0 -30
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/dsa_digest.mjs +0 -26
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_named_curve.js +0 -60
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_named_curve.mjs +0 -56
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_sign_verify_key.js +0 -35
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_sign_verify_key.mjs +0 -31
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/hmac_digest.js +0 -20
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/hmac_digest.mjs +0 -16
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_like.js +0 -15
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_like.mjs +0 -10
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_object.js +0 -28
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_object.mjs +0 -5
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/jwk_to_key.js +0 -14
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/jwk_to_key.mjs +0 -10
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/node_key.js +0 -115
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/node_key.mjs +0 -111
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/sign.js +0 -42
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/sign.mjs +0 -19
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/verify.js +0 -54
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/verify.mjs +0 -31
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/webcrypto.js +0 -32
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/webcrypto.mjs +0 -7
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/util/errors.js +0 -69
- package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/util/errors.mjs +0 -60
- package/dist/node_modules/.pnpm/neverthrow@7.2.0/node_modules/neverthrow/dist/index.es.js +0 -422
- package/dist/node_modules/.pnpm/neverthrow@7.2.0/node_modules/neverthrow/dist/index.es.mjs +0 -415
- package/dist/node_modules/.pnpm/uncrypto@0.1.3/node_modules/uncrypto/dist/crypto.web.js +0 -6
- 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
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
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 '
|
|
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
|
|
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
|
|
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 '
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 '
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 '
|
|
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
|
|
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
|
|
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 '
|
|
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
|
|
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
|
|
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
|
|
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 '
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
2
2
|
import { NextRequest, NextResponse } from 'next/server';
|
|
3
3
|
import { AUTH_HEADERS } from './auth-shared.mjs';
|
|
4
4
|
|
package/dist/auth/auth-utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
147
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
148
148
|
try {
|
|
149
149
|
return yield getAuthenticatedUser(this.req);
|
|
150
150
|
}
|
package/dist/auth/auth-utils.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __awaiter } from '
|
|
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
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
package/dist/lib/index.mjs
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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 '
|
|
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
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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 '
|
|
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
|
|
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:
|
|
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<
|
|
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<
|
|
16
|
-
|
|
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<
|
|
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
|
*/
|