@qlever-llc/trellis 0.8.3 → 0.9.0-rc.10

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 (693) hide show
  1. package/README.md +1 -1
  2. package/bin/trellis-generate.js +132 -0
  3. package/esm/auth/browser/login.d.ts.map +1 -1
  4. package/esm/auth/browser/login.js +46 -3
  5. package/esm/auth/browser/portal.d.ts.map +1 -1
  6. package/esm/auth/browser/portal.js +5 -1
  7. package/esm/auth/browser/session.d.ts +18 -7
  8. package/esm/auth/browser/session.d.ts.map +1 -1
  9. package/esm/auth/browser/session.js +47 -11
  10. package/esm/auth/browser/storage.d.ts +6 -1
  11. package/esm/auth/browser/storage.d.ts.map +1 -1
  12. package/esm/auth/browser/storage.js +15 -3
  13. package/esm/auth/browser.d.ts +2 -2
  14. package/esm/auth/browser.d.ts.map +1 -1
  15. package/esm/auth/browser.js +1 -1
  16. package/esm/auth/device_activation.d.ts +36 -33
  17. package/esm/auth/device_activation.d.ts.map +1 -1
  18. package/esm/auth/device_activation.js +26 -22
  19. package/esm/auth/mod.d.ts +4 -4
  20. package/esm/auth/mod.d.ts.map +1 -1
  21. package/esm/auth/mod.js +2 -2
  22. package/esm/auth/proof.d.ts +3 -1
  23. package/esm/auth/proof.d.ts.map +1 -1
  24. package/esm/auth/proof.js +21 -15
  25. package/esm/auth/protocol.d.ts +2457 -941
  26. package/esm/auth/protocol.d.ts.map +1 -1
  27. package/esm/auth/protocol.js +747 -375
  28. package/esm/auth/schemas.d.ts +25 -4
  29. package/esm/auth/schemas.d.ts.map +1 -1
  30. package/esm/auth/schemas.js +14 -4
  31. package/esm/auth/session_auth.d.ts +1 -1
  32. package/esm/auth/session_auth.d.ts.map +1 -1
  33. package/esm/auth/session_auth.js +7 -1
  34. package/esm/client_connect.d.ts +2 -0
  35. package/esm/client_connect.d.ts.map +1 -1
  36. package/esm/client_connect.js +76 -15
  37. package/esm/contract.d.ts +3 -0
  38. package/esm/contract.d.ts.map +1 -1
  39. package/esm/contract_support/mod.d.ts +422 -43
  40. package/esm/contract_support/mod.d.ts.map +1 -1
  41. package/esm/contract_support/mod.js +734 -33
  42. package/esm/contract_support/protocol.d.ts +20 -5
  43. package/esm/contract_support/protocol.d.ts.map +1 -1
  44. package/esm/contract_support/protocol.js +18 -10
  45. package/esm/contract_support/runtime.d.ts +11 -0
  46. package/esm/contract_support/runtime.d.ts.map +1 -1
  47. package/esm/contract_support/schema_pointers.d.ts.map +1 -1
  48. package/esm/contract_support/schema_pointers.js +32 -14
  49. package/esm/device.d.ts +2 -0
  50. package/esm/device.d.ts.map +1 -1
  51. package/esm/device.js +3 -0
  52. package/esm/errors/AuthError.d.ts +2 -1
  53. package/esm/errors/AuthError.d.ts.map +1 -1
  54. package/esm/errors/AuthError.js +8 -3
  55. package/esm/errors/index.d.ts +4 -4
  56. package/esm/errors/index.d.ts.map +1 -1
  57. package/esm/errors/index.js +1 -0
  58. package/esm/generated-sdk/auth/api.d.ts +27 -9
  59. package/esm/generated-sdk/auth/api.d.ts.map +1 -1
  60. package/esm/generated-sdk/auth/api.js +16 -590
  61. package/esm/generated-sdk/auth/client.d.ts +91 -85
  62. package/esm/generated-sdk/auth/client.d.ts.map +1 -1
  63. package/esm/generated-sdk/auth/contract.d.ts +1 -1
  64. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  65. package/esm/generated-sdk/auth/contract.js +4 -2
  66. package/esm/generated-sdk/auth/mod.d.ts +1 -0
  67. package/esm/generated-sdk/auth/mod.d.ts.map +1 -1
  68. package/esm/generated-sdk/auth/owned_api.d.ts +3 -0
  69. package/esm/generated-sdk/auth/owned_api.d.ts.map +1 -0
  70. package/esm/generated-sdk/auth/owned_api.js +594 -0
  71. package/esm/generated-sdk/auth/schemas.d.ts +9959 -5160
  72. package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
  73. package/esm/generated-sdk/auth/schemas.js +136 -137
  74. package/esm/generated-sdk/auth/types.d.ts +2418 -1557
  75. package/esm/generated-sdk/auth/types.d.ts.map +1 -1
  76. package/esm/generated-sdk/auth/types.js +1 -1
  77. package/esm/generated-sdk/health/api.d.ts +24 -9
  78. package/esm/generated-sdk/health/api.d.ts.map +1 -1
  79. package/esm/generated-sdk/health/api.js +12 -20
  80. package/esm/generated-sdk/health/client.d.ts +2 -1
  81. package/esm/generated-sdk/health/client.d.ts.map +1 -1
  82. package/esm/generated-sdk/health/contract.d.ts.map +1 -1
  83. package/esm/generated-sdk/health/contract.js +2 -0
  84. package/esm/generated-sdk/health/owned_api.d.ts +3 -0
  85. package/esm/generated-sdk/health/owned_api.d.ts.map +1 -0
  86. package/esm/generated-sdk/health/owned_api.js +16 -0
  87. package/esm/generated-sdk/health/types.d.ts +2 -0
  88. package/esm/generated-sdk/health/types.d.ts.map +1 -1
  89. package/esm/generated-sdk/jobs/api.d.ts +33 -9
  90. package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
  91. package/esm/generated-sdk/jobs/api.js +22 -87
  92. package/esm/generated-sdk/jobs/client.d.ts +9 -2
  93. package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
  94. package/esm/generated-sdk/jobs/contract.d.ts +1 -1
  95. package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
  96. package/esm/generated-sdk/jobs/contract.js +4 -2
  97. package/esm/generated-sdk/jobs/owned_api.d.ts +3 -0
  98. package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -0
  99. package/esm/generated-sdk/jobs/owned_api.js +118 -0
  100. package/esm/generated-sdk/jobs/schemas.d.ts +336 -123
  101. package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
  102. package/esm/generated-sdk/jobs/schemas.js +17 -15
  103. package/esm/generated-sdk/jobs/types.d.ts +144 -34
  104. package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
  105. package/esm/generated-sdk/jobs/types.js +36 -1
  106. package/esm/generated-sdk/state/api.d.ts +27 -9
  107. package/esm/generated-sdk/state/api.d.ts.map +1 -1
  108. package/esm/generated-sdk/state/api.js +16 -71
  109. package/esm/generated-sdk/state/client.d.ts +4 -2
  110. package/esm/generated-sdk/state/client.d.ts.map +1 -1
  111. package/esm/generated-sdk/state/contract.d.ts +1 -1
  112. package/esm/generated-sdk/state/contract.d.ts.map +1 -1
  113. package/esm/generated-sdk/state/contract.js +4 -2
  114. package/esm/generated-sdk/state/owned_api.d.ts +3 -0
  115. package/esm/generated-sdk/state/owned_api.d.ts.map +1 -0
  116. package/esm/generated-sdk/state/owned_api.js +66 -0
  117. package/esm/generated-sdk/state/schemas.d.ts +264 -284
  118. package/esm/generated-sdk/state/schemas.d.ts.map +1 -1
  119. package/esm/generated-sdk/state/schemas.js +6 -6
  120. package/esm/generated-sdk/state/types.d.ts +24 -23
  121. package/esm/generated-sdk/state/types.d.ts.map +1 -1
  122. package/esm/generated-sdk/state/types.js +1 -1
  123. package/esm/generated-sdk/trellis-core/api.d.ts +27 -9
  124. package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
  125. package/esm/generated-sdk/trellis-core/api.js +16 -39
  126. package/esm/generated-sdk/trellis-core/client.d.ts +5 -2
  127. package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
  128. package/esm/generated-sdk/trellis-core/contract.d.ts +1 -1
  129. package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  130. package/esm/generated-sdk/trellis-core/contract.js +4 -2
  131. package/esm/generated-sdk/trellis-core/owned_api.d.ts +3 -0
  132. package/esm/generated-sdk/trellis-core/owned_api.d.ts.map +1 -0
  133. package/esm/generated-sdk/trellis-core/owned_api.js +42 -0
  134. package/esm/generated-sdk/trellis-core/schemas.d.ts +259 -11
  135. package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  136. package/esm/generated-sdk/trellis-core/schemas.js +5 -3
  137. package/esm/generated-sdk/trellis-core/types.d.ts +56 -1
  138. package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
  139. package/esm/generated-sdk/trellis-core/types.js +1 -1
  140. package/esm/helpers.d.ts.map +1 -1
  141. package/esm/index.d.ts +4 -3
  142. package/esm/index.d.ts.map +1 -1
  143. package/esm/index.js +1 -0
  144. package/esm/jobs.d.ts +10 -1
  145. package/esm/jobs.d.ts.map +1 -1
  146. package/esm/jobs.js +16 -1
  147. package/esm/kv.d.ts.map +1 -1
  148. package/esm/kv.js +10 -4
  149. package/esm/models/auth/rpc/Logout.d.ts +4 -4
  150. package/esm/models/auth/rpc/Logout.d.ts.map +1 -1
  151. package/esm/models/auth/rpc/Logout.js +2 -2
  152. package/esm/models/trellis/Page.d.ts +2 -0
  153. package/esm/models/trellis/Page.d.ts.map +1 -0
  154. package/esm/models/trellis/Page.js +1 -0
  155. package/esm/models/trellis/State.d.ts +1 -0
  156. package/esm/models/trellis/State.d.ts.map +1 -1
  157. package/esm/models/trellis/State.js +1 -0
  158. package/esm/models/trellis/rpc/StateList.d.ts +9 -12
  159. package/esm/models/trellis/rpc/StateList.d.ts.map +1 -1
  160. package/esm/models/trellis/rpc/StateList.js +16 -18
  161. package/esm/npm/src/auth/browser/login.d.ts.map +1 -1
  162. package/esm/npm/src/auth/browser/login.js +46 -3
  163. package/esm/npm/src/auth/browser/portal.d.ts.map +1 -1
  164. package/esm/npm/src/auth/browser/portal.js +5 -1
  165. package/esm/npm/src/auth/browser/session.d.ts +18 -7
  166. package/esm/npm/src/auth/browser/session.d.ts.map +1 -1
  167. package/esm/npm/src/auth/browser/session.js +47 -11
  168. package/esm/npm/src/auth/browser/storage.d.ts +6 -1
  169. package/esm/npm/src/auth/browser/storage.d.ts.map +1 -1
  170. package/esm/npm/src/auth/browser/storage.js +15 -3
  171. package/esm/npm/src/auth/browser.d.ts +2 -2
  172. package/esm/npm/src/auth/browser.d.ts.map +1 -1
  173. package/esm/npm/src/auth/browser.js +1 -1
  174. package/esm/npm/src/auth/device_activation.d.ts +36 -33
  175. package/esm/npm/src/auth/device_activation.d.ts.map +1 -1
  176. package/esm/npm/src/auth/device_activation.js +26 -22
  177. package/esm/npm/src/auth/mod.d.ts +4 -4
  178. package/esm/npm/src/auth/mod.d.ts.map +1 -1
  179. package/esm/npm/src/auth/mod.js +2 -2
  180. package/esm/npm/src/auth/proof.d.ts +3 -1
  181. package/esm/npm/src/auth/proof.d.ts.map +1 -1
  182. package/esm/npm/src/auth/proof.js +21 -15
  183. package/esm/npm/src/auth/protocol.d.ts +2457 -941
  184. package/esm/npm/src/auth/protocol.d.ts.map +1 -1
  185. package/esm/npm/src/auth/protocol.js +747 -375
  186. package/esm/npm/src/auth/schemas.d.ts +25 -4
  187. package/esm/npm/src/auth/schemas.d.ts.map +1 -1
  188. package/esm/npm/src/auth/schemas.js +14 -4
  189. package/esm/npm/src/auth/session_auth.d.ts +1 -1
  190. package/esm/npm/src/auth/session_auth.d.ts.map +1 -1
  191. package/esm/npm/src/auth/session_auth.js +7 -1
  192. package/esm/npm/src/client_connect.d.ts +2 -0
  193. package/esm/npm/src/client_connect.d.ts.map +1 -1
  194. package/esm/npm/src/client_connect.js +76 -15
  195. package/esm/npm/src/contract.d.ts +3 -0
  196. package/esm/npm/src/contract.d.ts.map +1 -1
  197. package/esm/npm/src/contract_support/mod.d.ts +422 -43
  198. package/esm/npm/src/contract_support/mod.d.ts.map +1 -1
  199. package/esm/npm/src/contract_support/mod.js +734 -33
  200. package/esm/npm/src/contract_support/protocol.d.ts +20 -5
  201. package/esm/npm/src/contract_support/protocol.d.ts.map +1 -1
  202. package/esm/npm/src/contract_support/protocol.js +18 -10
  203. package/esm/npm/src/contract_support/runtime.d.ts +11 -0
  204. package/esm/npm/src/contract_support/runtime.d.ts.map +1 -1
  205. package/esm/npm/src/contract_support/schema_pointers.d.ts.map +1 -1
  206. package/esm/npm/src/contract_support/schema_pointers.js +32 -14
  207. package/esm/npm/src/device/deno.d.ts.map +1 -1
  208. package/esm/npm/src/device/deno.js +6 -0
  209. package/esm/npm/src/device.d.ts +2 -0
  210. package/esm/npm/src/device.d.ts.map +1 -1
  211. package/esm/npm/src/device.js +3 -0
  212. package/esm/npm/src/errors/AuthError.d.ts +2 -1
  213. package/esm/npm/src/errors/AuthError.d.ts.map +1 -1
  214. package/esm/npm/src/errors/AuthError.js +8 -3
  215. package/esm/npm/src/errors/index.d.ts +4 -4
  216. package/esm/npm/src/errors/index.d.ts.map +1 -1
  217. package/esm/npm/src/errors/index.js +1 -0
  218. package/esm/npm/src/generate.js +54 -24
  219. package/esm/npm/src/helpers.d.ts.map +1 -1
  220. package/esm/npm/src/index.d.ts +4 -3
  221. package/esm/npm/src/index.d.ts.map +1 -1
  222. package/esm/npm/src/index.js +1 -0
  223. package/esm/npm/src/jobs.d.ts +10 -1
  224. package/esm/npm/src/jobs.d.ts.map +1 -1
  225. package/esm/npm/src/jobs.js +16 -1
  226. package/esm/npm/src/kv.d.ts.map +1 -1
  227. package/esm/npm/src/kv.js +10 -4
  228. package/esm/npm/src/models/auth/rpc/Logout.d.ts +4 -4
  229. package/esm/npm/src/models/auth/rpc/Logout.d.ts.map +1 -1
  230. package/esm/npm/src/models/auth/rpc/Logout.js +2 -2
  231. package/esm/npm/src/models/trellis/Page.d.ts +2 -0
  232. package/esm/npm/src/models/trellis/Page.d.ts.map +1 -0
  233. package/esm/npm/src/models/trellis/Page.js +1 -0
  234. package/esm/npm/src/models/trellis/State.d.ts +1 -0
  235. package/esm/npm/src/models/trellis/State.d.ts.map +1 -1
  236. package/esm/npm/src/models/trellis/State.js +1 -0
  237. package/esm/npm/src/models/trellis/rpc/StateList.d.ts +9 -12
  238. package/esm/npm/src/models/trellis/rpc/StateList.d.ts.map +1 -1
  239. package/esm/npm/src/models/trellis/rpc/StateList.js +16 -18
  240. package/esm/npm/src/operations.d.ts +16 -7
  241. package/esm/npm/src/operations.d.ts.map +1 -1
  242. package/esm/npm/src/operations.js +84 -19
  243. package/esm/npm/src/runtime_transport.d.ts +2 -0
  244. package/esm/npm/src/runtime_transport.d.ts.map +1 -1
  245. package/esm/npm/src/runtime_transport.js +1 -0
  246. package/esm/npm/src/server/internal_jobs/active-job.d.ts +2 -1
  247. package/esm/npm/src/server/internal_jobs/active-job.d.ts.map +1 -1
  248. package/esm/npm/src/server/internal_jobs/active-job.js +3 -0
  249. package/esm/npm/src/server/internal_jobs/job-manager.d.ts +4 -1
  250. package/esm/npm/src/server/internal_jobs/job-manager.d.ts.map +1 -1
  251. package/esm/npm/src/server/internal_jobs/job-manager.js +61 -1
  252. package/esm/npm/src/server/internal_jobs/projection.js +1 -0
  253. package/esm/npm/src/server/internal_jobs/runtime-worker.d.ts +13 -1
  254. package/esm/npm/src/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  255. package/esm/npm/src/server/internal_jobs/runtime-worker.js +73 -13
  256. package/esm/npm/src/server/internal_jobs/types.d.ts +19 -0
  257. package/esm/npm/src/server/internal_jobs/types.d.ts.map +1 -1
  258. package/esm/npm/src/server/internal_jobs/types.js +10 -0
  259. package/esm/npm/src/server/runtime.d.ts +1 -0
  260. package/esm/npm/src/server/runtime.d.ts.map +1 -1
  261. package/esm/npm/src/server/service.d.ts +10 -1
  262. package/esm/npm/src/server/service.d.ts.map +1 -1
  263. package/esm/npm/src/server/service.js +210 -64
  264. package/esm/npm/src/server/transfer.d.ts.map +1 -1
  265. package/esm/npm/src/server/transfer.js +4 -0
  266. package/esm/npm/src/server.d.ts.map +1 -1
  267. package/esm/npm/src/server.js +337 -34
  268. package/esm/npm/src/store.d.ts +8 -1
  269. package/esm/npm/src/store.d.ts.map +1 -1
  270. package/esm/npm/src/store.js +46 -8
  271. package/esm/npm/src/transfer.d.ts +3 -0
  272. package/esm/npm/src/transfer.d.ts.map +1 -1
  273. package/esm/npm/src/transfer.js +20 -30
  274. package/esm/npm/src/trellis.d.ts +85 -22
  275. package/esm/npm/src/trellis.d.ts.map +1 -1
  276. package/esm/npm/src/trellis.js +525 -61
  277. package/esm/operations.d.ts +16 -7
  278. package/esm/operations.d.ts.map +1 -1
  279. package/esm/operations.js +84 -19
  280. package/esm/runtime_transport.d.ts +2 -0
  281. package/esm/runtime_transport.d.ts.map +1 -1
  282. package/esm/runtime_transport.js +1 -0
  283. package/esm/store.d.ts +8 -1
  284. package/esm/store.d.ts.map +1 -1
  285. package/esm/store.js +46 -8
  286. package/esm/transfer.d.ts +3 -0
  287. package/esm/transfer.d.ts.map +1 -1
  288. package/esm/transfer.js +20 -30
  289. package/esm/trellis.d.ts +85 -22
  290. package/esm/trellis.d.ts.map +1 -1
  291. package/esm/trellis.js +525 -61
  292. package/package.json +6 -4
  293. package/script/auth/browser/login.d.ts.map +1 -1
  294. package/script/auth/browser/login.js +46 -3
  295. package/script/auth/browser/portal.d.ts.map +1 -1
  296. package/script/auth/browser/portal.js +5 -1
  297. package/script/auth/browser/session.d.ts +18 -7
  298. package/script/auth/browser/session.d.ts.map +1 -1
  299. package/script/auth/browser/session.js +47 -11
  300. package/script/auth/browser/storage.d.ts +6 -1
  301. package/script/auth/browser/storage.d.ts.map +1 -1
  302. package/script/auth/browser/storage.js +15 -3
  303. package/script/auth/browser.d.ts +2 -2
  304. package/script/auth/browser.d.ts.map +1 -1
  305. package/script/auth/browser.js +2 -1
  306. package/script/auth/device_activation.d.ts +36 -33
  307. package/script/auth/device_activation.d.ts.map +1 -1
  308. package/script/auth/device_activation.js +25 -21
  309. package/script/auth/mod.d.ts +4 -4
  310. package/script/auth/mod.d.ts.map +1 -1
  311. package/script/auth/mod.js +132 -137
  312. package/script/auth/proof.d.ts +3 -1
  313. package/script/auth/proof.d.ts.map +1 -1
  314. package/script/auth/proof.js +21 -15
  315. package/script/auth/protocol.d.ts +2457 -941
  316. package/script/auth/protocol.d.ts.map +1 -1
  317. package/script/auth/protocol.js +749 -377
  318. package/script/auth/schemas.d.ts +25 -4
  319. package/script/auth/schemas.d.ts.map +1 -1
  320. package/script/auth/schemas.js +16 -5
  321. package/script/auth/session_auth.d.ts +1 -1
  322. package/script/auth/session_auth.d.ts.map +1 -1
  323. package/script/auth/session_auth.js +7 -1
  324. package/script/client_connect.d.ts +2 -0
  325. package/script/client_connect.d.ts.map +1 -1
  326. package/script/client_connect.js +76 -15
  327. package/script/contract.d.ts +3 -0
  328. package/script/contract.d.ts.map +1 -1
  329. package/script/contract_support/mod.d.ts +422 -43
  330. package/script/contract_support/mod.d.ts.map +1 -1
  331. package/script/contract_support/mod.js +757 -51
  332. package/script/contract_support/protocol.d.ts +20 -5
  333. package/script/contract_support/protocol.d.ts.map +1 -1
  334. package/script/contract_support/protocol.js +20 -11
  335. package/script/contract_support/runtime.d.ts +11 -0
  336. package/script/contract_support/runtime.d.ts.map +1 -1
  337. package/script/contract_support/schema_pointers.d.ts.map +1 -1
  338. package/script/contract_support/schema_pointers.js +32 -14
  339. package/script/device.d.ts +2 -0
  340. package/script/device.d.ts.map +1 -1
  341. package/script/device.js +3 -0
  342. package/script/errors/AuthError.d.ts +2 -1
  343. package/script/errors/AuthError.d.ts.map +1 -1
  344. package/script/errors/AuthError.js +8 -3
  345. package/script/errors/index.d.ts +4 -4
  346. package/script/errors/index.d.ts.map +1 -1
  347. package/script/errors/index.js +1 -0
  348. package/script/generated-sdk/auth/api.d.ts +27 -9
  349. package/script/generated-sdk/auth/api.d.ts.map +1 -1
  350. package/script/generated-sdk/auth/api.js +17 -591
  351. package/script/generated-sdk/auth/client.d.ts +91 -85
  352. package/script/generated-sdk/auth/client.d.ts.map +1 -1
  353. package/script/generated-sdk/auth/contract.d.ts +1 -1
  354. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  355. package/script/generated-sdk/auth/contract.js +4 -2
  356. package/script/generated-sdk/auth/mod.d.ts +1 -0
  357. package/script/generated-sdk/auth/mod.d.ts.map +1 -1
  358. package/script/generated-sdk/auth/owned_api.d.ts +3 -0
  359. package/script/generated-sdk/auth/owned_api.d.ts.map +1 -0
  360. package/script/generated-sdk/auth/owned_api.js +597 -0
  361. package/script/generated-sdk/auth/schemas.d.ts +9959 -5160
  362. package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
  363. package/script/generated-sdk/auth/schemas.js +139 -140
  364. package/script/generated-sdk/auth/types.d.ts +2418 -1557
  365. package/script/generated-sdk/auth/types.d.ts.map +1 -1
  366. package/script/generated-sdk/auth/types.js +1 -1
  367. package/script/generated-sdk/health/api.d.ts +24 -9
  368. package/script/generated-sdk/health/api.d.ts.map +1 -1
  369. package/script/generated-sdk/health/api.js +13 -21
  370. package/script/generated-sdk/health/client.d.ts +2 -1
  371. package/script/generated-sdk/health/client.d.ts.map +1 -1
  372. package/script/generated-sdk/health/contract.d.ts.map +1 -1
  373. package/script/generated-sdk/health/contract.js +2 -0
  374. package/script/generated-sdk/health/owned_api.d.ts +3 -0
  375. package/script/generated-sdk/health/owned_api.d.ts.map +1 -0
  376. package/script/generated-sdk/health/owned_api.js +19 -0
  377. package/script/generated-sdk/health/types.d.ts +2 -0
  378. package/script/generated-sdk/health/types.d.ts.map +1 -1
  379. package/script/generated-sdk/jobs/api.d.ts +33 -9
  380. package/script/generated-sdk/jobs/api.d.ts.map +1 -1
  381. package/script/generated-sdk/jobs/api.js +23 -88
  382. package/script/generated-sdk/jobs/client.d.ts +9 -2
  383. package/script/generated-sdk/jobs/client.d.ts.map +1 -1
  384. package/script/generated-sdk/jobs/contract.d.ts +1 -1
  385. package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
  386. package/script/generated-sdk/jobs/contract.js +4 -2
  387. package/script/generated-sdk/jobs/owned_api.d.ts +3 -0
  388. package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -0
  389. package/script/generated-sdk/jobs/owned_api.js +154 -0
  390. package/script/generated-sdk/jobs/schemas.d.ts +336 -123
  391. package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
  392. package/script/generated-sdk/jobs/schemas.js +18 -16
  393. package/script/generated-sdk/jobs/types.d.ts +144 -34
  394. package/script/generated-sdk/jobs/types.d.ts.map +1 -1
  395. package/script/generated-sdk/jobs/types.js +38 -2
  396. package/script/generated-sdk/state/api.d.ts +27 -9
  397. package/script/generated-sdk/state/api.d.ts.map +1 -1
  398. package/script/generated-sdk/state/api.js +17 -72
  399. package/script/generated-sdk/state/client.d.ts +4 -2
  400. package/script/generated-sdk/state/client.d.ts.map +1 -1
  401. package/script/generated-sdk/state/contract.d.ts +1 -1
  402. package/script/generated-sdk/state/contract.d.ts.map +1 -1
  403. package/script/generated-sdk/state/contract.js +4 -2
  404. package/script/generated-sdk/state/owned_api.d.ts +3 -0
  405. package/script/generated-sdk/state/owned_api.d.ts.map +1 -0
  406. package/script/generated-sdk/state/owned_api.js +69 -0
  407. package/script/generated-sdk/state/schemas.d.ts +264 -284
  408. package/script/generated-sdk/state/schemas.d.ts.map +1 -1
  409. package/script/generated-sdk/state/schemas.js +6 -6
  410. package/script/generated-sdk/state/types.d.ts +24 -23
  411. package/script/generated-sdk/state/types.d.ts.map +1 -1
  412. package/script/generated-sdk/state/types.js +1 -1
  413. package/script/generated-sdk/trellis-core/api.d.ts +27 -9
  414. package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
  415. package/script/generated-sdk/trellis-core/api.js +17 -40
  416. package/script/generated-sdk/trellis-core/client.d.ts +5 -2
  417. package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
  418. package/script/generated-sdk/trellis-core/contract.d.ts +1 -1
  419. package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  420. package/script/generated-sdk/trellis-core/contract.js +4 -2
  421. package/script/generated-sdk/trellis-core/owned_api.d.ts +3 -0
  422. package/script/generated-sdk/trellis-core/owned_api.d.ts.map +1 -0
  423. package/script/generated-sdk/trellis-core/owned_api.js +45 -0
  424. package/script/generated-sdk/trellis-core/schemas.d.ts +259 -11
  425. package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  426. package/script/generated-sdk/trellis-core/schemas.js +6 -4
  427. package/script/generated-sdk/trellis-core/types.d.ts +56 -1
  428. package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
  429. package/script/generated-sdk/trellis-core/types.js +1 -1
  430. package/script/helpers.d.ts.map +1 -1
  431. package/script/index.d.ts +4 -3
  432. package/script/index.d.ts.map +1 -1
  433. package/script/index.js +5 -2
  434. package/script/jobs.d.ts +10 -1
  435. package/script/jobs.d.ts.map +1 -1
  436. package/script/jobs.js +17 -2
  437. package/script/kv.d.ts.map +1 -1
  438. package/script/kv.js +10 -4
  439. package/script/models/auth/rpc/Logout.d.ts +4 -4
  440. package/script/models/auth/rpc/Logout.d.ts.map +1 -1
  441. package/script/models/auth/rpc/Logout.js +3 -3
  442. package/script/models/trellis/Page.d.ts +2 -0
  443. package/script/models/trellis/Page.d.ts.map +1 -0
  444. package/script/models/trellis/Page.js +6 -0
  445. package/script/models/trellis/State.d.ts +1 -0
  446. package/script/models/trellis/State.d.ts.map +1 -1
  447. package/script/models/trellis/State.js +1 -0
  448. package/script/models/trellis/rpc/StateList.d.ts +9 -12
  449. package/script/models/trellis/rpc/StateList.d.ts.map +1 -1
  450. package/script/models/trellis/rpc/StateList.js +16 -18
  451. package/script/npm/src/auth/browser/login.d.ts.map +1 -1
  452. package/script/npm/src/auth/browser/login.js +46 -3
  453. package/script/npm/src/auth/browser/portal.d.ts.map +1 -1
  454. package/script/npm/src/auth/browser/portal.js +5 -1
  455. package/script/npm/src/auth/browser/session.d.ts +18 -7
  456. package/script/npm/src/auth/browser/session.d.ts.map +1 -1
  457. package/script/npm/src/auth/browser/session.js +47 -11
  458. package/script/npm/src/auth/browser/storage.d.ts +6 -1
  459. package/script/npm/src/auth/browser/storage.d.ts.map +1 -1
  460. package/script/npm/src/auth/browser/storage.js +15 -3
  461. package/script/npm/src/auth/browser.d.ts +2 -2
  462. package/script/npm/src/auth/browser.d.ts.map +1 -1
  463. package/script/npm/src/auth/browser.js +2 -1
  464. package/script/npm/src/auth/device_activation.d.ts +36 -33
  465. package/script/npm/src/auth/device_activation.d.ts.map +1 -1
  466. package/script/npm/src/auth/device_activation.js +25 -21
  467. package/script/npm/src/auth/mod.d.ts +4 -4
  468. package/script/npm/src/auth/mod.d.ts.map +1 -1
  469. package/script/npm/src/auth/mod.js +132 -137
  470. package/script/npm/src/auth/proof.d.ts +3 -1
  471. package/script/npm/src/auth/proof.d.ts.map +1 -1
  472. package/script/npm/src/auth/proof.js +21 -15
  473. package/script/npm/src/auth/protocol.d.ts +2457 -941
  474. package/script/npm/src/auth/protocol.d.ts.map +1 -1
  475. package/script/npm/src/auth/protocol.js +749 -377
  476. package/script/npm/src/auth/schemas.d.ts +25 -4
  477. package/script/npm/src/auth/schemas.d.ts.map +1 -1
  478. package/script/npm/src/auth/schemas.js +16 -5
  479. package/script/npm/src/auth/session_auth.d.ts +1 -1
  480. package/script/npm/src/auth/session_auth.d.ts.map +1 -1
  481. package/script/npm/src/auth/session_auth.js +7 -1
  482. package/script/npm/src/client_connect.d.ts +2 -0
  483. package/script/npm/src/client_connect.d.ts.map +1 -1
  484. package/script/npm/src/client_connect.js +76 -15
  485. package/script/npm/src/contract.d.ts +3 -0
  486. package/script/npm/src/contract.d.ts.map +1 -1
  487. package/script/npm/src/contract_support/mod.d.ts +422 -43
  488. package/script/npm/src/contract_support/mod.d.ts.map +1 -1
  489. package/script/npm/src/contract_support/mod.js +757 -51
  490. package/script/npm/src/contract_support/protocol.d.ts +20 -5
  491. package/script/npm/src/contract_support/protocol.d.ts.map +1 -1
  492. package/script/npm/src/contract_support/protocol.js +20 -11
  493. package/script/npm/src/contract_support/runtime.d.ts +11 -0
  494. package/script/npm/src/contract_support/runtime.d.ts.map +1 -1
  495. package/script/npm/src/contract_support/schema_pointers.d.ts.map +1 -1
  496. package/script/npm/src/contract_support/schema_pointers.js +32 -14
  497. package/script/npm/src/device/deno.d.ts.map +1 -1
  498. package/script/npm/src/device/deno.js +6 -0
  499. package/script/npm/src/device.d.ts +2 -0
  500. package/script/npm/src/device.d.ts.map +1 -1
  501. package/script/npm/src/device.js +3 -0
  502. package/script/npm/src/errors/AuthError.d.ts +2 -1
  503. package/script/npm/src/errors/AuthError.d.ts.map +1 -1
  504. package/script/npm/src/errors/AuthError.js +8 -3
  505. package/script/npm/src/errors/index.d.ts +4 -4
  506. package/script/npm/src/errors/index.d.ts.map +1 -1
  507. package/script/npm/src/errors/index.js +1 -0
  508. package/script/npm/src/generate.js +54 -57
  509. package/script/npm/src/helpers.d.ts.map +1 -1
  510. package/script/npm/src/index.d.ts +4 -3
  511. package/script/npm/src/index.d.ts.map +1 -1
  512. package/script/npm/src/index.js +5 -2
  513. package/script/npm/src/jobs.d.ts +10 -1
  514. package/script/npm/src/jobs.d.ts.map +1 -1
  515. package/script/npm/src/jobs.js +17 -2
  516. package/script/npm/src/kv.d.ts.map +1 -1
  517. package/script/npm/src/kv.js +10 -4
  518. package/script/npm/src/models/auth/rpc/Logout.d.ts +4 -4
  519. package/script/npm/src/models/auth/rpc/Logout.d.ts.map +1 -1
  520. package/script/npm/src/models/auth/rpc/Logout.js +3 -3
  521. package/script/npm/src/models/trellis/Page.d.ts +2 -0
  522. package/script/npm/src/models/trellis/Page.d.ts.map +1 -0
  523. package/script/npm/src/models/trellis/Page.js +6 -0
  524. package/script/npm/src/models/trellis/State.d.ts +1 -0
  525. package/script/npm/src/models/trellis/State.d.ts.map +1 -1
  526. package/script/npm/src/models/trellis/State.js +1 -0
  527. package/script/npm/src/models/trellis/rpc/StateList.d.ts +9 -12
  528. package/script/npm/src/models/trellis/rpc/StateList.d.ts.map +1 -1
  529. package/script/npm/src/models/trellis/rpc/StateList.js +16 -18
  530. package/script/npm/src/operations.d.ts +16 -7
  531. package/script/npm/src/operations.d.ts.map +1 -1
  532. package/script/npm/src/operations.js +84 -19
  533. package/script/npm/src/runtime_transport.d.ts +2 -0
  534. package/script/npm/src/runtime_transport.d.ts.map +1 -1
  535. package/script/npm/src/runtime_transport.js +2 -1
  536. package/script/npm/src/server/internal_jobs/active-job.d.ts +2 -1
  537. package/script/npm/src/server/internal_jobs/active-job.d.ts.map +1 -1
  538. package/script/npm/src/server/internal_jobs/active-job.js +3 -0
  539. package/script/npm/src/server/internal_jobs/job-manager.d.ts +4 -1
  540. package/script/npm/src/server/internal_jobs/job-manager.d.ts.map +1 -1
  541. package/script/npm/src/server/internal_jobs/job-manager.js +61 -1
  542. package/script/npm/src/server/internal_jobs/projection.js +1 -0
  543. package/script/npm/src/server/internal_jobs/runtime-worker.d.ts +13 -1
  544. package/script/npm/src/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  545. package/script/npm/src/server/internal_jobs/runtime-worker.js +74 -13
  546. package/script/npm/src/server/internal_jobs/types.d.ts +19 -0
  547. package/script/npm/src/server/internal_jobs/types.d.ts.map +1 -1
  548. package/script/npm/src/server/internal_jobs/types.js +11 -1
  549. package/script/npm/src/server/runtime.d.ts +1 -0
  550. package/script/npm/src/server/runtime.d.ts.map +1 -1
  551. package/script/npm/src/server/service.d.ts +10 -1
  552. package/script/npm/src/server/service.d.ts.map +1 -1
  553. package/script/npm/src/server/service.js +208 -62
  554. package/script/npm/src/server/transfer.d.ts.map +1 -1
  555. package/script/npm/src/server/transfer.js +4 -0
  556. package/script/npm/src/server.d.ts.map +1 -1
  557. package/script/npm/src/server.js +336 -33
  558. package/script/npm/src/store.d.ts +8 -1
  559. package/script/npm/src/store.d.ts.map +1 -1
  560. package/script/npm/src/store.js +46 -8
  561. package/script/npm/src/transfer.d.ts +3 -0
  562. package/script/npm/src/transfer.d.ts.map +1 -1
  563. package/script/npm/src/transfer.js +19 -29
  564. package/script/npm/src/trellis.d.ts +85 -22
  565. package/script/npm/src/trellis.d.ts.map +1 -1
  566. package/script/npm/src/trellis.js +525 -61
  567. package/script/operations.d.ts +16 -7
  568. package/script/operations.d.ts.map +1 -1
  569. package/script/operations.js +84 -19
  570. package/script/runtime_transport.d.ts +2 -0
  571. package/script/runtime_transport.d.ts.map +1 -1
  572. package/script/runtime_transport.js +2 -1
  573. package/script/store.d.ts +8 -1
  574. package/script/store.d.ts.map +1 -1
  575. package/script/store.js +46 -8
  576. package/script/transfer.d.ts +3 -0
  577. package/script/transfer.d.ts.map +1 -1
  578. package/script/transfer.js +19 -29
  579. package/script/trellis.d.ts +85 -22
  580. package/script/trellis.d.ts.map +1 -1
  581. package/script/trellis.js +525 -61
  582. package/src/_dnt.polyfills.ts +274 -0
  583. package/src/_dnt.shims.ts +64 -0
  584. package/src/auth/browser/login.ts +295 -0
  585. package/src/auth/browser/portal.ts +75 -0
  586. package/src/auth/browser/session.ts +197 -0
  587. package/src/auth/browser/storage.ts +105 -0
  588. package/src/auth/browser.ts +82 -0
  589. package/src/auth/device_activation.ts +715 -0
  590. package/src/auth/keys.ts +116 -0
  591. package/src/auth/mod.ts +298 -0
  592. package/src/auth/proof.ts +111 -0
  593. package/src/auth/protocol.ts +1629 -0
  594. package/src/auth/schemas.ts +145 -0
  595. package/src/auth/session_auth.ts +167 -0
  596. package/src/auth/time.ts +15 -0
  597. package/src/auth/trellis_id.ts +9 -0
  598. package/src/auth/types.ts +4 -0
  599. package/src/auth/utils.ts +87 -0
  600. package/src/auth.ts +2 -0
  601. package/src/browser.ts +8 -0
  602. package/src/client.ts +164 -0
  603. package/src/client_connect.ts +1328 -0
  604. package/src/codec.ts +107 -0
  605. package/src/connection.ts +466 -0
  606. package/src/contract.ts +84 -0
  607. package/src/contract_support/canonical.ts +217 -0
  608. package/src/contract_support/mod.ts +5079 -0
  609. package/src/contract_support/protocol.ts +213 -0
  610. package/src/contract_support/runtime.ts +129 -0
  611. package/src/contract_support/schema_pointers.ts +161 -0
  612. package/src/contracts.ts +9 -0
  613. package/src/device/deno.ts +941 -0
  614. package/src/device.ts +989 -0
  615. package/src/env.ts +1 -0
  616. package/src/errors/AuthError.ts +82 -0
  617. package/src/errors/KVError.ts +47 -0
  618. package/src/errors/RemoteError.ts +111 -0
  619. package/src/errors/StoreError.ts +43 -0
  620. package/src/errors/TransferError.ts +43 -0
  621. package/src/errors/TransportError.ts +48 -0
  622. package/src/errors/TrellisError.ts +20 -0
  623. package/src/errors/ValidationError.ts +80 -0
  624. package/src/errors/index.ts +195 -0
  625. package/src/generate.ts +329 -0
  626. package/src/globals.ts +26 -0
  627. package/src/health.ts +28 -0
  628. package/src/helpers.ts +63 -0
  629. package/src/host/mod.ts +9 -0
  630. package/src/host/node.ts +9 -0
  631. package/src/index.ts +233 -0
  632. package/src/jobs.ts +344 -0
  633. package/src/kv.ts +564 -0
  634. package/src/models/auth/rpc/Logout.ts +15 -0
  635. package/src/models/trellis/Page.ts +6 -0
  636. package/src/models/trellis/State.ts +55 -0
  637. package/src/models/trellis/TrellisError.ts +21 -0
  638. package/src/models/trellis/rpc/StateDelete.ts +13 -0
  639. package/src/models/trellis/rpc/StateGet.ts +25 -0
  640. package/src/models/trellis/rpc/StateList.ts +26 -0
  641. package/src/models/trellis/rpc/StatePut.ts +42 -0
  642. package/src/operations.ts +1508 -0
  643. package/src/runtime_transport.ts +132 -0
  644. package/src/sdk/auth.ts +2 -0
  645. package/src/sdk/core.ts +2 -0
  646. package/src/sdk/health.ts +2 -0
  647. package/src/sdk/jobs.ts +2 -0
  648. package/src/sdk/state.ts +2 -0
  649. package/src/server/health.ts +379 -0
  650. package/src/server/health_rpc.ts +51 -0
  651. package/src/server/health_schemas.ts +61 -0
  652. package/src/server/internal_jobs/active-job.ts +115 -0
  653. package/src/server/internal_jobs/bindings.ts +26 -0
  654. package/src/server/internal_jobs/cancellation-registry.ts +71 -0
  655. package/src/server/internal_jobs/heartbeat.ts +120 -0
  656. package/src/server/internal_jobs/job-manager.ts +456 -0
  657. package/src/server/internal_jobs/projection.ts +48 -0
  658. package/src/server/internal_jobs/runtime-worker.ts +741 -0
  659. package/src/server/internal_jobs/types.ts +124 -0
  660. package/src/server/runtime.ts +27 -0
  661. package/src/server/service.ts +2377 -0
  662. package/src/server/subscription.ts +143 -0
  663. package/src/server/transfer.ts +962 -0
  664. package/src/server.ts +1725 -0
  665. package/src/server_logger.ts +10 -0
  666. package/src/service/deno.ts +18 -0
  667. package/src/service/mod.ts +68 -0
  668. package/src/service/node.ts +18 -0
  669. package/src/store.ts +658 -0
  670. package/src/tasks.ts +34 -0
  671. package/src/telemetry/carrier.ts +35 -0
  672. package/src/telemetry/core.ts +31 -0
  673. package/src/telemetry/env.ts +23 -0
  674. package/src/telemetry/mod.ts +26 -0
  675. package/src/telemetry/nats.ts +15 -0
  676. package/src/telemetry/result.ts +20 -0
  677. package/src/telemetry/trace.ts +39 -0
  678. package/src/telemetry/trellis.ts +1 -0
  679. package/src/tracing.ts +28 -0
  680. package/src/transfer.ts +602 -0
  681. package/src/trellis.ts +3650 -0
  682. package/esm/models/trellis/Paginate.d.ts +0 -7
  683. package/esm/models/trellis/Paginate.d.ts.map +0 -1
  684. package/esm/models/trellis/Paginate.js +0 -5
  685. package/esm/npm/src/models/trellis/Paginate.d.ts +0 -7
  686. package/esm/npm/src/models/trellis/Paginate.d.ts.map +0 -1
  687. package/esm/npm/src/models/trellis/Paginate.js +0 -5
  688. package/script/models/trellis/Paginate.d.ts +0 -7
  689. package/script/models/trellis/Paginate.d.ts.map +0 -1
  690. package/script/models/trellis/Paginate.js +0 -11
  691. package/script/npm/src/models/trellis/Paginate.d.ts +0 -7
  692. package/script/npm/src/models/trellis/Paginate.d.ts.map +0 -1
  693. package/script/npm/src/models/trellis/Paginate.js +0 -11
