@qlever-llc/trellis 0.10.22 → 0.11.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 (406) 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 +55 -0
  5. package/esm/auth/protocol.d.ts.map +1 -1
  6. package/esm/browser.d.ts +3 -3
  7. package/esm/browser.d.ts.map +1 -1
  8. package/esm/browser.js +1 -1
  9. package/esm/client_connect.d.ts +12 -3
  10. package/esm/client_connect.d.ts.map +1 -1
  11. package/esm/client_connect.js +112 -7
  12. package/esm/codec.d.ts +7 -6
  13. package/esm/codec.d.ts.map +1 -1
  14. package/esm/codec.js +125 -6
  15. package/esm/contract_support/canonical.d.ts +3 -0
  16. package/esm/contract_support/canonical.d.ts.map +1 -1
  17. package/esm/contract_support/canonical.js +3 -0
  18. package/esm/contract_support/mod.d.ts +125 -10
  19. package/esm/contract_support/mod.d.ts.map +1 -1
  20. package/esm/contract_support/mod.js +159 -5
  21. package/esm/contract_support/protocol.d.ts +92 -7
  22. package/esm/contract_support/protocol.d.ts.map +1 -1
  23. package/esm/contract_support/protocol.js +41 -7
  24. package/esm/contract_support/runtime.d.ts +4 -1
  25. package/esm/contract_support/runtime.d.ts.map +1 -1
  26. package/esm/errors/SchemaValidationError.d.ts +49 -0
  27. package/esm/errors/SchemaValidationError.d.ts.map +1 -0
  28. package/esm/errors/SchemaValidationError.js +67 -0
  29. package/esm/errors/index.d.ts +38 -9
  30. package/esm/errors/index.d.ts.map +1 -1
  31. package/esm/errors/index.js +16 -0
  32. package/esm/generated-sdk/auth/api.d.ts +33 -605
  33. package/esm/generated-sdk/auth/api.d.ts.map +1 -1
  34. package/esm/generated-sdk/auth/api.js +6 -1
  35. package/esm/generated-sdk/auth/client.d.ts +129 -134
  36. package/esm/generated-sdk/auth/client.d.ts.map +1 -1
  37. package/esm/generated-sdk/auth/contract.d.ts +2 -601
  38. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  39. package/esm/generated-sdk/auth/contract.js +310 -93
  40. package/esm/generated-sdk/auth/mod.d.ts +1 -1
  41. package/esm/generated-sdk/auth/mod.d.ts.map +1 -1
  42. package/esm/generated-sdk/auth/owned_api.d.ts +88 -86
  43. package/esm/generated-sdk/auth/owned_api.d.ts.map +1 -1
  44. package/esm/generated-sdk/auth/owned_api.js +6 -0
  45. package/esm/generated-sdk/auth/schemas.d.ts +284 -136
  46. package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
  47. package/esm/generated-sdk/auth/schemas.js +231 -92
  48. package/esm/generated-sdk/auth/types.d.ts +565 -89
  49. package/esm/generated-sdk/auth/types.d.ts.map +1 -1
  50. package/esm/generated-sdk/auth/types.js +1 -1
  51. package/esm/generated-sdk/health/api.d.ts +29 -18
  52. package/esm/generated-sdk/health/api.d.ts.map +1 -1
  53. package/esm/generated-sdk/health/client.d.ts +7 -21
  54. package/esm/generated-sdk/health/client.d.ts.map +1 -1
  55. package/esm/generated-sdk/health/contract.d.ts +2 -15
  56. package/esm/generated-sdk/health/contract.d.ts.map +1 -1
  57. package/esm/generated-sdk/health/contract.js +2 -10
  58. package/esm/generated-sdk/health/mod.d.ts +1 -1
  59. package/esm/generated-sdk/health/mod.d.ts.map +1 -1
  60. package/esm/generated-sdk/health/owned_api.d.ts +2 -2
  61. package/esm/generated-sdk/health/schemas.d.ts +1 -14
  62. package/esm/generated-sdk/health/schemas.d.ts.map +1 -1
  63. package/esm/generated-sdk/health/schemas.js +1 -9
  64. package/esm/generated-sdk/health/types.d.ts +10 -5
  65. package/esm/generated-sdk/health/types.d.ts.map +1 -1
  66. package/esm/generated-sdk/health/types.js +1 -2
  67. package/esm/generated-sdk/jobs/api.d.ts +29 -109
  68. package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
  69. package/esm/generated-sdk/jobs/client.d.ts +21 -33
  70. package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
  71. package/esm/generated-sdk/jobs/contract.d.ts +2 -106
  72. package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
  73. package/esm/generated-sdk/jobs/contract.js +268 -1
  74. package/esm/generated-sdk/jobs/mod.d.ts +1 -1
  75. package/esm/generated-sdk/jobs/mod.d.ts.map +1 -1
  76. package/esm/generated-sdk/jobs/owned_api.d.ts +22 -9
  77. package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  78. package/esm/generated-sdk/jobs/owned_api.js +20 -1
  79. package/esm/generated-sdk/jobs/schemas.d.ts +437 -0
  80. package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
  81. package/esm/generated-sdk/jobs/schemas.js +211 -0
  82. package/esm/generated-sdk/jobs/types.d.ts +195 -12
  83. package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
  84. package/esm/generated-sdk/jobs/types.js +1 -1
  85. package/esm/generated-sdk/state/api.d.ts +29 -68
  86. package/esm/generated-sdk/state/api.d.ts.map +1 -1
  87. package/esm/generated-sdk/state/client.d.ts +17 -31
  88. package/esm/generated-sdk/state/client.d.ts.map +1 -1
  89. package/esm/generated-sdk/state/contract.d.ts +1 -64
  90. package/esm/generated-sdk/state/contract.d.ts.map +1 -1
  91. package/esm/generated-sdk/state/mod.d.ts +1 -1
  92. package/esm/generated-sdk/state/mod.d.ts.map +1 -1
  93. package/esm/generated-sdk/state/owned_api.d.ts +7 -7
  94. package/esm/generated-sdk/state/types.d.ts +52 -9
  95. package/esm/generated-sdk/state/types.d.ts.map +1 -1
  96. package/esm/generated-sdk/trellis-core/api.d.ts +33 -45
  97. package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
  98. package/esm/generated-sdk/trellis-core/api.js +6 -1
  99. package/esm/generated-sdk/trellis-core/client.d.ts +31 -20
  100. package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
  101. package/esm/generated-sdk/trellis-core/contract.d.ts +2 -41
  102. package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  103. package/esm/generated-sdk/trellis-core/contract.js +91 -1
  104. package/esm/generated-sdk/trellis-core/mod.d.ts +1 -1
  105. package/esm/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  106. package/esm/generated-sdk/trellis-core/owned_api.d.ts +4 -4
  107. package/esm/generated-sdk/trellis-core/schemas.d.ts +113 -0
  108. package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  109. package/esm/generated-sdk/trellis-core/schemas.js +81 -0
  110. package/esm/generated-sdk/trellis-core/types.d.ts +54 -7
  111. package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
  112. package/esm/generated-sdk/trellis-core/types.js +1 -1
  113. package/esm/health.d.ts +1 -1
  114. package/esm/health.d.ts.map +1 -1
  115. package/esm/health.js +1 -1
  116. package/esm/index.d.ts +4 -4
  117. package/esm/index.d.ts.map +1 -1
  118. package/esm/index.js +2 -2
  119. package/esm/jobs.d.ts +69 -3
  120. package/esm/jobs.d.ts.map +1 -1
  121. package/esm/jobs.js +92 -3
  122. package/esm/server/health.d.ts +2 -6
  123. package/esm/server/health.d.ts.map +1 -1
  124. package/esm/server/health_schemas.d.ts +0 -8
  125. package/esm/server/health_schemas.d.ts.map +1 -1
  126. package/esm/server/health_schemas.js +0 -5
  127. package/esm/server/internal_jobs/bindings.d.ts +11 -0
  128. package/esm/server/internal_jobs/bindings.d.ts.map +1 -1
  129. package/esm/server/internal_jobs/job-manager.d.ts +58 -2
  130. package/esm/server/internal_jobs/job-manager.d.ts.map +1 -1
  131. package/esm/server/internal_jobs/job-manager.js +429 -55
  132. package/esm/server/internal_jobs/key-coordinator.d.ts +269 -0
  133. package/esm/server/internal_jobs/key-coordinator.d.ts.map +1 -0
  134. package/esm/server/internal_jobs/key-coordinator.js +677 -0
  135. package/esm/server/internal_jobs/projection.d.ts.map +1 -1
  136. package/esm/server/internal_jobs/projection.js +2 -0
  137. package/esm/server/internal_jobs/runtime-worker.d.ts +5 -1
  138. package/esm/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  139. package/esm/server/internal_jobs/runtime-worker.js +14 -2
  140. package/esm/server/internal_jobs/types.d.ts +5 -5
  141. package/esm/server/internal_jobs/types.d.ts.map +1 -1
  142. package/esm/server/internal_jobs/types.js +6 -0
  143. package/esm/server/runtime.d.ts.map +1 -1
  144. package/esm/server/service.d.ts +81 -112
  145. package/esm/server/service.d.ts.map +1 -1
  146. package/esm/server/service.js +372 -130
  147. package/esm/server.d.ts +3 -3
  148. package/esm/server.d.ts.map +1 -1
  149. package/esm/service/deno.d.ts +1 -1
  150. package/esm/service/deno.d.ts.map +1 -1
  151. package/esm/service/drizzle.d.ts +52 -0
  152. package/esm/service/drizzle.d.ts.map +1 -0
  153. package/esm/service/drizzle.js +108 -0
  154. package/esm/service/mod.d.ts +3 -3
  155. package/esm/service/mod.d.ts.map +1 -1
  156. package/esm/service/mod.js +2 -2
  157. package/esm/service/node.d.ts +1 -1
  158. package/esm/service/node.d.ts.map +1 -1
  159. package/esm/service/outbox_inbox.d.ts +76 -22
  160. package/esm/service/outbox_inbox.d.ts.map +1 -1
  161. package/esm/service/outbox_inbox.js +231 -70
  162. package/esm/telemetry/metrics.d.ts +55 -0
  163. package/esm/telemetry/metrics.d.ts.map +1 -1
  164. package/esm/telemetry/metrics.js +86 -0
  165. package/esm/telemetry/mod.d.ts +2 -1
  166. package/esm/telemetry/mod.d.ts.map +1 -1
  167. package/esm/telemetry/mod.js +1 -1
  168. package/esm/trellis.d.ts +62 -30
  169. package/esm/trellis.d.ts.map +1 -1
  170. package/esm/trellis.js +125 -42
  171. package/package.json +14 -2
  172. package/script/auth/mod.d.ts +1 -1
  173. package/script/auth/mod.d.ts.map +1 -1
  174. package/script/auth/mod.js +11 -4
  175. package/script/auth/protocol.d.ts +55 -0
  176. package/script/auth/protocol.d.ts.map +1 -1
  177. package/script/browser.d.ts +3 -3
  178. package/script/browser.d.ts.map +1 -1
  179. package/script/browser.js +3 -2
  180. package/script/client_connect.d.ts +12 -3
  181. package/script/client_connect.d.ts.map +1 -1
  182. package/script/client_connect.js +111 -6
  183. package/script/codec.d.ts +7 -6
  184. package/script/codec.d.ts.map +1 -1
  185. package/script/codec.js +124 -5
  186. package/script/contract_support/canonical.d.ts +3 -0
  187. package/script/contract_support/canonical.d.ts.map +1 -1
  188. package/script/contract_support/canonical.js +3 -0
  189. package/script/contract_support/mod.d.ts +125 -10
  190. package/script/contract_support/mod.d.ts.map +1 -1
  191. package/script/contract_support/mod.js +165 -5
  192. package/script/contract_support/protocol.d.ts +92 -7
  193. package/script/contract_support/protocol.d.ts.map +1 -1
  194. package/script/contract_support/protocol.js +42 -8
  195. package/script/contract_support/runtime.d.ts +4 -1
  196. package/script/contract_support/runtime.d.ts.map +1 -1
  197. package/script/errors/SchemaValidationError.d.ts +49 -0
  198. package/script/errors/SchemaValidationError.d.ts.map +1 -0
  199. package/script/errors/SchemaValidationError.js +74 -0
  200. package/script/errors/index.d.ts +38 -9
  201. package/script/errors/index.d.ts.map +1 -1
  202. package/script/errors/index.js +20 -1
  203. package/script/generated-sdk/auth/api.d.ts +33 -605
  204. package/script/generated-sdk/auth/api.d.ts.map +1 -1
  205. package/script/generated-sdk/auth/api.js +6 -1
  206. package/script/generated-sdk/auth/client.d.ts +129 -134
  207. package/script/generated-sdk/auth/client.d.ts.map +1 -1
  208. package/script/generated-sdk/auth/contract.d.ts +2 -601
  209. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  210. package/script/generated-sdk/auth/contract.js +310 -93
  211. package/script/generated-sdk/auth/mod.d.ts +1 -1
  212. package/script/generated-sdk/auth/mod.d.ts.map +1 -1
  213. package/script/generated-sdk/auth/owned_api.d.ts +88 -86
  214. package/script/generated-sdk/auth/owned_api.d.ts.map +1 -1
  215. package/script/generated-sdk/auth/owned_api.js +6 -0
  216. package/script/generated-sdk/auth/schemas.d.ts +284 -136
  217. package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
  218. package/script/generated-sdk/auth/schemas.js +231 -92
  219. package/script/generated-sdk/auth/types.d.ts +565 -89
  220. package/script/generated-sdk/auth/types.d.ts.map +1 -1
  221. package/script/generated-sdk/auth/types.js +1 -1
  222. package/script/generated-sdk/health/api.d.ts +29 -18
  223. package/script/generated-sdk/health/api.d.ts.map +1 -1
  224. package/script/generated-sdk/health/client.d.ts +7 -21
  225. package/script/generated-sdk/health/client.d.ts.map +1 -1
  226. package/script/generated-sdk/health/contract.d.ts +2 -15
  227. package/script/generated-sdk/health/contract.d.ts.map +1 -1
  228. package/script/generated-sdk/health/contract.js +2 -10
  229. package/script/generated-sdk/health/mod.d.ts +1 -1
  230. package/script/generated-sdk/health/mod.d.ts.map +1 -1
  231. package/script/generated-sdk/health/owned_api.d.ts +2 -2
  232. package/script/generated-sdk/health/schemas.d.ts +1 -14
  233. package/script/generated-sdk/health/schemas.d.ts.map +1 -1
  234. package/script/generated-sdk/health/schemas.js +1 -9
  235. package/script/generated-sdk/health/types.d.ts +10 -5
  236. package/script/generated-sdk/health/types.d.ts.map +1 -1
  237. package/script/generated-sdk/health/types.js +1 -2
  238. package/script/generated-sdk/jobs/api.d.ts +29 -109
  239. package/script/generated-sdk/jobs/api.d.ts.map +1 -1
  240. package/script/generated-sdk/jobs/client.d.ts +21 -33
  241. package/script/generated-sdk/jobs/client.d.ts.map +1 -1
  242. package/script/generated-sdk/jobs/contract.d.ts +2 -106
  243. package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
  244. package/script/generated-sdk/jobs/contract.js +268 -1
  245. package/script/generated-sdk/jobs/mod.d.ts +1 -1
  246. package/script/generated-sdk/jobs/mod.d.ts.map +1 -1
  247. package/script/generated-sdk/jobs/owned_api.d.ts +22 -9
  248. package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  249. package/script/generated-sdk/jobs/owned_api.js +19 -0
  250. package/script/generated-sdk/jobs/schemas.d.ts +437 -0
  251. package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
  252. package/script/generated-sdk/jobs/schemas.js +212 -1
  253. package/script/generated-sdk/jobs/types.d.ts +195 -12
  254. package/script/generated-sdk/jobs/types.d.ts.map +1 -1
  255. package/script/generated-sdk/jobs/types.js +1 -1
  256. package/script/generated-sdk/state/api.d.ts +29 -68
  257. package/script/generated-sdk/state/api.d.ts.map +1 -1
  258. package/script/generated-sdk/state/client.d.ts +17 -31
  259. package/script/generated-sdk/state/client.d.ts.map +1 -1
  260. package/script/generated-sdk/state/contract.d.ts +1 -64
  261. package/script/generated-sdk/state/contract.d.ts.map +1 -1
  262. package/script/generated-sdk/state/mod.d.ts +1 -1
  263. package/script/generated-sdk/state/mod.d.ts.map +1 -1
  264. package/script/generated-sdk/state/owned_api.d.ts +7 -7
  265. package/script/generated-sdk/state/types.d.ts +52 -9
  266. package/script/generated-sdk/state/types.d.ts.map +1 -1
  267. package/script/generated-sdk/trellis-core/api.d.ts +33 -45
  268. package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
  269. package/script/generated-sdk/trellis-core/api.js +6 -1
  270. package/script/generated-sdk/trellis-core/client.d.ts +31 -20
  271. package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
  272. package/script/generated-sdk/trellis-core/contract.d.ts +2 -41
  273. package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  274. package/script/generated-sdk/trellis-core/contract.js +91 -1
  275. package/script/generated-sdk/trellis-core/mod.d.ts +1 -1
  276. package/script/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  277. package/script/generated-sdk/trellis-core/owned_api.d.ts +4 -4
  278. package/script/generated-sdk/trellis-core/schemas.d.ts +113 -0
  279. package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  280. package/script/generated-sdk/trellis-core/schemas.js +81 -0
  281. package/script/generated-sdk/trellis-core/types.d.ts +54 -7
  282. package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
  283. package/script/generated-sdk/trellis-core/types.js +1 -1
  284. package/script/health.d.ts +1 -1
  285. package/script/health.d.ts.map +1 -1
  286. package/script/health.js +1 -2
  287. package/script/index.d.ts +4 -4
  288. package/script/index.d.ts.map +1 -1
  289. package/script/index.js +2 -2
  290. package/script/jobs.d.ts +69 -3
  291. package/script/jobs.d.ts.map +1 -1
  292. package/script/jobs.js +93 -3
  293. package/script/server/health.d.ts +2 -6
  294. package/script/server/health.d.ts.map +1 -1
  295. package/script/server/health_schemas.d.ts +0 -8
  296. package/script/server/health_schemas.d.ts.map +1 -1
  297. package/script/server/health_schemas.js +1 -6
  298. package/script/server/internal_jobs/bindings.d.ts +11 -0
  299. package/script/server/internal_jobs/bindings.d.ts.map +1 -1
  300. package/script/server/internal_jobs/job-manager.d.ts +58 -2
  301. package/script/server/internal_jobs/job-manager.d.ts.map +1 -1
  302. package/script/server/internal_jobs/job-manager.js +429 -54
  303. package/script/server/internal_jobs/key-coordinator.d.ts +269 -0
  304. package/script/server/internal_jobs/key-coordinator.d.ts.map +1 -0
  305. package/script/server/internal_jobs/key-coordinator.js +690 -0
  306. package/script/server/internal_jobs/projection.d.ts.map +1 -1
  307. package/script/server/internal_jobs/projection.js +2 -0
  308. package/script/server/internal_jobs/runtime-worker.d.ts +5 -1
  309. package/script/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  310. package/script/server/internal_jobs/runtime-worker.js +14 -2
  311. package/script/server/internal_jobs/types.d.ts +5 -5
  312. package/script/server/internal_jobs/types.d.ts.map +1 -1
  313. package/script/server/internal_jobs/types.js +6 -0
  314. package/script/server/runtime.d.ts.map +1 -1
  315. package/script/server/service.d.ts +81 -112
  316. package/script/server/service.d.ts.map +1 -1
  317. package/script/server/service.js +369 -127
  318. package/script/server.d.ts +3 -3
  319. package/script/server.d.ts.map +1 -1
  320. package/script/service/deno.d.ts +1 -1
  321. package/script/service/deno.d.ts.map +1 -1
  322. package/script/service/drizzle.d.ts +52 -0
  323. package/script/service/drizzle.d.ts.map +1 -0
  324. package/script/service/drizzle.js +113 -0
  325. package/script/service/mod.d.ts +3 -3
  326. package/script/service/mod.d.ts.map +1 -1
  327. package/script/service/mod.js +4 -3
  328. package/script/service/node.d.ts +1 -1
  329. package/script/service/node.d.ts.map +1 -1
  330. package/script/service/outbox_inbox.d.ts +76 -22
  331. package/script/service/outbox_inbox.d.ts.map +1 -1
  332. package/script/service/outbox_inbox.js +233 -70
  333. package/script/telemetry/metrics.d.ts +55 -0
  334. package/script/telemetry/metrics.d.ts.map +1 -1
  335. package/script/telemetry/metrics.js +88 -0
  336. package/script/telemetry/mod.d.ts +2 -1
  337. package/script/telemetry/mod.d.ts.map +1 -1
  338. package/script/telemetry/mod.js +3 -1
  339. package/script/trellis.d.ts +62 -30
  340. package/script/trellis.d.ts.map +1 -1
  341. package/script/trellis.js +124 -41
  342. package/src/auth/mod.ts +7 -0
  343. package/src/browser.ts +5 -7
  344. package/src/client_connect.ts +200 -12
  345. package/src/codec.ts +186 -11
  346. package/src/contract_support/canonical.ts +3 -0
  347. package/src/contract_support/mod.ts +380 -9
  348. package/src/contract_support/protocol.ts +57 -10
  349. package/src/contract_support/runtime.ts +7 -0
  350. package/src/errors/SchemaValidationError.ts +67 -0
  351. package/src/errors/index.ts +28 -0
  352. package/src/health.ts +0 -1
  353. package/src/index.ts +7 -8
  354. package/src/jobs.ts +138 -1
  355. package/src/sdk/_generated/auth/api.ts +38 -7
  356. package/src/sdk/_generated/auth/client.ts +168 -530
  357. package/src/sdk/_generated/auth/contract.ts +310 -93
  358. package/src/sdk/_generated/auth/mod.ts +0 -1
  359. package/src/sdk/_generated/auth/owned_api.ts +92 -86
  360. package/src/sdk/_generated/auth/schemas.ts +231 -92
  361. package/src/sdk/_generated/auth/types.ts +1069 -273
  362. package/src/sdk/_generated/core/api.ts +38 -7
  363. package/src/sdk/_generated/core/client.ts +47 -73
  364. package/src/sdk/_generated/core/contract.ts +91 -1
  365. package/src/sdk/_generated/core/mod.ts +0 -1
  366. package/src/sdk/_generated/core/owned_api.ts +4 -4
  367. package/src/sdk/_generated/core/schemas.ts +81 -0
  368. package/src/sdk/_generated/core/types.ts +79 -15
  369. package/src/sdk/_generated/health/api.ts +29 -5
  370. package/src/sdk/_generated/health/client.ts +11 -58
  371. package/src/sdk/_generated/health/contract.ts +2 -10
  372. package/src/sdk/_generated/health/mod.ts +0 -1
  373. package/src/sdk/_generated/health/owned_api.ts +2 -2
  374. package/src/sdk/_generated/health/schemas.ts +1 -9
  375. package/src/sdk/_generated/health/types.ts +23 -2
  376. package/src/sdk/_generated/jobs/api.ts +29 -5
  377. package/src/sdk/_generated/jobs/client.ts +25 -109
  378. package/src/sdk/_generated/jobs/contract.ts +269 -1
  379. package/src/sdk/_generated/jobs/mod.ts +0 -1
  380. package/src/sdk/_generated/jobs/owned_api.ts +30 -9
  381. package/src/sdk/_generated/jobs/schemas.ts +213 -0
  382. package/src/sdk/_generated/jobs/types.ts +252 -18
  383. package/src/sdk/_generated/state/api.ts +29 -5
  384. package/src/sdk/_generated/state/client.ts +18 -95
  385. package/src/sdk/_generated/state/mod.ts +0 -1
  386. package/src/sdk/_generated/state/owned_api.ts +7 -7
  387. package/src/sdk/_generated/state/types.ts +91 -15
  388. package/src/server/health.ts +2 -6
  389. package/src/server/health_schemas.ts +0 -6
  390. package/src/server/internal_jobs/bindings.ts +11 -0
  391. package/src/server/internal_jobs/job-manager.ts +553 -24
  392. package/src/server/internal_jobs/key-coordinator.ts +1080 -0
  393. package/src/server/internal_jobs/projection.ts +2 -0
  394. package/src/server/internal_jobs/runtime-worker.ts +17 -1
  395. package/src/server/internal_jobs/types.ts +6 -0
  396. package/src/server/runtime.ts +4 -0
  397. package/src/server/service.ts +645 -625
  398. package/src/server.ts +14 -7
  399. package/src/service/deno.ts +0 -5
  400. package/src/service/drizzle.ts +184 -0
  401. package/src/service/mod.ts +17 -7
  402. package/src/service/node.ts +0 -5
  403. package/src/service/outbox_inbox.ts +354 -88
  404. package/src/telemetry/metrics.ts +198 -1
  405. package/src/telemetry/mod.ts +6 -0
  406. package/src/trellis.ts +286 -105
