@tstdl/base 0.93.86 → 0.93.89

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 (318) 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 +19 -5
  30. package/authentication/models/subject.model.js +25 -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 +14 -8
  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/index.d.ts +1 -1
  115. package/orm/index.js +1 -1
  116. package/orm/query/base.d.ts +17 -17
  117. package/orm/query/base.js +1 -1
  118. package/orm/repository.types.d.ts +46 -2
  119. package/orm/schemas/tsvector.js +1 -1
  120. package/orm/server/drizzle/schema-converter.d.ts +3 -1
  121. package/orm/server/drizzle/schema-converter.js +120 -14
  122. package/orm/server/index.d.ts +1 -0
  123. package/orm/server/index.js +1 -0
  124. package/orm/server/module.d.ts +4 -2
  125. package/orm/server/module.js +6 -5
  126. package/orm/server/query-converter.d.ts +6 -3
  127. package/orm/server/query-converter.js +33 -21
  128. package/orm/server/repository-config.d.ts +8 -0
  129. package/orm/server/repository-config.js +8 -0
  130. package/orm/server/repository.d.ts +117 -43
  131. package/orm/server/repository.js +758 -254
  132. package/orm/server/transaction.d.ts +4 -2
  133. package/orm/server/transaction.js +14 -5
  134. package/orm/server/transactional.d.ts +6 -2
  135. package/orm/server/transactional.js +39 -9
  136. package/orm/server/types.d.ts +2 -0
  137. package/orm/sqls/case-when.d.ts +25 -0
  138. package/orm/sqls/case-when.js +54 -0
  139. package/orm/sqls/index.d.ts +2 -0
  140. package/orm/sqls/index.js +2 -0
  141. package/orm/{sqls.d.ts → sqls/sqls.d.ts} +67 -19
  142. package/orm/{sqls.js → sqls/sqls.js} +116 -22
  143. package/orm/tests/data-types.test.d.ts +1 -0
  144. package/orm/tests/data-types.test.js +39 -0
  145. package/orm/tests/decorators.test.d.ts +1 -0
  146. package/orm/tests/decorators.test.js +77 -0
  147. package/orm/tests/encryption.test.d.ts +1 -0
  148. package/orm/tests/encryption.test.js +34 -0
  149. package/orm/tests/query-complex.test.d.ts +1 -0
  150. package/orm/tests/query-complex.test.js +203 -0
  151. package/orm/tests/query-converter-complex.test.d.ts +1 -0
  152. package/orm/tests/query-converter-complex.test.js +126 -0
  153. package/orm/tests/query-converter.test.d.ts +1 -0
  154. package/orm/tests/query-converter.test.js +123 -0
  155. package/orm/tests/repository-advanced.test.d.ts +1 -0
  156. package/orm/tests/repository-advanced.test.js +232 -0
  157. package/orm/tests/repository-attributes.test.d.ts +1 -0
  158. package/orm/tests/repository-attributes.test.js +99 -0
  159. package/orm/tests/repository-comprehensive.test.d.ts +1 -0
  160. package/orm/tests/repository-comprehensive.test.js +187 -0
  161. package/orm/tests/repository-coverage.test.d.ts +1 -0
  162. package/orm/tests/repository-coverage.test.js +303 -0
  163. package/orm/tests/repository-cti-complex.test.d.ts +1 -0
  164. package/orm/tests/repository-cti-complex.test.js +170 -0
  165. package/orm/tests/repository-cti-embedded.test.d.ts +1 -0
  166. package/orm/tests/repository-cti-embedded.test.js +188 -0
  167. package/orm/tests/repository-cti-extensive.test.d.ts +1 -0
  168. package/orm/tests/repository-cti-extensive.test.js +308 -0
  169. package/orm/tests/repository-cti-mapping.test.d.ts +1 -0
  170. package/orm/tests/repository-cti-mapping.test.js +121 -0
  171. package/orm/tests/repository-cti-search.test.d.ts +1 -0
  172. package/orm/tests/repository-cti-search.test.js +152 -0
  173. package/orm/tests/repository-cti-soft-delete.test.d.ts +1 -0
  174. package/orm/tests/repository-cti-soft-delete.test.js +115 -0
  175. package/orm/tests/repository-cti-transactions.test.d.ts +1 -0
  176. package/orm/tests/repository-cti-transactions.test.js +126 -0
  177. package/orm/tests/repository-cti-upsert-many.test.d.ts +1 -0
  178. package/orm/tests/repository-cti-upsert-many.test.js +127 -0
  179. package/orm/tests/repository-cti.test.d.ts +1 -0
  180. package/orm/tests/repository-cti.test.js +456 -0
  181. package/orm/tests/repository-edge-cases.test.d.ts +1 -0
  182. package/orm/tests/repository-edge-cases.test.js +216 -0
  183. package/orm/tests/repository-expiration.test.d.ts +1 -0
  184. package/orm/tests/repository-expiration.test.js +153 -0
  185. package/orm/tests/repository-extra-coverage.test.d.ts +1 -0
  186. package/orm/tests/repository-extra-coverage.test.js +546 -0
  187. package/orm/tests/repository-mapping.test.d.ts +1 -0
  188. package/orm/tests/repository-mapping.test.js +71 -0
  189. package/orm/tests/repository-regression.test.d.ts +1 -0
  190. package/orm/tests/repository-regression.test.js +330 -0
  191. package/orm/tests/repository-search-coverage.test.d.ts +1 -0
  192. package/orm/tests/repository-search-coverage.test.js +129 -0
  193. package/orm/tests/repository-search.test.d.ts +1 -0
  194. package/orm/tests/repository-search.test.js +116 -0
  195. package/orm/tests/repository-soft-delete.test.d.ts +1 -0
  196. package/orm/tests/repository-soft-delete.test.js +143 -0
  197. package/orm/tests/repository-transactions-nested.test.d.ts +1 -0
  198. package/orm/tests/repository-transactions-nested.test.js +202 -0
  199. package/orm/tests/repository-types.test.d.ts +1 -0
  200. package/orm/tests/repository-types.test.js +218 -0
  201. package/orm/tests/schema-converter.test.d.ts +1 -0
  202. package/orm/tests/schema-converter.test.js +81 -0
  203. package/orm/tests/schema-generation.test.d.ts +1 -0
  204. package/orm/tests/schema-generation.test.js +127 -0
  205. package/orm/tests/sql-helpers.test.d.ts +1 -0
  206. package/orm/tests/sql-helpers.test.js +67 -0
  207. package/orm/tests/transaction-safety.test.d.ts +1 -0
  208. package/orm/tests/transaction-safety.test.js +81 -0
  209. package/orm/tests/transactional.test.d.ts +1 -0
  210. package/orm/tests/transactional.test.js +224 -0
  211. package/orm/tests/utils.test.d.ts +1 -0
  212. package/orm/tests/utils.test.js +70 -0
  213. package/orm/utils.d.ts +7 -0
  214. package/orm/utils.js +26 -6
  215. package/package.json +12 -7
  216. package/pool/pool.js +1 -1
  217. package/rate-limit/index.d.ts +2 -0
  218. package/rate-limit/index.js +2 -0
  219. package/rate-limit/postgres/drizzle/0000_watery_rage.sql +7 -0
  220. package/{queue → rate-limit}/postgres/drizzle/meta/0000_snapshot.json +14 -39
  221. package/rate-limit/postgres/drizzle/meta/_journal.json +13 -0
  222. package/{queue → rate-limit}/postgres/drizzle.config.js +1 -1
  223. package/rate-limit/postgres/index.d.ts +4 -0
  224. package/rate-limit/postgres/index.js +4 -0
  225. package/rate-limit/postgres/module.d.ts +12 -0
  226. package/rate-limit/postgres/module.js +28 -0
  227. package/rate-limit/postgres/postgres-rate-limiter.d.ts +9 -0
  228. package/rate-limit/postgres/postgres-rate-limiter.js +56 -0
  229. package/rate-limit/postgres/rate-limit.model.d.ts +8 -0
  230. package/rate-limit/postgres/rate-limit.model.js +35 -0
  231. package/rate-limit/postgres/rate-limiter.provider.d.ts +6 -0
  232. package/rate-limit/postgres/rate-limiter.provider.js +21 -0
  233. package/rate-limit/postgres/schemas.d.ts +3 -0
  234. package/rate-limit/postgres/schemas.js +4 -0
  235. package/rate-limit/provider.d.ts +9 -0
  236. package/rate-limit/provider.js +2 -0
  237. package/rate-limit/rate-limiter.d.ts +35 -0
  238. package/rate-limit/rate-limiter.js +3 -0
  239. package/rate-limit/tests/postgres-rate-limiter.test.d.ts +1 -0
  240. package/rate-limit/tests/postgres-rate-limiter.test.js +92 -0
  241. package/signals/implementation/configure.d.ts +3 -0
  242. package/signals/implementation/configure.js +3 -0
  243. package/sse/data-stream-source.d.ts +1 -1
  244. package/sse/data-stream-source.js +6 -6
  245. package/task-queue/enqueue-batch.d.ts +17 -0
  246. package/task-queue/enqueue-batch.js +24 -0
  247. package/{queue → task-queue}/index.d.ts +1 -1
  248. package/{queue → task-queue}/index.js +1 -1
  249. package/task-queue/postgres/drizzle/0000_thin_black_panther.sql +74 -0
  250. package/task-queue/postgres/drizzle/meta/0000_snapshot.json +592 -0
  251. package/task-queue/postgres/drizzle/meta/_journal.json +13 -0
  252. package/task-queue/postgres/drizzle.config.d.ts +2 -0
  253. package/task-queue/postgres/drizzle.config.js +11 -0
  254. package/task-queue/postgres/index.d.ts +4 -0
  255. package/task-queue/postgres/index.js +4 -0
  256. package/task-queue/postgres/module.d.ts +12 -0
  257. package/task-queue/postgres/module.js +28 -0
  258. package/task-queue/postgres/schemas.d.ts +16 -0
  259. package/task-queue/postgres/schemas.js +8 -0
  260. package/task-queue/postgres/task-queue.d.ts +83 -0
  261. package/task-queue/postgres/task-queue.js +1054 -0
  262. package/task-queue/postgres/task-queue.provider.d.ts +7 -0
  263. package/{queue/postgres/queue.provider.js → task-queue/postgres/task-queue.provider.js} +8 -8
  264. package/task-queue/postgres/task.model.d.ts +39 -0
  265. package/task-queue/postgres/task.model.js +178 -0
  266. package/{queue → task-queue}/provider.d.ts +3 -3
  267. package/task-queue/provider.js +2 -0
  268. package/{queue → task-queue}/task-context.d.ts +7 -7
  269. package/{queue → task-queue}/task-context.js +8 -8
  270. package/{queue/queue.d.ts → task-queue/task-queue.d.ts} +128 -59
  271. package/task-queue/task-queue.js +200 -0
  272. package/task-queue/tests/complex.test.d.ts +1 -0
  273. package/task-queue/tests/complex.test.js +299 -0
  274. package/task-queue/tests/dependencies.test.d.ts +1 -0
  275. package/task-queue/tests/dependencies.test.js +174 -0
  276. package/task-queue/tests/queue.test.d.ts +1 -0
  277. package/task-queue/tests/queue.test.js +334 -0
  278. package/task-queue/tests/worker.test.d.ts +1 -0
  279. package/task-queue/tests/worker.test.js +163 -0
  280. package/test1.js +1 -1
  281. package/test4.js +2 -2
  282. package/unit-test/index.d.ts +1 -0
  283. package/unit-test/index.js +1 -0
  284. package/unit-test/integration-setup.d.ts +55 -0
  285. package/unit-test/integration-setup.js +182 -0
  286. package/utils/patterns.d.ts +3 -0
  287. package/utils/patterns.js +6 -1
  288. package/audit/drizzle/0001_previous_network.sql +0 -2
  289. package/audit/drizzle/meta/0001_snapshot.json +0 -195
  290. package/queue/enqueue-batch.d.ts +0 -17
  291. package/queue/enqueue-batch.js +0 -18
  292. package/queue/postgres/drizzle/0000_zippy_moondragon.sql +0 -11
  293. package/queue/postgres/drizzle/0001_certain_wild_pack.sql +0 -2
  294. package/queue/postgres/drizzle/0002_dear_meggan.sql +0 -2
  295. package/queue/postgres/drizzle/0003_tricky_venom.sql +0 -30
  296. package/queue/postgres/drizzle/meta/0001_snapshot.json +0 -103
  297. package/queue/postgres/drizzle/meta/0002_snapshot.json +0 -90
  298. package/queue/postgres/drizzle/meta/0003_snapshot.json +0 -288
  299. package/queue/postgres/drizzle/meta/_journal.json +0 -34
  300. package/queue/postgres/index.d.ts +0 -4
  301. package/queue/postgres/index.js +0 -4
  302. package/queue/postgres/module.d.ts +0 -9
  303. package/queue/postgres/module.js +0 -29
  304. package/queue/postgres/queue.d.ts +0 -60
  305. package/queue/postgres/queue.js +0 -681
  306. package/queue/postgres/queue.provider.d.ts +0 -7
  307. package/queue/postgres/schemas.d.ts +0 -14
  308. package/queue/postgres/schemas.js +0 -6
  309. package/queue/postgres/task.model.d.ts +0 -24
  310. package/queue/postgres/task.model.js +0 -115
  311. package/queue/provider.js +0 -2
  312. package/queue/queue.js +0 -131
  313. package/queue/tests/queue.test.js +0 -623
  314. package/test3.d.ts +0 -1
  315. package/test3.js +0 -47
  316. /package/{queue/tests/queue.test.d.ts → api/server/tests/csrf.middleware.test.d.ts} +0 -0
  317. /package/circuit-breaker/postgres/drizzle/{0000_hard_shocker.sql → 0000_cooing_korath.sql} +0 -0
  318. /package/{queue → rate-limit}/postgres/drizzle.config.d.ts +0 -0
