@qlever-llc/trellis 0.10.17 → 0.19.0-rc.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 (283) hide show
  1. package/esm/auth/mod.d.ts +1 -1
  2. package/esm/auth/mod.d.ts.map +1 -1
  3. package/esm/auth/mod.js +1 -1
  4. package/esm/auth/protocol.d.ts +416 -398
  5. package/esm/auth/protocol.d.ts.map +1 -1
  6. package/esm/auth/protocol.js +35 -33
  7. package/esm/codec.d.ts +1 -0
  8. package/esm/codec.d.ts.map +1 -1
  9. package/esm/codec.js +1 -0
  10. package/esm/contract_support/canonical.d.ts +3 -0
  11. package/esm/contract_support/canonical.d.ts.map +1 -1
  12. package/esm/contract_support/canonical.js +3 -0
  13. package/esm/contract_support/mod.d.ts +28 -4
  14. package/esm/contract_support/mod.d.ts.map +1 -1
  15. package/esm/contract_support/mod.js +85 -4
  16. package/esm/contract_support/protocol.d.ts +92 -7
  17. package/esm/contract_support/protocol.d.ts.map +1 -1
  18. package/esm/contract_support/protocol.js +40 -6
  19. package/esm/errors/index.d.ts +9 -9
  20. package/esm/generated-sdk/auth/api.d.ts +4 -1
  21. package/esm/generated-sdk/auth/api.d.ts.map +1 -1
  22. package/esm/generated-sdk/auth/api.js +6 -1
  23. package/esm/generated-sdk/auth/client.d.ts +47 -32
  24. package/esm/generated-sdk/auth/client.d.ts.map +1 -1
  25. package/esm/generated-sdk/auth/contract.d.ts +1 -1
  26. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  27. package/esm/generated-sdk/auth/contract.js +1570 -1202
  28. package/esm/generated-sdk/auth/schemas.d.ts +1757 -1759
  29. package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
  30. package/esm/generated-sdk/auth/schemas.js +963 -768
  31. package/esm/generated-sdk/auth/types.d.ts +292 -302
  32. package/esm/generated-sdk/auth/types.d.ts.map +1 -1
  33. package/esm/generated-sdk/auth/types.js +1 -1
  34. package/esm/generated-sdk/health/client.d.ts +4 -4
  35. package/esm/generated-sdk/health/client.d.ts.map +1 -1
  36. package/esm/generated-sdk/health/contract.d.ts +1 -1
  37. package/esm/generated-sdk/health/contract.d.ts.map +1 -1
  38. package/esm/generated-sdk/health/contract.js +2 -10
  39. package/esm/generated-sdk/health/schemas.d.ts +1 -14
  40. package/esm/generated-sdk/health/schemas.d.ts.map +1 -1
  41. package/esm/generated-sdk/health/schemas.js +1 -9
  42. package/esm/generated-sdk/health/types.d.ts +3 -5
  43. package/esm/generated-sdk/health/types.d.ts.map +1 -1
  44. package/esm/generated-sdk/health/types.js +1 -2
  45. package/esm/generated-sdk/jobs/api.d.ts +13 -0
  46. package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
  47. package/esm/generated-sdk/jobs/client.d.ts +6 -4
  48. package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
  49. package/esm/generated-sdk/jobs/contract.d.ts +14 -1
  50. package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
  51. package/esm/generated-sdk/jobs/contract.js +268 -1
  52. package/esm/generated-sdk/jobs/owned_api.d.ts +13 -0
  53. package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  54. package/esm/generated-sdk/jobs/owned_api.js +20 -1
  55. package/esm/generated-sdk/jobs/schemas.d.ts +437 -0
  56. package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
  57. package/esm/generated-sdk/jobs/schemas.js +211 -0
  58. package/esm/generated-sdk/jobs/types.d.ts +123 -1
  59. package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
  60. package/esm/generated-sdk/jobs/types.js +1 -1
  61. package/esm/generated-sdk/state/client.d.ts +4 -4
  62. package/esm/generated-sdk/state/client.d.ts.map +1 -1
  63. package/esm/generated-sdk/trellis-core/api.d.ts +4 -1
  64. package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
  65. package/esm/generated-sdk/trellis-core/api.js +6 -1
  66. package/esm/generated-sdk/trellis-core/client.d.ts +28 -3
  67. package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
  68. package/esm/generated-sdk/trellis-core/contract.d.ts +1 -1
  69. package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  70. package/esm/generated-sdk/trellis-core/contract.js +91 -1
  71. package/esm/generated-sdk/trellis-core/schemas.d.ts +113 -0
  72. package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  73. package/esm/generated-sdk/trellis-core/schemas.js +81 -0
  74. package/esm/generated-sdk/trellis-core/types.d.ts +23 -1
  75. package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
  76. package/esm/generated-sdk/trellis-core/types.js +1 -1
  77. package/esm/health.d.ts +1 -1
  78. package/esm/health.d.ts.map +1 -1
  79. package/esm/health.js +1 -1
  80. package/esm/index.d.ts +2 -2
  81. package/esm/index.d.ts.map +1 -1
  82. package/esm/index.js +1 -1
  83. package/esm/jobs.d.ts +69 -3
  84. package/esm/jobs.d.ts.map +1 -1
  85. package/esm/jobs.js +92 -3
  86. package/esm/server/health.d.ts +2 -6
  87. package/esm/server/health.d.ts.map +1 -1
  88. package/esm/server/health_schemas.d.ts +0 -8
  89. package/esm/server/health_schemas.d.ts.map +1 -1
  90. package/esm/server/health_schemas.js +0 -5
  91. package/esm/server/internal_jobs/bindings.d.ts +11 -0
  92. package/esm/server/internal_jobs/bindings.d.ts.map +1 -1
  93. package/esm/server/internal_jobs/job-manager.d.ts +44 -1
  94. package/esm/server/internal_jobs/job-manager.d.ts.map +1 -1
  95. package/esm/server/internal_jobs/job-manager.js +361 -51
  96. package/esm/server/internal_jobs/key-coordinator.d.ts +260 -0
  97. package/esm/server/internal_jobs/key-coordinator.d.ts.map +1 -0
  98. package/esm/server/internal_jobs/key-coordinator.js +580 -0
  99. package/esm/server/internal_jobs/projection.d.ts.map +1 -1
  100. package/esm/server/internal_jobs/projection.js +2 -0
  101. package/esm/server/internal_jobs/runtime-worker.d.ts +5 -1
  102. package/esm/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  103. package/esm/server/internal_jobs/runtime-worker.js +14 -2
  104. package/esm/server/internal_jobs/types.d.ts +5 -5
  105. package/esm/server/internal_jobs/types.d.ts.map +1 -1
  106. package/esm/server/internal_jobs/types.js +6 -0
  107. package/esm/server/service.d.ts +8 -3
  108. package/esm/server/service.d.ts.map +1 -1
  109. package/esm/server/service.js +127 -6
  110. package/esm/service/drizzle.d.ts +27 -0
  111. package/esm/service/drizzle.d.ts.map +1 -0
  112. package/esm/service/drizzle.js +84 -0
  113. package/esm/service/mod.d.ts +1 -1
  114. package/esm/service/mod.d.ts.map +1 -1
  115. package/esm/service/mod.js +1 -1
  116. package/esm/service/outbox_inbox.d.ts.map +1 -1
  117. package/esm/service/outbox_inbox.js +13 -2
  118. package/esm/trellis.d.ts +24 -8
  119. package/esm/trellis.d.ts.map +1 -1
  120. package/esm/trellis.js +44 -22
  121. package/package.json +14 -2
  122. package/script/auth/mod.d.ts +1 -1
  123. package/script/auth/mod.d.ts.map +1 -1
  124. package/script/auth/mod.js +22 -6
  125. package/script/auth/protocol.d.ts +416 -398
  126. package/script/auth/protocol.d.ts.map +1 -1
  127. package/script/auth/protocol.js +40 -37
  128. package/script/codec.d.ts +1 -0
  129. package/script/codec.d.ts.map +1 -1
  130. package/script/codec.js +1 -0
  131. package/script/contract_support/canonical.d.ts +3 -0
  132. package/script/contract_support/canonical.d.ts.map +1 -1
  133. package/script/contract_support/canonical.js +3 -0
  134. package/script/contract_support/mod.d.ts +28 -4
  135. package/script/contract_support/mod.d.ts.map +1 -1
  136. package/script/contract_support/mod.js +90 -4
  137. package/script/contract_support/protocol.d.ts +92 -7
  138. package/script/contract_support/protocol.d.ts.map +1 -1
  139. package/script/contract_support/protocol.js +41 -7
  140. package/script/errors/index.d.ts +9 -9
  141. package/script/generated-sdk/auth/api.d.ts +4 -1
  142. package/script/generated-sdk/auth/api.d.ts.map +1 -1
  143. package/script/generated-sdk/auth/api.js +6 -1
  144. package/script/generated-sdk/auth/client.d.ts +47 -32
  145. package/script/generated-sdk/auth/client.d.ts.map +1 -1
  146. package/script/generated-sdk/auth/contract.d.ts +1 -1
  147. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  148. package/script/generated-sdk/auth/contract.js +1570 -1202
  149. package/script/generated-sdk/auth/schemas.d.ts +1757 -1759
  150. package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
  151. package/script/generated-sdk/auth/schemas.js +963 -768
  152. package/script/generated-sdk/auth/types.d.ts +292 -302
  153. package/script/generated-sdk/auth/types.d.ts.map +1 -1
  154. package/script/generated-sdk/auth/types.js +1 -1
  155. package/script/generated-sdk/health/client.d.ts +4 -4
  156. package/script/generated-sdk/health/client.d.ts.map +1 -1
  157. package/script/generated-sdk/health/contract.d.ts +1 -1
  158. package/script/generated-sdk/health/contract.d.ts.map +1 -1
  159. package/script/generated-sdk/health/contract.js +2 -10
  160. package/script/generated-sdk/health/schemas.d.ts +1 -14
  161. package/script/generated-sdk/health/schemas.d.ts.map +1 -1
  162. package/script/generated-sdk/health/schemas.js +1 -9
  163. package/script/generated-sdk/health/types.d.ts +3 -5
  164. package/script/generated-sdk/health/types.d.ts.map +1 -1
  165. package/script/generated-sdk/health/types.js +1 -2
  166. package/script/generated-sdk/jobs/api.d.ts +13 -0
  167. package/script/generated-sdk/jobs/api.d.ts.map +1 -1
  168. package/script/generated-sdk/jobs/client.d.ts +6 -4
  169. package/script/generated-sdk/jobs/client.d.ts.map +1 -1
  170. package/script/generated-sdk/jobs/contract.d.ts +14 -1
  171. package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
  172. package/script/generated-sdk/jobs/contract.js +268 -1
  173. package/script/generated-sdk/jobs/owned_api.d.ts +13 -0
  174. package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  175. package/script/generated-sdk/jobs/owned_api.js +19 -0
  176. package/script/generated-sdk/jobs/schemas.d.ts +437 -0
  177. package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
  178. package/script/generated-sdk/jobs/schemas.js +212 -1
  179. package/script/generated-sdk/jobs/types.d.ts +123 -1
  180. package/script/generated-sdk/jobs/types.d.ts.map +1 -1
  181. package/script/generated-sdk/jobs/types.js +1 -1
  182. package/script/generated-sdk/state/client.d.ts +4 -4
  183. package/script/generated-sdk/state/client.d.ts.map +1 -1
  184. package/script/generated-sdk/trellis-core/api.d.ts +4 -1
  185. package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
  186. package/script/generated-sdk/trellis-core/api.js +6 -1
  187. package/script/generated-sdk/trellis-core/client.d.ts +28 -3
  188. package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
  189. package/script/generated-sdk/trellis-core/contract.d.ts +1 -1
  190. package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  191. package/script/generated-sdk/trellis-core/contract.js +91 -1
  192. package/script/generated-sdk/trellis-core/schemas.d.ts +113 -0
  193. package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  194. package/script/generated-sdk/trellis-core/schemas.js +81 -0
  195. package/script/generated-sdk/trellis-core/types.d.ts +23 -1
  196. package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
  197. package/script/generated-sdk/trellis-core/types.js +1 -1
  198. package/script/health.d.ts +1 -1
  199. package/script/health.d.ts.map +1 -1
  200. package/script/health.js +1 -2
  201. package/script/index.d.ts +2 -2
  202. package/script/index.d.ts.map +1 -1
  203. package/script/index.js +2 -3
  204. package/script/jobs.d.ts +69 -3
  205. package/script/jobs.d.ts.map +1 -1
  206. package/script/jobs.js +93 -3
  207. package/script/server/health.d.ts +2 -6
  208. package/script/server/health.d.ts.map +1 -1
  209. package/script/server/health_schemas.d.ts +0 -8
  210. package/script/server/health_schemas.d.ts.map +1 -1
  211. package/script/server/health_schemas.js +1 -6
  212. package/script/server/internal_jobs/bindings.d.ts +11 -0
  213. package/script/server/internal_jobs/bindings.d.ts.map +1 -1
  214. package/script/server/internal_jobs/job-manager.d.ts +44 -1
  215. package/script/server/internal_jobs/job-manager.d.ts.map +1 -1
  216. package/script/server/internal_jobs/job-manager.js +361 -51
  217. package/script/server/internal_jobs/key-coordinator.d.ts +260 -0
  218. package/script/server/internal_jobs/key-coordinator.d.ts.map +1 -0
  219. package/script/server/internal_jobs/key-coordinator.js +593 -0
  220. package/script/server/internal_jobs/projection.d.ts.map +1 -1
  221. package/script/server/internal_jobs/projection.js +2 -0
  222. package/script/server/internal_jobs/runtime-worker.d.ts +5 -1
  223. package/script/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  224. package/script/server/internal_jobs/runtime-worker.js +14 -2
  225. package/script/server/internal_jobs/types.d.ts +5 -5
  226. package/script/server/internal_jobs/types.d.ts.map +1 -1
  227. package/script/server/internal_jobs/types.js +6 -0
  228. package/script/server/service.d.ts +8 -3
  229. package/script/server/service.d.ts.map +1 -1
  230. package/script/server/service.js +126 -5
  231. package/script/service/drizzle.d.ts +27 -0
  232. package/script/service/drizzle.d.ts.map +1 -0
  233. package/script/service/drizzle.js +88 -0
  234. package/script/service/mod.d.ts +1 -1
  235. package/script/service/mod.d.ts.map +1 -1
  236. package/script/service/mod.js +1 -2
  237. package/script/service/outbox_inbox.d.ts.map +1 -1
  238. package/script/service/outbox_inbox.js +13 -2
  239. package/script/trellis.d.ts +24 -8
  240. package/script/trellis.d.ts.map +1 -1
  241. package/script/trellis.js +44 -22
  242. package/src/auth/mod.ts +28 -2
  243. package/src/auth/protocol.ts +72 -37
  244. package/src/codec.ts +1 -0
  245. package/src/contract_support/canonical.ts +3 -0
  246. package/src/contract_support/mod.ts +158 -5
  247. package/src/contract_support/protocol.ts +56 -9
  248. package/src/health.ts +0 -1
  249. package/src/index.ts +2 -1
  250. package/src/jobs.ts +138 -1
  251. package/src/sdk/_generated/auth/api.ts +9 -2
  252. package/src/sdk/_generated/auth/client.ts +85 -78
  253. package/src/sdk/_generated/auth/contract.ts +1803 -1435
  254. package/src/sdk/_generated/auth/schemas.ts +1166 -971
  255. package/src/sdk/_generated/auth/types.ts +330 -314
  256. package/src/sdk/_generated/core/api.ts +9 -2
  257. package/src/sdk/_generated/core/client.ts +41 -2
  258. package/src/sdk/_generated/core/contract.ts +91 -1
  259. package/src/sdk/_generated/core/schemas.ts +81 -0
  260. package/src/sdk/_generated/core/types.ts +23 -1
  261. package/src/sdk/_generated/health/client.ts +6 -6
  262. package/src/sdk/_generated/health/contract.ts +2 -10
  263. package/src/sdk/_generated/health/schemas.ts +1 -9
  264. package/src/sdk/_generated/health/types.ts +6 -2
  265. package/src/sdk/_generated/jobs/client.ts +17 -6
  266. package/src/sdk/_generated/jobs/contract.ts +269 -1
  267. package/src/sdk/_generated/jobs/owned_api.ts +21 -0
  268. package/src/sdk/_generated/jobs/schemas.ts +213 -0
  269. package/src/sdk/_generated/jobs/types.ts +116 -1
  270. package/src/sdk/_generated/state/client.ts +6 -6
  271. package/src/server/health.ts +2 -6
  272. package/src/server/health_schemas.ts +0 -6
  273. package/src/server/internal_jobs/bindings.ts +11 -0
  274. package/src/server/internal_jobs/job-manager.ts +436 -16
  275. package/src/server/internal_jobs/key-coordinator.ts +955 -0
  276. package/src/server/internal_jobs/projection.ts +2 -0
  277. package/src/server/internal_jobs/runtime-worker.ts +17 -1
  278. package/src/server/internal_jobs/types.ts +6 -0
  279. package/src/server/service.ts +168 -9
  280. package/src/service/drizzle.ts +125 -0
  281. package/src/service/mod.ts +0 -1
  282. package/src/service/outbox_inbox.ts +16 -6
  283. package/src/trellis.ts +76 -27
