@dofe/sso-contracts 0.1.2

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 (310) hide show
  1. package/README.md +303 -0
  2. package/dist/api/admin-setting.contract.d.ts +69 -0
  3. package/dist/api/admin-setting.contract.d.ts.map +1 -0
  4. package/dist/api/admin-setting.contract.js +29 -0
  5. package/dist/api/admin-setting.contract.js.map +1 -0
  6. package/dist/api/admin-webhook.contract.d.ts +290 -0
  7. package/dist/api/admin-webhook.contract.d.ts.map +1 -0
  8. package/dist/api/admin-webhook.contract.js +79 -0
  9. package/dist/api/admin-webhook.contract.js.map +1 -0
  10. package/dist/api/admin.contract.d.ts +895 -0
  11. package/dist/api/admin.contract.d.ts.map +1 -0
  12. package/dist/api/admin.contract.js +178 -0
  13. package/dist/api/admin.contract.js.map +1 -0
  14. package/dist/api/analytics.contract.d.ts +99 -0
  15. package/dist/api/analytics.contract.d.ts.map +1 -0
  16. package/dist/api/analytics.contract.js +45 -0
  17. package/dist/api/analytics.contract.js.map +1 -0
  18. package/dist/api/app-rbac.contract.d.ts +259 -0
  19. package/dist/api/app-rbac.contract.d.ts.map +1 -0
  20. package/dist/api/app-rbac.contract.js +106 -0
  21. package/dist/api/app-rbac.contract.js.map +1 -0
  22. package/dist/api/approval.contract.d.ts +243 -0
  23. package/dist/api/approval.contract.d.ts.map +1 -0
  24. package/dist/api/approval.contract.js +56 -0
  25. package/dist/api/approval.contract.js.map +1 -0
  26. package/dist/api/audit-log.contract.d.ts +741 -0
  27. package/dist/api/audit-log.contract.d.ts.map +1 -0
  28. package/dist/api/audit-log.contract.js +44 -0
  29. package/dist/api/audit-log.contract.js.map +1 -0
  30. package/dist/api/auth.contract.d.ts +757 -0
  31. package/dist/api/auth.contract.d.ts.map +1 -0
  32. package/dist/api/auth.contract.js +144 -0
  33. package/dist/api/auth.contract.js.map +1 -0
  34. package/dist/api/client.contract.d.ts +435 -0
  35. package/dist/api/client.contract.d.ts.map +1 -0
  36. package/dist/api/client.contract.js +90 -0
  37. package/dist/api/client.contract.js.map +1 -0
  38. package/dist/api/connector.contract.d.ts +202 -0
  39. package/dist/api/connector.contract.d.ts.map +1 -0
  40. package/dist/api/connector.contract.js +54 -0
  41. package/dist/api/connector.contract.js.map +1 -0
  42. package/dist/api/dashboard.contract.d.ts +109 -0
  43. package/dist/api/dashboard.contract.d.ts.map +1 -0
  44. package/dist/api/dashboard.contract.js +34 -0
  45. package/dist/api/dashboard.contract.js.map +1 -0
  46. package/dist/api/download.contract.d.ts +81 -0
  47. package/dist/api/download.contract.d.ts.map +1 -0
  48. package/dist/api/download.contract.js +57 -0
  49. package/dist/api/download.contract.js.map +1 -0
  50. package/dist/api/impersonation.contract.d.ts +171 -0
  51. package/dist/api/impersonation.contract.d.ts.map +1 -0
  52. package/dist/api/impersonation.contract.js +53 -0
  53. package/dist/api/impersonation.contract.js.map +1 -0
  54. package/dist/api/index.d.ts +33 -0
  55. package/dist/api/index.d.ts.map +1 -0
  56. package/dist/api/index.js +49 -0
  57. package/dist/api/index.js.map +1 -0
  58. package/dist/api/internal-app-rbac.contract.d.ts +570 -0
  59. package/dist/api/internal-app-rbac.contract.d.ts.map +1 -0
  60. package/dist/api/internal-app-rbac.contract.js +123 -0
  61. package/dist/api/internal-app-rbac.contract.js.map +1 -0
  62. package/dist/api/internal-approval.contract.d.ts +490 -0
  63. package/dist/api/internal-approval.contract.d.ts.map +1 -0
  64. package/dist/api/internal-approval.contract.js +73 -0
  65. package/dist/api/internal-approval.contract.js.map +1 -0
  66. package/dist/api/internal.contract.d.ts +1765 -0
  67. package/dist/api/internal.contract.d.ts.map +1 -0
  68. package/dist/api/internal.contract.js +316 -0
  69. package/dist/api/internal.contract.js.map +1 -0
  70. package/dist/api/message.contract.d.ts +127 -0
  71. package/dist/api/message.contract.d.ts.map +1 -0
  72. package/dist/api/message.contract.js +85 -0
  73. package/dist/api/message.contract.js.map +1 -0
  74. package/dist/api/mfa.contract.d.ts +322 -0
  75. package/dist/api/mfa.contract.d.ts.map +1 -0
  76. package/dist/api/mfa.contract.js +79 -0
  77. package/dist/api/mfa.contract.js.map +1 -0
  78. package/dist/api/oidc.contract.d.ts +69 -0
  79. package/dist/api/oidc.contract.d.ts.map +1 -0
  80. package/dist/api/oidc.contract.js +44 -0
  81. package/dist/api/oidc.contract.js.map +1 -0
  82. package/dist/api/rbac.contract.d.ts +413 -0
  83. package/dist/api/rbac.contract.d.ts.map +1 -0
  84. package/dist/api/rbac.contract.js +151 -0
  85. package/dist/api/rbac.contract.js.map +1 -0
  86. package/dist/api/risk-words.contract.d.ts +40 -0
  87. package/dist/api/risk-words.contract.d.ts.map +1 -0
  88. package/dist/api/risk-words.contract.js +35 -0
  89. package/dist/api/risk-words.contract.js.map +1 -0
  90. package/dist/api/setting.contract.d.ts +302 -0
  91. package/dist/api/setting.contract.d.ts.map +1 -0
  92. package/dist/api/setting.contract.js +105 -0
  93. package/dist/api/setting.contract.js.map +1 -0
  94. package/dist/api/sign-in-experience.contract.d.ts +156 -0
  95. package/dist/api/sign-in-experience.contract.d.ts.map +1 -0
  96. package/dist/api/sign-in-experience.contract.js +29 -0
  97. package/dist/api/sign-in-experience.contract.js.map +1 -0
  98. package/dist/api/sign.contract.d.ts +834 -0
  99. package/dist/api/sign.contract.d.ts.map +1 -0
  100. package/dist/api/sign.contract.js +227 -0
  101. package/dist/api/sign.contract.js.map +1 -0
  102. package/dist/api/sms.contract.d.ts +150 -0
  103. package/dist/api/sms.contract.d.ts.map +1 -0
  104. package/dist/api/sms.contract.js +76 -0
  105. package/dist/api/sms.contract.js.map +1 -0
  106. package/dist/api/system.contract.d.ts +69 -0
  107. package/dist/api/system.contract.d.ts.map +1 -0
  108. package/dist/api/system.contract.js +42 -0
  109. package/dist/api/system.contract.js.map +1 -0
  110. package/dist/api/task.contract.d.ts +106 -0
  111. package/dist/api/task.contract.d.ts.map +1 -0
  112. package/dist/api/task.contract.js +47 -0
  113. package/dist/api/task.contract.js.map +1 -0
  114. package/dist/api/tenant.contract.d.ts +855 -0
  115. package/dist/api/tenant.contract.d.ts.map +1 -0
  116. package/dist/api/tenant.contract.js +143 -0
  117. package/dist/api/tenant.contract.js.map +1 -0
  118. package/dist/api/uploader.contract.d.ts +232 -0
  119. package/dist/api/uploader.contract.d.ts.map +1 -0
  120. package/dist/api/uploader.contract.js +75 -0
  121. package/dist/api/uploader.contract.js.map +1 -0
  122. package/dist/api/user-v1.contract.d.ts +237 -0
  123. package/dist/api/user-v1.contract.d.ts.map +1 -0
  124. package/dist/api/user-v1.contract.js +75 -0
  125. package/dist/api/user-v1.contract.js.map +1 -0
  126. package/dist/api/user.contract.d.ts +140 -0
  127. package/dist/api/user.contract.d.ts.map +1 -0
  128. package/dist/api/user.contract.js +51 -0
  129. package/dist/api/user.contract.js.map +1 -0
  130. package/dist/api/webhook.contract.d.ts +108 -0
  131. package/dist/api/webhook.contract.d.ts.map +1 -0
  132. package/dist/api/webhook.contract.js +60 -0
  133. package/dist/api/webhook.contract.js.map +1 -0
  134. package/dist/base.d.ts +91 -0
  135. package/dist/base.d.ts.map +1 -0
  136. package/dist/base.js +68 -0
  137. package/dist/base.js.map +1 -0
  138. package/dist/errors/codes.d.ts +183 -0
  139. package/dist/errors/codes.d.ts.map +1 -0
  140. package/dist/errors/codes.js +41 -0
  141. package/dist/errors/codes.js.map +1 -0
  142. package/dist/errors/domains/auth.errors.d.ts +8 -0
  143. package/dist/errors/domains/auth.errors.d.ts.map +1 -0
  144. package/dist/errors/domains/auth.errors.js +14 -0
  145. package/dist/errors/domains/auth.errors.js.map +1 -0
  146. package/dist/errors/domains/common.errors.d.ts +71 -0
  147. package/dist/errors/domains/common.errors.d.ts.map +1 -0
  148. package/dist/errors/domains/common.errors.js +205 -0
  149. package/dist/errors/domains/common.errors.js.map +1 -0
  150. package/dist/errors/domains/index.d.ts +7 -0
  151. package/dist/errors/domains/index.d.ts.map +1 -0
  152. package/dist/errors/domains/index.js +24 -0
  153. package/dist/errors/domains/index.js.map +1 -0
  154. package/dist/errors/domains/tenant.errors.d.ts +8 -0
  155. package/dist/errors/domains/tenant.errors.d.ts.map +1 -0
  156. package/dist/errors/domains/tenant.errors.js +14 -0
  157. package/dist/errors/domains/tenant.errors.js.map +1 -0
  158. package/dist/errors/domains/user.errors.d.ts +21 -0
  159. package/dist/errors/domains/user.errors.d.ts.map +1 -0
  160. package/dist/errors/domains/user.errors.js +50 -0
  161. package/dist/errors/domains/user.errors.js.map +1 -0
  162. package/dist/errors/error-response.d.ts +116 -0
  163. package/dist/errors/error-response.d.ts.map +1 -0
  164. package/dist/errors/error-response.js +128 -0
  165. package/dist/errors/error-response.js.map +1 -0
  166. package/dist/errors/index.d.ts +9 -0
  167. package/dist/errors/index.d.ts.map +1 -0
  168. package/dist/errors/index.js +29 -0
  169. package/dist/errors/index.js.map +1 -0
  170. package/dist/errors/messages.d.ts +26 -0
  171. package/dist/errors/messages.d.ts.map +1 -0
  172. package/dist/errors/messages.js +224 -0
  173. package/dist/errors/messages.js.map +1 -0
  174. package/dist/index.d.ts +14 -0
  175. package/dist/index.d.ts.map +1 -0
  176. package/dist/index.js +34 -0
  177. package/dist/index.js.map +1 -0
  178. package/dist/schemas/admin-system.schema.d.ts +58 -0
  179. package/dist/schemas/admin-system.schema.d.ts.map +1 -0
  180. package/dist/schemas/admin-system.schema.js +40 -0
  181. package/dist/schemas/admin-system.schema.js.map +1 -0
  182. package/dist/schemas/admin-webhook.schema.d.ts +129 -0
  183. package/dist/schemas/admin-webhook.schema.d.ts.map +1 -0
  184. package/dist/schemas/admin-webhook.schema.js +64 -0
  185. package/dist/schemas/admin-webhook.schema.js.map +1 -0
  186. package/dist/schemas/admin.schema.d.ts +255 -0
  187. package/dist/schemas/admin.schema.d.ts.map +1 -0
  188. package/dist/schemas/admin.schema.js +164 -0
  189. package/dist/schemas/admin.schema.js.map +1 -0
  190. package/dist/schemas/analytics.schema.d.ts +144 -0
  191. package/dist/schemas/analytics.schema.d.ts.map +1 -0
  192. package/dist/schemas/analytics.schema.js +69 -0
  193. package/dist/schemas/analytics.schema.js.map +1 -0
  194. package/dist/schemas/app-rbac.schema.d.ts +125 -0
  195. package/dist/schemas/app-rbac.schema.d.ts.map +1 -0
  196. package/dist/schemas/app-rbac.schema.js +68 -0
  197. package/dist/schemas/app-rbac.schema.js.map +1 -0
  198. package/dist/schemas/approval.schema.d.ts +134 -0
  199. package/dist/schemas/approval.schema.d.ts.map +1 -0
  200. package/dist/schemas/approval.schema.js +60 -0
  201. package/dist/schemas/approval.schema.js.map +1 -0
  202. package/dist/schemas/audit-log.schema.d.ts +395 -0
  203. package/dist/schemas/audit-log.schema.d.ts.map +1 -0
  204. package/dist/schemas/audit-log.schema.js +49 -0
  205. package/dist/schemas/audit-log.schema.js.map +1 -0
  206. package/dist/schemas/auth.schema.d.ts +110 -0
  207. package/dist/schemas/auth.schema.d.ts.map +1 -0
  208. package/dist/schemas/auth.schema.js +100 -0
  209. package/dist/schemas/auth.schema.js.map +1 -0
  210. package/dist/schemas/client.schema.d.ts +103 -0
  211. package/dist/schemas/client.schema.d.ts.map +1 -0
  212. package/dist/schemas/client.schema.js +62 -0
  213. package/dist/schemas/client.schema.js.map +1 -0
  214. package/dist/schemas/connector.schema.d.ts +71 -0
  215. package/dist/schemas/connector.schema.d.ts.map +1 -0
  216. package/dist/schemas/connector.schema.js +35 -0
  217. package/dist/schemas/connector.schema.js.map +1 -0
  218. package/dist/schemas/dashboard.schema.d.ts +34 -0
  219. package/dist/schemas/dashboard.schema.d.ts.map +1 -0
  220. package/dist/schemas/dashboard.schema.js +34 -0
  221. package/dist/schemas/dashboard.schema.js.map +1 -0
  222. package/dist/schemas/download.schema.d.ts +42 -0
  223. package/dist/schemas/download.schema.d.ts.map +1 -0
  224. package/dist/schemas/download.schema.js +43 -0
  225. package/dist/schemas/download.schema.js.map +1 -0
  226. package/dist/schemas/impersonation.schema.d.ts +34 -0
  227. package/dist/schemas/impersonation.schema.d.ts.map +1 -0
  228. package/dist/schemas/impersonation.schema.js +37 -0
  229. package/dist/schemas/impersonation.schema.js.map +1 -0
  230. package/dist/schemas/index.d.ts +33 -0
  231. package/dist/schemas/index.d.ts.map +1 -0
  232. package/dist/schemas/index.js +51 -0
  233. package/dist/schemas/index.js.map +1 -0
  234. package/dist/schemas/internal.schema.d.ts +339 -0
  235. package/dist/schemas/internal.schema.d.ts.map +1 -0
  236. package/dist/schemas/internal.schema.js +218 -0
  237. package/dist/schemas/internal.schema.js.map +1 -0
  238. package/dist/schemas/message.schema.d.ts +117 -0
  239. package/dist/schemas/message.schema.d.ts.map +1 -0
  240. package/dist/schemas/message.schema.js +73 -0
  241. package/dist/schemas/message.schema.js.map +1 -0
  242. package/dist/schemas/mfa.schema.d.ts +52 -0
  243. package/dist/schemas/mfa.schema.d.ts.map +1 -0
  244. package/dist/schemas/mfa.schema.js +53 -0
  245. package/dist/schemas/mfa.schema.js.map +1 -0
  246. package/dist/schemas/oidc.schema.d.ts +101 -0
  247. package/dist/schemas/oidc.schema.d.ts.map +1 -0
  248. package/dist/schemas/oidc.schema.js +101 -0
  249. package/dist/schemas/oidc.schema.js.map +1 -0
  250. package/dist/schemas/prisma-enums.generated.d.ts +196 -0
  251. package/dist/schemas/prisma-enums.generated.d.ts.map +1 -0
  252. package/dist/schemas/prisma-enums.generated.js +91 -0
  253. package/dist/schemas/prisma-enums.generated.js.map +1 -0
  254. package/dist/schemas/rbac.schema.d.ts +170 -0
  255. package/dist/schemas/rbac.schema.d.ts.map +1 -0
  256. package/dist/schemas/rbac.schema.js +82 -0
  257. package/dist/schemas/rbac.schema.js.map +1 -0
  258. package/dist/schemas/risk-words.schema.d.ts +16 -0
  259. package/dist/schemas/risk-words.schema.d.ts.map +1 -0
  260. package/dist/schemas/risk-words.schema.js +25 -0
  261. package/dist/schemas/risk-words.schema.js.map +1 -0
  262. package/dist/schemas/setting.schema.d.ts +62 -0
  263. package/dist/schemas/setting.schema.d.ts.map +1 -0
  264. package/dist/schemas/setting.schema.js +66 -0
  265. package/dist/schemas/setting.schema.js.map +1 -0
  266. package/dist/schemas/sie.schema.d.ts +180 -0
  267. package/dist/schemas/sie.schema.d.ts.map +1 -0
  268. package/dist/schemas/sie.schema.js +56 -0
  269. package/dist/schemas/sie.schema.js.map +1 -0
  270. package/dist/schemas/sign.schema.d.ts +156 -0
  271. package/dist/schemas/sign.schema.d.ts.map +1 -0
  272. package/dist/schemas/sign.schema.js +143 -0
  273. package/dist/schemas/sign.schema.js.map +1 -0
  274. package/dist/schemas/sms.schema.d.ts +36 -0
  275. package/dist/schemas/sms.schema.d.ts.map +1 -0
  276. package/dist/schemas/sms.schema.js +48 -0
  277. package/dist/schemas/sms.schema.js.map +1 -0
  278. package/dist/schemas/sse.schema.d.ts +27 -0
  279. package/dist/schemas/sse.schema.d.ts.map +1 -0
  280. package/dist/schemas/sse.schema.js +32 -0
  281. package/dist/schemas/sse.schema.js.map +1 -0
  282. package/dist/schemas/system.schema.d.ts +48 -0
  283. package/dist/schemas/system.schema.d.ts.map +1 -0
  284. package/dist/schemas/system.schema.js +25 -0
  285. package/dist/schemas/system.schema.js.map +1 -0
  286. package/dist/schemas/tag.schema.d.ts +57 -0
  287. package/dist/schemas/tag.schema.d.ts.map +1 -0
  288. package/dist/schemas/tag.schema.js +46 -0
  289. package/dist/schemas/tag.schema.js.map +1 -0
  290. package/dist/schemas/task.schema.d.ts +92 -0
  291. package/dist/schemas/task.schema.d.ts.map +1 -0
  292. package/dist/schemas/task.schema.js +45 -0
  293. package/dist/schemas/task.schema.js.map +1 -0
  294. package/dist/schemas/tenant.schema.d.ts +206 -0
  295. package/dist/schemas/tenant.schema.d.ts.map +1 -0
  296. package/dist/schemas/tenant.schema.js +90 -0
  297. package/dist/schemas/tenant.schema.js.map +1 -0
  298. package/dist/schemas/uploader.schema.d.ts +137 -0
  299. package/dist/schemas/uploader.schema.d.ts.map +1 -0
  300. package/dist/schemas/uploader.schema.js +115 -0
  301. package/dist/schemas/uploader.schema.js.map +1 -0
  302. package/dist/schemas/user.schema.d.ts +107 -0
  303. package/dist/schemas/user.schema.d.ts.map +1 -0
  304. package/dist/schemas/user.schema.js +70 -0
  305. package/dist/schemas/user.schema.js.map +1 -0
  306. package/dist/schemas/webhook.schema.d.ts +75 -0
  307. package/dist/schemas/webhook.schema.d.ts.map +1 -0
  308. package/dist/schemas/webhook.schema.js +71 -0
  309. package/dist/schemas/webhook.schema.js.map +1 -0
  310. package/package.json +77 -0
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webhookContract = void 0;
4
+ const core_1 = require("@ts-rest/core");
5
+ const zod_1 = require("zod");
6
+ const base_1 = require("../base");
7
+ const webhook_schema_1 = require("../schemas/webhook.schema");
8
+ const c = (0, core_1.initContract)();
9
+ /**
10
+ * Webhook API Contract
11
+ * Note: Webhook endpoints typically don't require authentication as they are called by external services
12
+ */
13
+ exports.webhookContract = c.router({
14
+ // POST /webhook/transcode - Transcode webhook callback
15
+ transcode: {
16
+ method: 'POST',
17
+ path: '/transcode',
18
+ body: webhook_schema_1.TranscodeWebhookRequestSchema,
19
+ responses: {
20
+ 200: (0, base_1.ApiResponseSchema)(webhook_schema_1.WebhookSuccessResponseSchema),
21
+ },
22
+ summary: 'Transcode webhook callback',
23
+ },
24
+ // POST /webhook/audio-transcribe/:vendor - Audio transcribe webhook callback
25
+ audioTranscribe: {
26
+ method: 'POST',
27
+ path: '/audio-transcribe/:vendor',
28
+ pathParams: zod_1.z.object({
29
+ vendor: zod_1.z.enum(['oss', 'tos']),
30
+ }),
31
+ body: webhook_schema_1.AudioTranscribeWebhookRequestSchema,
32
+ responses: {
33
+ 200: (0, base_1.ApiResponseSchema)(webhook_schema_1.WebhookSuccessResponseSchema),
34
+ },
35
+ summary: 'Audio transcribe webhook callback',
36
+ },
37
+ // POST /webhook/transcode/volcengine - Volcengine transcode webhook callback
38
+ volcengineTranscode: {
39
+ method: 'POST',
40
+ path: '/transcode/volcengine',
41
+ body: webhook_schema_1.VolcengineTranscodeWebhookRequestSchema,
42
+ responses: {
43
+ 200: (0, base_1.ApiResponseSchema)(webhook_schema_1.WebhookSuccessResponseSchema),
44
+ },
45
+ summary: 'Volcengine transcode webhook callback',
46
+ },
47
+ // POST /webhook/python-task - Python task webhook callback
48
+ pythonTask: {
49
+ method: 'POST',
50
+ path: '/python-task',
51
+ body: webhook_schema_1.PythonTaskWebhookRequestSchema,
52
+ responses: {
53
+ 200: (0, base_1.ApiResponseSchema)(webhook_schema_1.WebhookSuccessResponseSchema),
54
+ },
55
+ summary: 'Python task webhook callback from agent_x',
56
+ },
57
+ }, {
58
+ pathPrefix: '/webhook',
59
+ });
60
+ //# sourceMappingURL=webhook.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.contract.js","sourceRoot":"","sources":["../../src/api/webhook.contract.ts"],"names":[],"mappings":";;;AAAA,wCAA6C;AAC7C,6BAAwB;AACxB,kCAA4C;AAC5C,8DAMmC;AAEnC,MAAM,CAAC,GAAG,IAAA,mBAAY,GAAE,CAAC;AAEzB;;;GAGG;AACU,QAAA,eAAe,GAAG,CAAC,CAAC,MAAM,CACrC;IACE,uDAAuD;IACvD,SAAS,EAAE;QACT,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,8CAA6B;QACnC,SAAS,EAAE;YACT,GAAG,EAAE,IAAA,wBAAiB,EAAC,6CAA4B,CAAC;SACrD;QACD,OAAO,EAAE,4BAA4B;KACtC;IAED,6EAA6E;IAC7E,eAAe,EAAE;QACf,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC/B,CAAC;QACF,IAAI,EAAE,oDAAmC;QACzC,SAAS,EAAE;YACT,GAAG,EAAE,IAAA,wBAAiB,EAAC,6CAA4B,CAAC;SACrD;QACD,OAAO,EAAE,mCAAmC;KAC7C;IAED,6EAA6E;IAC7E,mBAAmB,EAAE;QACnB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,wDAAuC;QAC7C,SAAS,EAAE;YACT,GAAG,EAAE,IAAA,wBAAiB,EAAC,6CAA4B,CAAC;SACrD;QACD,OAAO,EAAE,uCAAuC;KACjD;IAED,2DAA2D;IAC3D,UAAU,EAAE;QACV,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,+CAA8B;QACpC,SAAS,EAAE;YACT,GAAG,EAAE,IAAA,wBAAiB,EAAC,6CAA4B,CAAC;SACrD;QACD,OAAO,EAAE,2CAA2C;KACrD;CACF,EACD;IACE,UAAU,EAAE,UAAU;CACvB,CACF,CAAC"}
package/dist/base.d.ts ADDED
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @repo/contracts - Base types and utilities
3
+ *
4
+ * Re-exports from @dofe/infra-contracts-base with project-specific extensions.
5
+ * This ensures consistency across all DoFe projects while allowing customization.
6
+ */
7
+ import { z } from 'zod';
8
+ export { HTTP_CODE, API_VERSION, API_VERSION_HEADER, API_VERSION_DEFAULT, CONTRACT_METADATA, type ApiVersion, type ContractMetadata, type VersionedContract, withVersion, getContractVersion, getContractMetadata, hasContractVersion, ApiResponseSchema, RestResponseSchema, type ApiResponse, EmptyQuerySchema, IdSchema, SuccessResponseSchema, type SuccessResponse, ErrorResponseSchema, type ErrorResponse, EnhancedErrorResponseSchema, type EnhancedErrorResponse, createApiContract, } from '@dofe/infra-contracts-base';
9
+ /**
10
+ * Pagination query schema with project-specific sort fields.
11
+ * Extends the base schema with sso.dofe.ai specific sort enum values.
12
+ */
13
+ export declare const PaginationQuerySchema: z.ZodObject<{
14
+ limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
15
+ page: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
16
+ asc: z.ZodOptional<z.ZodEnum<{
17
+ asc: "asc";
18
+ desc: "desc";
19
+ }>>;
20
+ sort: z.ZodOptional<z.ZodEnum<{
21
+ createdAt: "createdAt";
22
+ name: "name";
23
+ fsize: "fsize";
24
+ disable: "disable";
25
+ frameTime: "frameTime";
26
+ expireAt: "expireAt";
27
+ }>>;
28
+ }, z.core.$strip>;
29
+ export type PaginationQuery = z.infer<typeof PaginationQuerySchema>;
30
+ export declare const PaginatedResponseSchema: <T extends z.ZodTypeAny>(itemSchema: T) => z.ZodObject<{
31
+ list: z.ZodArray<T>;
32
+ total: z.ZodNumber;
33
+ page: z.ZodNumber;
34
+ limit: z.ZodNumber;
35
+ }, z.core.$strip>;
36
+ /**
37
+ * Extended paginated response schema with optional metadata fields.
38
+ */
39
+ export declare const ExtendedPaginatedResponseSchema: <T extends z.ZodTypeAny>(itemSchema: T) => z.ZodObject<{
40
+ list: z.ZodArray<T>;
41
+ total: z.ZodNumber;
42
+ page: z.ZodOptional<z.ZodNumber>;
43
+ limit: z.ZodOptional<z.ZodNumber>;
44
+ totalSize: z.ZodOptional<z.ZodNumber>;
45
+ permission: z.ZodOptional<z.ZodArray<z.ZodString>>;
46
+ role: z.ZodOptional<z.ZodString>;
47
+ nowTime: z.ZodOptional<z.ZodCoercedDate<unknown>>;
48
+ }, z.core.$strip>;
49
+ export type PaginatedResponse<T> = {
50
+ list: T[];
51
+ total: number;
52
+ page: number;
53
+ limit: number;
54
+ };
55
+ export type ExtendedPaginatedResponse<T> = {
56
+ list: T[];
57
+ total: number;
58
+ page?: number;
59
+ limit?: number;
60
+ /** 总大小(字节),用于文件列表 */
61
+ totalSize?: number;
62
+ /** 权限列表 */
63
+ permission?: string[];
64
+ /** 角色标识 */
65
+ role?: string;
66
+ /** 服务器当前时间 */
67
+ nowTime?: Date;
68
+ };
69
+ export { z };
70
+ /** Success response with a message field (e.g., webhook test results) */
71
+ export declare const SuccessMessageResponseSchema: z.ZodObject<{
72
+ success: z.ZodBoolean;
73
+ message: z.ZodString;
74
+ }, z.core.$strip>;
75
+ export type SuccessMessageResponse = z.infer<typeof SuccessMessageResponseSchema>;
76
+ /** 中国大陆手机号正则(11 位,1 开头,第二位 3-9) */
77
+ export declare const CHINESE_MOBILE_REGEX: RegExp;
78
+ /**
79
+ * Strictly-typed API response wrapper.
80
+ * Use instead of `as any` when accessing ts-rest response bodies.
81
+ *
82
+ * @example
83
+ * const body = res.body as StrictApiResponse<MfaSetupInitResponse>;
84
+ * body.data.qrCodeDataUrl; // ✅ typed
85
+ */
86
+ export type StrictApiResponse<T = Record<string, unknown>> = {
87
+ code: number;
88
+ msg: string;
89
+ data: T;
90
+ };
91
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,WAAW,EAChB,gBAAgB,EAChB,QAAQ,EACR,qBAAqB,EACrB,KAAK,eAAe,EACpB,mBAAmB,EACnB,KAAK,aAAa,EAClB,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAQpC;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAEhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,uBAAuB;;;;;iBAA8B,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC;;;;;;;;;iBAcjF,CAAC;AAEL,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc;IACd,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAGF,OAAO,EAAE,CAAC,EAAE,CAAC;AAIb,yEAAyE;AACzE,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,mCAAmC;AACnC,eAAO,MAAM,oBAAoB,QAAkB,CAAC;AAIpD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT,CAAC"}
package/dist/base.js ADDED
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * @repo/contracts - Base types and utilities
4
+ *
5
+ * Re-exports from @dofe/infra-contracts-base with project-specific extensions.
6
+ * This ensures consistency across all DoFe projects while allowing customization.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CHINESE_MOBILE_REGEX = exports.SuccessMessageResponseSchema = exports.z = exports.ExtendedPaginatedResponseSchema = exports.PaginatedResponseSchema = exports.PaginationQuerySchema = exports.createApiContract = exports.EnhancedErrorResponseSchema = exports.ErrorResponseSchema = exports.SuccessResponseSchema = exports.IdSchema = exports.EmptyQuerySchema = exports.RestResponseSchema = exports.ApiResponseSchema = exports.hasContractVersion = exports.getContractMetadata = exports.getContractVersion = exports.withVersion = exports.CONTRACT_METADATA = exports.API_VERSION_DEFAULT = exports.API_VERSION_HEADER = exports.API_VERSION = exports.HTTP_CODE = void 0;
10
+ const zod_1 = require("zod");
11
+ Object.defineProperty(exports, "z", { enumerable: true, get: function () { return zod_1.z; } });
12
+ // Re-export all base utilities from infra package
13
+ var infra_contracts_base_1 = require("@dofe/infra-contracts-base");
14
+ Object.defineProperty(exports, "HTTP_CODE", { enumerable: true, get: function () { return infra_contracts_base_1.HTTP_CODE; } });
15
+ Object.defineProperty(exports, "API_VERSION", { enumerable: true, get: function () { return infra_contracts_base_1.API_VERSION; } });
16
+ Object.defineProperty(exports, "API_VERSION_HEADER", { enumerable: true, get: function () { return infra_contracts_base_1.API_VERSION_HEADER; } });
17
+ Object.defineProperty(exports, "API_VERSION_DEFAULT", { enumerable: true, get: function () { return infra_contracts_base_1.API_VERSION_DEFAULT; } });
18
+ Object.defineProperty(exports, "CONTRACT_METADATA", { enumerable: true, get: function () { return infra_contracts_base_1.CONTRACT_METADATA; } });
19
+ Object.defineProperty(exports, "withVersion", { enumerable: true, get: function () { return infra_contracts_base_1.withVersion; } });
20
+ Object.defineProperty(exports, "getContractVersion", { enumerable: true, get: function () { return infra_contracts_base_1.getContractVersion; } });
21
+ Object.defineProperty(exports, "getContractMetadata", { enumerable: true, get: function () { return infra_contracts_base_1.getContractMetadata; } });
22
+ Object.defineProperty(exports, "hasContractVersion", { enumerable: true, get: function () { return infra_contracts_base_1.hasContractVersion; } });
23
+ Object.defineProperty(exports, "ApiResponseSchema", { enumerable: true, get: function () { return infra_contracts_base_1.ApiResponseSchema; } });
24
+ Object.defineProperty(exports, "RestResponseSchema", { enumerable: true, get: function () { return infra_contracts_base_1.RestResponseSchema; } });
25
+ Object.defineProperty(exports, "EmptyQuerySchema", { enumerable: true, get: function () { return infra_contracts_base_1.EmptyQuerySchema; } });
26
+ Object.defineProperty(exports, "IdSchema", { enumerable: true, get: function () { return infra_contracts_base_1.IdSchema; } });
27
+ Object.defineProperty(exports, "SuccessResponseSchema", { enumerable: true, get: function () { return infra_contracts_base_1.SuccessResponseSchema; } });
28
+ Object.defineProperty(exports, "ErrorResponseSchema", { enumerable: true, get: function () { return infra_contracts_base_1.ErrorResponseSchema; } });
29
+ Object.defineProperty(exports, "EnhancedErrorResponseSchema", { enumerable: true, get: function () { return infra_contracts_base_1.EnhancedErrorResponseSchema; } });
30
+ Object.defineProperty(exports, "createApiContract", { enumerable: true, get: function () { return infra_contracts_base_1.createApiContract; } });
31
+ // Import PaginationQuerySchema to extend with project-specific sort enum
32
+ const infra_contracts_base_2 = require("@dofe/infra-contracts-base");
33
+ /**
34
+ * Pagination query schema with project-specific sort fields.
35
+ * Extends the base schema with sso.dofe.ai specific sort enum values.
36
+ */
37
+ exports.PaginationQuerySchema = infra_contracts_base_2.PaginationQuerySchema.extend({
38
+ sort: zod_1.z.enum(['createdAt', 'name', 'fsize', 'disable', 'frameTime', 'expireAt']).optional(),
39
+ });
40
+ // Re-export PaginatedResponseSchema (no changes needed)
41
+ exports.PaginatedResponseSchema = infra_contracts_base_2.PaginatedResponseSchema;
42
+ /**
43
+ * Extended paginated response schema with optional metadata fields.
44
+ */
45
+ const ExtendedPaginatedResponseSchema = (itemSchema) => zod_1.z.object({
46
+ list: zod_1.z.array(itemSchema),
47
+ total: zod_1.z.number(),
48
+ page: zod_1.z.number().optional(),
49
+ limit: zod_1.z.number().optional(),
50
+ /** 总大小(字节),用于文件列表 */
51
+ totalSize: zod_1.z.number().optional(),
52
+ /** 权限列表 */
53
+ permission: zod_1.z.array(zod_1.z.string()).optional(),
54
+ /** 角色标识 */
55
+ role: zod_1.z.string().optional(),
56
+ /** 服务器当前时间 */
57
+ nowTime: zod_1.z.coerce.date().optional(),
58
+ });
59
+ exports.ExtendedPaginatedResponseSchema = ExtendedPaginatedResponseSchema;
60
+ // ─── Shared Validation Patterns ───
61
+ /** Success response with a message field (e.g., webhook test results) */
62
+ exports.SuccessMessageResponseSchema = zod_1.z.object({
63
+ success: zod_1.z.boolean(),
64
+ message: zod_1.z.string(),
65
+ });
66
+ /** 中国大陆手机号正则(11 位,1 开头,第二位 3-9) */
67
+ exports.CHINESE_MOBILE_REGEX = /^1[3-9]\d{9}$/;
68
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6BAAwB;AA2Ff,kFA3FA,OAAC,OA2FA;AAzFV,kDAAkD;AAClD,mEAyBoC;AAxBlC,iHAAA,SAAS,OAAA;AACT,mHAAA,WAAW,OAAA;AACX,0HAAA,kBAAkB,OAAA;AAClB,2HAAA,mBAAmB,OAAA;AACnB,yHAAA,iBAAiB,OAAA;AAIjB,mHAAA,WAAW,OAAA;AACX,0HAAA,kBAAkB,OAAA;AAClB,2HAAA,mBAAmB,OAAA;AACnB,0HAAA,kBAAkB,OAAA;AAClB,yHAAA,iBAAiB,OAAA;AACjB,0HAAA,kBAAkB,OAAA;AAElB,wHAAA,gBAAgB,OAAA;AAChB,gHAAA,QAAQ,OAAA;AACR,6HAAA,qBAAqB,OAAA;AAErB,2HAAA,mBAAmB,OAAA;AAEnB,mIAAA,2BAA2B,OAAA;AAE3B,yHAAA,iBAAiB,OAAA;AAGnB,yEAAyE;AACzE,qEAGoC;AAEpC;;;GAGG;AACU,QAAA,qBAAqB,GAAG,4CAAyB,CAAC,MAAM,CAAC;IACpE,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5F,CAAC,CAAC;AAIH,wDAAwD;AAC3C,QAAA,uBAAuB,GAAG,8CAA2B,CAAC;AAEnE;;GAEG;AACI,MAAM,+BAA+B,GAAG,CAAyB,UAAa,EAAE,EAAE,CACvF,OAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACzB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,qBAAqB;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW;IACX,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,WAAW;IACX,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,cAAc;IACd,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAdQ,QAAA,+BAA+B,mCAcvC;AA2BL,qCAAqC;AAErC,yEAAyE;AAC5D,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAGH,mCAAmC;AACtB,QAAA,oBAAoB,GAAG,eAAe,CAAC"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Unified API Error Codes
3
+ * 统一的 API 错误码枚举 - 聚合所有域的错误码
4
+ *
5
+ * Error Code Format: XXXYYY (string)
6
+ * - XXX: Business domain code (2xx=User, 9xx=Common)
7
+ * - YYY: HTTP status code hint
8
+ */
9
+ import { UserErrorCode } from '@dofe/infra-contracts/error-codes';
10
+ export declare const CommonErrorCode: {
11
+ readonly IdMustUUID: "911500";
12
+ readonly InnerError: "900500";
13
+ readonly InternalServerError: "900503";
14
+ readonly BadRequest: "900400";
15
+ readonly Unknown: "900501";
16
+ readonly GetStorageNull: "900404";
17
+ readonly DbCreateError: "900502";
18
+ readonly DbUpdateError: "901502";
19
+ readonly DbDeleteError: "902502";
20
+ readonly DbQueryError: "903502";
21
+ readonly TemplateNotFound: "904404";
22
+ readonly InvalidParameters: "901400";
23
+ readonly SignatureError: "902401";
24
+ readonly TooManyFolders: "903402";
25
+ readonly TooManyFiles: "904403";
26
+ readonly NotFound: "905404";
27
+ readonly PlanIsNotExist: "906404";
28
+ readonly PlanIsDeleted: "906405";
29
+ readonly RecommendPlanNotFound: "200";
30
+ readonly CreateOrderFail: "907406";
31
+ readonly OrderIsNotExist: "908407";
32
+ readonly SystemUnHealthy: "910500";
33
+ readonly ParameterError: "911400";
34
+ readonly GetProviderUserInfoError: "911408";
35
+ readonly RabbitmqQueueIsNotExist: "912409";
36
+ readonly StorageResponseFailed: "913510";
37
+ readonly BatchDeleteFolderFail: "914511";
38
+ readonly InitiateMultipartUploadError: "915412";
39
+ readonly QrcodeGenerateError: "916513";
40
+ readonly FileServiceUnsupportedVendor: "917414";
41
+ readonly QiniuZipDownloadError: "918515";
42
+ readonly QiniuQueryFopStatusError: "919516";
43
+ readonly QiniuUploaderError: "920517";
44
+ readonly S3NoSuchKey: "921518";
45
+ readonly S3NoSuchBucket: "922519";
46
+ readonly UnAuthorized: "923402";
47
+ readonly UnauthorizedByKey: "924403";
48
+ readonly TooFrequent: "925429";
49
+ readonly InvalidToken: "926404";
50
+ readonly InvalidEnv: "927505";
51
+ readonly InvalidRedis: "928506";
52
+ readonly TextCensorValidFailed: "928508";
53
+ readonly SessionExpired: "929410";
54
+ readonly FeatureAlreadyExists: "900403";
55
+ readonly FeatureNotFound: "901404";
56
+ readonly FeatureHasPermissions: "902404";
57
+ readonly SomeFeaturesHavePermissions: "903404";
58
+ readonly WechatAccessTokenError: "990404";
59
+ readonly WechatMiniProgramQRCodeError: "990405";
60
+ readonly LLMJinaAiEmbeddingError: "999001";
61
+ readonly LLMJinaAiRerankError: "999002";
62
+ readonly LLMJinaAiReadError: "999003";
63
+ readonly LLMJinaAiSearchError: "999004";
64
+ readonly LLMJinaAiClassifyError: "999005";
65
+ readonly LLMJinaAiSegmentError: "999006";
66
+ readonly LLMJinaAiGRelatedError: "999007";
67
+ readonly LLMJinaAiDeepsearchError: "999008";
68
+ readonly S3ClientInitializationError: "999010";
69
+ readonly InvalidVideoUri: "999011";
70
+ readonly InvalidTaskId: "999012";
71
+ readonly MissingVendor: "999013";
72
+ };
73
+ export type CommonErrorCode = (typeof CommonErrorCode)[keyof typeof CommonErrorCode];
74
+ export declare const ApiErrorCode: {
75
+ readonly TenantNotFound: "300001";
76
+ readonly NotATenantMember: "300002";
77
+ readonly InsufficientPermission: "300003";
78
+ readonly SlugAlreadyExists: "300004";
79
+ readonly MemberLimitReached: "300005";
80
+ readonly InvitationExpired: "300006";
81
+ readonly InvitationAlreadyAccepted: "300007";
82
+ readonly CannotRemoveOwner: "300008";
83
+ readonly CannotChangeOwnRole: "300009";
84
+ readonly TenantSuspended: "300010";
85
+ readonly InvalidCredentials: "200001";
86
+ readonly AccountLocked: "200002";
87
+ readonly AccountDisabled: "200003";
88
+ readonly TokenExpired: "200004";
89
+ readonly InvalidToken: "200005";
90
+ readonly RefreshTokenExpired: "200006";
91
+ readonly VerifyCodeExpired: "200007";
92
+ readonly InvalidVerifyCode: "200008";
93
+ readonly EmailAlreadyExists: "200009";
94
+ readonly MobileAlreadyExists: "200010";
95
+ readonly OAuthProviderError: "200011";
96
+ readonly DeviceNotSupported: "200012";
97
+ readonly PasswordTooWeak: "200013";
98
+ readonly SuperAdminAlreadyExists: "200014";
99
+ readonly MfaRequired: "200015";
100
+ readonly MfaAlreadyEnabled: "200016";
101
+ readonly MfaNotEnabled: "200017";
102
+ readonly MfaTokenExpired: "200018";
103
+ readonly MfaCodeInvalid: "200019";
104
+ readonly BackupCodeInvalid: "200020";
105
+ readonly BackupCodeAlreadyUsed: "200021";
106
+ readonly IdMustUUID: "911500";
107
+ readonly InnerError: "900500";
108
+ readonly InternalServerError: "900503";
109
+ readonly BadRequest: "900400";
110
+ readonly Unknown: "900501";
111
+ readonly GetStorageNull: "900404";
112
+ readonly DbCreateError: "900502";
113
+ readonly DbUpdateError: "901502";
114
+ readonly DbDeleteError: "902502";
115
+ readonly DbQueryError: "903502";
116
+ readonly TemplateNotFound: "904404";
117
+ readonly InvalidParameters: "901400";
118
+ readonly SignatureError: "902401";
119
+ readonly TooManyFolders: "903402";
120
+ readonly TooManyFiles: "904403";
121
+ readonly NotFound: "905404";
122
+ readonly PlanIsNotExist: "906404";
123
+ readonly PlanIsDeleted: "906405";
124
+ readonly RecommendPlanNotFound: "200";
125
+ readonly CreateOrderFail: "907406";
126
+ readonly OrderIsNotExist: "908407";
127
+ readonly SystemUnHealthy: "910500";
128
+ readonly ParameterError: "911400";
129
+ readonly GetProviderUserInfoError: "911408";
130
+ readonly RabbitmqQueueIsNotExist: "912409";
131
+ readonly StorageResponseFailed: "913510";
132
+ readonly BatchDeleteFolderFail: "914511";
133
+ readonly InitiateMultipartUploadError: "915412";
134
+ readonly QrcodeGenerateError: "916513";
135
+ readonly FileServiceUnsupportedVendor: "917414";
136
+ readonly QiniuZipDownloadError: "918515";
137
+ readonly QiniuQueryFopStatusError: "919516";
138
+ readonly QiniuUploaderError: "920517";
139
+ readonly S3NoSuchKey: "921518";
140
+ readonly S3NoSuchBucket: "922519";
141
+ readonly UnAuthorized: "923402";
142
+ readonly UnauthorizedByKey: "924403";
143
+ readonly TooFrequent: "925429";
144
+ readonly InvalidEnv: "927505";
145
+ readonly InvalidRedis: "928506";
146
+ readonly TextCensorValidFailed: "928508";
147
+ readonly SessionExpired: "929410";
148
+ readonly FeatureAlreadyExists: "900403";
149
+ readonly FeatureNotFound: "901404";
150
+ readonly FeatureHasPermissions: "902404";
151
+ readonly SomeFeaturesHavePermissions: "903404";
152
+ readonly WechatAccessTokenError: "990404";
153
+ readonly WechatMiniProgramQRCodeError: "990405";
154
+ readonly LLMJinaAiEmbeddingError: "999001";
155
+ readonly LLMJinaAiRerankError: "999002";
156
+ readonly LLMJinaAiReadError: "999003";
157
+ readonly LLMJinaAiSearchError: "999004";
158
+ readonly LLMJinaAiClassifyError: "999005";
159
+ readonly LLMJinaAiSegmentError: "999006";
160
+ readonly LLMJinaAiGRelatedError: "999007";
161
+ readonly LLMJinaAiDeepsearchError: "999008";
162
+ readonly S3ClientInitializationError: "999010";
163
+ readonly InvalidVideoUri: "999011";
164
+ readonly InvalidTaskId: "999012";
165
+ readonly MissingVendor: "999013";
166
+ readonly OauthAccountAlreadyExist: "200409";
167
+ readonly UserNotFound: "200401";
168
+ readonly UserAlreadyExists: "200402";
169
+ readonly InvalidPassword: "200403";
170
+ readonly WriteAccessTokenFail: "200500";
171
+ readonly SsoHostNameError: "200501";
172
+ readonly OauthTokenInvalid: "206407";
173
+ readonly NicknameIsTooLong: "207400";
174
+ readonly NicknameIsTooShort: "208400";
175
+ readonly EmailIsInvalid: "209400";
176
+ };
177
+ export type ApiErrorCode = (typeof ApiErrorCode)[keyof typeof ApiErrorCode];
178
+ export declare const AllErrorTypes: Record<string, string>;
179
+ export declare const AllErrorHttpStatus: Record<string, number>;
180
+ export declare function getErrorType(errorCode: ApiErrorCode): string | undefined;
181
+ export declare function getHttpStatus(errorCode: ApiErrorCode): number;
182
+ export { UserErrorCode };
183
+ //# sourceMappingURL=codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/errors/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAIL,aAAa,EAGd,MAAM,mCAAmC,CAAC;AAU3C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGlB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAarF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG5E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKrD,CAAC;AAGF,wBAAgB,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAExE;AAGD,wBAAgB,aAAa,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,CAK7D;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * Unified API Error Codes
4
+ * 统一的 API 错误码枚举 - 聚合所有域的错误码
5
+ *
6
+ * Error Code Format: XXXYYY (string)
7
+ * - XXX: Business domain code (2xx=User, 9xx=Common)
8
+ * - YYY: HTTP status code hint
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.UserErrorCode = exports.AllErrorHttpStatus = exports.AllErrorTypes = exports.ApiErrorCode = exports.CommonErrorCode = void 0;
12
+ exports.getErrorType = getErrorType;
13
+ exports.getHttpStatus = getHttpStatus;
14
+ const error_codes_1 = require("@dofe/infra-contracts/error-codes");
15
+ Object.defineProperty(exports, "UserErrorCode", { enumerable: true, get: function () { return error_codes_1.UserErrorCode; } });
16
+ const auth_errors_1 = require("./domains/auth.errors");
17
+ const tenant_errors_1 = require("./domains/tenant.errors");
18
+ const common_errors_1 = require("./domains/common.errors");
19
+ // Merge infra + local common error codes (local adds project-specific codes like Forbidden)
20
+ exports.CommonErrorCode = Object.assign(Object.assign({}, error_codes_1.CommonErrorCode), common_errors_1.CommonErrorCode);
21
+ const CommonErrorTypes = Object.assign(Object.assign({}, error_codes_1.CommonErrorTypes), common_errors_1.CommonErrorTypes);
22
+ const CommonErrorHttpStatus = Object.assign(Object.assign({}, error_codes_1.CommonErrorHttpStatus), common_errors_1.CommonErrorHttpStatus);
23
+ // Unified ApiErrorCode (string enum)
24
+ exports.ApiErrorCode = Object.assign(Object.assign(Object.assign(Object.assign({}, error_codes_1.UserErrorCode), exports.CommonErrorCode), auth_errors_1.AuthErrorCode), tenant_errors_1.TenantErrorCode);
25
+ // Unified Error Types mapping (errorCode -> i18n key)
26
+ exports.AllErrorTypes = Object.assign(Object.assign(Object.assign(Object.assign({}, error_codes_1.UserErrorTypes), CommonErrorTypes), auth_errors_1.AuthErrorTypes), tenant_errors_1.TenantErrorTypes);
27
+ // Unified HTTP Status mapping (string error code -> http status)
28
+ exports.AllErrorHttpStatus = Object.assign(Object.assign(Object.assign(Object.assign({}, error_codes_1.UserErrorHttpStatus), CommonErrorHttpStatus), auth_errors_1.AuthErrorHttpStatus), tenant_errors_1.TenantErrorHttpStatus);
29
+ // Get error type (i18n key) by error code
30
+ function getErrorType(errorCode) {
31
+ return exports.AllErrorTypes[errorCode];
32
+ }
33
+ // Get HTTP status by error code
34
+ function getHttpStatus(errorCode) {
35
+ var _a;
36
+ if (errorCode in exports.AllErrorHttpStatus) {
37
+ return (_a = exports.AllErrorHttpStatus[errorCode]) !== null && _a !== void 0 ? _a : 500;
38
+ }
39
+ return 500;
40
+ }
41
+ //# sourceMappingURL=codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/errors/codes.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA8DH,oCAEC;AAGD,sCAKC;AAtED,mEAO2C;AAkElC,8FArEP,2BAAa,OAqEO;AAjEtB,uDAA2F;AAC3F,2DAAmG;AACnG,2DAIiC;AAEjC,4FAA4F;AAC/E,QAAA,eAAe,GAAG,gCAC1B,6BAAoB,GACpB,+BAAoB,CACf,CAAC;AAGX,MAAM,gBAAgB,GAAG,gCACpB,8BAAqB,GACrB,gCAAqB,CACU,CAAC;AAErC,MAAM,qBAAqB,GAAG,gCACzB,mCAA0B,GAC1B,qCAA0B,CACK,CAAC;AAErC,qCAAqC;AACxB,QAAA,YAAY,GAAG,4DACvB,2BAAa,GACb,uBAAe,GACf,2BAAa,GACb,+BAAe,CACV,CAAC;AAIX,sDAAsD;AACzC,QAAA,aAAa,+DACrB,4BAAc,GACd,gBAAgB,GAChB,4BAAc,GACd,gCAAgB,EACnB;AAEF,iEAAiE;AACpD,QAAA,kBAAkB,+DAC1B,iCAAmB,GACnB,qBAAqB,GACrB,iCAAmB,GACnB,qCAAqB,EACxB;AAEF,0CAA0C;AAC1C,SAAgB,YAAY,CAAC,SAAuB;IAClD,OAAO,qBAAa,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,gCAAgC;AAChC,SAAgB,aAAa,CAAC,SAAuB;;IACnD,IAAI,SAAS,IAAI,0BAAkB,EAAE,CAAC;QACpC,OAAO,MAAA,0BAAkB,CAAC,SAAS,CAAC,mCAAI,GAAG,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Auth Error Codes (2xx prefix)
3
+ * 认证相关错误码
4
+ *
5
+ * Re-exported from @dofe/infra-contracts for unified ApiErrorCode compatibility.
6
+ */
7
+ export { AuthErrorCode, AuthErrorTypes, AuthErrorHttpStatus, } from '@dofe/infra-contracts/error-codes';
8
+ //# sourceMappingURL=auth.errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.errors.d.ts","sourceRoot":"","sources":["../../../src/errors/domains/auth.errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * Auth Error Codes (2xx prefix)
4
+ * 认证相关错误码
5
+ *
6
+ * Re-exported from @dofe/infra-contracts for unified ApiErrorCode compatibility.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AuthErrorHttpStatus = exports.AuthErrorTypes = exports.AuthErrorCode = void 0;
10
+ var error_codes_1 = require("@dofe/infra-contracts/error-codes");
11
+ Object.defineProperty(exports, "AuthErrorCode", { enumerable: true, get: function () { return error_codes_1.AuthErrorCode; } });
12
+ Object.defineProperty(exports, "AuthErrorTypes", { enumerable: true, get: function () { return error_codes_1.AuthErrorTypes; } });
13
+ Object.defineProperty(exports, "AuthErrorHttpStatus", { enumerable: true, get: function () { return error_codes_1.AuthErrorHttpStatus; } });
14
+ //# sourceMappingURL=auth.errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.errors.js","sourceRoot":"","sources":["../../../src/errors/domains/auth.errors.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iEAI2C;AAHzC,4GAAA,aAAa,OAAA;AACb,6GAAA,cAAc,OAAA;AACd,kHAAA,mBAAmB,OAAA"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Common/System Error Codes (9xx prefix)
3
+ * 通用/系统相关错误码
4
+ */
5
+ export declare const CommonErrorCode: {
6
+ readonly IdMustUUID: "911500";
7
+ readonly InnerError: "900500";
8
+ readonly InternalServerError: "900503";
9
+ readonly BadRequest: "900400";
10
+ readonly Unknown: "900501";
11
+ readonly GetStorageNull: "900404";
12
+ readonly DbCreateError: "900502";
13
+ readonly DbUpdateError: "901502";
14
+ readonly DbDeleteError: "902502";
15
+ readonly DbQueryError: "903502";
16
+ readonly TemplateNotFound: "904404";
17
+ readonly InvalidParameters: "901400";
18
+ readonly SignatureError: "902401";
19
+ readonly TooManyFolders: "903402";
20
+ readonly TooManyFiles: "904403";
21
+ readonly NotFound: "905404";
22
+ readonly PlanIsNotExist: "906404";
23
+ readonly PlanIsDeleted: "906405";
24
+ readonly RecommendPlanNotFound: "200";
25
+ readonly CreateOrderFail: "907406";
26
+ readonly OrderIsNotExist: "908407";
27
+ readonly SystemUnHealthy: "910500";
28
+ readonly ParameterError: "911400";
29
+ readonly GetProviderUserInfoError: "911408";
30
+ readonly RabbitmqQueueIsNotExist: "912409";
31
+ readonly StorageResponseFailed: "913510";
32
+ readonly BatchDeleteFolderFail: "914511";
33
+ readonly InitiateMultipartUploadError: "915412";
34
+ readonly QrcodeGenerateError: "916513";
35
+ readonly FileServiceUnsupportedVendor: "917414";
36
+ readonly QiniuZipDownloadError: "918515";
37
+ readonly QiniuQueryFopStatusError: "919516";
38
+ readonly QiniuUploaderError: "920517";
39
+ readonly S3NoSuchKey: "921518";
40
+ readonly S3NoSuchBucket: "922519";
41
+ readonly UnAuthorized: "923402";
42
+ readonly UnauthorizedByKey: "924403";
43
+ readonly TooFrequent: "925429";
44
+ readonly InvalidToken: "926404";
45
+ readonly InvalidEnv: "927505";
46
+ readonly InvalidRedis: "928506";
47
+ readonly TextCensorValidFailed: "928508";
48
+ readonly SessionExpired: "929410";
49
+ readonly FeatureAlreadyExists: "900403";
50
+ readonly FeatureNotFound: "901404";
51
+ readonly FeatureHasPermissions: "902404";
52
+ readonly SomeFeaturesHavePermissions: "903404";
53
+ readonly WechatAccessTokenError: "990404";
54
+ readonly WechatMiniProgramQRCodeError: "990405";
55
+ readonly LLMJinaAiEmbeddingError: "999001";
56
+ readonly LLMJinaAiRerankError: "999002";
57
+ readonly LLMJinaAiReadError: "999003";
58
+ readonly LLMJinaAiSearchError: "999004";
59
+ readonly LLMJinaAiClassifyError: "999005";
60
+ readonly LLMJinaAiSegmentError: "999006";
61
+ readonly LLMJinaAiGRelatedError: "999007";
62
+ readonly LLMJinaAiDeepsearchError: "999008";
63
+ readonly S3ClientInitializationError: "999010";
64
+ readonly InvalidVideoUri: "999011";
65
+ readonly InvalidTaskId: "999012";
66
+ readonly MissingVendor: "999013";
67
+ };
68
+ export type CommonErrorCode = (typeof CommonErrorCode)[keyof typeof CommonErrorCode];
69
+ export declare const CommonErrorTypes: Record<CommonErrorCode, string>;
70
+ export declare const CommonErrorHttpStatus: Record<CommonErrorCode, number>;
71
+ //# sourceMappingURL=common.errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.errors.d.ts","sourceRoot":"","sources":["../../../src/errors/domains/common.errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwElB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGrF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CA8D5D,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CA8DjE,CAAC"}