@tstdl/base 0.93.87 → 0.93.90

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 (314) hide show
  1. package/ai/genkit/helpers.d.ts +3 -1
  2. package/ai/genkit/helpers.js +3 -3
  3. package/api/server/gateway.d.ts +3 -0
  4. package/api/server/gateway.js +15 -4
  5. package/api/server/middlewares/catch-error.middleware.js +2 -4
  6. package/api/server/middlewares/cors.middleware.js +2 -3
  7. package/api/server/middlewares/csrf.middleware.d.ts +41 -0
  8. package/api/server/middlewares/csrf.middleware.js +108 -0
  9. package/api/server/middlewares/index.d.ts +1 -0
  10. package/api/server/middlewares/index.js +1 -0
  11. package/api/server/module.d.ts +8 -2
  12. package/api/server/module.js +14 -8
  13. package/api/server/tests/csrf.middleware.test.js +91 -0
  14. package/audit/drizzle/{0000_bored_stick.sql → 0000_lumpy_thunderball.sql} +3 -3
  15. package/audit/drizzle/meta/0000_snapshot.json +4 -4
  16. package/audit/drizzle/meta/_journal.json +2 -9
  17. package/audit/module.d.ts +4 -1
  18. package/audit/module.js +3 -2
  19. package/audit/schemas.d.ts +1 -1
  20. package/audit/types.d.ts +1 -1
  21. package/audit/types.js +1 -1
  22. package/authentication/client/authentication.service.d.ts +14 -1
  23. package/authentication/client/authentication.service.js +82 -23
  24. package/authentication/client/http-client.middleware.d.ts +6 -0
  25. package/authentication/client/http-client.middleware.js +36 -0
  26. package/authentication/client/module.js +8 -2
  27. package/authentication/models/service-account.model.d.ts +2 -2
  28. package/authentication/models/service-account.model.js +10 -5
  29. package/authentication/models/subject.model.d.ts +20 -5
  30. package/authentication/models/subject.model.js +34 -29
  31. package/authentication/models/system-account.model.d.ts +3 -2
  32. package/authentication/models/system-account.model.js +11 -5
  33. package/authentication/models/user.model.d.ts +2 -11
  34. package/authentication/models/user.model.js +5 -16
  35. package/authentication/server/authentication-api-request-token.provider.d.ts +0 -2
  36. package/authentication/server/authentication-api-request-token.provider.js +3 -11
  37. package/authentication/server/authentication.api-controller.d.ts +1 -2
  38. package/authentication/server/authentication.api-controller.js +8 -9
  39. package/authentication/server/authentication.audit.d.ts +3 -2
  40. package/authentication/server/authentication.service.d.ts +27 -1
  41. package/authentication/server/authentication.service.js +67 -18
  42. package/authentication/server/drizzle/{0000_normal_paper_doll.sql → 0000_soft_tag.sql} +25 -32
  43. package/authentication/server/drizzle/meta/0000_snapshot.json +180 -205
  44. package/authentication/server/drizzle/meta/_journal.json +2 -2
  45. package/authentication/server/helper.js +9 -2
  46. package/authentication/server/module.d.ts +4 -1
  47. package/authentication/server/module.js +9 -5
  48. package/authentication/server/schemas.d.ts +2 -1
  49. package/authentication/server/schemas.js +2 -2
  50. package/authentication/server/subject.service.d.ts +17 -11
  51. package/authentication/server/subject.service.js +86 -84
  52. package/authentication/tests/authentication-ancillary.service.test.d.ts +1 -0
  53. package/authentication/tests/authentication-ancillary.service.test.js +13 -0
  54. package/authentication/tests/authentication-secret-requirements.validator.test.d.ts +1 -0
  55. package/authentication/tests/authentication-secret-requirements.validator.test.js +29 -0
  56. package/authentication/tests/authentication.api-controller.test.d.ts +1 -0
  57. package/authentication/tests/authentication.api-controller.test.js +88 -0
  58. package/authentication/tests/authentication.api-request-token.provider.test.d.ts +1 -0
  59. package/authentication/tests/authentication.api-request-token.provider.test.js +48 -0
  60. package/authentication/tests/authentication.client-middleware.test.d.ts +1 -0
  61. package/authentication/tests/authentication.client-middleware.test.js +23 -0
  62. package/authentication/tests/authentication.client-service.test.d.ts +1 -0
  63. package/authentication/tests/authentication.client-service.test.js +70 -0
  64. package/authentication/tests/authentication.service.test.d.ts +1 -0
  65. package/authentication/tests/authentication.service.test.js +186 -0
  66. package/authentication/tests/authentication.test-ancillary-service.d.ts +9 -0
  67. package/authentication/tests/authentication.test-ancillary-service.js +27 -0
  68. package/authentication/tests/helper.test.d.ts +1 -0
  69. package/authentication/tests/helper.test.js +107 -0
  70. package/authentication/tests/secret-requirements.error.test.d.ts +1 -0
  71. package/authentication/tests/secret-requirements.error.test.js +14 -0
  72. package/authentication/tests/subject.service.test.d.ts +1 -0
  73. package/authentication/tests/subject.service.test.js +140 -0
  74. package/circuit-breaker/postgres/drizzle/meta/0000_snapshot.json +1 -1
  75. package/circuit-breaker/postgres/drizzle/meta/_journal.json +2 -2
  76. package/circuit-breaker/postgres/module.d.ts +7 -1
  77. package/circuit-breaker/postgres/module.js +8 -6
  78. package/circuit-breaker/tests/circuit-breaker.test.js +2 -22
  79. package/document-management/api/document-management.api.js +2 -6
  80. package/document-management/server/services/document-validation.service.js +6 -5
  81. package/document-management/server/services/document-workflow.service.js +5 -5
  82. package/document-management/service-models/document-folders.view-model.d.ts +5 -2
  83. package/document-management/service-models/document-folders.view-model.js +42 -9
  84. package/document-management/service-models/enriched/enriched-document-management-data.view.js +1 -1
  85. package/examples/document-management/main.js +4 -4
  86. package/http/client/adapters/undici.adapter.d.ts +7 -5
  87. package/http/client/adapters/undici.adapter.js +13 -10
  88. package/http/client/module.d.ts +3 -1
  89. package/http/client/module.js +8 -9
  90. package/http/server/http-server.d.ts +2 -0
  91. package/http/server/node/module.d.ts +6 -2
  92. package/http/server/node/module.js +6 -4
  93. package/http/server/node/node-http-server.d.ts +2 -0
  94. package/http/server/node/node-http-server.js +7 -0
  95. package/http/types.d.ts +1 -1
  96. package/key-value-store/postgres/module.d.ts +7 -1
  97. package/key-value-store/postgres/module.js +7 -3
  98. package/lock/postgres/lock.js +0 -1
  99. package/lock/postgres/module.d.ts +7 -1
  100. package/lock/postgres/module.js +9 -5
  101. package/logger/formatter.d.ts +2 -0
  102. package/logger/formatters/json.js +2 -2
  103. package/logger/formatters/pretty-print.js +8 -10
  104. package/logger/logger.d.ts +1 -1
  105. package/logger/logger.js +15 -12
  106. package/message-bus/local/module.d.ts +5 -2
  107. package/message-bus/local/module.js +5 -4
  108. package/module/module.d.ts +2 -1
  109. package/module/module.js +3 -0
  110. package/module/modules/web-server.module.d.ts +11 -6
  111. package/module/modules/web-server.module.js +15 -10
  112. package/orm/decorators.d.ts +24 -1
  113. package/orm/decorators.js +40 -4
  114. package/orm/query/base.d.ts +17 -17
  115. package/orm/query/base.js +1 -1
  116. package/orm/repository.types.d.ts +45 -1
  117. package/orm/schemas/tsvector.js +1 -1
  118. package/orm/server/drizzle/schema-converter.d.ts +3 -1
  119. package/orm/server/drizzle/schema-converter.js +120 -14
  120. package/orm/server/index.d.ts +1 -0
  121. package/orm/server/index.js +1 -0
  122. package/orm/server/module.d.ts +4 -2
  123. package/orm/server/module.js +6 -5
  124. package/orm/server/query-converter.d.ts +6 -3
  125. package/orm/server/query-converter.js +32 -20
  126. package/orm/server/repository-config.d.ts +8 -0
  127. package/orm/server/repository-config.js +8 -0
  128. package/orm/server/repository.d.ts +117 -43
  129. package/orm/server/repository.js +757 -253
  130. package/orm/server/transaction.d.ts +4 -2
  131. package/orm/server/transaction.js +14 -5
  132. package/orm/server/transactional.d.ts +6 -2
  133. package/orm/server/transactional.js +39 -9
  134. package/orm/server/types.d.ts +2 -0
  135. package/orm/sqls/case-when.d.ts +3 -3
  136. package/orm/sqls/case-when.js +2 -2
  137. package/orm/sqls/sqls.d.ts +31 -5
  138. package/orm/sqls/sqls.js +69 -6
  139. package/orm/tests/data-types.test.d.ts +1 -0
  140. package/orm/tests/data-types.test.js +39 -0
  141. package/orm/tests/decorators.test.d.ts +1 -0
  142. package/orm/tests/decorators.test.js +77 -0
  143. package/orm/tests/encryption.test.d.ts +1 -0
  144. package/orm/tests/encryption.test.js +34 -0
  145. package/orm/tests/query-complex.test.d.ts +1 -0
  146. package/orm/tests/query-complex.test.js +203 -0
  147. package/orm/tests/query-converter-complex.test.d.ts +1 -0
  148. package/orm/tests/query-converter-complex.test.js +126 -0
  149. package/orm/tests/query-converter.test.d.ts +1 -0
  150. package/orm/tests/query-converter.test.js +123 -0
  151. package/orm/tests/repository-advanced.test.d.ts +1 -0
  152. package/orm/tests/repository-advanced.test.js +232 -0
  153. package/orm/tests/repository-attributes.test.d.ts +1 -0
  154. package/orm/tests/repository-attributes.test.js +99 -0
  155. package/orm/tests/repository-comprehensive.test.d.ts +1 -0
  156. package/orm/tests/repository-comprehensive.test.js +187 -0
  157. package/orm/tests/repository-coverage.test.d.ts +1 -0
  158. package/orm/tests/repository-coverage.test.js +303 -0
  159. package/orm/tests/repository-cti-complex.test.d.ts +1 -0
  160. package/orm/tests/repository-cti-complex.test.js +170 -0
  161. package/orm/tests/repository-cti-embedded.test.d.ts +1 -0
  162. package/orm/tests/repository-cti-embedded.test.js +188 -0
  163. package/orm/tests/repository-cti-extensive.test.d.ts +1 -0
  164. package/orm/tests/repository-cti-extensive.test.js +308 -0
  165. package/orm/tests/repository-cti-mapping.test.d.ts +1 -0
  166. package/orm/tests/repository-cti-mapping.test.js +121 -0
  167. package/orm/tests/repository-cti-search.test.d.ts +1 -0
  168. package/orm/tests/repository-cti-search.test.js +152 -0
  169. package/orm/tests/repository-cti-soft-delete.test.d.ts +1 -0
  170. package/orm/tests/repository-cti-soft-delete.test.js +115 -0
  171. package/orm/tests/repository-cti-transactions.test.d.ts +1 -0
  172. package/orm/tests/repository-cti-transactions.test.js +126 -0
  173. package/orm/tests/repository-cti-upsert-many.test.d.ts +1 -0
  174. package/orm/tests/repository-cti-upsert-many.test.js +127 -0
  175. package/orm/tests/repository-cti.test.d.ts +1 -0
  176. package/orm/tests/repository-cti.test.js +456 -0
  177. package/orm/tests/repository-edge-cases.test.d.ts +1 -0
  178. package/orm/tests/repository-edge-cases.test.js +216 -0
  179. package/orm/tests/repository-expiration.test.d.ts +1 -0
  180. package/orm/tests/repository-expiration.test.js +153 -0
  181. package/orm/tests/repository-extra-coverage.test.d.ts +1 -0
  182. package/orm/tests/repository-extra-coverage.test.js +546 -0
  183. package/orm/tests/repository-mapping.test.d.ts +1 -0
  184. package/orm/tests/repository-mapping.test.js +71 -0
  185. package/orm/tests/repository-regression.test.d.ts +1 -0
  186. package/orm/tests/repository-regression.test.js +330 -0
  187. package/orm/tests/repository-search-coverage.test.d.ts +1 -0
  188. package/orm/tests/repository-search-coverage.test.js +129 -0
  189. package/orm/tests/repository-search.test.d.ts +1 -0
  190. package/orm/tests/repository-search.test.js +116 -0
  191. package/orm/tests/repository-soft-delete.test.d.ts +1 -0
  192. package/orm/tests/repository-soft-delete.test.js +143 -0
  193. package/orm/tests/repository-transactions-nested.test.d.ts +1 -0
  194. package/orm/tests/repository-transactions-nested.test.js +202 -0
  195. package/orm/tests/repository-types.test.d.ts +1 -0
  196. package/orm/tests/repository-types.test.js +218 -0
  197. package/orm/tests/schema-converter.test.d.ts +1 -0
  198. package/orm/tests/schema-converter.test.js +81 -0
  199. package/orm/tests/schema-generation.test.d.ts +1 -0
  200. package/orm/tests/schema-generation.test.js +127 -0
  201. package/orm/tests/sql-helpers.test.d.ts +1 -0
  202. package/orm/tests/sql-helpers.test.js +67 -0
  203. package/orm/tests/transaction-safety.test.d.ts +1 -0
  204. package/orm/tests/transaction-safety.test.js +81 -0
  205. package/orm/tests/transactional.test.d.ts +1 -0
  206. package/orm/tests/transactional.test.js +224 -0
  207. package/orm/tests/utils.test.d.ts +1 -0
  208. package/orm/tests/utils.test.js +70 -0
  209. package/orm/utils.d.ts +7 -0
  210. package/orm/utils.js +26 -6
  211. package/package.json +12 -7
  212. package/pool/pool.js +1 -1
  213. package/rate-limit/index.d.ts +2 -0
  214. package/rate-limit/index.js +2 -0
  215. package/rate-limit/postgres/drizzle/0000_watery_rage.sql +7 -0
  216. package/{queue → rate-limit}/postgres/drizzle/meta/0000_snapshot.json +14 -39
  217. package/rate-limit/postgres/drizzle/meta/_journal.json +13 -0
  218. package/{queue → rate-limit}/postgres/drizzle.config.js +1 -1
  219. package/rate-limit/postgres/index.d.ts +4 -0
  220. package/rate-limit/postgres/index.js +4 -0
  221. package/rate-limit/postgres/module.d.ts +12 -0
  222. package/rate-limit/postgres/module.js +28 -0
  223. package/rate-limit/postgres/postgres-rate-limiter.d.ts +9 -0
  224. package/rate-limit/postgres/postgres-rate-limiter.js +56 -0
  225. package/rate-limit/postgres/rate-limit.model.d.ts +8 -0
  226. package/rate-limit/postgres/rate-limit.model.js +35 -0
  227. package/rate-limit/postgres/rate-limiter.provider.d.ts +6 -0
  228. package/rate-limit/postgres/rate-limiter.provider.js +21 -0
  229. package/rate-limit/postgres/schemas.d.ts +3 -0
  230. package/rate-limit/postgres/schemas.js +4 -0
  231. package/rate-limit/provider.d.ts +9 -0
  232. package/rate-limit/provider.js +2 -0
  233. package/rate-limit/rate-limiter.d.ts +35 -0
  234. package/rate-limit/rate-limiter.js +3 -0
  235. package/rate-limit/tests/postgres-rate-limiter.test.d.ts +1 -0
  236. package/rate-limit/tests/postgres-rate-limiter.test.js +92 -0
  237. package/signals/implementation/configure.d.ts +3 -0
  238. package/signals/implementation/configure.js +3 -0
  239. package/sse/data-stream-source.d.ts +1 -1
  240. package/sse/data-stream-source.js +6 -6
  241. package/task-queue/enqueue-batch.d.ts +17 -0
  242. package/task-queue/enqueue-batch.js +24 -0
  243. package/{queue → task-queue}/index.d.ts +1 -1
  244. package/{queue → task-queue}/index.js +1 -1
  245. package/task-queue/postgres/drizzle/0000_thin_black_panther.sql +74 -0
  246. package/task-queue/postgres/drizzle/meta/0000_snapshot.json +592 -0
  247. package/task-queue/postgres/drizzle/meta/_journal.json +13 -0
  248. package/task-queue/postgres/drizzle.config.d.ts +2 -0
  249. package/task-queue/postgres/drizzle.config.js +11 -0
  250. package/task-queue/postgres/index.d.ts +4 -0
  251. package/task-queue/postgres/index.js +4 -0
  252. package/task-queue/postgres/module.d.ts +12 -0
  253. package/task-queue/postgres/module.js +28 -0
  254. package/task-queue/postgres/schemas.d.ts +16 -0
  255. package/task-queue/postgres/schemas.js +8 -0
  256. package/task-queue/postgres/task-queue.d.ts +83 -0
  257. package/task-queue/postgres/task-queue.js +1054 -0
  258. package/task-queue/postgres/task-queue.provider.d.ts +7 -0
  259. package/{queue/postgres/queue.provider.js → task-queue/postgres/task-queue.provider.js} +8 -8
  260. package/task-queue/postgres/task.model.d.ts +39 -0
  261. package/task-queue/postgres/task.model.js +178 -0
  262. package/{queue → task-queue}/provider.d.ts +3 -3
  263. package/task-queue/provider.js +2 -0
  264. package/{queue → task-queue}/task-context.d.ts +7 -7
  265. package/{queue → task-queue}/task-context.js +8 -8
  266. package/{queue/queue.d.ts → task-queue/task-queue.d.ts} +128 -59
  267. package/task-queue/task-queue.js +200 -0
  268. package/task-queue/tests/complex.test.d.ts +1 -0
  269. package/task-queue/tests/complex.test.js +299 -0
  270. package/task-queue/tests/dependencies.test.d.ts +1 -0
  271. package/task-queue/tests/dependencies.test.js +174 -0
  272. package/task-queue/tests/queue.test.d.ts +1 -0
  273. package/task-queue/tests/queue.test.js +334 -0
  274. package/task-queue/tests/worker.test.d.ts +1 -0
  275. package/task-queue/tests/worker.test.js +163 -0
  276. package/test1.js +1 -1
  277. package/test4.js +2 -2
  278. package/unit-test/index.d.ts +1 -0
  279. package/unit-test/index.js +1 -0
  280. package/unit-test/integration-setup.d.ts +55 -0
  281. package/unit-test/integration-setup.js +182 -0
  282. package/utils/patterns.d.ts +3 -0
  283. package/utils/patterns.js +6 -1
  284. package/audit/drizzle/0001_previous_network.sql +0 -2
  285. package/audit/drizzle/meta/0001_snapshot.json +0 -195
  286. package/queue/enqueue-batch.d.ts +0 -17
  287. package/queue/enqueue-batch.js +0 -18
  288. package/queue/postgres/drizzle/0000_zippy_moondragon.sql +0 -11
  289. package/queue/postgres/drizzle/0001_certain_wild_pack.sql +0 -2
  290. package/queue/postgres/drizzle/0002_dear_meggan.sql +0 -2
  291. package/queue/postgres/drizzle/0003_tricky_venom.sql +0 -30
  292. package/queue/postgres/drizzle/meta/0001_snapshot.json +0 -103
  293. package/queue/postgres/drizzle/meta/0002_snapshot.json +0 -90
  294. package/queue/postgres/drizzle/meta/0003_snapshot.json +0 -288
  295. package/queue/postgres/drizzle/meta/_journal.json +0 -34
  296. package/queue/postgres/index.d.ts +0 -4
  297. package/queue/postgres/index.js +0 -4
  298. package/queue/postgres/module.d.ts +0 -9
  299. package/queue/postgres/module.js +0 -29
  300. package/queue/postgres/queue.d.ts +0 -60
  301. package/queue/postgres/queue.js +0 -681
  302. package/queue/postgres/queue.provider.d.ts +0 -7
  303. package/queue/postgres/schemas.d.ts +0 -14
  304. package/queue/postgres/schemas.js +0 -6
  305. package/queue/postgres/task.model.d.ts +0 -24
  306. package/queue/postgres/task.model.js +0 -115
  307. package/queue/provider.js +0 -2
  308. package/queue/queue.js +0 -131
  309. package/queue/tests/queue.test.js +0 -623
  310. package/test3.d.ts +0 -1
  311. package/test3.js +0 -47
  312. /package/{queue/tests/queue.test.d.ts → api/server/tests/csrf.middleware.test.d.ts} +0 -0
  313. /package/circuit-breaker/postgres/drizzle/{0000_hard_shocker.sql → 0000_cooing_korath.sql} +0 -0
  314. /package/{queue → rate-limit}/postgres/drizzle.config.d.ts +0 -0