@@ -0,0 +1,84 @@
1
+ import "../_dnt.polyfills.js";
2
+ import { sql } from "drizzle-orm";
3
+ /**
4
+ * Adapts a caller-owned Drizzle SQLite database or transaction to Trellis'
5
+ * generic `SqlExecutor` interface.
6
+ */
7
+ export function createDrizzleSqlExecutor(database) {
8
+ return {
9
+ query(statement, params) {
10
+ return database.all(bindDrizzleSqlStatement(statement, params));
11
+ },
12
+ async execute(statement, params) {
13
+ await database.run(bindDrizzleSqlStatement(statement, params));
14
+ },
15
+ };
16
+ }
17
+ /**
18
+ * Converts a Trellis SQL statement with positional placeholders into a Drizzle
19
+ * `SQL` object with parameters bound in order.
20
+ *
21
+ * Supports SQLite-style `?` placeholders and PostgreSQL-style `$1`, `$2`, ...
22
+ * placeholders. A single statement must not mix both styles.
23
+ */
24
+ export function bindDrizzleSqlStatement(statement, params) {
25
+ const matches = [...statement.matchAll(/\?|\$(\d+)/g)];
26
+ const hasQuestionPlaceholders = matches.some((match) => match[0] === "?");
27
+ const hasNumberedPlaceholders = matches.some((match) => match[1] !== undefined);
28
+ if (hasQuestionPlaceholders && hasNumberedPlaceholders) {
29
+ throw new Error("SQL statement cannot mix ? and $n placeholders for Drizzle binding");
30
+ }
31
+ if (hasQuestionPlaceholders) {
32
+ validateQuestionPlaceholders(matches.length, params.length);
33
+ }
34
+ else if (hasNumberedPlaceholders) {
35
+ validateNumberedPlaceholders(matches, params.length);
36
+ }
37
+ else if (params.length !== 0) {
38
+ throw new Error(`SQL statement has no placeholders but received ${params.length} parameters`);
39
+ }
40
+ const chunks = [];
41
+ let cursor = 0;
42
+ let nextQuestionParam = 0;
43
+ for (const match of matches) {
44
+ const matchIndex = match.index;
45
+ chunks.push(sql.raw(statement.slice(cursor, matchIndex)));
46
+ if (match[0] === "?") {
47
+ chunks.push(sql `${params[nextQuestionParam]}`);
48
+ nextQuestionParam += 1;
49
+ }
50
+ else {
51
+ const index = Number(match[1]) - 1;
52
+ chunks.push(sql `${params[index]}`);
53
+ }
54
+ cursor = matchIndex + match[0].length;
55
+ }
56
+ chunks.push(sql.raw(statement.slice(cursor)));
57
+ return sql.join(chunks);
58
+ }
59
+ function validateQuestionPlaceholders(placeholders, paramCount) {
60
+ if (placeholders !== paramCount) {
61
+ throw new Error(`SQL statement expected ${placeholders} parameters for ? placeholders, received ${paramCount}`);
62
+ }
63
+ }
64
+ function validateNumberedPlaceholders(matches, paramCount) {
65
+ const referenced = new Set();
66
+ for (const match of matches) {
67
+ if (match[1] === undefined)
68
+ continue;
69
+ const index = Number(match[1]);
70
+ if (index < 1) {
71
+ throw new Error("PostgreSQL SQL placeholder indexes must start at $1");
72
+ }
73
+ referenced.add(index);
74
+ }
75
+ const maxIndex = Math.max(...referenced);
76
+ if (maxIndex !== paramCount) {
77
+ throw new Error(`SQL statement expected ${maxIndex} parameters for $n placeholders, received ${paramCount}`);
78
+ }
79
+ for (let index = 1; index <= maxIndex; index += 1) {
80
+ if (!referenced.has(index)) {
81
+ throw new Error(`SQL statement is missing PostgreSQL placeholder $${index}`);
82
+ }
83
+ }
84
+ }
@@ -9,7 +9,7 @@
9
9
  import "../_dnt.polyfills.js";