package/src/env.ts ADDED
@@ -0,0 +1 @@
1
+ export { getEnv } from "./telemetry/env.js";
@@ -0,0 +1,82 @@
1
+ import Type, { type Static } from "typebox";
2
+ import { TrellisError } from "./TrellisError.js";
3
+
4
+ export const AuthErrorDataSchema = Type.Object({
5
+ id: Type.String(),
6
+ type: Type.Literal("AuthError"),
7
+ message: Type.String(),
8
+ reason: Type.Union([
9
+ Type.Literal("invalid_request"),
10
+ Type.Literal("missing_session_key"),
11
+ Type.Literal("missing_proof"),
12
+ Type.Literal("session_not_found"),
13
+ Type.Literal("session_expired"),
14
+ Type.Literal("invalid_signature"),
15
+ Type.Literal("user_not_found"),
16
+ Type.Literal("user_already_exists"),
17
+ Type.Literal("username_taken"),
18
+ Type.Literal("identity_already_exists"),
19
+ Type.Literal("identity_not_found"),
20
+ Type.Literal("user_inactive"),
21
+ Type.Literal("unknown_device"),
22
+ Type.Literal("device_deployment_not_found"),
23
+ Type.Literal("device_deployment_disabled"),
24
+ Type.Literal("device_activation_revoked"),
25
+ Type.Literal("unknown_service"),
26
+ Type.Literal("service_disabled"),
27
+ Type.Literal("iat_out_of_range"),
28
+ Type.Literal("invalid_binding_token"),
29
+ Type.Literal("session_corrupted"),
30
+ Type.Literal("session_already_bound"),
31
+ Type.Literal("authtoken_already_used"),
32
+ Type.Literal("oauth_session_key_mismatch"),
33
+ Type.Literal("reply_subject_mismatch"),
34
+ Type.Literal("insufficient_permissions"),
35
+ Type.Literal("reauth_required"),
36
+ Type.Literal("forbidden"),
37
+ Type.Literal("last_admin_required"),
38
+ Type.Literal("missing_flow_id"),
39
+ Type.Literal("device_activation_flow_not_found"),
40
+ Type.Literal("device_activation_flow_expired"),
41
+ Type.Literal("device_activation_rejected"),
42
+ Type.Literal("device_identity_key_mismatch"),
43
+ Type.Literal("invalid_device_qr_mac"),
44
+ ]),
45
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
46
+ traceId: Type.Optional(Type.String()),
47
+ });
48
+ export type AuthErrorData = Static<typeof AuthErrorDataSchema>;
49
+
50
+ /**
51
+ * Error for authentication and authorization failures.
52
+ */
53
+ export class AuthError extends TrellisError<AuthErrorData> {
54
+ override readonly name = "AuthError" as const;
55
+ readonly reason: AuthErrorData["reason"];
56
+
57
+ constructor(
58
+ options: ErrorOptions & {
59
+ reason: AuthErrorData["reason"];
60
+ message?: string;
61
+ context?: Record<string, unknown>;
62
+ id?: string;
63
+ },
64
+ ) {
65
+ const { reason, message, ...baseOptions } = options;
66
+ super(message ?? `Auth failed: ${reason}`, baseOptions);
67
+ this.reason = reason;
68
+ }
69
+
70
+ /**
71
+ * Serializes error to a plain object.
72
+ *
73
+ * @returns Plain object representation of the error
74
+ */
75
+ override toSerializable(): AuthErrorData {
76
+ return {
77
+ ...this.baseSerializable(),
78
+ type: this.name,
79
+ reason: this.reason,
80
+ } as AuthErrorData;
81
+ }
82
+ }
@@ -0,0 +1,47 @@
1
+ import Type, { type Static } from "typebox";
2
+ import { TrellisError } from "./TrellisError.js";
3
+
4
+ export const KVErrorDataSchema = Type.Object({
5
+ id: Type.String(),
6
+ type: Type.Literal("KVError"),
7
+ message: Type.String(),
8
+ operation: Type.Optional(Type.String()),
9
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
10
+ traceId: Type.Optional(Type.String()),
11
+ });
12
+ export type KVErrorData = Static<typeof KVErrorDataSchema>;
13
+
14
+ /**
15
+ * Error for KV storage operations.
16
+ * Used when key-value store operations fail.
17
+ */
18
+ export class KVError extends TrellisError<KVErrorData> {
19
+ override readonly name = "KVError" as const;
20
+ readonly operation?: string;
21
+
22
+ constructor(
23
+ options: ErrorOptions & {
24
+ operation?: string;
25
+ context?: Record<string, unknown>;
26
+ id?: string;
27
+ },
28
+ ) {
29
+ const { operation, ...baseOptions } = options;
30
+ const msg = `KV ${operation || ""} failed`;
31
+ super(msg, baseOptions);
32
+ this.operation = operation;
33
+ }
34
+
35
+ /**
36
+ * Serializes error to a plain object.
37
+ *
38
+ * @returns Plain object representation of the error
39
+ */
40
+ override toSerializable(): KVErrorData {
41
+ return {
42
+ ...this.baseSerializable(),
43
+ type: this.name,
44
+ operation: this.operation,
45
+ } as KVErrorData;
46
+ }
47
+ }
@@ -0,0 +1,111 @@
1
+ import {
2
+ Result,
3
+ type UnexpectedError,
4
+ type UnexpectedErrorData,
5
+ } from "@qlever-llc/result";
6
+ import Type, { type Static } from "typebox";
7
+ import { ParseError, Value } from "typebox/value";
8
+ import type { AuthErrorData } from "./AuthError.js";
9
+ import type { KVErrorData } from "./KVError.js";
10
+ import type { StoreErrorData } from "./StoreError.js";
11
+ import type { TrellisErrorData } from "../models/trellis/TrellisError.js";
12
+ import { TrellisErrorDataSchema } from "../models/trellis/TrellisError.js";
13
+ import type { TransportErrorData } from "./TransportError.js";
14
+ import type { TransferErrorData } from "./TransferError.js";
15
+ import { TrellisError } from "./TrellisError.js";
16
+ import { ValidationError } from "./ValidationError.js";
17
+ import type { ValidationErrorData } from "./ValidationError.js";
18
+
19
+ export const RemoteErrorDataSchema = Type.Object({
20
+ id: Type.String(),
21
+ type: Type.Literal("RemoteError"),
22
+ message: Type.String(),
23
+ remoteError: Type.Any(),
24
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
25
+ traceId: Type.Optional(Type.String()),
26
+ });
27
+ export type RemoteErrorData = Static<typeof RemoteErrorDataSchema>;
28
+
29
+ export type TransportableTrellisErrorData =
30
+ | UnexpectedErrorData
31
+ | AuthErrorData
32
+ | ValidationErrorData
33
+ | KVErrorData
34
+ | StoreErrorData
35
+ | TransportErrorData
36
+ | TransferErrorData
37
+ | TrellisErrorData;
38
+
39
+ /**
40
+ * Error for wrapping errors received from remote Trellis services.
41
+ * This is the only error type with parseJSON/parseObject methods for deserializing remote errors.
42
+ */
43
+ export class RemoteError extends TrellisError<RemoteErrorData> {
44
+ override readonly name = "RemoteError" as const;
45
+ readonly remoteError: TransportableTrellisErrorData;
46
+
47
+ constructor(
48
+ options: ErrorOptions & {
49
+ error: TransportableTrellisErrorData;
50
+ context?: Record<string, unknown>;
51
+ id?: string;
52
+ },
53
+ ) {
54
+ const { error, ...baseOptions } = options;
55
+ super(`Remote error: ${error.message}`, baseOptions);
56
+ this.remoteError = error;
57
+ }
58
+
59
+ /**
60
+ * Serializes error to a plain object.
61
+ *
62
+ * @returns Plain object representation of the error
63
+ */
64
+ override toSerializable(): RemoteErrorData {
65
+ return {
66
+ ...this.baseSerializable(),
67
+ type: this.name,
68
+ remoteError: this.remoteError,
69
+ } as RemoteErrorData;
70
+ }
71
+
72
+ /**
73
+ * Parses and validates a plain object as TrellisErrorData.
74
+ * Use this to deserialize errors received from remote services.
75
+ *
76
+ * @param obj - Plain object to validate
77
+ * @returns Result containing validated TrellisError or a ValidationError or UnexpectedError
78
+ */
79
+ static parse(
80
+ data: unknown,
81
+ ): Result<TransportableTrellisErrorData, ValidationError | UnexpectedError> {
82
+ return Result.try(() => typeof data === "string" ? JSON.parse(data) : data)
83
+ .andThen(
84
+ (
85
+ obj: unknown,
86
+ ): Result<
87
+ TransportableTrellisErrorData,
88
+ ValidationError | UnexpectedError
89
+ > => {
90
+ const parseResult = Result.try(() =>
91
+ Value.Parse(TrellisErrorDataSchema, obj)
92
+ );
93
+ if (parseResult.isErr()) {
94
+ const cause = parseResult.error.cause;
95
+ if (cause instanceof ParseError) {
96
+ const errors = Value.Errors(TrellisErrorDataSchema, obj);
97
+ return Result.err(new ValidationError({ errors, cause }));
98
+ }
99
+ return Result.err(parseResult.error);
100
+ }
101
+ return Result.ok(parseResult.take() as TransportableTrellisErrorData);
102
+ },
103
+ );
104
+ }
105
+
106
+ /**
107
+ * Alias for parse() - parses JSON string or object as TrellisErrorData.
108
+ * @see parse
109
+ */
110
+ static parseJSON = RemoteError.parse;
111
+ }
@@ -0,0 +1,43 @@
1
+ import Type, { type Static } from "typebox";
2
+ import { TrellisError } from "./TrellisError.js";
3
+
4
+ export const StoreErrorDataSchema = Type.Object({
5
+ id: Type.String(),
6
+ type: Type.Literal("StoreError"),
7
+ message: Type.String(),
8
+ operation: Type.Optional(Type.String()),
9
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
10
+ traceId: Type.Optional(Type.String()),
11
+ });
12
+
13
+ export type StoreErrorData = Static<typeof StoreErrorDataSchema>;
14
+
15
+ export class StoreError extends TrellisError<StoreErrorData> {
16
+ override readonly name = "StoreError" as const;
17
+ readonly operation?: string;
18
+
19
+ constructor(
20
+ options: ErrorOptions & {
21
+ operation?: string;
22
+ context?: Record<string, unknown>;
23
+ id?: string;
24
+ },
25
+ ) {
26
+ const { operation, ...baseOptions } = options;
27
+ const message = `Store ${operation || ""} failed`;
28
+ super(message, baseOptions);
29
+ this.operation = operation;
30
+ }
31
+
32
+ override toSerializable(): StoreErrorData {
33
+ const base = this.baseSerializable();
34
+ return {
35
+ id: base.id,
36
+ type: this.name,
37
+ message: base.message,
38
+ ...(this.operation !== undefined ? { operation: this.operation } : {}),
39
+ ...(base.context !== undefined ? { context: base.context } : {}),
40
+ ...(base.traceId !== undefined ? { traceId: base.traceId } : {}),
41
+ };
42
+ }
43
+ }
@@ -0,0 +1,43 @@
1
+ import Type, { type Static } from "typebox";
2
+ import { TrellisError } from "./TrellisError.js";
3
+
4
+ export const TransferErrorDataSchema = Type.Object({
5
+ id: Type.String(),
6
+ type: Type.Literal("TransferError"),
7
+ message: Type.String(),
8
+ operation: Type.Optional(Type.String()),
9
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
10
+ traceId: Type.Optional(Type.String()),
11
+ });
12
+
13
+ export type TransferErrorData = Static<typeof TransferErrorDataSchema>;
14
+
15
+ export class TransferError extends TrellisError<TransferErrorData> {
16
+ override readonly name = "TransferError" as const;
17
+ readonly operation?: string;
18
+
19
+ constructor(
20
+ options: ErrorOptions & {
21
+ operation?: string;
22
+ context?: Record<string, unknown>;
23
+ id?: string;
24
+ },
25
+ ) {
26
+ const { operation, ...baseOptions } = options;
27
+ const message = `Transfer ${operation || "operation"} failed`;
28
+ super(message, baseOptions);
29
+ this.operation = operation;
30
+ }
31
+
32
+ override toSerializable(): TransferErrorData {
33
+ const base = this.baseSerializable();
34
+ return {
35
+ id: base.id,
36
+ type: this.name,
37
+ message: base.message,
38
+ ...(this.operation !== undefined ? { operation: this.operation } : {}),
39
+ ...(base.context !== undefined ? { context: base.context } : {}),
40
+ ...(base.traceId !== undefined ? { traceId: base.traceId } : {}),
41
+ };
42
+ }
43
+ }
@@ -0,0 +1,48 @@
1
+ import Type, { type Static } from "typebox";
2
+ import { TrellisError } from "./TrellisError.js";
3
+
4
+ export const TransportErrorDataSchema = Type.Object({
5
+ id: Type.String(),
6
+ type: Type.Literal("TransportError"),
7
+ message: Type.String(),
8
+ code: Type.String(),
9
+ hint: Type.String(),
10
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
11
+ traceId: Type.Optional(Type.String()),
12
+ });
13
+
14
+ export type TransportErrorData = Static<typeof TransportErrorDataSchema>;
15
+
16
+ /**
17
+ * Error for Trellis runtime transport failures.
18
+ */
19
+ export class TransportError extends TrellisError<TransportErrorData> {
20
+ override readonly name = "TransportError" as const;
21
+ readonly code: string;
22
+ readonly hint: string;
23
+
24
+ constructor(
25
+ options: ErrorOptions & {
26
+ code: string;
27
+ message: string;
28
+ hint: string;
29
+ context?: Record<string, unknown>;
30
+ id?: string;
31
+ traceId?: string;
32
+ },
33
+ ) {
34
+ const { code, message, hint, ...baseOptions } = options;
35
+ super(message, baseOptions);
36
+ this.code = code;
37
+ this.hint = hint;
38
+ }
39
+
40
+ override toSerializable(): TransportErrorData {
41
+ return {
42
+ ...this.baseSerializable(),
43
+ type: this.name,
44
+ code: this.code,
45
+ hint: this.hint,
46
+ };
47
+ }
48
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Base class for all Trellis-specific errors.
3
+ * Extends BaseError and relies on the traceId getter being configured via initTracing.
4
+ */
5
+ import { BaseError, type BaseErrorSchema } from "@qlever-llc/result";
6
+
7
+ /**
8
+ * Abstract base class for Trellis errors.
9
+ * Trellis errors automatically include traceId when initTracing() has been called
10
+ * and a span is active in the current context.
11
+ *
12
+ * The traceId integration is configured by the tracing module's initTracing() function,
13
+ * which sets up BaseError.traceIdGetter to retrieve the traceId from the active span.
14
+ */
15
+ export abstract class TrellisError<
16
+ TData extends BaseErrorSchema = BaseErrorSchema,
17
+ > extends BaseError<TData> {
18
+ // TrellisError inherits getTraceId() from BaseError which uses the static traceIdGetter.
19
+ // The traceIdGetter is configured by initTracing() in the tracing module.
20
+ }
@@ -0,0 +1,80 @@
1
+ import type { TLocalizedValidationError } from "typebox/error";
2
+ import Type, { type Static } from "typebox";
3
+ import { TrellisError } from "./TrellisError.js";
4
+
5
+ export type ValidationErrorInput =
6
+ | TLocalizedValidationError
7
+ | { path: string; message: string };
8
+
9
+ type NormalizedError = { schemaPath: string; message: string };
10
+
11
+ function normalizeError(e: ValidationErrorInput): NormalizedError {
12
+ if ("schemaPath" in e) {
13
+ return { schemaPath: e.schemaPath, message: e.message ?? "Invalid value" };
14
+ }
15
+ return { schemaPath: e.path, message: e.message };
16
+ }
17
+
18
+ /**
19
+ * Schema for validation issue in ValidationError.
20
+ */
21
+ export const ValidationIssueSchema = Type.Object({
22
+ path: Type.String(),
23
+ message: Type.String(),
24
+ });
25
+ export type ValidationIssue = Static<typeof ValidationIssueSchema>;
26
+
27
+ /**
28
+ * Schema for ValidationError serialization.
29
+ */
30
+ export const ValidationErrorDataSchema = Type.Object({
31
+ id: Type.String(),
32
+ type: Type.Literal("ValidationError"),
33
+ message: Type.String(),
34
+ issues: Type.Array(ValidationIssueSchema),
35
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
36
+ traceId: Type.Optional(Type.String()),
37
+ });
38
+ export type ValidationErrorData = Static<typeof ValidationErrorDataSchema>;
39
+
40
+ /**
41
+ * Error for data validation failures.
42
+ * Includes schema validation and missing required data.
43
+ */
44
+ export class ValidationError extends TrellisError<ValidationErrorData> {
45
+ override readonly name = "ValidationError" as const;
46
+ readonly #normalizedErrors: Array<NormalizedError>;
47
+
48
+ constructor(
49
+ options: ErrorOptions & {
50
+ errors: Iterable<ValidationErrorInput>;
51
+ context?: Record<string, unknown>;
52
+ id?: string;
53
+ },
54
+ ) {
55
+ const { errors: rawErrors, ...baseOptions } = options;
56
+ const errors = [...rawErrors].map(normalizeError);
57
+ const msg = errors
58
+ .map((e) => `Validation failed. ${e.schemaPath}: ${e.message}.`)
59
+ .join("\n");
60
+ super(msg.length ? msg : "Data validation failed.", baseOptions);
61
+ this.#normalizedErrors = errors;
62
+ }
63
+
64
+ /**
65
+ * Serializes error to a plain object.
66
+ * Transforms internal errors array to issues array for serialization.
67
+ *
68
+ * @returns Plain object representation of the error
69
+ */
70
+ override toSerializable(): ValidationErrorData {
71
+ return {
72
+ ...this.baseSerializable(),
73
+ type: this.name,
74
+ issues: this.#normalizedErrors.map((e) => ({
75
+ path: e.schemaPath,
76
+ message: e.message,
77
+ })),
78
+ } as ValidationErrorData;
79
+ }
80
+ }
@@ -0,0 +1,195 @@
1
+ import "../_dnt.polyfills.js";
2
+ import {
3
+ UnexpectedError,
4
+ type UnexpectedErrorData,
5
+ UnexpectedErrorDataSchema,
6
+ } from "@qlever-llc/result";
7
+ import { schema } from "../contract_support/mod.js";
8
+ import { AuthError } from "./AuthError.js";
9
+ import type { AuthErrorData } from "./AuthError.js";
10
+ import { AuthErrorDataSchema } from "./AuthError.js";
11
+ import { ValidationError } from "./ValidationError.js";
12
+ import type { ValidationErrorData } from "./ValidationError.js";
13
+ import { ValidationErrorDataSchema } from "./ValidationError.js";
14
+ import { RemoteError } from "./RemoteError.js";
15
+ import { KVError } from "./KVError.js";
16
+ import type { KVErrorData } from "./KVError.js";
17
+ import { KVErrorDataSchema } from "./KVError.js";
18
+ import { StoreError } from "./StoreError.js";
19
+ import type { StoreErrorData } from "./StoreError.js";
20
+ import { StoreErrorDataSchema } from "./StoreError.js";
21
+ import { TransportError } from "./TransportError.js";
22
+ import type { TransportErrorData } from "./TransportError.js";
23
+ import { TransportErrorDataSchema } from "./TransportError.js";
24
+ import { TransferError } from "./TransferError.js";
25
+ import type { TransferErrorData } from "./TransferError.js";
26
+ import { TransferErrorDataSchema } from "./TransferError.js";
27
+
28
+ type RuntimeRpcErrorDesc = {
29
+ type: string;
30
+ schema?: unknown;
31
+ fromSerializable(data: unknown): Error;
32
+ };
33
+
34
+ export { UnexpectedError } from "@qlever-llc/result";
35
+ export { TrellisError } from "./TrellisError.js";
36
+ export { AuthError } from "./AuthError.js";
37
+ export { ValidationError } from "./ValidationError.js";
38
+ export { RemoteError } from "./RemoteError.js";
39
+ export { KVError } from "./KVError.js";
40
+ export { StoreError } from "./StoreError.js";
41
+ export { TransportError } from "./TransportError.js";
42
+ export { TransferError } from "./TransferError.js";
43
+
44
+ export { type AuthErrorData, AuthErrorDataSchema } from "./AuthError.js";
45
+ export {
46
+ type ValidationErrorData,
47
+ ValidationErrorDataSchema,
48
+ type ValidationIssue,
49
+ ValidationIssueSchema,
50
+ } from "./ValidationError.js";
51
+ export { type RemoteErrorData, RemoteErrorDataSchema } from "./RemoteError.js";
52
+ export { type KVErrorData, KVErrorDataSchema } from "./KVError.js";
53
+ export { type StoreErrorData, StoreErrorDataSchema } from "./StoreError.js";
54
+ export {
55
+ type TransportErrorData,
56
+ TransportErrorDataSchema,
57
+ } from "./TransportError.js";
58
+ export {
59
+ type TransferErrorData,
60
+ TransferErrorDataSchema,
61
+ } from "./TransferError.js";
62
+
63
+ /**
64
+ * Single source of truth for all Trellis errors.
65
+ * This object is used for compile-time type inference.
66
+ */
67
+ const TRANSPORTABLE_TRELLIS_ERRORS = {
68
+ UnexpectedError,
69
+ TransportError,
70
+ AuthError,
71
+ ValidationError,
72
+ KVError,
73
+ StoreError,
74
+ TransferError,
75
+ } as const;
76
+
77
+ const TRELLIS_ERRORS = {
78
+ ...TRANSPORTABLE_TRELLIS_ERRORS,
79
+ RemoteError,
80
+ } as const;
81
+
82
+ /**
83
+ * Compile-time mapping from error names to their instance types.
84
+ * Derived from TRELLIS_ERRORS to ensure types stay in sync with runtime.
85
+ */
86
+ export type TrellisErrorMap = {
87
+ [K in keyof typeof TRELLIS_ERRORS]: InstanceType<(typeof TRELLIS_ERRORS)[K]>;
88
+ };
89
+
90
+ export type TransportableTrellisErrorMap = {
91
+ [K in keyof typeof TRANSPORTABLE_TRELLIS_ERRORS]: InstanceType<
92
+ (typeof TRANSPORTABLE_TRELLIS_ERRORS)[K]
93
+ >;
94
+ };
95
+
96
+ export type TrellisErrorName = keyof TransportableTrellisErrorMap;
97
+ export type TrellisErrorInstance = TrellisErrorMap[TrellisErrorName];
98
+ export type MapErrorNamesToTypes<T extends readonly TrellisErrorName[]> = {
99
+ [K in keyof T]: T[K] extends TrellisErrorName
100
+ ? TransportableTrellisErrorMap[T[K]]
101
+ : never;
102
+ }[number];
103
+
104
+ export const BUILTIN_RPC_ERRORS = {
105
+ UnexpectedError: {
106
+ type: "UnexpectedError",
107
+ schema: schema<UnexpectedErrorData>(UnexpectedErrorDataSchema),
108
+ fromSerializable(data: UnexpectedErrorData) {
109
+ return new UnexpectedError({
110
+ id: data.id,
111
+ context: data.context,
112
+ traceId: data.traceId,
113
+ });
114
+ },
115
+ },
116
+ AuthError: {
117
+ type: "AuthError",
118
+ schema: schema<AuthErrorData>(AuthErrorDataSchema),
119
+ fromSerializable(data: AuthErrorData) {
120
+ return new AuthError({
121
+ reason: data.reason,
122
+ message: data.message,
123
+ id: data.id,
124
+ context: data.context,
125
+ });
126
+ },
127
+ },
128
+ TransportError: {
129
+ type: "TransportError",
130
+ schema: schema<TransportErrorData>(TransportErrorDataSchema),
131
+ fromSerializable(data: TransportErrorData) {
132
+ return new TransportError({
133
+ code: data.code,
134
+ message: data.message,
135
+ hint: data.hint,
136
+ id: data.id,
137
+ context: data.context,
138
+ traceId: data.traceId,
139
+ });
140
+ },
141
+ },
142
+ ValidationError: {
143
+ type: "ValidationError",
144
+ schema: schema<ValidationErrorData>(ValidationErrorDataSchema),
145
+ fromSerializable(data: ValidationErrorData) {
146
+ return new ValidationError({
147
+ errors: data.issues.map((issue) => ({
148
+ path: issue.path,
149
+ message: issue.message,
150
+ })),
151
+ id: data.id,
152
+ context: data.context,
153
+ });
154
+ },
155
+ },
156
+ KVError: {
157
+ type: "KVError",
158
+ schema: schema<KVErrorData>(KVErrorDataSchema),
159
+ fromSerializable(data: KVErrorData) {
160
+ return new KVError({
161
+ operation: data.operation,
162
+ id: data.id,
163
+ context: data.context,
164
+ });
165
+ },
166
+ },
167
+ StoreError: {
168
+ type: "StoreError",
169
+ schema: schema<StoreErrorData>(StoreErrorDataSchema),
170
+ fromSerializable(data: StoreErrorData) {
171
+ return new StoreError({
172
+ operation: data.operation,
173
+ id: data.id,
174
+ context: data.context,
175
+ });
176
+ },
177
+ },
178
+ TransferError: {
179
+ type: "TransferError",
180
+ schema: schema<TransferErrorData>(TransferErrorDataSchema),
181
+ fromSerializable(data: TransferErrorData) {
182
+ return new TransferError({
183
+ operation: data.operation,
184
+ id: data.id,
185
+ context: data.context,
186
+ });
187
+ },
188
+ },
189
+ } as const satisfies Record<string, RuntimeRpcErrorDesc>;
190
+
191
+ export function getBuiltinRpcError(
192
+ type: string,
193
+ ): RuntimeRpcErrorDesc | undefined {
194
+ return BUILTIN_RPC_ERRORS[type as keyof typeof BUILTIN_RPC_ERRORS];
195
+ }