@@ -1,103 +0,0 @@
1
- {
2
- "id": "ecc50ddb-e593-48ae-abe8-ec5d1b8d5970",
3
- "prevId": "1a2e63a5-b780-4f4d-ae41-ce8369aa1cf0",
4
- "version": "7",
5
- "dialect": "postgresql",
6
- "tables": {
7
- "queue.job": {
8
- "name": "job",
9
- "schema": "queue",
10
- "columns": {
11
- "id": {
12
- "name": "id",
13
- "type": "uuid",
14
- "primaryKey": true,
15
- "notNull": true,
16
- "default": "gen_random_uuid()"
17
- },
18
- "queue": {
19
- "name": "queue",
20
- "type": "text",
21
- "primaryKey": false,
22
- "notNull": true
23
- },
24
- "tag": {
25
- "name": "tag",
26
- "type": "text",
27
- "primaryKey": false,
28
- "notNull": false
29
- },
30
- "priority": {
31
- "name": "priority",
32
- "type": "integer",
33
- "primaryKey": false,
34
- "notNull": true
35
- },
36
- "enqueue_timestamp": {
37
- "name": "enqueue_timestamp",
38
- "type": "timestamp with time zone",
39
- "primaryKey": false,
40
- "notNull": true
41
- },
42
- "tries": {
43
- "name": "tries",
44
- "type": "integer",
45
- "primaryKey": false,
46
- "notNull": true
47
- },
48
- "last_dequeue_timestamp": {
49
- "name": "last_dequeue_timestamp",
50
- "type": "timestamp with time zone",
51
- "primaryKey": false,
52
- "notNull": false
53
- },
54
- "data": {
55
- "name": "data",
56
- "type": "jsonb",
57
- "primaryKey": false,
58
- "notNull": true
59
- }
60
- },
61
- "indexes": {
62
- "job_queue_tag_idx": {
63
- "name": "job_queue_tag_idx",
64
- "columns": [
65
- {
66
- "expression": "queue",
67
- "isExpression": false,
68
- "asc": true,
69
- "nulls": "last"
70
- },
71
- {
72
- "expression": "tag",
73
- "isExpression": false,
74
- "asc": true,
75
- "nulls": "last"
76
- }
77
- ],
78
- "isUnique": false,
79
- "concurrently": false,
80
- "method": "btree",
81
- "with": {}
82
- }
83
- },
84
- "foreignKeys": {},
85
- "compositePrimaryKeys": {},
86
- "uniqueConstraints": {},
87
- "policies": {},
88
- "checkConstraints": {},
89
- "isRLSEnabled": false
90
- }
91
- },
92
- "enums": {},
93
- "schemas": {},
94
- "sequences": {},
95
- "roles": {},
96
- "policies": {},
97
- "views": {},
98
- "_meta": {
99
- "columns": {},
100
- "schemas": {},
101
- "tables": {}
102
- }
103
- }
@@ -1,90 +0,0 @@
1
- {
2
- "id": "74e8909c-3a81-46a3-9fe7-176e263da2df",
3
- "prevId": "ecc50ddb-e593-48ae-abe8-ec5d1b8d5970",
4
- "version": "7",
5
- "dialect": "postgresql",
6
- "tables": {
7
- "queue.job": {
8
- "name": "job",
9
- "schema": "queue",
10
- "columns": {
11
- "id": {
12
- "name": "id",
13
- "type": "uuid",
14
- "primaryKey": true,
15
- "notNull": true,
16
- "default": "gen_random_uuid()"
17
- },
18
- "queue": {
19
- "name": "queue",
20
- "type": "text",
21
- "primaryKey": false,
22
- "notNull": true
23
- },
24
- "tag": {
25
- "name": "tag",
26
- "type": "text",
27
- "primaryKey": false,
28
- "notNull": false
29
- },
30
- "priority": {
31
- "name": "priority",
32
- "type": "integer",
33
- "primaryKey": false,
34
- "notNull": true
35
- },
36
- "enqueue_timestamp": {
37
- "name": "enqueue_timestamp",
38
- "type": "timestamp with time zone",
39
- "primaryKey": false,
40
- "notNull": true
41
- },
42
- "tries": {
43
- "name": "tries",
44
- "type": "integer",
45
- "primaryKey": false,
46
- "notNull": true
47
- },
48
- "last_dequeue_timestamp": {
49
- "name": "last_dequeue_timestamp",
50
- "type": "timestamp with time zone",
51
- "primaryKey": false,
52
- "notNull": false
53
- },
54
- "data": {
55
- "name": "data",
56
- "type": "jsonb",
57
- "primaryKey": false,
58
- "notNull": true
59
- }
60
- },
61
- "indexes": {},
62
- "foreignKeys": {},
63
- "compositePrimaryKeys": {},
64
- "uniqueConstraints": {
65
- "job_queue_tag_unique": {
66
- "name": "job_queue_tag_unique",
67
- "nullsNotDistinct": false,
68
- "columns": [
69
- "queue",
70
- "tag"
71
- ]
72
- }
73
- },
74
- "policies": {},
75
- "checkConstraints": {},
76
- "isRLSEnabled": false
77
- }
78
- },
79
- "enums": {},
80
- "schemas": {},
81
- "sequences": {},
82
- "roles": {},
83
- "policies": {},
84
- "views": {},
85
- "_meta": {
86
- "columns": {},
87
- "schemas": {},
88
- "tables": {}
89
- }
90
- }
@@ -1,288 +0,0 @@
1
- {
2
- "id": "705393d9-616b-4a01-9553-3b5408f64180",
3
- "prevId": "74e8909c-3a81-46a3-9fe7-176e263da2df",
4
- "version": "7",
5
- "dialect": "postgresql",
6
- "tables": {
7
- "queue.task": {
8
- "name": "task",
9
- "schema": "queue",
10
- "columns": {
11
- "id": {
12
- "name": "id",
13
- "type": "uuid",
14
- "primaryKey": true,
15
- "notNull": true,
16
- "default": "gen_random_uuid()"
17
- },
18
- "queue": {
19
- "name": "queue",
20
- "type": "text",
21
- "primaryKey": false,
22
- "notNull": true
23
- },
24
- "status": {
25
- "name": "status",
26
- "type": "task_state",
27
- "typeSchema": "queue",
28
- "primaryKey": false,
29
- "notNull": true
30
- },
31
- "tag": {
32
- "name": "tag",
33
- "type": "text",
34
- "primaryKey": false,
35
- "notNull": false
36
- },
37
- "priority": {
38
- "name": "priority",
39
- "type": "integer",
40
- "primaryKey": false,
41
- "notNull": true
42
- },
43
- "parent_id": {
44
- "name": "parent_id",
45
- "type": "uuid",
46
- "primaryKey": false,
47
- "notNull": false
48
- },
49
- "lease": {
50
- "name": "lease",
51
- "type": "uuid",
52
- "primaryKey": false,
53
- "notNull": false
54
- },
55
- "enqueue_timestamp": {
56
- "name": "enqueue_timestamp",
57
- "type": "timestamp with time zone",
58
- "primaryKey": false,
59
- "notNull": true
60
- },
61
- "schedule_timestamp": {
62
- "name": "schedule_timestamp",
63
- "type": "timestamp with time zone",
64
- "primaryKey": false,
65
- "notNull": true
66
- },
67
- "start_timestamp": {
68
- "name": "start_timestamp",
69
- "type": "timestamp with time zone",
70
- "primaryKey": false,
71
- "notNull": false
72
- },
73
- "expiration_timestamp": {
74
- "name": "expiration_timestamp",
75
- "type": "timestamp with time zone",
76
- "primaryKey": false,
77
- "notNull": false
78
- },
79
- "lock_expiration_timestamp": {
80
- "name": "lock_expiration_timestamp",
81
- "type": "timestamp with time zone",
82
- "primaryKey": false,
83
- "notNull": false
84
- },
85
- "complete_timestamp": {
86
- "name": "complete_timestamp",
87
- "type": "timestamp with time zone",
88
- "primaryKey": false,
89
- "notNull": false
90
- },
91
- "tries": {
92
- "name": "tries",
93
- "type": "integer",
94
- "primaryKey": false,
95
- "notNull": true
96
- },
97
- "progress": {
98
- "name": "progress",
99
- "type": "double precision",
100
- "primaryKey": false,
101
- "notNull": true
102
- },
103
- "data": {
104
- "name": "data",
105
- "type": "jsonb",
106
- "primaryKey": false,
107
- "notNull": false
108
- },
109
- "state": {
110
- "name": "state",
111
- "type": "jsonb",
112
- "primaryKey": false,
113
- "notNull": false
114
- },
115
- "result": {
116
- "name": "result",
117
- "type": "jsonb",
118
- "primaryKey": false,
119
- "notNull": false
120
- },
121
- "error": {
122
- "name": "error",
123
- "type": "jsonb",
124
- "primaryKey": false,
125
- "notNull": false
126
- }
127
- },
128
- "indexes": {
129
- "task_parent_id_status_idx": {
130
- "name": "task_parent_id_status_idx",
131
- "columns": [
132
- {
133
- "expression": "parent_id",
134
- "isExpression": false,
135
- "asc": true,
136
- "nulls": "last"
137
- },
138
- {
139
- "expression": "status",
140
- "isExpression": false,
141
- "asc": true,
142
- "nulls": "last"
143
- }
144
- ],
145
- "isUnique": false,
146
- "concurrently": false,
147
- "method": "btree",
148
- "with": {}
149
- },
150
- "task_queue_complete_timestamp_idx": {
151
- "name": "task_queue_complete_timestamp_idx",
152
- "columns": [
153
- {
154
- "expression": "queue",
155
- "isExpression": false,
156
- "asc": true,
157
- "nulls": "last"
158
- },
159
- {
160
- "expression": "complete_timestamp",
161
- "isExpression": false,
162
- "asc": true,
163
- "nulls": "last"
164
- }
165
- ],
166
- "isUnique": false,
167
- "concurrently": false,
168
- "method": "btree",
169
- "with": {}
170
- },
171
- "task_queue_status_lock_expiration_timestamp_idx": {
172
- "name": "task_queue_status_lock_expiration_timestamp_idx",
173
- "columns": [
174
- {
175
- "expression": "queue",
176
- "isExpression": false,
177
- "asc": true,
178
- "nulls": "last"
179
- },
180
- {
181
- "expression": "status",
182
- "isExpression": false,
183
- "asc": true,
184
- "nulls": "last"
185
- },
186
- {
187
- "expression": "lock_expiration_timestamp",
188
- "isExpression": false,
189
- "asc": true,
190
- "nulls": "last"
191
- }
192
- ],
193
- "isUnique": false,
194
- "concurrently": false,
195
- "method": "btree",
196
- "with": {}
197
- },
198
- "task_queue_status_priority_schedule_timestamp_idx": {
199
- "name": "task_queue_status_priority_schedule_timestamp_idx",
200
- "columns": [
201
- {
202
- "expression": "queue",
203
- "isExpression": false,
204
- "asc": true,
205
- "nulls": "last"
206
- },
207
- {
208
- "expression": "status",
209
- "isExpression": false,
210
- "asc": true,
211
- "nulls": "last"
212
- },
213
- {
214
- "expression": "priority",
215
- "isExpression": false,
216
- "asc": true,
217
- "nulls": "last"
218
- },
219
- {
220
- "expression": "schedule_timestamp",
221
- "isExpression": false,
222
- "asc": true,
223
- "nulls": "last"
224
- }
225
- ],
226
- "isUnique": false,
227
- "concurrently": false,
228
- "method": "btree",
229
- "with": {}
230
- }
231
- },
232
- "foreignKeys": {
233
- "task_parent_id_task_id_fk": {
234
- "name": "task_parent_id_task_id_fk",
235
- "tableFrom": "task",
236
- "tableTo": "task",
237
- "schemaTo": "queue",
238
- "columnsFrom": [
239
- "parent_id"
240
- ],
241
- "columnsTo": [
242
- "id"
243
- ],
244
- "onDelete": "no action",
245
- "onUpdate": "no action"
246
- }
247
- },
248
- "compositePrimaryKeys": {},
249
- "uniqueConstraints": {
250
- "task_queue_tag_unique": {
251
- "name": "task_queue_tag_unique",
252
- "nullsNotDistinct": false,
253
- "columns": [
254
- "queue",
255
- "tag"
256
- ]
257
- }
258
- },
259
- "policies": {},
260
- "checkConstraints": {},
261
- "isRLSEnabled": false
262
- }
263
- },
264
- "enums": {
265
- "queue.task_state": {
266
- "name": "task_state",
267
- "schema": "queue",
268
- "values": [
269
- "pending",
270
- "running",
271
- "completed",
272
- "cancelled",
273
- "waiting",
274
- "dead"
275
- ]
276
- }
277
- },
278
- "schemas": {},
279
- "sequences": {},
280
- "roles": {},
281
- "policies": {},
282
- "views": {},
283
- "_meta": {
284
- "columns": {},
285
- "schemas": {},
286
- "tables": {}
287
- }
288
- }
@@ -1,34 +0,0 @@
1
- {
2
- "version": "7",
3
- "dialect": "postgresql",
4
- "entries": [
5
- {
6
- "idx": 0,
7
- "version": "7",
8
- "when": 1740684120614,
9
- "tag": "0000_zippy_moondragon",
10
- "breakpoints": true
11
- },
12
- {
13
- "idx": 1,
14
- "version": "7",
15
- "when": 1741944766334,
16
- "tag": "0001_certain_wild_pack",
17
- "breakpoints": true
18
- },
19
- {
20
- "idx": 2,
21
- "version": "7",
22
- "when": 1760974453539,
23
- "tag": "0002_dear_meggan",
24
- "breakpoints": true
25
- },
26
- {
27
- "idx": 3,
28
- "version": "7",
29
- "when": 1767731213291,
30
- "tag": "0003_tricky_venom",
31
- "breakpoints": true
32
- }
33
- ]
34
- }
@@ -1,4 +0,0 @@
1
- export * from './task.model.js';
2
- export * from './module.js';
3
- export * from './queue.js';
4
- export * from './queue.provider.js';
@@ -1,4 +0,0 @@
1
- export * from './task.model.js';
2
- export * from './module.js';
3
- export * from './queue.js';
4
- export * from './queue.provider.js';
@@ -1,9 +0,0 @@
1
- import { type DatabaseConfig } from '../../orm/server/index.js';
2
- export declare class PostgresQueueModuleConfig {
3
- database?: DatabaseConfig;
4
- }
5
- /**
6
- * configure queue module
7
- */
8
- export declare function configurePostgresQueue(config?: PostgresQueueModuleConfig, register?: boolean): void;
9
- export declare function migratePostgresQueueSchema(): Promise<void>;
@@ -1,29 +0,0 @@
1
- import { inject } from '../../injector/index.js';
2
- import { Injector } from '../../injector/injector.js';
3
- import { Database, migrate } from '../../orm/server/index.js';
4
- import { QueueProvider } from '../provider.js';
5
- import { Queue } from '../queue.js';
6
- import { PostgresQueue } from './queue.js';
7
- import { PostgresQueueProvider } from './queue.provider.js';
8
- export class PostgresQueueModuleConfig {
9
- database;
10
- }
11
- /**
12
- * configure queue module
13
- */
14
- export function configurePostgresQueue(config, register = true) {
15
- Injector.register(PostgresQueueModuleConfig, { useValue: config });
16
- if (register) {
17
- Injector.registerSingleton(QueueProvider, { useToken: PostgresQueueProvider });
18
- Injector.registerSingleton(Queue, { useToken: PostgresQueue });
19
- }
20
- }
21
- export async function migratePostgresQueueSchema() {
22
- const connection = inject(PostgresQueueModuleConfig, undefined, { optional: true })?.database?.connection;
23
- const database = inject(Database, connection);
24
- await migrate(database, {
25
- migrationsSchema: 'queue',
26
- migrationsTable: '_migrations',
27
- migrationsFolder: import.meta.resolve('./drizzle'),
28
- });
29
- }
@@ -1,60 +0,0 @@
1
- import { CancellationSignal } from '../../cancellation/index.js';
2
- import type { Query } from '../../orm/index.js';
3
- import { type Transaction } from '../../orm/server/index.js';
4
- import type { ObjectLiteral } from '../../types/index.js';
5
- import { Queue, type EnqueueManyItem, type EnqueueManyOptions, type EnqueueOneOptions, type Task, type TaskTag } from '../queue.js';
6
- export declare class PostgresQueue<Data extends ObjectLiteral, State extends ObjectLiteral, Result extends ObjectLiteral> extends Queue<Data, State, Result> {
7
- #private;
8
- readonly processTimeout: number;
9
- readonly executionTimeout: number;
10
- readonly maxTries: number;
11
- readonly retryDelayMinimum: number;
12
- readonly retryDelayMaximum: number;
13
- readonly retryDelayGrowth: number;
14
- readonly retentionPeriod: number;
15
- readonly globalConcurrency: number | null;
16
- enqueue(data: Data, options?: EnqueueOneOptions): Promise<Task<Data, State, Result>>;
17
- enqueueMany(items: EnqueueManyItem<Data>[], options?: EnqueueManyOptions & {
18
- returnTasks?: false;
19
- }): Promise<void>;
20
- enqueueMany(items: EnqueueManyItem<Data>[], options: EnqueueManyOptions & {
21
- returnTasks: true;
22
- }): Promise<Task<Data, State, Result>[]>;
23
- enqueueMany(items: EnqueueManyItem<Data>[], options?: EnqueueManyOptions): Promise<Task<Data, State, Result>[] | undefined>;
24
- has(id: string): Promise<boolean>;
25
- countByTag(tag: TaskTag): Promise<number>;
26
- get(id: string): Promise<Task<Data, State, Result> | undefined>;
27
- getByTag(tag: TaskTag): Promise<Task<Data, State, Result>[]>;
28
- getByTags(tags: TaskTag[]): Promise<Task<Data, State, Result>[]>;
29
- getTree(idOrIds: string | string[], transaction?: Transaction): Promise<Task<unknown, unknown, unknown>[]>;
30
- getTreeByQuery(query: Query<Task>, transaction?: Transaction): Promise<Task<unknown, unknown, unknown>[]>;
31
- cancel(id: string, transaction?: Transaction): Promise<void>;
32
- cancelMany(ids: string[], transaction?: Transaction): Promise<void>;
33
- cancelByTag(tag: TaskTag): Promise<void>;
34
- cancelManyByTag(tags: TaskTag[]): Promise<void>;
35
- clear(): Promise<void>;
36
- dequeue(): Promise<Task<Data, State, Result> | undefined>;
37
- dequeueMany(count: number): Promise<Task<Data, State, Result>[]>;
38
- reschedule(id: string, timestamp: number, transaction?: Transaction): Promise<void>;
39
- rescheduleMany(ids: string[], timestamp: number, transaction?: Transaction): Promise<void>;
40
- rescheduleByTag(tag: TaskTag, timestamp: number, transaction?: Transaction): Promise<void>;
41
- rescheduleManyByTag(tags: TaskTag[], timestamp: number, transaction?: Transaction): Promise<void>;
42
- touch(task: Task, options?: {
43
- progress?: number;
44
- state?: State;
45
- transaction?: Transaction;
46
- }): Promise<Task<Data, State, Result> | undefined>;
47
- touchMany(tasks: Task[], progresses?: number[], states?: State[], transaction?: Transaction): Promise<string[]>;
48
- acknowledge<R>(task: Task<any, any, R>, result?: R, transaction?: Transaction, { skipFanIn }?: {
49
- skipFanIn?: boolean;
50
- }): Promise<void>;
51
- acknowledgeMany<R>(tasks: Task<any, any, R>[], results?: R[], transaction?: Transaction): Promise<void>;
52
- fail(task: Task, error: any, fatal?: boolean, transaction?: Transaction, { skipFanIn }?: {
53
- skipFanIn?: boolean;
54
- }): Promise<void>;
55
- failMany(tasks: Task[], errors: any[], transaction?: Transaction): Promise<void>;
56
- prune(): Promise<void>;
57
- restart(id: string, transaction?: Transaction): Promise<void>;
58
- getConsumer(cancellationSignal: CancellationSignal): AsyncIterableIterator<Task<Data, State, Result>>;
59
- getBatchConsumer(size: number, cancellationSignal: CancellationSignal): AsyncIterableIterator<Task<Data, State, Result>[]>;
60
- }