10
10
  export { createHealthHeartbeat, type HealthCheckFn, type HealthCheckResult, type HealthHeartbeat, type HealthResponse, runAllHealthChecks, runAllServiceHealthChecks, runHealthCheck, runServiceHealthCheck, ServiceHealth, type ServiceHealthCheck, type ServiceHealthCheckFn, type ServiceHealthInfo, type ServiceHealthInfoFn, } from "../server/health.js";
11
11
  export { mountStandardHealthRpc } from "../server/health_rpc.js";
12
- export { HealthCheckResultSchema, HealthHeartbeatHeaderSchema, HealthHeartbeatSchema, HealthHeartbeatServiceSchema, HealthInfoSchema, HealthResponseSchema, HealthRpcSchema, } from "../server/health_schemas.js";
12
+ export { HealthCheckResultSchema, HealthHeartbeatSchema, HealthHeartbeatServiceSchema, HealthInfoSchema, HealthResponseSchema, HealthRpcSchema, } from "../server/health_schemas.js";
13
13
  export { type BoundTrellisService, type FeedHandler, type HealthCheckHandler, type HealthInfoHandler, type JobArgs, type JobHandler, type JobQueue, type JobResult, type JobsFacadeOf, type OperationHandler, type OperationRegistration, type RpcHandler, type ServiceContract, type ServiceEventHandler, StoreHandle, type Trellis, TrellisService, type TrellisServiceConnectOpts, type TrellisServiceConnectTelemetryOpts, } from "../server/service.js";
