@pcontext/api 0.0.1

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 (342) hide show
  1. package/README.md +151 -0
  2. package/dist/app.d.mts +44779 -0
  3. package/dist/app.d.mts.map +1 -0
  4. package/dist/app.mjs +37 -0
  5. package/dist/app.mjs.map +1 -0
  6. package/dist/client.d.mts +22428 -0
  7. package/dist/client.d.mts.map +1 -0
  8. package/dist/client.mjs +15 -0
  9. package/dist/client.mjs.map +1 -0
  10. package/dist/dev.d.mts +11 -0
  11. package/dist/dev.d.mts.map +1 -0
  12. package/dist/dev.mjs +16 -0
  13. package/dist/dev.mjs.map +1 -0
  14. package/dist/index.d.mts +3 -0
  15. package/dist/index.mjs +10 -0
  16. package/dist/index.mjs.map +1 -0
  17. package/dist/modules/doc/chat.route.d.mts +18 -0
  18. package/dist/modules/doc/chat.route.d.mts.map +1 -0
  19. package/dist/modules/doc/chat.route.mjs +20 -0
  20. package/dist/modules/doc/chat.route.mjs.map +1 -0
  21. package/dist/modules/doc/chat.service.d.mts +10 -0
  22. package/dist/modules/doc/chat.service.d.mts.map +1 -0
  23. package/dist/modules/doc/chat.service.mjs +29 -0
  24. package/dist/modules/doc/chat.service.mjs.map +1 -0
  25. package/dist/modules/doc/doc.dto.d.mts +67 -0
  26. package/dist/modules/doc/doc.dto.d.mts.map +1 -0
  27. package/dist/modules/doc/doc.dto.mjs +43 -0
  28. package/dist/modules/doc/doc.dto.mjs.map +1 -0
  29. package/dist/modules/doc/doc.entity.d.mts +19 -0
  30. package/dist/modules/doc/doc.entity.d.mts.map +1 -0
  31. package/dist/modules/doc/doc.entity.mjs +1 -0
  32. package/dist/modules/doc/doc.repo.interface.d.mts +28 -0
  33. package/dist/modules/doc/doc.repo.interface.d.mts.map +1 -0
  34. package/dist/modules/doc/doc.repo.interface.mjs +1 -0
  35. package/dist/modules/doc/doc.route.d.mts +14193 -0
  36. package/dist/modules/doc/doc.route.d.mts.map +1 -0
  37. package/dist/modules/doc/doc.route.mjs +100 -0
  38. package/dist/modules/doc/doc.route.mjs.map +1 -0
  39. package/dist/modules/doc/doc.service.d.mts +38 -0
  40. package/dist/modules/doc/doc.service.d.mts.map +1 -0
  41. package/dist/modules/doc/doc.service.mjs +134 -0
  42. package/dist/modules/doc/doc.service.mjs.map +1 -0
  43. package/dist/modules/doc/doc.vo.d.mts +17 -0
  44. package/dist/modules/doc/doc.vo.d.mts.map +1 -0
  45. package/dist/modules/doc/doc.vo.mjs +1 -0
  46. package/dist/modules/doc/infrastructure/agent/engine/chat.d.mts +21 -0
  47. package/dist/modules/doc/infrastructure/agent/engine/chat.d.mts.map +1 -0
  48. package/dist/modules/doc/infrastructure/agent/engine/chat.mjs +36 -0
  49. package/dist/modules/doc/infrastructure/agent/engine/chat.mjs.map +1 -0
  50. package/dist/modules/doc/infrastructure/agent/engine/generate.d.mts +28 -0
  51. package/dist/modules/doc/infrastructure/agent/engine/generate.d.mts.map +1 -0
  52. package/dist/modules/doc/infrastructure/agent/engine/generate.mjs +135 -0
  53. package/dist/modules/doc/infrastructure/agent/engine/generate.mjs.map +1 -0
  54. package/dist/modules/doc/infrastructure/agent/engine/query-filter.d.mts +7 -0
  55. package/dist/modules/doc/infrastructure/agent/engine/query-filter.d.mts.map +1 -0
  56. package/dist/modules/doc/infrastructure/agent/engine/query-filter.mjs +12 -0
  57. package/dist/modules/doc/infrastructure/agent/engine/query-filter.mjs.map +1 -0
  58. package/dist/modules/doc/infrastructure/agent/loaders/git-repository-reader.d.mts +54 -0
  59. package/dist/modules/doc/infrastructure/agent/loaders/git-repository-reader.d.mts.map +1 -0
  60. package/dist/modules/doc/infrastructure/agent/loaders/git-repository-reader.mjs +142 -0
  61. package/dist/modules/doc/infrastructure/agent/loaders/git-repository-reader.mjs.map +1 -0
  62. package/dist/modules/doc/infrastructure/agent/loaders/index.d.mts +3 -0
  63. package/dist/modules/doc/infrastructure/agent/loaders/index.mjs +4 -0
  64. package/dist/modules/doc/infrastructure/agent/loaders/website-crawl-reader.d.mts +42 -0
  65. package/dist/modules/doc/infrastructure/agent/loaders/website-crawl-reader.d.mts.map +1 -0
  66. package/dist/modules/doc/infrastructure/agent/loaders/website-crawl-reader.mjs +104 -0
  67. package/dist/modules/doc/infrastructure/agent/loaders/website-crawl-reader.mjs.map +1 -0
  68. package/dist/modules/doc/infrastructure/agent/settings.d.mts +5 -0
  69. package/dist/modules/doc/infrastructure/agent/settings.d.mts.map +1 -0
  70. package/dist/modules/doc/infrastructure/agent/settings.mjs +72 -0
  71. package/dist/modules/doc/infrastructure/agent/settings.mjs.map +1 -0
  72. package/dist/modules/doc/infrastructure/agent/storage/index.d.mts +7 -0
  73. package/dist/modules/doc/infrastructure/agent/storage/index.d.mts.map +1 -0
  74. package/dist/modules/doc/infrastructure/agent/storage/index.mjs +12 -0
  75. package/dist/modules/doc/infrastructure/agent/storage/index.mjs.map +1 -0
  76. package/dist/modules/doc/infrastructure/agent/storage/vector-store.d.mts +14 -0
  77. package/dist/modules/doc/infrastructure/agent/storage/vector-store.d.mts.map +1 -0
  78. package/dist/modules/doc/infrastructure/agent/storage/vector-store.mjs +35 -0
  79. package/dist/modules/doc/infrastructure/agent/storage/vector-store.mjs.map +1 -0
  80. package/dist/modules/doc/infrastructure/doc.po.d.mts +570 -0
  81. package/dist/modules/doc/infrastructure/doc.po.d.mts.map +1 -0
  82. package/dist/modules/doc/infrastructure/doc.po.mjs +54 -0
  83. package/dist/modules/doc/infrastructure/doc.po.mjs.map +1 -0
  84. package/dist/modules/doc/infrastructure/doc.repo.pg.d.mts +32 -0
  85. package/dist/modules/doc/infrastructure/doc.repo.pg.d.mts.map +1 -0
  86. package/dist/modules/doc/infrastructure/doc.repo.pg.mjs +157 -0
  87. package/dist/modules/doc/infrastructure/doc.repo.pg.mjs.map +1 -0
  88. package/dist/modules/doc/infrastructure/doc.repo.sqlite.d.mts +32 -0
  89. package/dist/modules/doc/infrastructure/doc.repo.sqlite.d.mts.map +1 -0
  90. package/dist/modules/doc/infrastructure/doc.repo.sqlite.mjs +153 -0
  91. package/dist/modules/doc/infrastructure/doc.repo.sqlite.mjs.map +1 -0
  92. package/dist/modules/doc/mcp.route.d.mts +18 -0
  93. package/dist/modules/doc/mcp.route.d.mts.map +1 -0
  94. package/dist/modules/doc/mcp.route.mjs +39 -0
  95. package/dist/modules/doc/mcp.route.mjs.map +1 -0
  96. package/dist/modules/doc/mcp.service.d.mts +22 -0
  97. package/dist/modules/doc/mcp.service.d.mts.map +1 -0
  98. package/dist/modules/doc/mcp.service.mjs +119 -0
  99. package/dist/modules/doc/mcp.service.mjs.map +1 -0
  100. package/dist/modules/rank/rank.dto.d.mts +10 -0
  101. package/dist/modules/rank/rank.dto.d.mts.map +1 -0
  102. package/dist/modules/rank/rank.dto.mjs +8 -0
  103. package/dist/modules/rank/rank.dto.mjs.map +1 -0
  104. package/dist/modules/rank/rank.route.d.mts +2033 -0
  105. package/dist/modules/rank/rank.route.d.mts.map +1 -0
  106. package/dist/modules/rank/rank.route.mjs +20 -0
  107. package/dist/modules/rank/rank.route.mjs.map +1 -0
  108. package/dist/modules/rank/rank.service.d.mts +32 -0
  109. package/dist/modules/rank/rank.service.d.mts.map +1 -0
  110. package/dist/modules/rank/rank.service.mjs +3 -0
  111. package/dist/modules/rank/rank.vo.d.mts +9 -0
  112. package/dist/modules/rank/rank.vo.d.mts.map +1 -0
  113. package/dist/modules/rank/rank.vo.mjs +1 -0
  114. package/dist/modules/task/infrastructure/mq/task-context.d.mts +29 -0
  115. package/dist/modules/task/infrastructure/mq/task-context.d.mts.map +1 -0
  116. package/dist/modules/task/infrastructure/mq/task-context.mjs +70 -0
  117. package/dist/modules/task/infrastructure/mq/task-context.mjs.map +1 -0
  118. package/dist/modules/task/infrastructure/mq/task-queue.d.mts +10 -0
  119. package/dist/modules/task/infrastructure/mq/task-queue.d.mts.map +1 -0
  120. package/dist/modules/task/infrastructure/mq/task-queue.mjs +12 -0
  121. package/dist/modules/task/infrastructure/mq/task-queue.mjs.map +1 -0
  122. package/dist/modules/task/infrastructure/mq/task-worker.d.mts +13 -0
  123. package/dist/modules/task/infrastructure/mq/task-worker.d.mts.map +1 -0
  124. package/dist/modules/task/infrastructure/mq/task-worker.mjs +35 -0
  125. package/dist/modules/task/infrastructure/mq/task-worker.mjs.map +1 -0
  126. package/dist/modules/task/infrastructure/task.po.d.mts +1147 -0
  127. package/dist/modules/task/infrastructure/task.po.d.mts.map +1 -0
  128. package/dist/modules/task/infrastructure/task.po.mjs +55 -0
  129. package/dist/modules/task/infrastructure/task.po.mjs.map +1 -0
  130. package/dist/modules/task/infrastructure/task.repo.pg.d.mts +21 -0
  131. package/dist/modules/task/infrastructure/task.repo.pg.d.mts.map +1 -0
  132. package/dist/modules/task/infrastructure/task.repo.pg.mjs +86 -0
  133. package/dist/modules/task/infrastructure/task.repo.pg.mjs.map +1 -0
  134. package/dist/modules/task/infrastructure/task.repo.sqlite.d.mts +21 -0
  135. package/dist/modules/task/infrastructure/task.repo.sqlite.d.mts.map +1 -0
  136. package/dist/modules/task/infrastructure/task.repo.sqlite.mjs +89 -0
  137. package/dist/modules/task/infrastructure/task.repo.sqlite.mjs.map +1 -0
  138. package/dist/modules/task/task.dto.d.mts +26 -0
  139. package/dist/modules/task/task.dto.d.mts.map +1 -0
  140. package/dist/modules/task/task.dto.mjs +25 -0
  141. package/dist/modules/task/task.dto.mjs.map +1 -0
  142. package/dist/modules/task/task.entity.d.mts +43 -0
  143. package/dist/modules/task/task.entity.d.mts.map +1 -0
  144. package/dist/modules/task/task.entity.mjs +1 -0
  145. package/dist/modules/task/task.repo.interface.d.mts +17 -0
  146. package/dist/modules/task/task.repo.interface.d.mts.map +1 -0
  147. package/dist/modules/task/task.repo.interface.mjs +1 -0
  148. package/dist/modules/task/task.route.d.mts +4087 -0
  149. package/dist/modules/task/task.route.d.mts.map +1 -0
  150. package/dist/modules/task/task.route.mjs +63 -0
  151. package/dist/modules/task/task.route.mjs.map +1 -0
  152. package/dist/modules/task/task.service.d.mts +28 -0
  153. package/dist/modules/task/task.service.d.mts.map +1 -0
  154. package/dist/modules/task/task.service.mjs +202 -0
  155. package/dist/modules/task/task.service.mjs.map +1 -0
  156. package/dist/modules/task/task.vo.d.mts +18 -0
  157. package/dist/modules/task/task.vo.d.mts.map +1 -0
  158. package/dist/modules/task/task.vo.mjs +1 -0
  159. package/dist/modules/user/application/user.service.d.mts +24 -0
  160. package/dist/modules/user/application/user.service.d.mts.map +1 -0
  161. package/dist/modules/user/application/user.service.mjs +153 -0
  162. package/dist/modules/user/application/user.service.mjs.map +1 -0
  163. package/dist/modules/user/domain/user.entity.d.mts +24 -0
  164. package/dist/modules/user/domain/user.entity.d.mts.map +1 -0
  165. package/dist/modules/user/domain/user.entity.mjs +35 -0
  166. package/dist/modules/user/domain/user.entity.mjs.map +1 -0
  167. package/dist/modules/user/domain/user.repo.interface.d.mts +27 -0
  168. package/dist/modules/user/domain/user.repo.interface.d.mts.map +1 -0
  169. package/dist/modules/user/domain/user.repo.interface.mjs +1 -0
  170. package/dist/modules/user/infrastructure/casbin/adapter.d.mts +7 -0
  171. package/dist/modules/user/infrastructure/casbin/adapter.d.mts.map +1 -0
  172. package/dist/modules/user/infrastructure/casbin/adapter.mjs +13 -0
  173. package/dist/modules/user/infrastructure/casbin/adapter.mjs.map +1 -0
  174. package/dist/modules/user/infrastructure/casbin/adapter.pg.d.mts +19 -0
  175. package/dist/modules/user/infrastructure/casbin/adapter.pg.d.mts.map +1 -0
  176. package/dist/modules/user/infrastructure/casbin/adapter.pg.mjs +129 -0
  177. package/dist/modules/user/infrastructure/casbin/adapter.pg.mjs.map +1 -0
  178. package/dist/modules/user/infrastructure/casbin/adapter.sqlite.d.mts +19 -0
  179. package/dist/modules/user/infrastructure/casbin/adapter.sqlite.d.mts.map +1 -0
  180. package/dist/modules/user/infrastructure/casbin/adapter.sqlite.mjs +129 -0
  181. package/dist/modules/user/infrastructure/casbin/adapter.sqlite.mjs.map +1 -0
  182. package/dist/modules/user/infrastructure/casbin/enforcer.d.mts +9 -0
  183. package/dist/modules/user/infrastructure/casbin/enforcer.d.mts.map +1 -0
  184. package/dist/modules/user/infrastructure/casbin/enforcer.mjs +150 -0
  185. package/dist/modules/user/infrastructure/casbin/enforcer.mjs.map +1 -0
  186. package/dist/modules/user/infrastructure/casbin-rule.po.d.mts +643 -0
  187. package/dist/modules/user/infrastructure/casbin-rule.po.d.mts.map +1 -0
  188. package/dist/modules/user/infrastructure/casbin-rule.po.mjs +30 -0
  189. package/dist/modules/user/infrastructure/casbin-rule.po.mjs.map +1 -0
  190. package/dist/modules/user/infrastructure/user.po.d.mts +392 -0
  191. package/dist/modules/user/infrastructure/user.po.d.mts.map +1 -0
  192. package/dist/modules/user/infrastructure/user.po.mjs +34 -0
  193. package/dist/modules/user/infrastructure/user.po.mjs.map +1 -0
  194. package/dist/modules/user/infrastructure/user.repo.pg.d.mts +24 -0
  195. package/dist/modules/user/infrastructure/user.repo.pg.d.mts.map +1 -0
  196. package/dist/modules/user/infrastructure/user.repo.pg.mjs +90 -0
  197. package/dist/modules/user/infrastructure/user.repo.pg.mjs.map +1 -0
  198. package/dist/modules/user/infrastructure/user.repo.sqlite.d.mts +24 -0
  199. package/dist/modules/user/infrastructure/user.repo.sqlite.d.mts.map +1 -0
  200. package/dist/modules/user/infrastructure/user.repo.sqlite.mjs +88 -0
  201. package/dist/modules/user/infrastructure/user.repo.sqlite.mjs.map +1 -0
  202. package/dist/modules/user/interfaces/admin.route.d.mts +8270 -0
  203. package/dist/modules/user/interfaces/admin.route.d.mts.map +1 -0
  204. package/dist/modules/user/interfaces/admin.route.mjs +74 -0
  205. package/dist/modules/user/interfaces/admin.route.mjs.map +1 -0
  206. package/dist/modules/user/interfaces/role.route.d.mts +102 -0
  207. package/dist/modules/user/interfaces/role.route.d.mts.map +1 -0
  208. package/dist/modules/user/interfaces/role.route.mjs +60 -0
  209. package/dist/modules/user/interfaces/role.route.mjs.map +1 -0
  210. package/dist/modules/user/interfaces/user.dto.d.mts +106 -0
  211. package/dist/modules/user/interfaces/user.dto.d.mts.map +1 -0
  212. package/dist/modules/user/interfaces/user.dto.mjs +32 -0
  213. package/dist/modules/user/interfaces/user.dto.mjs.map +1 -0
  214. package/dist/modules/user/interfaces/user.route.d.mts +2093 -0
  215. package/dist/modules/user/interfaces/user.route.d.mts.map +1 -0
  216. package/dist/modules/user/interfaces/user.route.mjs +69 -0
  217. package/dist/modules/user/interfaces/user.route.mjs.map +1 -0
  218. package/dist/modules/user/interfaces/user.vo.d.mts +28 -0
  219. package/dist/modules/user/interfaces/user.vo.d.mts.map +1 -0
  220. package/dist/modules/user/interfaces/user.vo.mjs +18 -0
  221. package/dist/modules/user/interfaces/user.vo.mjs.map +1 -0
  222. package/dist/rank.service-D2h-2iJA.mjs +109 -0
  223. package/dist/rank.service-D2h-2iJA.mjs.map +1 -0
  224. package/dist/settings.d.mts +12 -0
  225. package/dist/settings.d.mts.map +1 -0
  226. package/dist/settings.mjs +27 -0
  227. package/dist/settings.mjs.map +1 -0
  228. package/dist/shared/create-app.d.mts +13 -0
  229. package/dist/shared/create-app.d.mts.map +1 -0
  230. package/dist/shared/create-app.mjs +45 -0
  231. package/dist/shared/create-app.mjs.map +1 -0
  232. package/dist/shared/db/bootstrap.d.mts +5 -0
  233. package/dist/shared/db/bootstrap.d.mts.map +1 -0
  234. package/dist/shared/db/bootstrap.mjs +51 -0
  235. package/dist/shared/db/bootstrap.mjs.map +1 -0
  236. package/dist/shared/db/connection.d.mts +1567 -0
  237. package/dist/shared/db/connection.d.mts.map +1 -0
  238. package/dist/shared/db/connection.mjs +59 -0
  239. package/dist/shared/db/connection.mjs.map +1 -0
  240. package/dist/shared/db/migrations/pg/0000_init.sql +74 -0
  241. package/dist/shared/db/migrations/pg/0001_snippets & tokens.sql +6 -0
  242. package/dist/shared/db/migrations/pg/0002_change_task_id_to_uuid_v7.sql +3 -0
  243. package/dist/shared/db/migrations/pg/meta/0000_snapshot.json +498 -0
  244. package/dist/shared/db/migrations/pg/meta/0001_snapshot.json +513 -0
  245. package/dist/shared/db/migrations/pg/meta/0002_snapshot.json +514 -0
  246. package/dist/shared/db/migrations/pg/meta/_journal.json +27 -0
  247. package/dist/shared/db/migrations/sqlite/0000_init.sql +72 -0
  248. package/dist/shared/db/migrations/sqlite/0001_snippets & tokens.sql +2 -0
  249. package/dist/shared/db/migrations/sqlite/0002_change_task_id_to_uuid_v7.sql +35 -0
  250. package/dist/shared/db/migrations/sqlite/meta/0000_snapshot.json +493 -0
  251. package/dist/shared/db/migrations/sqlite/meta/0001_snapshot.json +509 -0
  252. package/dist/shared/db/migrations/sqlite/meta/0002_snapshot.json +509 -0
  253. package/dist/shared/db/migrations/sqlite/meta/_journal.json +27 -0
  254. package/dist/shared/db/seed.d.mts +5 -0
  255. package/dist/shared/db/seed.d.mts.map +1 -0
  256. package/dist/shared/db/seed.mjs +42 -0
  257. package/dist/shared/db/seed.mjs.map +1 -0
  258. package/dist/shared/deps.d.mts +28 -0
  259. package/dist/shared/deps.d.mts.map +1 -0
  260. package/dist/shared/deps.mjs +69 -0
  261. package/dist/shared/deps.mjs.map +1 -0
  262. package/dist/shared/dto/index.d.mts +11 -0
  263. package/dist/shared/dto/index.d.mts.map +1 -0
  264. package/dist/shared/dto/index.mjs +11 -0
  265. package/dist/shared/dto/index.mjs.map +1 -0
  266. package/dist/shared/logger.d.mts +14 -0
  267. package/dist/shared/logger.d.mts.map +1 -0
  268. package/dist/shared/logger.mjs +37 -0
  269. package/dist/shared/logger.mjs.map +1 -0
  270. package/dist/shared/mcp/createTool.d.mts +15 -0
  271. package/dist/shared/mcp/createTool.d.mts.map +1 -0
  272. package/dist/shared/mcp/createTool.mjs +8 -0
  273. package/dist/shared/mcp/createTool.mjs.map +1 -0
  274. package/dist/shared/middleware/authorization.d.mts +15 -0
  275. package/dist/shared/middleware/authorization.d.mts.map +1 -0
  276. package/dist/shared/middleware/authorization.mjs +46 -0
  277. package/dist/shared/middleware/authorization.mjs.map +1 -0
  278. package/dist/shared/middleware/http-logger.d.mts +7 -0
  279. package/dist/shared/middleware/http-logger.d.mts.map +1 -0
  280. package/dist/shared/middleware/http-logger.mjs +40 -0
  281. package/dist/shared/middleware/http-logger.mjs.map +1 -0
  282. package/dist/shared/middleware/jwt.d.mts +7 -0
  283. package/dist/shared/middleware/jwt.d.mts.map +1 -0
  284. package/dist/shared/middleware/jwt.mjs +34 -0
  285. package/dist/shared/middleware/jwt.mjs.map +1 -0
  286. package/dist/shared/middleware/limiter.d.mts +7 -0
  287. package/dist/shared/middleware/limiter.d.mts.map +1 -0
  288. package/dist/shared/middleware/limiter.mjs +10 -0
  289. package/dist/shared/middleware/limiter.mjs.map +1 -0
  290. package/dist/shared/middleware/services.d.mts +8 -0
  291. package/dist/shared/middleware/services.d.mts.map +1 -0
  292. package/dist/shared/middleware/services.mjs +19 -0
  293. package/dist/shared/middleware/services.mjs.map +1 -0
  294. package/dist/shared/redis/decorator.d.mts +113 -0
  295. package/dist/shared/redis/decorator.d.mts.map +1 -0
  296. package/dist/shared/redis/decorator.mjs +203 -0
  297. package/dist/shared/redis/decorator.mjs.map +1 -0
  298. package/dist/shared/redis/factory.d.mts +18 -0
  299. package/dist/shared/redis/factory.d.mts.map +1 -0
  300. package/dist/shared/redis/factory.mjs +41 -0
  301. package/dist/shared/redis/factory.mjs.map +1 -0
  302. package/dist/shared/redis/index.d.mts +12 -0
  303. package/dist/shared/redis/index.d.mts.map +1 -0
  304. package/dist/shared/redis/index.mjs +14 -0
  305. package/dist/shared/redis/index.mjs.map +1 -0
  306. package/dist/shared/types.d.mts +36 -0
  307. package/dist/shared/types.d.mts.map +1 -0
  308. package/dist/shared/types.mjs +1 -0
  309. package/dist/shared/utils/date.d.mts +1 -0
  310. package/dist/shared/utils/date.mjs +1 -0
  311. package/dist/shared/utils/error-handler.d.mts +7 -0
  312. package/dist/shared/utils/error-handler.d.mts.map +1 -0
  313. package/dist/shared/utils/error-handler.mjs +22 -0
  314. package/dist/shared/utils/error-handler.mjs.map +1 -0
  315. package/dist/shared/utils/format.d.mts +8 -0
  316. package/dist/shared/utils/format.d.mts.map +1 -0
  317. package/dist/shared/utils/format.mjs +24 -0
  318. package/dist/shared/utils/format.mjs.map +1 -0
  319. package/dist/shared/utils/pagination.d.mts +9 -0
  320. package/dist/shared/utils/pagination.d.mts.map +1 -0
  321. package/dist/shared/utils/pagination.mjs +12 -0
  322. package/dist/shared/utils/pagination.mjs.map +1 -0
  323. package/dist/shared/utils/response-template.d.mts +69 -0
  324. package/dist/shared/utils/response-template.d.mts.map +1 -0
  325. package/dist/shared/utils/response-template.mjs +96 -0
  326. package/dist/shared/utils/response-template.mjs.map +1 -0
  327. package/dist/shared/utils/url.d.mts +18 -0
  328. package/dist/shared/utils/url.d.mts.map +1 -0
  329. package/dist/shared/utils/url.mjs +39 -0
  330. package/dist/shared/utils/url.mjs.map +1 -0
  331. package/dist/shared/utils/user.d.mts +8 -0
  332. package/dist/shared/utils/user.d.mts.map +1 -0
  333. package/dist/shared/utils/user.mjs +11 -0
  334. package/dist/shared/utils/user.mjs.map +1 -0
  335. package/dist/shared/utils/validator.d.mts +5984 -0
  336. package/dist/shared/utils/validator.d.mts.map +1 -0
  337. package/dist/shared/utils/validator.mjs +34 -0
  338. package/dist/shared/utils/validator.mjs.map +1 -0
  339. package/dist/shared/vo/index.d.mts +11 -0
  340. package/dist/shared/vo/index.d.mts.map +1 -0
  341. package/dist/shared/vo/index.mjs +1 -0
  342. package/package.json +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank.route.d.mts","names":[],"sources":["../../../src/modules/rank/rank.route.ts"],"mappings":";;;;;;;;cASM,MAAA,kBAAM,QAAA,CASR,WAAA;;;;;;;;;;;;;;;;;;;oBATQ,OAAA,CAAA,aAAA"}