@@ -0,0 +1,592 @@
1
+ {
2
+ "id": "0d47b6da-b49b-4717-b789-f4ea71b3b8e7",
3
+ "prevId": "00000000-0000-0000-0000-000000000000",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "task_queue.task": {
8
+ "name": "task",
9
+ "schema": "task_queue",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "namespace": {
19
+ "name": "namespace",
20
+ "type": "text",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "type": {
25
+ "name": "type",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "status": {
31
+ "name": "status",
32
+ "type": "task_state",
33
+ "typeSchema": "task_queue",
34
+ "primaryKey": false,
35
+ "notNull": true
36
+ },
37
+ "idempotency_key": {
38
+ "name": "idempotency_key",
39
+ "type": "text",
40
+ "primaryKey": false,
41
+ "notNull": false
42
+ },
43
+ "trace_id": {
44
+ "name": "trace_id",
45
+ "type": "text",
46
+ "primaryKey": false,
47
+ "notNull": false
48
+ },
49
+ "tags": {
50
+ "name": "tags",
51
+ "type": "text[]",
52
+ "primaryKey": false,
53
+ "notNull": true
54
+ },
55
+ "complete_after_tags": {
56
+ "name": "complete_after_tags",
57
+ "type": "text[]",
58
+ "primaryKey": false,
59
+ "notNull": true
60
+ },
61
+ "schedule_after_tags": {
62
+ "name": "schedule_after_tags",
63
+ "type": "text[]",
64
+ "primaryKey": false,
65
+ "notNull": true
66
+ },
67
+ "fail_fast": {
68
+ "name": "fail_fast",
69
+ "type": "boolean",
70
+ "primaryKey": false,
71
+ "notNull": true
72
+ },
73
+ "dependency_join_mode": {
74
+ "name": "dependency_join_mode",
75
+ "type": "dependency_join_mode",
76
+ "typeSchema": "task_queue",
77
+ "primaryKey": false,
78
+ "notNull": true
79
+ },
80
+ "dependency_trigger_states": {
81
+ "name": "dependency_trigger_states",
82
+ "type": "task_state[]",
83
+ "typeSchema": "task_queue",
84
+ "primaryKey": false,
85
+ "notNull": true
86
+ },
87
+ "priority": {
88
+ "name": "priority",
89
+ "type": "integer",
90
+ "primaryKey": false,
91
+ "notNull": true
92
+ },
93
+ "token": {
94
+ "name": "token",
95
+ "type": "uuid",
96
+ "primaryKey": false,
97
+ "notNull": false
98
+ },
99
+ "creation_timestamp": {
100
+ "name": "creation_timestamp",
101
+ "type": "timestamp with time zone",
102
+ "primaryKey": false,
103
+ "notNull": true
104
+ },
105
+ "priority_age_timestamp": {
106
+ "name": "priority_age_timestamp",
107
+ "type": "timestamp with time zone",
108
+ "primaryKey": false,
109
+ "notNull": true
110
+ },
111
+ "schedule_timestamp": {
112
+ "name": "schedule_timestamp",
113
+ "type": "timestamp with time zone",
114
+ "primaryKey": false,
115
+ "notNull": true
116
+ },
117
+ "start_timestamp": {
118
+ "name": "start_timestamp",
119
+ "type": "timestamp with time zone",
120
+ "primaryKey": false,
121
+ "notNull": false
122
+ },
123
+ "time_to_live": {
124
+ "name": "time_to_live",
125
+ "type": "timestamp with time zone",
126
+ "primaryKey": false,
127
+ "notNull": false
128
+ },
129
+ "visibility_deadline": {
130
+ "name": "visibility_deadline",
131
+ "type": "timestamp with time zone",
132
+ "primaryKey": false,
133
+ "notNull": false
134
+ },
135
+ "complete_timestamp": {
136
+ "name": "complete_timestamp",
137
+ "type": "timestamp with time zone",
138
+ "primaryKey": false,
139
+ "notNull": false
140
+ },
141
+ "tries": {
142
+ "name": "tries",
143
+ "type": "integer",
144
+ "primaryKey": false,
145
+ "notNull": true
146
+ },
147
+ "progress": {
148
+ "name": "progress",
149
+ "type": "double precision",
150
+ "primaryKey": false,
151
+ "notNull": true
152
+ },
153
+ "data": {
154
+ "name": "data",
155
+ "type": "jsonb",
156
+ "primaryKey": false,
157
+ "notNull": false
158
+ },
159
+ "state": {
160
+ "name": "state",
161
+ "type": "jsonb",
162
+ "primaryKey": false,
163
+ "notNull": false
164
+ },
165
+ "result": {
166
+ "name": "result",
167
+ "type": "jsonb",
168
+ "primaryKey": false,
169
+ "notNull": false
170
+ },
171
+ "error": {
172
+ "name": "error",
173
+ "type": "jsonb",
174
+ "primaryKey": false,
175
+ "notNull": false
176
+ },
177
+ "parent_id": {
178
+ "name": "parent_id",
179
+ "type": "uuid",
180
+ "primaryKey": false,
181
+ "notNull": false
182
+ }
183
+ },
184
+ "indexes": {
185
+ "task_parent_id_idx": {
186
+ "name": "task_parent_id_idx",
187
+ "columns": [
188
+ {
189
+ "expression": "parent_id",
190
+ "isExpression": false,
191
+ "asc": true,
192
+ "nulls": "last"
193
+ }
194
+ ],
195
+ "isUnique": false,
196
+ "concurrently": false,
197
+ "method": "btree",
198
+ "with": {}
199
+ },
200
+ "task_status_visibility_deadline_idx": {
201
+ "name": "task_status_visibility_deadline_idx",
202
+ "columns": [
203
+ {
204
+ "expression": "status",
205
+ "isExpression": false,
206
+ "asc": true,
207
+ "nulls": "last"
208
+ },
209
+ {
210
+ "expression": "visibility_deadline",
211
+ "isExpression": false,
212
+ "asc": true,
213
+ "nulls": "last"
214
+ }
215
+ ],
216
+ "isUnique": false,
217
+ "concurrently": false,
218
+ "method": "btree",
219
+ "with": {}
220
+ },
221
+ "task_status_complete_timestamp_idx": {
222
+ "name": "task_status_complete_timestamp_idx",
223
+ "columns": [
224
+ {
225
+ "expression": "status",
226
+ "isExpression": false,
227
+ "asc": true,
228
+ "nulls": "last"
229
+ },
230
+ {
231
+ "expression": "complete_timestamp",
232
+ "isExpression": false,
233
+ "asc": true,
234
+ "nulls": "last"
235
+ }
236
+ ],
237
+ "isUnique": false,
238
+ "concurrently": false,
239
+ "method": "btree",
240
+ "with": {}
241
+ },
242
+ "task_schedule_after_tags_idx": {
243
+ "name": "task_schedule_after_tags_idx",
244
+ "columns": [
245
+ {
246
+ "expression": "schedule_after_tags",
247
+ "isExpression": false,
248
+ "asc": true,
249
+ "nulls": "last"
250
+ }
251
+ ],
252
+ "isUnique": false,
253
+ "concurrently": false,
254
+ "method": "gin",
255
+ "with": {}
256
+ },
257
+ "task_complete_after_tags_idx": {
258
+ "name": "task_complete_after_tags_idx",
259
+ "columns": [
260
+ {
261
+ "expression": "complete_after_tags",
262
+ "isExpression": false,
263
+ "asc": true,
264
+ "nulls": "last"
265
+ }
266
+ ],
267
+ "isUnique": false,
268
+ "concurrently": false,
269
+ "method": "gin",
270
+ "with": {}
271
+ },
272
+ "task_tags_idx": {
273
+ "name": "task_tags_idx",
274
+ "columns": [
275
+ {
276
+ "expression": "tags",
277
+ "isExpression": false,
278
+ "asc": true,
279
+ "nulls": "last"
280
+ }
281
+ ],
282
+ "isUnique": false,
283
+ "concurrently": false,
284
+ "method": "gin",
285
+ "with": {}
286
+ },
287
+ "task_namespace_status_schedule_timestamp_priority_idx": {
288
+ "name": "task_namespace_status_schedule_timestamp_priority_idx",
289
+ "columns": [
290
+ {
291
+ "expression": "namespace",
292
+ "isExpression": false,
293
+ "asc": true,
294
+ "nulls": "last"
295
+ },
296
+ {
297
+ "expression": "status",
298
+ "isExpression": false,
299
+ "asc": true,
300
+ "nulls": "last"
301
+ },
302
+ {
303
+ "expression": "schedule_timestamp",
304
+ "isExpression": false,
305
+ "asc": true,
306
+ "nulls": "last"
307
+ },
308
+ {
309
+ "expression": "priority",
310
+ "isExpression": false,
311
+ "asc": true,
312
+ "nulls": "last"
313
+ }
314
+ ],
315
+ "isUnique": false,
316
+ "concurrently": false,
317
+ "method": "btree",
318
+ "with": {}
319
+ }
320
+ },
321
+ "foreignKeys": {
322
+ "task_parent_id_task_id_fk": {
323
+ "name": "task_parent_id_task_id_fk",
324
+ "tableFrom": "task",
325
+ "tableTo": "task",
326
+ "schemaTo": "task_queue",
327
+ "columnsFrom": [
328
+ "parent_id"
329
+ ],
330
+ "columnsTo": [
331
+ "id"
332
+ ],
333
+ "onDelete": "no action",
334
+ "onUpdate": "no action"
335
+ }
336
+ },
337
+ "compositePrimaryKeys": {},
338
+ "uniqueConstraints": {
339
+ "task_namespace_idempotency_key_unique": {
340
+ "name": "task_namespace_idempotency_key_unique",
341
+ "nullsNotDistinct": false,
342
+ "columns": [
343
+ "namespace",
344
+ "idempotency_key"
345
+ ]
346
+ }
347
+ },
348
+ "policies": {},
349
+ "checkConstraints": {},
350
+ "isRLSEnabled": false
351
+ },
352
+ "task_queue.task_archive": {
353
+ "name": "task_archive",
354
+ "schema": "task_queue",
355
+ "columns": {
356
+ "id": {
357
+ "name": "id",
358
+ "type": "uuid",
359
+ "primaryKey": true,
360
+ "notNull": true,
361
+ "default": "gen_random_uuid()"
362
+ },
363
+ "namespace": {
364
+ "name": "namespace",
365
+ "type": "text",
366
+ "primaryKey": false,
367
+ "notNull": true
368
+ },
369
+ "type": {
370
+ "name": "type",
371
+ "type": "text",
372
+ "primaryKey": false,
373
+ "notNull": true
374
+ },
375
+ "status": {
376
+ "name": "status",
377
+ "type": "task_state",
378
+ "typeSchema": "task_queue",
379
+ "primaryKey": false,
380
+ "notNull": true
381
+ },
382
+ "idempotency_key": {
383
+ "name": "idempotency_key",
384
+ "type": "text",
385
+ "primaryKey": false,
386
+ "notNull": false
387
+ },
388
+ "trace_id": {
389
+ "name": "trace_id",
390
+ "type": "text",
391
+ "primaryKey": false,
392
+ "notNull": false
393
+ },
394
+ "tags": {
395
+ "name": "tags",
396
+ "type": "text[]",
397
+ "primaryKey": false,
398
+ "notNull": true
399
+ },
400
+ "complete_after_tags": {
401
+ "name": "complete_after_tags",
402
+ "type": "text[]",
403
+ "primaryKey": false,
404
+ "notNull": true
405
+ },
406
+ "schedule_after_tags": {
407
+ "name": "schedule_after_tags",
408
+ "type": "text[]",
409
+ "primaryKey": false,
410
+ "notNull": true
411
+ },
412
+ "fail_fast": {
413
+ "name": "fail_fast",
414
+ "type": "boolean",
415
+ "primaryKey": false,
416
+ "notNull": true
417
+ },
418
+ "dependency_join_mode": {
419
+ "name": "dependency_join_mode",
420
+ "type": "dependency_join_mode",
421
+ "typeSchema": "task_queue",
422
+ "primaryKey": false,
423
+ "notNull": true
424
+ },
425
+ "dependency_trigger_states": {
426
+ "name": "dependency_trigger_states",
427
+ "type": "task_state[]",
428
+ "typeSchema": "task_queue",
429
+ "primaryKey": false,
430
+ "notNull": true
431
+ },
432
+ "priority": {
433
+ "name": "priority",
434
+ "type": "integer",
435
+ "primaryKey": false,
436
+ "notNull": true
437
+ },
438
+ "token": {
439
+ "name": "token",
440
+ "type": "uuid",
441
+ "primaryKey": false,
442
+ "notNull": false
443
+ },
444
+ "creation_timestamp": {
445
+ "name": "creation_timestamp",
446
+ "type": "timestamp with time zone",
447
+ "primaryKey": false,
448
+ "notNull": true
449
+ },
450
+ "priority_age_timestamp": {
451
+ "name": "priority_age_timestamp",
452
+ "type": "timestamp with time zone",
453
+ "primaryKey": false,
454
+ "notNull": true
455
+ },
456
+ "schedule_timestamp": {
457
+ "name": "schedule_timestamp",
458
+ "type": "timestamp with time zone",
459
+ "primaryKey": false,
460
+ "notNull": true
461
+ },
462
+ "start_timestamp": {
463
+ "name": "start_timestamp",
464
+ "type": "timestamp with time zone",
465
+ "primaryKey": false,
466
+ "notNull": false
467
+ },
468
+ "time_to_live": {
469
+ "name": "time_to_live",
470
+ "type": "timestamp with time zone",
471
+ "primaryKey": false,
472
+ "notNull": false
473
+ },
474
+ "visibility_deadline": {
475
+ "name": "visibility_deadline",
476
+ "type": "timestamp with time zone",
477
+ "primaryKey": false,
478
+ "notNull": false
479
+ },
480
+ "complete_timestamp": {
481
+ "name": "complete_timestamp",
482
+ "type": "timestamp with time zone",
483
+ "primaryKey": false,
484
+ "notNull": false
485
+ },
486
+ "tries": {
487
+ "name": "tries",
488
+ "type": "integer",
489
+ "primaryKey": false,
490
+ "notNull": true
491
+ },
492
+ "progress": {
493
+ "name": "progress",
494
+ "type": "double precision",
495
+ "primaryKey": false,
496
+ "notNull": true
497
+ },
498
+ "data": {
499
+ "name": "data",
500
+ "type": "jsonb",
501
+ "primaryKey": false,
502
+ "notNull": false
503
+ },
504
+ "state": {
505
+ "name": "state",
506
+ "type": "jsonb",
507
+ "primaryKey": false,
508
+ "notNull": false
509
+ },
510
+ "result": {
511
+ "name": "result",
512
+ "type": "jsonb",
513
+ "primaryKey": false,
514
+ "notNull": false
515
+ },
516
+ "error": {
517
+ "name": "error",
518
+ "type": "jsonb",
519
+ "primaryKey": false,
520
+ "notNull": false
521
+ },
522
+ "parent_id": {
523
+ "name": "parent_id",
524
+ "type": "uuid",
525
+ "primaryKey": false,
526
+ "notNull": false
527
+ }
528
+ },
529
+ "indexes": {
530
+ "task_archive_namespace_complete_timestamp_idx": {
531
+ "name": "task_archive_namespace_complete_timestamp_idx",
532
+ "columns": [
533
+ {
534
+ "expression": "namespace",
535
+ "isExpression": false,
536
+ "asc": true,
537
+ "nulls": "last"
538
+ },
539
+ {
540
+ "expression": "complete_timestamp",
541
+ "isExpression": false,
542
+ "asc": true,
543
+ "nulls": "last"
544
+ }
545
+ ],
546
+ "isUnique": false,
547
+ "concurrently": false,
548
+ "method": "btree",
549
+ "with": {}
550
+ }
551
+ },
552
+ "foreignKeys": {},
553
+ "compositePrimaryKeys": {},
554
+ "uniqueConstraints": {},
555
+ "policies": {},
556
+ "checkConstraints": {},
557
+ "isRLSEnabled": false
558
+ }
559
+ },
560
+ "enums": {
561
+ "task_queue.dependency_join_mode": {
562
+ "name": "dependency_join_mode",
563
+ "schema": "task_queue",
564
+ "values": [
565
+ "and",
566
+ "or"
567
+ ]
568
+ },
569
+ "task_queue.task_state": {
570
+ "name": "task_state",
571
+ "schema": "task_queue",
572
+ "values": [
573
+ "pending",
574
+ "running",
575
+ "completed",
576
+ "cancelled",
577
+ "waiting",
578
+ "dead"
579
+ ]
580
+ }
581
+ },
582
+ "schemas": {},
583
+ "sequences": {},
584
+ "roles": {},
585
+ "policies": {},
586
+ "views": {},
587
+ "_meta": {
588
+ "columns": {},
589
+ "schemas": {},
590
+ "tables": {}
591
+ }
592
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "postgresql",
4
+ "entries": [
5
+ {
6
+ "idx": 0,
7
+ "version": "7",
8
+ "when": 1768609540962,
9
+ "tag": "0000_thin_black_panther",
10
+ "breakpoints": true
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("drizzle-kit").Config;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { relative, resolve } from 'node:path';
2
+ import { defineConfig } from 'drizzle-kit';
3
+ export default defineConfig({
4
+ dialect: 'postgresql',
5
+ out: relative('./', resolve(__dirname, './drizzle/').replace('dist', 'source')),
6
+ schema: resolve(__dirname, './schemas.js'),
7
+ migrations: {
8
+ schema: 'task_queue',
9
+ table: '_migrations',
10
+ },
11
+ });
@@ -0,0 +1,4 @@
1
+ export * from './task.model.js';
2
+ export * from './module.js';
3
+ export * from './task-queue.js';
4
+ export * from './task-queue.provider.js';
@@ -0,0 +1,4 @@
1
+ export * from './task.model.js';
2
+ export * from './module.js';
3
+ export * from './task-queue.js';
4
+ export * from './task-queue.provider.js';
@@ -0,0 +1,12 @@
1
+ import { Injector } from '../../injector/injector.js';
2
+ import { type DatabaseConfig } from '../../orm/server/index.js';
3
+ export declare class PostgresTaskQueueModuleConfig {
4
+ database?: DatabaseConfig;
5
+ }
6
+ /**
7
+ * configure queue module
8
+ */
9
+ export declare function configurePostgresTaskQueue({ injector, ...config }?: PostgresTaskQueueModuleConfig & {
10
+ injector?: Injector;
11
+ }): void;
12
+ export declare function migratePostgresTaskQueueSchema(): Promise<void>;
@@ -0,0 +1,28 @@
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 { TaskQueueProvider } from '../provider.js';
5
+ import { TaskQueue } from '../task-queue.js';
6
+ import { PostgresQueue } from './task-queue.js';
7
+ import { PostgresTaskQueueProvider } from './task-queue.provider.js';
8
+ export class PostgresTaskQueueModuleConfig {
9
+ database;
10
+ }
11
+ /**
12
+ * configure queue module
13
+ */
14
+ export function configurePostgresTaskQueue({ injector, ...config } = {}) {
15
+ const targetInjector = injector ?? Injector;
16
+ targetInjector.register(PostgresTaskQueueModuleConfig, { useValue: config });
17
+ targetInjector.registerSingleton(TaskQueueProvider, { useToken: PostgresTaskQueueProvider });
18
+ targetInjector.registerSingleton(TaskQueue, { useToken: PostgresQueue });
19
+ }
20
+ export async function migratePostgresTaskQueueSchema() {
21
+ const connection = inject(PostgresTaskQueueModuleConfig, undefined, { optional: true })?.database?.connection;
22
+ const database = inject(Database, connection);
23
+ await migrate(database, {
24
+ migrationsSchema: 'task_queue',
25
+ migrationsTable: '_migrations',
26
+ migrationsFolder: import.meta.resolve('./drizzle'),
27
+ });
28
+ }
@@ -0,0 +1,16 @@
1
+ import { PostgresTask, PostgresTaskArchive } from './task.model.js';
2
+ export declare const taskQueueSchema: import("../../orm/server/index.js").DatabaseSchema<"task_queue">;
3
+ export declare const taskState: import("../../orm/enums.js").PgEnumFromEnumeration<{
4
+ readonly Pending: "pending";
5
+ readonly Running: "running";
6
+ readonly Completed: "completed";
7
+ readonly Cancelled: "cancelled";
8
+ readonly Waiting: "waiting";
9
+ readonly Dead: "dead";
10
+ }>;
11
+ export declare const dependencyJoinMode: import("../../orm/enums.js").PgEnumFromEnumeration<{
12
+ readonly And: "and";
13
+ readonly Or: "or";
14
+ }>;
15
+ export declare const task: import("../../orm/server/types.js").PgTableFromType<typeof PostgresTask, "task_queue">;
16
+ export declare const taskArchive: import("../../orm/server/types.js").PgTableFromType<typeof PostgresTaskArchive, "task_queue">;