14
14
  export { createPostgresOutboxSchema, createSqliteOutboxSchema, createSqlOutboxAdapter, defaultSqlOutboxTables, dispatchOutbox, type InboxRepository, type KvOutboxRecord, KvOutboxRecordSchema, MemoryInboxRepository, MemoryOutboxRepository, NatsKvInboxRepository, NatsKvOutboxRepository, OutboxDispatcher, type OutboxDispatcherOptions, type OutboxDispatchResult, type OutboxKvEntry, type OutboxKvStore, type OutboxMessage, type OutboxMessageState, outboxMessageToPrepared, type OutboxRepository, type SqlDialect, type SqlExecutor, SqlInboxRepository, type SqlOutboxAdapter, SqlOutboxRepository, type SqlOutboxTables, type SqlRow, } from "./outbox_inbox.js";
15
15
  export { createEventContext, type EventContext, type EventHandler, type GroupedSubscription, isGroupedSubscription, type MultiEventSubscription, type MultiSubscribeOpts, type OrderingGroup, type SingleSubscription, type SubscribeOpts, } from "../server/subscription.js";
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/service/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,WAAW,EACX,KAAK,OAAO,EACZ,cAAc,EACd,KAAK,yBAAyB,EAC9B,KAAK,kCAAkC,GACxC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,MAAM,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/service/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,WAAW,EACX,KAAK,OAAO,EACZ,cAAc,EACd,KAAK,yBAAyB,EAC9B,KAAK,kCAAkC,GACxC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,MAAM,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAC"}
@@ -9,7 +9,7 @@
9
9
  import "../_dnt.polyfills.js";