@@ -0,0 +1,20 @@
1
+ import "../../rank.service-D2h-2iJA.mjs";
2
+ import { getServiceDeps } from "../../shared/deps.mjs";
3
+ import { createRouter } from "../../shared/create-app.mjs";
4
+ import { Res200 } from "../../shared/utils/response-template.mjs";
5
+ import { getCurrentUserId } from "../../shared/utils/user.mjs";
6
+ import { queryValidator } from "../../shared/utils/validator.mjs";
7
+ import { RankDocsQuerySchema } from "./rank.dto.mjs";
8
+
9
+ //#region src/modules/rank/rank.route.ts
10
+ const router = createRouter().get("/docs", queryValidator(RankDocsQuerySchema), async (c) => {
11
+ const { limit } = c.req.valid("query");
12
+ const { rankService } = getServiceDeps();
13
+ const userId = getCurrentUserId(c);
14
+ const docs = await rankService.getRankedDocsWithDetails(limit, userId);
15
+ return c.json(Res200({ docs }), 200);
16
+ });
17
+
18
+ //#endregion
19
+ export { router as default };
20
+ //# sourceMappingURL=rank.route.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank.route.mjs","names":[],"sources":["../../../src/modules/rank/rank.route.ts"],"sourcesContent":["import type { RankedDocVO } from './rank.vo'\nimport type { ApiSuccess } from '@/shared/types'\nimport { createRouter } from '@/shared/create-app'\nimport { getServiceDeps } from '@/shared/deps'\nimport { Res200 } from '@/shared/utils/response-template'\nimport { getCurrentUserId } from '@/shared/utils/user'\nimport { queryValidator } from '@/shared/utils/validator'\nimport { RankDocsQuerySchema } from './rank.dto'\n\nconst router = createRouter()\n .get('/docs', queryValidator(RankDocsQuerySchema), async (c) => {\n const { limit } = c.req.valid('query')\n const { rankService } = getServiceDeps()\n const userId = getCurrentUserId(c)\n\n const docs = await rankService.getRankedDocsWithDetails(limit, userId)\n\n return c.json(Res200({ docs }) as ApiSuccess<{ docs: RankedDocVO[] }>, 200)\n })\n\nexport default router\n"],"mappings":";;;;;;;;;AASA,MAAM,SAAS,cAAc,CAC1B,IAAI,SAAS,eAAe,oBAAoB,EAAE,OAAO,MAAM;CAC9D,MAAM,EAAE,UAAU,EAAE,IAAI,MAAM,QAAQ;CACtC,MAAM,EAAE,gBAAgB,gBAAgB;CACxC,MAAM,SAAS,iBAAiB,EAAE;CAElC,MAAM,OAAO,MAAM,YAAY,yBAAyB,OAAO,OAAO;AAEtE,QAAO,EAAE,KAAK,OAAO,EAAE,MAAM,CAAC,EAAyC,IAAI;EAC3E"}
@@ -0,0 +1,32 @@
1
+ import { RankedDocVO } from "./rank.vo.mjs";
2
+ import { IDocRepository } from "../doc/doc.repo.interface.mjs";
3
+
4
+ //#region src/modules/rank/rank.service.d.ts
5
+ declare class RankService {
6
+ private docRepo;
7
+ private get cache();
8
+ constructor(docRepo: IDocRepository);
9
+ /**
10
+ * 批量查询文档收藏状态(带缓存)
11
+ * @param userId 用户 ID
12
+ * @param docIds 文档 ID 列表
13
+ * @returns docId -> 是否收藏的映射
14
+ */
15
+ getFavoritesMap(userId: number, docIds: number[]): Promise<{
16
+ [docId: number]: boolean;
17
+ }>;
18
+ incrementDocScore(slug: string, weight: number): Promise<void>;
19
+ getRankedDocs(limit?: number): Promise<{
20
+ slug: string;
21
+ score: number;
22
+ }[]>;
23
+ /**
24
+ * 获取排序文档列表
25
+ * @param limit 返回数量限制
26
+ * @param userId 可选用户 ID,用于检查收藏状态
27
+ */
28
+ getRankedDocsWithDetails(limit: number, userId?: number): Promise<RankedDocVO[]>;
29
+ }
30
+ //#endregion
31
+ export { RankService };
32
+ //# sourceMappingURL=rank.service.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank.service.d.mts","names":[],"sources":["../../../src/modules/rank/rank.service.ts"],"mappings":";;;;cAiBa,WAAA;EAAA,QAKS,OAAA;EAAA,YAJR,KAAA,CAAA;cAIQ,OAAA,EAAS,cAAA;;;;;;;EASvB,eAAA,CAAgB,MAAA,UAAgB,MAAA,aAAmB,OAAA;IAAA,CAAW,KAAA;EAAA;EAc9D,iBAAA,CAAkB,IAAA,UAAc,MAAA,WAAiB,OAAA;EAMjD,aAAA,CAAc,KAAA,YAAqB,OAAA;IAAU,IAAA;IAAc,KAAA;EAAA;EApB3D;;;;;EAwCA,wBAAA,CAAyB,KAAA,UAAe,MAAA,YAAkB,OAAA,CAAQ,WAAA;AAAA"}
@@ -0,0 +1,3 @@
1
+ import { t as RankService } from "../../rank.service-D2h-2iJA.mjs";
2
+
3
+ export { RankService };
@@ -0,0 +1,9 @@
1
+ import { DocVO } from "../doc/doc.vo.mjs";
2
+
3
+ //#region src/modules/rank/rank.vo.d.ts
4
+ type RankedDocVO = DocVO & {
5
+ score: number;
6
+ };
7
+ //#endregion
8
+ export { RankedDocVO };
9
+ //# sourceMappingURL=rank.vo.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank.vo.d.mts","names":[],"sources":["../../../src/modules/rank/rank.vo.ts"],"mappings":";;;KAEY,WAAA,GAAc,KAAA;EACxB,KAAA;AAAA"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,29 @@
1
+ import { Logger } from "pino";
2
+ import { Job } from "bullmq";
3
+
4
+ //#region src/modules/task/infrastructure/mq/task-context.d.ts
5
+ interface TaskLogEntry {
6
+ timestamp: number;
7
+ level: string;
8
+ message: string;
9
+ data?: any;
10
+ traceId: string;
11
+ }
12
+ declare class TaskContext<T = any> {
13
+ readonly job: Job<T>;
14
+ readonly logger: Logger;
15
+ readonly id: string;
16
+ readonly data: T;
17
+ readonly traceId: string;
18
+ static readonly LOG_MAX_ENTRIES = 150;
19
+ static readonly LOG_TRIM_TO_ENTRIES = 100;
20
+ constructor(job: Job<T>, logger: Logger);
21
+ log(level: 'info' | 'error' | 'warn', message: string, data?: any): Promise<void>;
22
+ private parseLogData;
23
+ logInfo(data: string | object, msg?: string): Promise<void>;
24
+ logError(data: string | object, msg?: string): Promise<void>;
25
+ logWarn(data: string | object, msg?: string): Promise<void>;
26
+ }
27
+ //#endregion
28
+ export { TaskContext, TaskLogEntry };
29
+ //# sourceMappingURL=task-context.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-context.d.mts","names":[],"sources":["../../../../../src/modules/task/infrastructure/mq/task-context.ts"],"mappings":";;;;UAIiB,YAAA;EACf,SAAA;EACA,KAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,cAGW,WAAA;EAAA,SACF,GAAA,EAAK,GAAA,CAAI,CAAA;EAAA,SACT,MAAA,EAAQ,MAAA;EAAA,SACR,EAAA;EAAA,SACA,IAAA,EAAM,CAAA;EAAA,SACN,OAAA;EAAA,gBAEO,eAAA;EAAA,gBACA,mBAAA;cAEJ,GAAA,EAAK,GAAA,CAAI,CAAA,GAAI,MAAA,EAAQ,MAAA;EAQ3B,GAAA,CAAI,KAAA,6BAAkC,OAAA,UAAiB,IAAA,SAAU,OAAA;EAAA,QA4C/D,YAAA;EAOR,OAAA,CAAQ,IAAA,mBAAuB,GAAA,YAAgB,OAAA;EAK/C,QAAA,CAAS,IAAA,mBAAuB,GAAA,YAAgB,OAAA;EAKhD,OAAA,CAAQ,IAAA,mBAAuB,GAAA,YAAgB,OAAA;AAAA"}
@@ -0,0 +1,70 @@
1
+ import { redis } from "../../../../shared/redis/index.mjs";
2
+
3
+ //#region src/modules/task/infrastructure/mq/task-context.ts
4
+ var TaskContext = class TaskContext {
5
+ job;
6
+ logger;
7
+ id;
8
+ data;
9
+ traceId;
10
+ static LOG_MAX_ENTRIES = 150;
11
+ static LOG_TRIM_TO_ENTRIES = 100;
12
+ constructor(job, logger) {
13
+ this.job = job;
14
+ this.logger = logger;
15
+ this.id = job.id;
16
+ this.data = job.data;
17
+ this.traceId = job.data.traceId || job.id;
18
+ }
19
+ async log(level, message, data) {
20
+ const entry = {
21
+ timestamp: Date.now(),
22
+ level,
23
+ message,
24
+ data,
25
+ traceId: this.traceId
26
+ };
27
+ const payload = JSON.stringify(entry);
28
+ const key = `task:${this.id}:logs`;
29
+ await redis.eval(`
30
+ redis.call('RPUSH', KEYS[1], ARGV[1])
31
+ local len = redis.call('LLEN', KEYS[1])
32
+ if len > tonumber(ARGV[2]) then
33
+ redis.call('LTRIM', KEYS[1], -tonumber(ARGV[3]), -1)
34
+ end
35
+ redis.call('EXPIRE', KEYS[1], ARGV[4])
36
+ return len
37
+ `, 1, key, payload, TaskContext.LOG_MAX_ENTRIES, TaskContext.LOG_TRIM_TO_ENTRIES, "14400");
38
+ await redis.publish(`task:${this.id}:events`, JSON.stringify({
39
+ type: "log",
40
+ entry
41
+ }));
42
+ (this.logger[level] || this.logger.info).call(this.logger, `[Task ${this.id}] ${message}`, data);
43
+ }
44
+ parseLogData(data, msg = "") {
45
+ if (typeof data === "string") return {
46
+ message: data,
47
+ extraData: void 0
48
+ };
49
+ return {
50
+ message: msg,
51
+ extraData: data
52
+ };
53
+ }
54
+ logInfo(data, msg = "") {
55
+ const { message, extraData } = this.parseLogData(data, msg);
56
+ return this.log("info", message, extraData);
57
+ }
58
+ logError(data, msg = "") {
59
+ const { message, extraData } = this.parseLogData(data, msg);
60
+ return this.log("error", message, extraData);
61
+ }
62
+ logWarn(data, msg = "") {
63
+ const { message, extraData } = this.parseLogData(data, msg);
64
+ return this.log("warn", message, extraData);
65
+ }
66
+ };
67
+
68
+ //#endregion
69
+ export { TaskContext };
70
+ //# sourceMappingURL=task-context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-context.mjs","names":[],"sources":["../../../../../src/modules/task/infrastructure/mq/task-context.ts"],"sourcesContent":["import type { Job } from 'bullmq'\nimport type { Logger } from 'pino'\nimport { redis } from '@/shared/redis'\n\nexport interface TaskLogEntry {\n timestamp: number\n level: string\n message: string\n data?: any\n traceId: string\n}\n\nexport class TaskContext<T = any> {\n readonly job: Job<T>\n readonly logger: Logger\n readonly id: string\n readonly data: T\n readonly traceId: string\n\n static readonly LOG_MAX_ENTRIES = 150\n static readonly LOG_TRIM_TO_ENTRIES = 100\n\n constructor(job: Job<T>, logger: Logger) {\n this.job = job\n this.logger = logger\n this.id = job.id!\n this.data = job.data\n this.traceId = (job.data as any).traceId || job.id!\n }\n\n async log(level: 'info' | 'error' | 'warn', message: string, data?: any) {\n const entry: TaskLogEntry = {\n timestamp: Date.now(),\n level,\n message,\n data,\n traceId: this.traceId,\n }\n\n const payload = JSON.stringify(entry)\n const key = `task:${this.id}:logs`\n\n // 1. Write to Redis List (buffer) with Lua script for trim strategy\n // Trim strategy: keep max LOG_MAX_ENTRIES entries, trim to LOG_TRIM_TO_ENTRIES when exceeded\n const luaScript = `\n redis.call('RPUSH', KEYS[1], ARGV[1])\n local len = redis.call('LLEN', KEYS[1])\n if len > tonumber(ARGV[2]) then\n redis.call('LTRIM', KEYS[1], -tonumber(ARGV[3]), -1)\n end\n redis.call('EXPIRE', KEYS[1], ARGV[4])\n return len\n `\n await redis.eval(\n luaScript,\n 1,\n key,\n payload,\n TaskContext.LOG_MAX_ENTRIES,\n TaskContext.LOG_TRIM_TO_ENTRIES,\n '14400',\n )\n\n // 2. Publish real-time event for SSE\n await redis.publish(`task:${this.id}:events`, JSON.stringify({\n type: 'log',\n entry,\n }))\n\n // 3. System log\n const logFn = this.logger[level] || this.logger.info\n logFn.call(this.logger, `[Task ${this.id}] ${message}`, data)\n }\n\n private parseLogData(data: string | object, msg: string = '') {\n if (typeof data === 'string') {\n return { message: data, extraData: undefined }\n }\n return { message: msg, extraData: data }\n }\n\n logInfo(data: string | object, msg: string = '') {\n const { message, extraData } = this.parseLogData(data, msg)\n return this.log('info', message, extraData)\n }\n\n logError(data: string | object, msg: string = '') {\n const { message, extraData } = this.parseLogData(data, msg)\n return this.log('error', message, extraData)\n }\n\n logWarn(data: string | object, msg: string = '') {\n const { message, extraData } = this.parseLogData(data, msg)\n return this.log('warn', message, extraData)\n }\n}\n"],"mappings":";;;AAYA,IAAa,cAAb,MAAa,YAAqB;CAChC,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CAET,OAAgB,kBAAkB;CAClC,OAAgB,sBAAsB;CAEtC,YAAY,KAAa,QAAgB;AACvC,OAAK,MAAM;AACX,OAAK,SAAS;AACd,OAAK,KAAK,IAAI;AACd,OAAK,OAAO,IAAI;AAChB,OAAK,UAAW,IAAI,KAAa,WAAW,IAAI;;CAGlD,MAAM,IAAI,OAAkC,SAAiB,MAAY;EACvE,MAAM,QAAsB;GAC1B,WAAW,KAAK,KAAK;GACrB;GACA;GACA;GACA,SAAS,KAAK;GACf;EAED,MAAM,UAAU,KAAK,UAAU,MAAM;EACrC,MAAM,MAAM,QAAQ,KAAK,GAAG;AAa5B,QAAM,MAAM,KATM;;;;;;;;OAWhB,GACA,KACA,SACA,YAAY,iBACZ,YAAY,qBACZ,QACD;AAGD,QAAM,MAAM,QAAQ,QAAQ,KAAK,GAAG,UAAU,KAAK,UAAU;GAC3D,MAAM;GACN;GACD,CAAC,CAAC;AAIH,GADc,KAAK,OAAO,UAAU,KAAK,OAAO,MAC1C,KAAK,KAAK,QAAQ,SAAS,KAAK,GAAG,IAAI,WAAW,KAAK;;CAG/D,AAAQ,aAAa,MAAuB,MAAc,IAAI;AAC5D,MAAI,OAAO,SAAS,SAClB,QAAO;GAAE,SAAS;GAAM,WAAW;GAAW;AAEhD,SAAO;GAAE,SAAS;GAAK,WAAW;GAAM;;CAG1C,QAAQ,MAAuB,MAAc,IAAI;EAC/C,MAAM,EAAE,SAAS,cAAc,KAAK,aAAa,MAAM,IAAI;AAC3D,SAAO,KAAK,IAAI,QAAQ,SAAS,UAAU;;CAG7C,SAAS,MAAuB,MAAc,IAAI;EAChD,MAAM,EAAE,SAAS,cAAc,KAAK,aAAa,MAAM,IAAI;AAC3D,SAAO,KAAK,IAAI,SAAS,SAAS,UAAU;;CAG9C,QAAQ,MAAuB,MAAc,IAAI;EAC/C,MAAM,EAAE,SAAS,cAAc,KAAK,aAAa,MAAM,IAAI;AAC3D,SAAO,KAAK,IAAI,QAAQ,SAAS,UAAU"}
@@ -0,0 +1,10 @@
1
+ import { Redis } from "ioredis";
2
+ import { Queue } from "bullmq";
3
+
4
+ //#region src/modules/task/infrastructure/mq/task-queue.d.ts
5
+ declare class TaskQueue extends Queue {
6
+ constructor(queueName: string, connection: Redis);
7
+ }
8
+ //#endregion
9
+ export { TaskQueue };
10
+ //# sourceMappingURL=task-queue.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-queue.d.mts","names":[],"sources":["../../../../../src/modules/task/infrastructure/mq/task-queue.ts"],"mappings":";;;;cAGa,SAAA,SAAkB,KAAA;cACjB,SAAA,UAAmB,UAAA,EAAY,KAAA;AAAA"}
@@ -0,0 +1,12 @@
1
+ import { Queue } from "bullmq";
2
+
3
+ //#region src/modules/task/infrastructure/mq/task-queue.ts
4
+ var TaskQueue = class extends Queue {
5
+ constructor(queueName, connection) {
6
+ super(queueName, { connection });
7
+ }
8
+ };
9
+
10
+ //#endregion
11
+ export { TaskQueue };
12
+ //# sourceMappingURL=task-queue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-queue.mjs","names":[],"sources":["../../../../../src/modules/task/infrastructure/mq/task-queue.ts"],"sourcesContent":["import { Queue } from 'bullmq'\nimport type { Redis } from 'ioredis'\n\nexport class TaskQueue extends Queue {\n constructor(queueName: string, connection: Redis) {\n super(queueName, {\n connection,\n })\n }\n}\n"],"mappings":";;;AAGA,IAAa,YAAb,cAA+B,MAAM;CACnC,YAAY,WAAmB,YAAmB;AAChD,QAAM,WAAW,EACf,YACD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Redis } from "ioredis";
2
+ import { Job } from "bullmq";
3
+
4
+ //#region src/modules/task/infrastructure/mq/task-worker.d.ts
5
+ type TaskProcessor = (job: Job) => Promise<any>;
6
+ declare class TaskWorker {
7
+ private worker;
8
+ constructor(queueName: string, processor: TaskProcessor, connection?: Redis);
9
+ close(): Promise<void>;
10
+ }
11
+ //#endregion
12
+ export { TaskProcessor, TaskWorker };
13
+ //# sourceMappingURL=task-worker.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-worker.d.mts","names":[],"sources":["../../../../../src/modules/task/infrastructure/mq/task-worker.ts"],"mappings":";;;;KAOY,aAAA,IAAiB,GAAA,EAAK,GAAA,KAAQ,OAAA;AAAA,cAE7B,UAAA;EAAA,QACH,MAAA;cAGN,SAAA,UACA,SAAA,EAAW,aAAA,EACX,UAAA,GAAY,KAAA;EA6BR,KAAA,CAAA,GAAK,OAAA;AAAA"}
@@ -0,0 +1,35 @@
1
+ import { logger } from "../../../../shared/logger.mjs";
2
+ import { createRedisClient } from "../../../../shared/redis/factory.mjs";
3
+ import "../../../../shared/redis/index.mjs";
4
+ import { Worker } from "bullmq";
5
+
6
+ //#region src/modules/task/infrastructure/mq/task-worker.ts
7
+ var TaskWorker = class {
8
+ worker;
9
+ constructor(queueName, processor, connection = createRedisClient()) {
10
+ this.worker = new Worker(queueName, processor, {
11
+ connection,
12
+ concurrency: 5
13
+ });
14
+ this.worker.on("completed", async (job) => {
15
+ if (job.id) await connection.publish(`task:${job.id}:events`, JSON.stringify({
16
+ type: "end",
17
+ status: "completed"
18
+ }));
19
+ });
20
+ this.worker.on("failed", async (job, err) => {
21
+ if (job?.id) await connection.publish(`task:${job.id}:events`, JSON.stringify({
22
+ type: "end",
23
+ status: "failed"
24
+ }));
25
+ logger.error(`[Worker] Job ${job?.id} failed: ${err.message}`);
26
+ });
27
+ }
28
+ async close() {
29
+ await this.worker.close();
30
+ }
31
+ };
32
+
33
+ //#endregion
34
+ export { TaskWorker };
35
+ //# sourceMappingURL=task-worker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-worker.mjs","names":[],"sources":["../../../../../src/modules/task/infrastructure/mq/task-worker.ts"],"sourcesContent":["import type { Job } from 'bullmq'\nimport type { Redis } from 'ioredis'\nimport type { ITaskRepository } from '../../task.repo.interface'\nimport { Worker } from 'bullmq'\nimport { logger } from '@/shared/logger'\nimport { createRedisClient } from '@/shared/redis'\n\nexport type TaskProcessor = (job: Job) => Promise<any>\n\nexport class TaskWorker {\n private worker: Worker\n\n constructor(\n queueName: string,\n processor: TaskProcessor,\n connection: Redis = createRedisClient(),\n ) {\n this.worker = new Worker(queueName, processor, {\n connection,\n concurrency: 5, // Default concurrency\n })\n\n this.worker.on('completed', async (job) => {\n if (job.id) {\n // Notify end of stream\n await connection.publish(`task:${job.id}:events`, JSON.stringify({\n type: 'end',\n status: 'completed',\n }))\n }\n })\n\n this.worker.on('failed', async (job, err) => {\n if (job?.id) {\n // Notify end of stream\n await connection.publish(`task:${job.id}:events`, JSON.stringify({\n type: 'end',\n status: 'failed',\n }))\n }\n logger.error(`[Worker] Job ${job?.id} failed: ${err.message}`)\n })\n }\n\n async close() {\n await this.worker.close()\n }\n}\n"],"mappings":";;;;;;AASA,IAAa,aAAb,MAAwB;CACtB,AAAQ;CAER,YACE,WACA,WACA,aAAoB,mBAAmB,EACvC;AACA,OAAK,SAAS,IAAI,OAAO,WAAW,WAAW;GAC7C;GACA,aAAa;GACd,CAAC;AAEF,OAAK,OAAO,GAAG,aAAa,OAAO,QAAQ;AACzC,OAAI,IAAI,GAEN,OAAM,WAAW,QAAQ,QAAQ,IAAI,GAAG,UAAU,KAAK,UAAU;IAC/D,MAAM;IACN,QAAQ;IACT,CAAC,CAAC;IAEL;AAEF,OAAK,OAAO,GAAG,UAAU,OAAO,KAAK,QAAQ;AAC3C,OAAI,KAAK,GAEP,OAAM,WAAW,QAAQ,QAAQ,IAAI,GAAG,UAAU,KAAK,UAAU;IAC/D,MAAM;IACN,QAAQ;IACT,CAAC,CAAC;AAEL,UAAO,MAAM,gBAAgB,KAAK,GAAG,WAAW,IAAI,UAAU;IAC9D;;CAGJ,MAAM,QAAQ;AACZ,QAAM,KAAK,OAAO,OAAO"}