package/src/server.ts CHANGED
@@ -91,7 +91,8 @@ export type TrellisServiceRuntimeFor<TA extends AnyTrellisAPI = TrellisAPI> =
91
91
  OperationInputOf<TA, O>,
92
92
  OperationProgressOf<TA, O>,
93
93
  OperationOutputOf<TA, O>,
94
- OperationTransferContextOf<TA, O>
94
+ OperationTransferContextOf<TA, O>,
95
+ BaseError
95
96
  >;
96
97
  };
97
98
 
@@ -505,7 +506,10 @@ export class TrellisServiceRuntime extends Trellis<TrellisAPI, TrellisMode> {
505
506
  operation: string,
506
507
  ctx: RegisteredRuntimeOperationDesc,
507
508
  operationId: string,
508
- ): AsyncResult<OperationRuntimeHandle<unknown, unknown>, BaseError> {
509
+ ): AsyncResult<
510
+ OperationRuntimeHandle<unknown, unknown, BaseError>,
511
+ BaseError
512
+ > {
509
513
  return AsyncResult.from((async () => {
510
514
  const runtime = await this.#resolveOperation(operationId);
511
515
  if (!runtime) {
@@ -524,7 +528,7 @@ export class TrellisServiceRuntime extends Trellis<TrellisAPI, TrellisMode> {
524
528
  #makeControlledOperation(
525
529
  runtime: RuntimeOperationRecord,
526
530
  ctx: RegisteredRuntimeOperationDesc,
527
- ): OperationRuntimeHandle<unknown, unknown> {
531
+ ): OperationRuntimeHandle<unknown, unknown, BaseError> {
528
532
  return {
529
533
  id: runtime.id,
530
534
  started: () =>
@@ -586,7 +590,7 @@ export class TrellisServiceRuntime extends Trellis<TrellisAPI, TrellisMode> {
586
590
  #makeAcceptedOperation(
587
591
  runtime: RuntimeOperationRecord,
588
592
  ctx: RegisteredRuntimeOperationDesc,
589
- ): AcceptedOperation<unknown, unknown> {
593
+ ): AcceptedOperation<unknown, unknown, BaseError> {
590
594
  return {
591
595
  id: runtime.id,
592
596
  ref: {
@@ -763,7 +767,9 @@ export class TrellisServiceRuntime extends Trellis<TrellisAPI, TrellisMode> {
763
767
  operation: string,
764
768
  ctx: RegisteredRuntimeOperationDesc,
765
769
  sessionKey: string,
766
- ): Promise<Result<AcceptedOperation<unknown, unknown>, UnexpectedError>> {
770
+ ): Promise<
771
+ Result<AcceptedOperation<unknown, unknown, BaseError>, UnexpectedError>
772
+ > {
767
773
  const createdAt = new Date().toISOString();
768
774
  const operationId = ulid();
769
775
  const runtime: RuntimeOperationRecord = {
@@ -1176,7 +1182,7 @@ export class TrellisServiceRuntime extends Trellis<TrellisAPI, TrellisMode> {
1176
1182
 
1177
1183
  override operationHandle(
1178
1184
  operation: string,
1179
- ): OperationRegistration<unknown, unknown, unknown> {
1185
+ ): OperationRegistration<unknown, unknown, unknown, undefined, BaseError> {
1180
1186
  const ctx = this.api["operations"]
1181
1187
  ?.[operation as keyof typeof this.api.operations] as
1182
1188
  | RegisteredRuntimeOperationDesc
@@ -1215,7 +1221,8 @@ export class TrellisServiceRuntime extends Trellis<TrellisAPI, TrellisMode> {
1215
1221
  unknown,
1216
1222
  unknown,
1217
1223
  unknown,
1218
- OperationTransferHandle | undefined
1224
+ OperationTransferHandle | undefined,
1225
+ BaseError
1219
1226
  >,
1220
1227
  ) => unknown | Promise<unknown>,
1221
1228
  ) => {
@@ -1,13 +1,8 @@
1
1
  import "../_dnt.polyfills.js";
2
2
  export {
3
- type BoundTrellisService,
4
- type FeedHandler,
5
3
  type HealthCheckHandler,
6
4
  type HealthInfoHandler,
7
- type JobArgs,
8
- type JobHandler,
9
5
  type JobQueue,
10
- type JobResult,
11
6
  type JobsFacadeOf,
12
7
  type OperationHandler,
13
8
  type OperationRegistration,
@@ -0,0 +1,184 @@
1
+ import "../_dnt.polyfills.js";
2
+ import { type SQL, sql } from "drizzle-orm";
3
+ import type { SqlExecutor, SqlRow } from "./outbox_inbox.js";
4
+
5
+ /**
6
+ * Structural Drizzle database or transaction shape accepted by Trellis SQL
7
+ * outbox helpers.
8
+ */
9
+ export type DrizzleSqlDatabase = {
10
+ /** Runs a SQL statement that returns rows. */
11
+ all(query: SQL): Promise<readonly SqlRow[]>;
12
+ /** Runs a SQL statement that does not return rows. */
13
+ run(query: SQL): Promise<unknown>;
14
+ };
15
+
16
+ /**
17
+ * Structural transaction runner used by Drizzle-backed Trellis SQL outbox
18
+ * integrations.
19
+ */
20
+ export type DrizzleSqlTransactionRunner<
21
+ TDb extends DrizzleSqlDatabase,
22
+ TTx extends DrizzleSqlDatabase,
23
+ > = (
24
+ database: TDb,
25
+ work: (transaction: TTx) => Promise<unknown>,
26
+ ) => Promise<unknown>;
27
+
28
+ /** Options for Drizzle-backed Trellis SQL outbox integration. */
29
+ export type DrizzleSqlOutboxOptions<
30
+ TDb extends DrizzleSqlDatabase,
31
+ TTx extends DrizzleSqlDatabase,
32
+ > = {
33
+ /** Caller-owned base Drizzle database used for non-transactional outbox work. */
34
+ readonly db: TDb;
35
+ /** Caller-owned transaction runner used to scope service work and enqueues. */
36
+ readonly transaction: DrizzleSqlTransactionRunner<TDb, TTx>;
37
+ };
38
+
39
+ /**
40
+ * Adapts a caller-owned Drizzle database or transaction to Trellis'
41
+ * generic `SqlExecutor` interface.
42
+ *
43
+ * This helper is cheap: it creates a small closure object only. It does not open
44
+ * connections, prepare statements, or inspect schema. Service authors can use it
45
+ * when adapting Drizzle databases or transactions to the generic
46
+ * `withSqlOutbox(...)` SQL executor options.
47
+ */
48
+ export function createDrizzleSqlExecutor(
49
+ database: DrizzleSqlDatabase,
50
+ ): SqlExecutor {
51
+ return {
52
+ query(statement, params) {
53
+ return database.all(bindDrizzleSqlStatement(statement, params));
54
+ },
55
+ async execute(statement, params) {
56
+ await database.run(bindDrizzleSqlStatement(statement, params));
57
+ },
58
+ };
59
+ }
60
+
61
+ /**
62
+ * Runs work inside a caller-owned Drizzle transaction and provides the
63
+ * transaction plus a Trellis SQL executor bound to that transaction.
64
+ */
65
+ export async function runDrizzleSqlTransaction<
66
+ TDb extends DrizzleSqlDatabase,
67
+ TTx extends DrizzleSqlDatabase,
68
+ TResult,
69
+ >(
70
+ options: DrizzleSqlOutboxOptions<TDb, TTx>,
71
+ work: (
72
+ context: { tx: TTx; executor: SqlExecutor },
73
+ ) => Promise<TResult> | TResult,
74
+ ): Promise<TResult> {
75
+ let result: { value: TResult } | undefined;
76
+ await options.transaction(options.db, async (tx) => {
77
+ const value = await work({
78
+ tx,
79
+ executor: createDrizzleSqlExecutor(tx),
80
+ });
81
+ result = { value };
82
+ return value;
83
+ });
84
+
85
+ if (result === undefined) {
86
+ throw new Error("Drizzle SQL transaction runner did not invoke work");
87
+ }
88
+
89
+ return result.value;
90
+ }
91
+
92
+ /**
93
+ * Converts a Trellis SQL statement with positional placeholders into a Drizzle
94
+ * `SQL` object with parameters bound in order.
95
+ *
96
+ * Supports SQLite-style `?` placeholders and PostgreSQL-style `$1`, `$2`, ...
97
+ * placeholders. A single statement must not mix both styles.
98
+ */
99
+ export function bindDrizzleSqlStatement(
100
+ statement: string,
101
+ params: readonly unknown[],
102
+ ): SQL {
103
+ const matches = [...statement.matchAll(/\?|\$(\d+)/g)];
104
+ const hasQuestionPlaceholders = matches.some((match) => match[0] === "?");
105
+ const hasNumberedPlaceholders = matches.some((match) =>
106
+ match[1] !== undefined
107
+ );
108
+
109
+ if (hasQuestionPlaceholders && hasNumberedPlaceholders) {
110
+ throw new Error(
111
+ "SQL statement cannot mix ? and $n placeholders for Drizzle binding",
112
+ );
113
+ }
114
+
115
+ if (hasQuestionPlaceholders) {
116
+ validateQuestionPlaceholders(matches.length, params.length);
117
+ } else if (hasNumberedPlaceholders) {
118
+ validateNumberedPlaceholders(matches, params.length);
119
+ } else if (params.length !== 0) {
120
+ throw new Error(
121
+ `SQL statement has no placeholders but received ${params.length} parameters`,
122
+ );
123
+ }
124
+
125
+ const chunks: SQL[] = [];
126
+ let cursor = 0;
127
+ let nextQuestionParam = 0;
128
+ for (const match of matches) {
129
+ const matchIndex = match.index;
130
+ chunks.push(sql.raw(statement.slice(cursor, matchIndex)));
131
+ if (match[0] === "?") {
132
+ chunks.push(sql`${params[nextQuestionParam]}`);
133
+ nextQuestionParam += 1;
134
+ } else {
135
+ const index = Number(match[1]) - 1;
136
+ chunks.push(sql`${params[index]}`);
137
+ }
138
+ cursor = matchIndex + match[0].length;
139
+ }
140
+ chunks.push(sql.raw(statement.slice(cursor)));
141
+
142
+ return sql.join(chunks);
143
+ }
144
+
145
+ function validateQuestionPlaceholders(
146
+ placeholders: number,
147
+ paramCount: number,
148
+ ): void {
149
+ if (placeholders !== paramCount) {
150
+ throw new Error(
151
+ `SQL statement expected ${placeholders} parameters for ? placeholders, received ${paramCount}`,
152
+ );
153
+ }
154
+ }
155
+
156
+ function validateNumberedPlaceholders(
157
+ matches: RegExpMatchArray[],
158
+ paramCount: number,
159
+ ): void {
160
+ const referenced = new Set<number>();
161
+ for (const match of matches) {
162
+ if (match[1] === undefined) continue;
163
+ const index = Number(match[1]);
164
+ if (index < 1) {
165
+ throw new Error("PostgreSQL SQL placeholder indexes must start at $1");
166
+ }
167
+ referenced.add(index);
168
+ }
169
+
170
+ const maxIndex = Math.max(...referenced);
171
+ if (maxIndex !== paramCount) {
172
+ throw new Error(
173
+ `SQL statement expected ${maxIndex} parameters for $n placeholders, received ${paramCount}`,
174
+ );
175
+ }
176
+
177
+ for (let index = 1; index <= maxIndex; index += 1) {
178
+ if (!referenced.has(index)) {
179
+ throw new Error(
180
+ `SQL statement is missing PostgreSQL placeholder $${index}`,
181
+ );
182
+ }
183
+ }
184
+ }
@@ -28,7 +28,6 @@ export {
28
28
  export { mountStandardHealthRpc } from "../server/health_rpc.js";
29
29
  export {
30
30
  HealthCheckResultSchema,
31
- HealthHeartbeatHeaderSchema,
32
31
  HealthHeartbeatSchema,
33
32
  HealthHeartbeatServiceSchema,
34
33
  HealthInfoSchema,
@@ -36,25 +35,29 @@ export {
36
35
  HealthRpcSchema,
37
36
  } from "../server/health_schemas.js";
38
37
  export {
39
- type BoundTrellisService,
40
- type FeedHandler,
41
38
  type HealthCheckHandler,
42
39
  type HealthInfoHandler,
43
- type JobArgs,
44
- type JobHandler,
45
40
  type JobQueue,
46
- type JobResult,
47
41
  type JobsFacadeOf,
48
42
  type OperationHandler,
49
43
  type OperationRegistration,
50
44
  type RpcHandler,
51
45
  type ServiceContract,
52
46
  type ServiceEventHandler,
47
+ type SqlOutbox,
48
+ type SqlOutboxEventEnqueueFacade,
49
+ type SqlOutboxJobEnqueueFacade,
50
+ type SqlOutboxJobSubmission,
51
+ type SqlOutboxTransactionContext,
52
+ type SqlOutboxTransactionRunner,
53
53
  StoreHandle,
54
54
  type Trellis,
55
55
  TrellisService,
56
56
  type TrellisServiceConnectOpts,
57
57
  type TrellisServiceConnectTelemetryOpts,
58
+ type TrellisServiceSqlOutboxCommonOptions,
59
+ type TrellisServiceSqlOutboxExecutorOptions,
60
+ type TrellisServiceSqlOutboxOptions,
58
61
  } from "../server/service.js";
59
62
  export {
60
63
  createPostgresOutboxSchema,
@@ -62,6 +65,7 @@ export {
62
65
  createSqlOutboxAdapter,
63
66
  defaultSqlOutboxTables,
64
67
  dispatchOutbox,
68
+ getSqlOutboxMigrations,
65
69
  type InboxRepository,
66
70
  type KvOutboxRecord,
67
71
  KvOutboxRecordSchema,
@@ -72,16 +76,22 @@ export {
72
76
  OutboxDispatcher,
73
77
  type OutboxDispatcherOptions,
74
78
  type OutboxDispatchResult,
79
+ type OutboxDispatchRuntime,
75
80
  type OutboxKvEntry,
76
81
  type OutboxKvStore,
77
82
  type OutboxMessage,
78
83
  type OutboxMessageState,
79
- outboxMessageToPrepared,
84
+ outboxMessageToPreparedEvent,
85
+ type OutboxRecordKind,
80
86
  type OutboxRepository,
87
+ type PreparedOutboxRecord,
88
+ preparedTrellisEventToOutboxRecord,
81
89
  type SqlDialect,
82
90
  type SqlExecutor,
83
91
  SqlInboxRepository,
84
92
  type SqlOutboxAdapter,
93
+ type SqlOutboxMigration,
94
+ type SqlOutboxMigrationOptions,
85
95
  SqlOutboxRepository,
86
96
  type SqlOutboxTables,
87
97
  type SqlRow,
@@ -1,13 +1,8 @@
1
1
  import "../_dnt.polyfills.js";
2
2
  export {
3
- type BoundTrellisService,
4
- type FeedHandler,
5
3
  type HealthCheckHandler,
6
4
  type HealthInfoHandler,
7
- type JobArgs,
8
- type JobHandler,
9
5
  type JobQueue,
10
- type JobResult,
11
6
  type JobsFacadeOf,
12
7
  type OperationHandler,
13
8
  type OperationRegistration,