10
10
  export { createHealthHeartbeat, runAllHealthChecks, runAllServiceHealthChecks, runHealthCheck, runServiceHealthCheck, ServiceHealth, } from "../server/health.js";
11
11
  export { mountStandardHealthRpc } from "../server/health_rpc.js";
12
- export { HealthCheckResultSchema, HealthHeartbeatHeaderSchema, HealthHeartbeatSchema, HealthHeartbeatServiceSchema, HealthInfoSchema, HealthResponseSchema, HealthRpcSchema, } from "../server/health_schemas.js";
12
+ export { HealthCheckResultSchema, HealthHeartbeatSchema, HealthHeartbeatServiceSchema, HealthInfoSchema, HealthResponseSchema, HealthRpcSchema, } from "../server/health_schemas.js";
13
13
  export { StoreHandle, TrellisService, } from "../server/service.js";
14
14
  export { createPostgresOutboxSchema, createSqliteOutboxSchema, createSqlOutboxAdapter, defaultSqlOutboxTables, dispatchOutbox, KvOutboxRecordSchema, MemoryInboxRepository, MemoryOutboxRepository, NatsKvInboxRepository, NatsKvOutboxRepository, OutboxDispatcher, outboxMessageToPrepared, SqlInboxRepository, SqlOutboxRepository, } from "./outbox_inbox.js";
15
15
  export { createEventContext, isGroupedSubscription, } from "../server/subscription.js";
@@ -1 +1 @@
1
- {"version":3,"file":"outbox_inbox.d.ts","sourceRoot":"","sources":["../../src/service/outbox_inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox_inbox.d.ts","sourceRoot":"","sources":["../../src/service/outbox_inbox.ts"],"names":[],"mappings":"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"}
@@ -583,17 +583,28 @@ export async function dispatchOutbox(repository, runtime, options = {}) {
583
583
  }
584
584
  /** Rehydrates a persisted outbox row into a prepared event. */
585
585
  export function outboxMessageToPrepared(message) {
586
+ const payload = JSON.parse(message.payload);
587
+ const header = eventHeaderFromMessage(message.headers);
586
588
  return Object.freeze({
587
589
  event: message.event,
588
590
  subject: message.subject,
589
- payload: Object.freeze(JSON.parse(message.payload)),
591
+ header: Object.freeze(header),
592
+ payload: Object.freeze(payload),
590
593
  encodedPayload: message.payload,
591
594
  headers: Object.freeze({ ...message.headers }),
592
595
  });
593
596
  }
594
597
  function messageId(event) {
595
598
  return event.headers["Nats-Msg-Id"] ?? event.headers["nats-msg-id"] ??
596
- event.payload.header.id;
599
+ event.header.id;
600
+ }
601
+ function eventHeaderFromMessage(headers) {
602
+ const id = headers["Nats-Msg-Id"] ?? headers["nats-msg-id"];
603
+ const time = headers["Trellis-Event-Time"] ?? headers["trellis-event-time"];
604
+ return {
605
+ id: typeof id === "string" ? id : "",
606
+ time: typeof time === "string" ? time : new Date(0).toISOString(),
607
+ };
597
608
  }
598
609
  function rowToOutboxMessage(row) {
599
610
  return {
package/esm/trellis.d.ts CHANGED
@@ -120,18 +120,30 @@ type MethodDeclaredErrorOf<TA extends AnyTrellisAPI, M extends keyof TA["rpc"] &
120
120
  } ? DeclaredBuiltinErrorOf<TErrors> | DeclaredRuntimeErrorOf<TRuntimeErrors> : never;
121
121
  type RequestErrorOf<TA extends AnyTrellisAPI, M extends MethodsOf<TA>> = MethodDeclaredErrorOf<TA, M> | RemoteError | TransportError | ValidationError | UnexpectedError;
122
122
  type HandlerErrorOf<TA extends AnyTrellisAPI, M extends MethodsOf<TA>> = MethodDeclaredErrorOf<TA, M> | TrellisErrorInstance;
123
- type EventOf<TA extends AnyTrellisAPI, E extends EventsOf<TA>> = TA["events"][E] extends EventDesc<infer TEvent> ? InferSchemaType<TEvent> : never;
124
- type EventPayloadOf<TA extends AnyTrellisAPI, E extends EventsOf<TA>> = Omit<EventOf<TA, E>, "header">;
123
+ type EventMessageOf<TA extends AnyTrellisAPI, E extends EventsOf<TA>> = TA["events"][E] extends EventDesc<infer TEvent> ? InferSchemaType<TEvent> : never;
124
+ type EventOf<TA extends AnyTrellisAPI, E extends EventsOf<TA>> = EventMessageOf<TA, E>;
125
+ type EventPayloadOf<TA extends AnyTrellisAPI, E extends EventsOf<TA>> = EventOf<TA, E> & Record<string, unknown>;
126
+ /** Runtime metadata assigned to every Trellis event message. */
127
+ export type TrellisEventHeader = Readonly<{
128
+ /** Stable event id used for event identity and JetStream de-duplication. */
129
+ id: string;
130
+ /** Event creation time in ISO-8601 format. */
131
+ time: string;
132
+ }>;
133
+ /** Event body plus Trellis runtime event metadata. */
134
+ export type TrellisEventMessage<TBody extends Record<string, unknown> = Record<string, unknown>> = Readonly<{
135
+ /** User-authored contract event body. */
136
+ body: Readonly<TBody>;
137
+ /** Runtime metadata assigned by Trellis. */
138
+ header: TrellisEventHeader;
139
+ }>;
125
140
  /** A fully encoded event whose subject, payload, and headers are stable. */
126
141
  export type PreparedTrellisEvent<TPayload extends Record<string, unknown> = Record<string, unknown>> = Readonly<{
127
142
  event: string;
128
143
  subject: string;
129
- payload: Readonly<TPayload & {
130
- header: {
131
- id: string;
132
- time: string;
133
- };
134
- }>;
144
+ /** Runtime event metadata assigned when the event was prepared. */
145
+ header: TrellisEventHeader;
146
+ payload: Readonly<TPayload>;
135
147
  encodedPayload: string;
136
148
  headers: Readonly<Record<string, string>>;
137
149
  }>;
@@ -557,6 +569,8 @@ export type HandlerTrellis<TA extends AnyTrellisAPI, TRequests = RpcRequestShape
557
569
  publish(event: string, data: Record<string, unknown>): AsyncResult<void, ValidationError | UnexpectedError>;
558
570
  prepare(event: string, data: Record<string, unknown>): Result<PreparedTrellisEvent, ValidationError | UnexpectedError>;
559
571
  publishPrepared(event: PreparedTrellisEvent): AsyncResult<void, UnexpectedError>;
572
+ /** Stops durable event listener loops owned by this handler runtime. */
573
+ stopEventListeners(): void;
560
574
  };
561
575
  export type HandlerKvFacade<TKv extends ContractKvMetadata> = {
562
576
  [K in keyof TKv]: TKv[K]["required"] extends false ? TypedKV<TKv[K]["schema"]> | undefined : TypedKV<TKv[K]["schema"]>;
@@ -693,6 +707,8 @@ export declare class Trellis<TA extends AnyTrellisAPI = TrellisAPI, TMode extend
693
707
  publish(event: string, data: Record<string, unknown>): AsyncResult<void, ValidationError | UnexpectedError>;
694
708
  listenEvent<E extends EventsOf<TA>>(event: E, subjectData: Record<string, unknown>, fn: EventCallback<EventOf<TA, E>>, opts?: EventOpts): AsyncResult<void, ValidationError | UnexpectedError>;
695
709
  wait(): AsyncResult<void, BaseError>;
710
+ /** Stops durable event listener loops without closing the underlying transport. */
711
+ stopEventListeners(): void;
696
712
  template(subject: string, data: unknown, allowWildcards?: boolean): Result<string, ValidationError>;
697
713
  protected requestAuthValidate(input: AuthRequestsValidateInput): AsyncResult<AuthRequestsValidateResponse, AuthError | RemoteError | TransportError | ValidationError | UnexpectedError>;
698
714
  }
@@ -1 +1 @@
1
- {"version":3,"file":"trellis.d.ts","sourceRoot":"","sources":["../src/trellis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trellis.d.ts","sourceRoot":"","sources":["../src/trellis.ts"],"names":[],"mappings":"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"}
package/esm/trellis.js CHANGED
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _Trellis_instances, _Trellis_log, _Trellis_tasks, _Trellis_hasExplicitApi, _Trellis_noResponderMaxRetries, _Trellis_noResponderRetryMs, _Trellis_onSessionNotFound, _Trellis_operationStore, _Trellis_eventConsumers, _Trellis_durableEventLoops, _Trellis_createStateFacade, _Trellis_createRpcFacade, _Trellis_createRpcHandleFacade, _Trellis_createEventFacade, _Trellis_createEventPublishFacade, _Trellis_createFeedFacade, _Trellis_createHandlerTrellis, _Trellis_createOperationFacade, _Trellis_unknownApiError, _Trellis_requestBuiltRpcUnknown, _Trellis_requestBuiltRpc, _Trellis_handleBrowserAuthRequired, _Trellis_authenticateFeedRequest, _Trellis_subscribeFeed, _Trellis_handleFeed, _Trellis_processFeedMessage, _Trellis_handleRPC, _Trellis_processRPCMessage, _Trellis_respondWithPayload, _Trellis_respondWithError, _Trellis_startEphemeralEvent, _Trellis_invokeEventHandler, _Trellis_resolveEventConsumerGroup, _Trellis_registerDurableEventHandler, _Trellis_startDurableEventConsumer, _Trellis_durableEventConsumerGroupReady, _Trellis_runDurableEventConsumer, _Trellis_handleDurableEvent, _Trellis_handleDurableEventConsumer, _Trellis_parseEventMessage, _Trellis_escapeSubjectToken, _Trellis_currentIat, _Trellis_createProof, _Trellis_requestMessageWithRetry, _Trellis_requestJson, _Trellis_watchJson;
12
+ var _Trellis_instances, _Trellis_log, _Trellis_tasks, _Trellis_hasExplicitApi, _Trellis_noResponderMaxRetries, _Trellis_noResponderRetryMs, _Trellis_onSessionNotFound, _Trellis_operationStore, _Trellis_eventConsumers, _Trellis_durableEventLoops, _Trellis_durableEventListenersStopped, _Trellis_createStateFacade, _Trellis_createRpcFacade, _Trellis_createRpcHandleFacade, _Trellis_createEventFacade, _Trellis_createEventPublishFacade, _Trellis_createFeedFacade, _Trellis_createHandlerTrellis, _Trellis_createOperationFacade, _Trellis_unknownApiError, _Trellis_requestBuiltRpcUnknown, _Trellis_requestBuiltRpc, _Trellis_handleBrowserAuthRequired, _Trellis_authenticateFeedRequest, _Trellis_subscribeFeed, _Trellis_handleFeed, _Trellis_processFeedMessage, _Trellis_handleRPC, _Trellis_processRPCMessage, _Trellis_respondWithPayload, _Trellis_respondWithError, _Trellis_startEphemeralEvent, _Trellis_invokeEventHandler, _Trellis_resolveEventConsumerGroup, _Trellis_registerDurableEventHandler, _Trellis_startDurableEventConsumer, _Trellis_durableEventConsumerGroupReady, _Trellis_runDurableEventConsumer, _Trellis_handleDurableEvent, _Trellis_handleDurableEventConsumer, _Trellis_parseEventMessage, _Trellis_escapeSubjectToken, _Trellis_currentIat, _Trellis_createProof, _Trellis_requestMessageWithRetry, _Trellis_requestJson, _Trellis_watchJson;
13
13
  import { jetstream, jetstreamManager, } from "@nats-io/jetstream";
14
14
  import { createInbox, headers as natsHeaders, } from "@nats-io/nats-core";
15
15
  import { CONTRACT_JOBS_METADATA, CONTRACT_KV_METADATA, CONTRACT_STATE_METADATA, } from "./contract_support/mod.js";
@@ -306,25 +306,28 @@ export function isTerminalRuntimeOperationSnapshot(value) {
306
306
  value.state === "cancelled");
307
307
  }
308
308
  function createEventListenerContext(args) {
309
- const header = typeof args.payload === "object" && args.payload !== null
310
- ? Reflect.get(args.payload, "header")
311
- : undefined;
312
- const id = typeof header === "object" && header !== null
313
- ? Reflect.get(header, "id")
314
- : undefined;
315
- const time = typeof header === "object" && header !== null
316
- ? Reflect.get(header, "time")
317
- : undefined;
309
+ const messageId = readMessageHeader(args.message, "Nats-Msg-Id");
310
+ const messageTime = readMessageHeader(args.message, "Trellis-Event-Time");
318
311
  const sequence = Reflect.get(args.message, "seq");
319
312
  return {
320
- id: typeof id === "string" ? id : "",
321
- time: new Date(typeof time === "string" ? time : 0),
313
+ id: messageId ?? "",
314
+ time: new Date(messageTime ?? 0),
322
315
  subject: args.subject,
323
316
  mode: args.mode,
324
317
  ...(args.group ? { group: args.group } : {}),
325
318
  ...(typeof sequence === "number" ? { sequence } : {}),
326
319
  };
327
320
  }
321
+ function readMessageHeader(message, key) {
322
+ const headers = Reflect.get(message, "headers");
323
+ if (typeof headers !== "object" || headers === null)
324
+ return undefined;
325
+ const get = Reflect.get(headers, "get");
326
+ if (typeof get !== "function")
327
+ return undefined;
328
+ const value = get.call(headers, key);
329
+ return typeof value === "string" ? value : undefined;
330
+ }
328
331
  function eventConsumerGroupEvents(group) {
329
332
  const events = new Set();
330
333
  for (const groupEvents of Object.values(group.uses ?? {})) {
@@ -806,6 +809,7 @@ export class Trellis {
806
809
  _Trellis_operationStore.set(this, void 0);
807
810
  _Trellis_eventConsumers.set(this, void 0);
808
811
  _Trellis_durableEventLoops.set(this, new Map());
812
+ _Trellis_durableEventListenersStopped.set(this, false);
809
813
  const api = opts?.api;
810
814
  this.name = name;
811
815
  this.nats = nats;
@@ -972,10 +976,7 @@ export class Trellis {
972
976
  id: ulid(),
973
977
  time: new Date().toISOString(),
974
978
  };
975
- const payload = Object.freeze({
976
- ...data,
977
- header: Object.freeze(header),
978
- });
979
+ const payload = Object.freeze({ ...data });
979
980
  const msg = encodeSchema(ctx.event, payload).take();
980
981
  if (isErr(msg)) {
981
982
  logger.error({ err: msg.error }, "Failed to encode event.");
@@ -990,6 +991,7 @@ export class Trellis {
990
991
  }
991
992
  const headers = natsHeaders();
992
993
  headers.set("Nats-Msg-Id", header.id);
994
+ headers.set("Trellis-Event-Time", header.time);
993
995
  injectTraceContext(createNatsHeaderCarrier(headers));
994
996
  const headerRecord = {};
995
997
  for (const [key, value] of headers) {
@@ -998,6 +1000,7 @@ export class Trellis {
998
1000
  return ok(Object.freeze({
999
1001
  event: event.toString(),
1000
1002
  subject,
1003
+ header: Object.freeze(header),
1001
1004
  payload,
1002
1005
  encodedPayload: msg,
1003
1006
  headers: Object.freeze(headerRecord),
@@ -1103,6 +1106,14 @@ export class Trellis {
1103
1106
  wait() {
1104
1107
  return __classPrivateFieldGet(this, _Trellis_tasks, "f").wait();
1105
1108
  }
1109
+ /** Stops durable event listener loops without closing the underlying transport. */
1110
+ stopEventListeners() {
1111
+ __classPrivateFieldSet(this, _Trellis_durableEventListenersStopped, true, "f");
1112
+ for (const loop of __classPrivateFieldGet(this, _Trellis_durableEventLoops, "f").values()) {
1113
+ loop.registrations.splice(0, loop.registrations.length);
1114
+ loop.messages?.stop();
1115
+ }
1116
+ }
1106
1117
  // FIXME: If are validating things twice in most cases...
1107
1118
  template(subject, data, allowWildcards = false) {
1108
1119
  // Find all template placeholders and check if values exist
@@ -1139,7 +1150,7 @@ export class Trellis {
1139
1150
  return request("Auth.Requests.Validate", input);
1140
1151
  }
1141
1152
  }
1142
- _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplicitApi = new WeakMap(), _Trellis_noResponderMaxRetries = new WeakMap(), _Trellis_noResponderRetryMs = new WeakMap(), _Trellis_onSessionNotFound = new WeakMap(), _Trellis_operationStore = new WeakMap(), _Trellis_eventConsumers = new WeakMap(), _Trellis_durableEventLoops = new WeakMap(), _Trellis_instances = new WeakSet(), _Trellis_createStateFacade = function _Trellis_createStateFacade(state) {
1153
+ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplicitApi = new WeakMap(), _Trellis_noResponderMaxRetries = new WeakMap(), _Trellis_noResponderRetryMs = new WeakMap(), _Trellis_onSessionNotFound = new WeakMap(), _Trellis_operationStore = new WeakMap(), _Trellis_eventConsumers = new WeakMap(), _Trellis_durableEventLoops = new WeakMap(), _Trellis_durableEventListenersStopped = new WeakMap(), _Trellis_instances = new WeakSet(), _Trellis_createStateFacade = function _Trellis_createStateFacade(state) {
1143
1154
  const stores = (state ?? {});
1144
1155
  const facade = Object.fromEntries(Object.entries(stores).map(([store, descriptor]) => {
1145
1156
  if (descriptor.kind === "value") {
@@ -1259,6 +1270,7 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
1259
1270
  prepare: (event, data) => this.prepare(event, data),
1260
1271
  publish: (event, data) => this.publish(event, data),
1261
1272
  publishPrepared: (event) => this.publishPrepared(event),
1273
+ stopEventListeners: () => this.stopEventListeners(),
1262
1274
  };
1263
1275
  }, _Trellis_createOperationFacade = function _Trellis_createOperationFacade() {
1264
1276
  const surface = {};
@@ -2382,7 +2394,6 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
2382
2394
  };
2383
2395
  try {
2384
2396
  const result = await Promise.resolve(args.fn(args.payload, createEventListenerContext({
2385
- payload: args.payload,
2386
2397
  subject: args.message.subject,
2387
2398
  mode: args.mode,
2388
2399
  ...(args.group ? { group: args.group } : {}),
@@ -2439,7 +2450,7 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
2439
2450
  }
2440
2451
  return ok(group);
2441
2452
  }, _Trellis_registerDurableEventHandler = function _Trellis_registerDurableEventHandler(args) {
2442
- if (args.signal?.aborted)
2453
+ if (args.signal?.aborted || __classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f"))
2443
2454
  return;
2444
2455
  const loop = __classPrivateFieldGet(this, _Trellis_durableEventLoops, "f").get(args.group) ?? {
2445
2456
  registrations: [],
@@ -2463,7 +2474,8 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
2463
2474
  }, { once: true });
2464
2475
  __classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_startDurableEventConsumer).call(this, args.group, loop);
2465
2476
  }, _Trellis_startDurableEventConsumer = function _Trellis_startDurableEventConsumer(group, loop) {
2466
- if (loop.started || !__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
2477
+ if (__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f") || loop.started ||
2478
+ !__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
2467
2479
  return;
2468
2480
  }
2469
2481
  loop.started = true;
@@ -2491,7 +2503,8 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
2491
2503
  if (isErr(info))
2492
2504
  return info;
2493
2505
  const consumer = this.js.consumers.getConsumerFromInfo(info);
2494
- while (__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
2506
+ while (!__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f") &&
2507
+ __classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
2495
2508
  const messages = await consumer.fetch({
2496
2509
  max_messages: 1,
2497
2510
  expires: 30_000,
@@ -2505,10 +2518,19 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
2505
2518
  .orThrow();
2506
2519
  }
2507
2520
  }
2521
+ catch (cause) {
2522
+ if (__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f") ||
2523
+ !__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
2524
+ return ok(undefined);
2525
+ }
2526
+ return err(new UnexpectedError({ cause, context: { group } }));
2527
+ }
2508
2528
  finally {
2509
2529
  loop.started = false;
2510
2530
  loop.messages = undefined;
2511
- __classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_startDurableEventConsumer).call(this, group, loop);
2531
+ if (!__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f")) {
2532
+ __classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_startDurableEventConsumer).call(this, group, loop);
2533
+ }
2512
2534
  }
2513
2535
  return ok(undefined);
2514
2536
  })());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qlever-llc/trellis",
3
- "version": "0.10.17",
3
+ "version": "0.19.0-rc.1",
4
4
  "description": "Client-side Trellis runtime, models, and contract helpers for TypeScript applications.",
5
5
  "homepage": "https://github.com/Qlever-LLC/trellis#readme",
6
6
  "repository": {
@@ -87,6 +87,10 @@
87
87
  "import": "./esm/service/mod.js",
88
88
  "require": "./script/service/mod.js"
89
89
  },
90
+ "./service/drizzle": {
91
+ "import": "./esm/service/drizzle.js",
92
+ "require": "./script/service/drizzle.js"
93
+ },
90
94
  "./service/deno": {
91
95
  "import": "./esm/service/deno.js",
92
96
  "require": "./script/service/deno.js"
@@ -125,7 +129,10 @@
125
129
  "ts-deepmerge": "^7.0.3",
126
130
  "typebox": "^1.0.15",
127
131
  "ulid": "^3.0.1",
128
- "@qlever-llc/result": "^0.10.17"
132
+ "@qlever-llc/result": "0.19.0-rc.1"
133
+ },
134
+ "peerDependencies": {
135
+ "drizzle-orm": "^0.44.7"
129
136
  },
130
137
  "devDependencies": {
131
138
  "@types/node": "^20.9.0"
@@ -133,5 +140,10 @@
133
140
  "_generatedBy": "dnt@dev",
134
141
  "bin": {
135
142
  "trellis-generate": "./bin/trellis-generate.js"
143
+ },
144
+ "peerDependenciesMeta": {
145
+ "drizzle-orm": {
146
+ "optional": true
147
+ }
136
148
  }
137
149
  }