@qlever-llc/trellis 0.8.4 → 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 +0 -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 +39 -26
  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 -3
  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 +39 -59
  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/codec.ts ADDED
@@ -0,0 +1,107 @@
1
+ import {
2
+ type InferSchemaType,
3
+ type SchemaLike,
4
+ unwrapSchema,
5
+ } from "./contracts.js";
6
+ import { Result } from "@qlever-llc/result";
7
+ import type { StaticDecode, TSchema } from "typebox";
8
+ import { EncodeError, ParseError, Value } from "typebox/value";
9
+ import { UnexpectedError, ValidationError } from "./errors/index.js";
10
+
11
+ export type JsonValue =
12
+ | string
13
+ | number
14
+ | boolean
15
+ | null
16
+ | JsonValue[]
17
+ | {
18
+ [key: string]: JsonValue;
19
+ };
20
+
21
+ function parseWithSchema(schema: TSchema, data: JsonValue): unknown {
22
+ return Value.Parse(schema, data);
23
+ }
24
+
25
+ function encodeWithSchema(schema: TSchema, data: unknown): string {
26
+ return JSON.stringify(Value.Encode(schema, data));
27
+ }
28
+
29
+ export function parse<T extends TSchema>(
30
+ schema: T,
31
+ data: JsonValue,
32
+ ): Result<StaticDecode<T>, ValidationError | UnexpectedError> {
33
+ try {
34
+ return Result.ok(parseWithSchema(schema, data) as StaticDecode<T>);
35
+ } catch (cause) {
36
+ if (cause instanceof ParseError) {
37
+ const errors = Value.Errors(schema, data);
38
+ return Result.err(new ValidationError({ errors, cause }));
39
+ }
40
+ return Result.err(new UnexpectedError({ cause }));
41
+ }
42
+ }
43
+
44
+ export function parseSchema<S extends SchemaLike>(
45
+ schema: S,
46
+ data: JsonValue,
47
+ ): Result<InferSchemaType<S>, ValidationError | UnexpectedError> {
48
+ const raw = unwrapSchema(schema);
49
+ try {
50
+ return Result.ok(
51
+ parseWithSchema(raw as TSchema, data) as InferSchemaType<S>,
52
+ );
53
+ } catch (cause) {
54
+ if (cause instanceof ParseError) {
55
+ const errors = Value.Errors(raw as TSchema, data);
56
+ return Result.err(new ValidationError({ errors, cause }));
57
+ }
58
+ return Result.err(new UnexpectedError({ cause }));
59
+ }
60
+ }
61
+
62
+ export function parseUnknownSchema(
63
+ schema: SchemaLike,
64
+ data: JsonValue,
65
+ ): Result<unknown, ValidationError | UnexpectedError> {
66
+ const raw = unwrapSchema(schema);
67
+ try {
68
+ return Result.ok(parseWithSchema(raw as TSchema, data));
69
+ } catch (cause) {
70
+ if (cause instanceof ParseError) {
71
+ const errors = Value.Errors(raw as TSchema, data);
72
+ return Result.err(new ValidationError({ errors, cause }));
73
+ }
74
+ return Result.err(new UnexpectedError({ cause }));
75
+ }
76
+ }
77
+
78
+ export function encode<T extends TSchema>(
79
+ schema: T,
80
+ data: unknown,
81
+ ): Result<string, ValidationError | UnexpectedError> {
82
+ try {
83
+ return Result.ok(encodeWithSchema(schema, data));
84
+ } catch (cause) {
85
+ if (cause instanceof EncodeError) {
86
+ const errors = Value.Errors(schema, data);
87
+ return Result.err(new ValidationError({ errors, cause }));
88
+ }
89
+ return Result.err(new UnexpectedError({ cause }));
90
+ }
91
+ }
92
+
93
+ export function encodeSchema(
94
+ schema: SchemaLike,
95
+ data: unknown,
96
+ ): Result<string, ValidationError | UnexpectedError> {
97
+ const raw = unwrapSchema(schema);
98
+ try {
99
+ return Result.ok(encodeWithSchema(raw as TSchema, data));
100
+ } catch (cause) {
101
+ if (cause instanceof EncodeError) {
102
+ const errors = Value.Errors(raw as TSchema, data);
103
+ return Result.err(new ValidationError({ errors, cause }));
104
+ }
105
+ return Result.err(new UnexpectedError({ cause }));
106
+ }
107
+ }
@@ -0,0 +1,466 @@
1
+ import type { NatsConnection } from "@nats-io/nats-core";
2
+ import { logger as noopLogger, type LoggerLike } from "./globals.js";
3
+
4
+ /** Identifies the Trellis runtime that owns a connection. */
5
+ export type TrellisConnectionKind = "client" | "device" | "service";
6
+
7
+ /** Framework-neutral lifecycle phase for an observed Trellis transport. */
8
+ export type TrellisConnectionPhase =
9
+ | "connected"
10
+ | "disconnected"
11
+ | "reconnecting"
12
+ | "error"
13
+ | "closed";
14
+
15
+ /** Diagnostic metadata copied from the underlying transport without exposing raw handles. */
16
+ export type TrellisConnectionTransportMetadata = {
17
+ readonly name?: string;
18
+ readonly event?: string;
19
+ readonly server?: string;
20
+ readonly data?: unknown;
21
+ readonly error?: unknown;
22
+ };
23
+
24
+ /** Current framework-neutral connection status. */
25
+ export type TrellisConnectionStatus = {
26
+ readonly kind: TrellisConnectionKind;
27
+ readonly phase: TrellisConnectionPhase;
28
+ readonly observedAt: Date;
29
+ readonly transport?: TrellisConnectionTransportMetadata;
30
+ };
31
+
32
+ /** Receives connection status changes. */
33
+ export type TrellisConnectionStatusListener = (
34
+ status: TrellisConnectionStatus,
35
+ ) => void;
36
+
37
+ /** Narrow transport shape used by Trellis connection lifecycle observation. */
38
+ export type TrellisConnectionStatusTransport = {
39
+ status?: () => AsyncIterable<unknown>;
40
+ closed: () => Promise<void | Error>;
41
+ close: () => Promise<void>;
42
+ isClosed?: () => boolean;
43
+ getServer?: () => string | undefined;
44
+ };
45
+
46
+ /** Options for constructing a manually controlled Trellis connection lifecycle. */
47
+ export type TrellisConnectionOptions = {
48
+ kind: TrellisConnectionKind;
49
+ initialStatus?: TrellisConnectionStatus;
50
+ close?: () => Promise<void>;
51
+ stopObserving?: () => void;
52
+ log?: LoggerLike | false;
53
+ };
54
+
55
+ /** Options for observing a transport-backed Trellis connection lifecycle. */
56
+ export type ObserveTrellisConnectionOptions = {
57
+ kind: TrellisConnectionKind;
58
+ transport: TrellisConnectionStatusTransport;
59
+ transportName?: string;
60
+ log?: LoggerLike | false;
61
+ lifecycleLog?: TrellisConnectionLifecycleLogOptions;
62
+ };
63
+
64
+ /** Options for observing a NATS-backed Trellis connection lifecycle. */
65
+ export type ObserveNatsTrellisConnectionOptions = {
66
+ kind: TrellisConnectionKind;
67
+ nc: NatsConnection;
68
+ log?: LoggerLike | false;
69
+ lifecycleLog?: TrellisConnectionLifecycleLogOptions;
70
+ };
71
+
72
+ /** Options for logging transport lifecycle events with Trellis runtime context. */
73
+ export type TrellisConnectionLifecycleLogOptions = {
74
+ log: LoggerLike;
75
+ context: Record<string, unknown>;
76
+ };
77
+
78
+ /**
79
+ * Framework-neutral Trellis connection lifecycle handle.
80
+ *
81
+ * The class stores the latest transport-neutral status, delivers it immediately
82
+ * to subscribers, and owns lifecycle cleanup without exposing raw transport
83
+ * handles to framework adapters.
84
+ */
85
+ export class TrellisConnection {
86
+ #status: TrellisConnectionStatus;
87
+ #listeners = new Set<TrellisConnectionStatusListener>();
88
+ #closeTransport: () => Promise<void>;
89
+ #stopObserving: () => void;
90
+ #log: LoggerLike;
91
+ #stopped = false;
92
+
93
+ /** Creates a Trellis connection lifecycle handle. */
94
+ constructor(options: TrellisConnectionOptions) {
95
+ this.#status = options.initialStatus ??
96
+ createStatus(options.kind, "connected");
97
+ this.#closeTransport = options.close ?? (async () => {});
98
+ this.#stopObserving = options.stopObserving ?? (() => {});
99
+ this.#log = options.log === false ? noopLogger : options.log ?? noopLogger;
100
+ }
101
+
102
+ /** Returns the latest observed connection status. */
103
+ get status(): TrellisConnectionStatus {
104
+ return this.#status;
105
+ }
106
+
107
+ /**
108
+ * Subscribes to status changes and immediately delivers the current status.
109
+ *
110
+ * The returned function removes the listener. Calling it more than once is
111
+ * safe.
112
+ */
113
+ subscribe(listener: TrellisConnectionStatusListener): () => void {
114
+ this.#listeners.add(listener);
115
+ listener(this.#status);
116
+
117
+ return () => {
118
+ this.#listeners.delete(listener);
119
+ };
120
+ }
121
+
122
+ /** Stops status observation without closing the underlying transport. */
123
+ stopObserving(): void {
124
+ if (this.#stopped) {
125
+ return;
126
+ }
127
+
128
+ this.#stopped = true;
129
+ this.#stopObserving();
130
+ }
131
+
132
+ /** Closes the underlying transport and publishes a terminal closed status. */
133
+ async close(): Promise<void> {
134
+ this.stopObserving();
135
+ try {
136
+ await this.#closeTransport();
137
+ this.setStatus(createStatus(this.#status.kind, "closed"));
138
+ } catch (error) {
139
+ this.setStatus(createStatus(this.#status.kind, "error", { error }));
140
+ throw error;
141
+ }
142
+ }
143
+
144
+ /** Publishes a new status to all active listeners. */
145
+ setStatus(status: TrellisConnectionStatus): void {
146
+ if (
147
+ this.#stopped && status.phase !== "closed" && status.phase !== "error"
148
+ ) {
149
+ return;
150
+ }
151
+
152
+ this.#status = status;
153
+ this.#log.debug(
154
+ {
155
+ kind: status.kind,
156
+ phase: status.phase,
157
+ transport: status.transport,
158
+ },
159
+ "Trellis connection status changed",
160
+ );
161
+
162
+ for (const listener of this.#listeners) {
163
+ listener(status);
164
+ }
165
+ }
166
+ }
167
+
168
+ /** Observes a narrow transport status stream as a Trellis connection lifecycle. */
169
+ export function observeTrellisConnection(
170
+ options: ObserveTrellisConnectionOptions,
171
+ ): TrellisConnection {
172
+ let stopped = false;
173
+ const connection = new TrellisConnection({
174
+ kind: options.kind,
175
+ close: () => options.transport.close(),
176
+ stopObserving: () => {
177
+ stopped = true;
178
+ },
179
+ log: options.log,
180
+ });
181
+
182
+ const baseTransport = createTransportMetadata(
183
+ options.transport,
184
+ options.transportName,
185
+ );
186
+
187
+ const statusStream = options.transport.status;
188
+ if (typeof statusStream === "function") {
189
+ void (async () => {
190
+ try {
191
+ for await (const event of statusStream.call(options.transport)) {
192
+ if (stopped) {
193
+ return;
194
+ }
195
+
196
+ const status = statusFromTransportEvent(
197
+ options.kind,
198
+ event,
199
+ baseTransport,
200
+ );
201
+ if (status) {
202
+ logTransportLifecycleEvent(options, event);
203
+ connection.setStatus(status);
204
+ }
205
+ }
206
+ } catch (error) {
207
+ if (!stopped) {
208
+ logTransportStatusWatcherFailure(options, error);
209
+ connection.setStatus(createStatus(options.kind, "error", {
210
+ ...baseTransport,
211
+ error,
212
+ }));
213
+ }
214
+ }
215
+ })();
216
+ }
217
+
218
+ void options.transport.closed().then((closedError) => {
219
+ if (stopped) {
220
+ return;
221
+ }
222
+
223
+ if (closedError instanceof Error) {
224
+ logTransportClosed(options, closedError);
225
+ connection.setStatus(createStatus(options.kind, "error", {
226
+ ...baseTransport,
227
+ error: closedError,
228
+ }));
229
+ return;
230
+ }
231
+
232
+ logTransportClosed(options);
233
+ connection.setStatus(createStatus(options.kind, "closed", baseTransport));
234
+ });
235
+
236
+ return connection;
237
+ }
238
+
239
+ /** Observes a NATS connection without exposing the raw NATS handle publicly. */
240
+ export function observeNatsTrellisConnection(
241
+ options: ObserveNatsTrellisConnectionOptions,
242
+ ): TrellisConnection {
243
+ return observeTrellisConnection({
244
+ kind: options.kind,
245
+ transport: options.nc,
246
+ transportName: "nats",
247
+ log: options.log,
248
+ lifecycleLog: options.lifecycleLog,
249
+ });
250
+ }
251
+
252
+ function lifecycleLabel(kind: TrellisConnectionKind): string {
253
+ switch (kind) {
254
+ case "client":
255
+ return "Client";
256
+ case "device":
257
+ return "Device";
258
+ case "service":
259
+ return "Service";
260
+ }
261
+ }
262
+
263
+ function normalizeTransportError(error: Error): Record<string, unknown> {
264
+ const record = error as Error & {
265
+ operation?: unknown;
266
+ subject?: unknown;
267
+ queue?: unknown;
268
+ };
269
+
270
+ return {
271
+ name: error.name,
272
+ message: error.message,
273
+ ...(typeof record.operation === "string"
274
+ ? { operation: record.operation }
275
+ : {}),
276
+ ...(typeof record.subject === "string" ? { subject: record.subject } : {}),
277
+ ...(typeof record.queue === "string" ? { queue: record.queue } : {}),
278
+ };
279
+ }
280
+
281
+ function normalizeTransportStatus(status: unknown): Record<string, unknown> {
282
+ if (!status || typeof status !== "object") {
283
+ return { status };
284
+ }
285
+
286
+ const record = status as Record<string, unknown>;
287
+ return {
288
+ ...(typeof record.type === "string" ? { type: record.type } : {}),
289
+ ...(record.error instanceof Error
290
+ ? { error: normalizeTransportError(record.error) }
291
+ : {}),
292
+ ...(typeof record.data === "string" ? { data: record.data } : {}),
293
+ ...(record.data && typeof record.data === "object"
294
+ ? { data: record.data }
295
+ : {}),
296
+ };
297
+ }
298
+
299
+ function getNatsLifecycleLog(kind: TrellisConnectionKind, event: unknown): {
300
+ level: "info" | "warn" | "error";
301
+ message: string;
302
+ } | null {
303
+ if (!event || typeof event !== "object") {
304
+ return null;
305
+ }
306
+
307
+ const label = lifecycleLabel(kind);
308
+ switch ((event as { type?: unknown }).type) {
309
+ case "disconnect":
310
+ return { level: "warn", message: `${label} disconnected from NATS` };
311
+ case "reconnecting":
312
+ return { level: "warn", message: `${label} attempting NATS reconnect` };
313
+ case "forceReconnect":
314
+ return { level: "warn", message: `${label} forcing NATS reconnect` };
315
+ case "reconnect":
316
+ return { level: "info", message: `${label} reconnected to NATS` };
317
+ case "staleConnection":
318
+ return {
319
+ level: "warn",
320
+ message: `${label} NATS connection became stale`,
321
+ };
322
+ case "error":
323
+ return { level: "error", message: `${label} NATS error` };
324
+ default:
325
+ return null;
326
+ }
327
+ }
328
+
329
+ function logTransportLifecycleEvent(
330
+ options: ObserveTrellisConnectionOptions,
331
+ event: unknown,
332
+ ): void {
333
+ if (!options.lifecycleLog) {
334
+ return;
335
+ }
336
+
337
+ const lifecycleLog = getNatsLifecycleLog(options.kind, event);
338
+ if (!lifecycleLog) {
339
+ return;
340
+ }
341
+
342
+ options.lifecycleLog.log[lifecycleLog.level](
343
+ {
344
+ ...options.lifecycleLog.context,
345
+ connection: normalizeTransportStatus(event),
346
+ },
347
+ lifecycleLog.message,
348
+ );
349
+ }
350
+
351
+ function logTransportStatusWatcherFailure(
352
+ options: ObserveTrellisConnectionOptions,
353
+ error: unknown,
354
+ ): void {
355
+ if (!options.lifecycleLog) {
356
+ return;
357
+ }
358
+
359
+ options.lifecycleLog.log.warn(
360
+ { ...options.lifecycleLog.context, error },
361
+ `${lifecycleLabel(options.kind)} NATS status watcher failed`,
362
+ );
363
+ }
364
+
365
+ function logTransportClosed(
366
+ options: ObserveTrellisConnectionOptions,
367
+ error?: Error,
368
+ ): void {
369
+ if (!options.lifecycleLog) {
370
+ return;
371
+ }
372
+
373
+ const label = lifecycleLabel(options.kind);
374
+ if (error) {
375
+ options.lifecycleLog.log.error(
376
+ { ...options.lifecycleLog.context, error },
377
+ `${label} NATS connection closed with error`,
378
+ );
379
+ return;
380
+ }
381
+
382
+ options.lifecycleLog.log.warn(
383
+ options.lifecycleLog.context,
384
+ `${label} NATS connection closed`,
385
+ );
386
+ }
387
+
388
+ function createStatus(
389
+ kind: TrellisConnectionKind,
390
+ phase: TrellisConnectionPhase,
391
+ transport?: TrellisConnectionTransportMetadata,
392
+ ): TrellisConnectionStatus {
393
+ return {
394
+ kind,
395
+ phase,
396
+ observedAt: new Date(),
397
+ ...(transport ? { transport } : {}),
398
+ };
399
+ }
400
+
401
+ function createTransportMetadata(
402
+ transport: TrellisConnectionStatusTransport,
403
+ name?: string,
404
+ ): TrellisConnectionTransportMetadata {
405
+ return {
406
+ ...(name ? { name } : {}),
407
+ ...(typeof transport.getServer === "function"
408
+ ? { server: transport.getServer() }
409
+ : {}),
410
+ };
411
+ }
412
+
413
+ function statusFromTransportEvent(
414
+ kind: TrellisConnectionKind,
415
+ event: unknown,
416
+ baseTransport: TrellisConnectionTransportMetadata,
417
+ ): TrellisConnectionStatus | null {
418
+ const transportEvent = normalizeTransportEvent(event);
419
+ if (!transportEvent.type) {
420
+ return null;
421
+ }
422
+
423
+ const transport = {
424
+ ...baseTransport,
425
+ event: transportEvent.type,
426
+ ...(transportEvent.data === undefined ? {} : { data: transportEvent.data }),
427
+ ...(transportEvent.error === undefined
428
+ ? {}
429
+ : { error: transportEvent.error }),
430
+ };
431
+
432
+ switch (transportEvent.type) {
433
+ case "disconnect":
434
+ case "disconnected":
435
+ return createStatus(kind, "disconnected", transport);
436
+ case "reconnecting":
437
+ case "forceReconnect":
438
+ case "staleConnection":
439
+ return createStatus(kind, "reconnecting", transport);
440
+ case "reconnect":
441
+ return createStatus(kind, "connected", transport);
442
+ case "error":
443
+ return createStatus(kind, "error", transport);
444
+ case "closed":
445
+ return createStatus(kind, "closed", transport);
446
+ default:
447
+ return null;
448
+ }
449
+ }
450
+
451
+ function normalizeTransportEvent(event: unknown): {
452
+ type?: string;
453
+ data?: unknown;
454
+ error?: unknown;
455
+ } {
456
+ if (!event || typeof event !== "object") {
457
+ return {};
458
+ }
459
+
460
+ const record = event as Record<string, unknown>;
461
+ return {
462
+ ...(typeof record.type === "string" ? { type: record.type } : {}),
463
+ ...("data" in record ? { data: record.data } : {}),
464
+ ...("error" in record ? { error: record.error } : {}),
465
+ };
466
+ }
@@ -0,0 +1,84 @@
1
+ import {
2
+ type ContractApiViews,
3
+ type ContractDependencyUse,
4
+ type ContractExports,
5
+ type ContractJobsMetadata,
6
+ type ContractModule,
7
+ type ContractState,
8
+ type ContractStateKind,
9
+ type ContractStateMetadata,
10
+ type ContractStateStore,
11
+ type ContractUseFn,
12
+ type DefineContractInput,
13
+ type DefinedContract as BaseDefinedContract,
14
+ type EmptyApi,
15
+ type SdkContractModule,
16
+ type TrellisApiLike,
17
+ type TrellisContractV1,
18
+ type UseSpec,
19
+ } from "./contract_support/mod.js";
20
+
21
+ // Keep this module browser-safe.
22
+ //
23
+ // `js/apps/*` and other callers build contracts from `@qlever-llc/trellis/contracts`, and those
24
+ // apps need to build inside a clean OCI build stage. If this file reaches into
25
+ // `../server/*`, Vite pulls Deno-only NATS transports into browser bundles and the
26
+ // container build stops being reproducible. Server-specific helpers therefore live
27
+ // in `@qlever-llc/trellis/service` and are wired explicitly by service code.
28
+ export type DefinedContract<
29
+ TOwnedApi extends {
30
+ rpc: Record<string, unknown>;
31
+ operations: Record<string, unknown>;
32
+ events: Record<string, unknown>;
33
+ feeds?: Record<string, unknown>;
34
+ subjects: Record<string, unknown>;
35
+ },
36
+ TUsedApi extends {
37
+ rpc: Record<string, unknown>;
38
+ operations: Record<string, unknown>;
39
+ events: Record<string, unknown>;
40
+ feeds?: Record<string, unknown>;
41
+ subjects: Record<string, unknown>;
42
+ },
43
+ TTrellisApi extends {
44
+ rpc: Record<string, unknown>;
45
+ operations: Record<string, unknown>;
46
+ events: Record<string, unknown>;
47
+ feeds?: Record<string, unknown>;
48
+ subjects: Record<string, unknown>;
49
+ },
50
+ TContractId extends string = string,
51
+ TJobs extends ContractJobsMetadata = {},
52
+ TState extends ContractStateMetadata = {},
53
+ > = BaseDefinedContract<
54
+ TOwnedApi,
55
+ TUsedApi,
56
+ TTrellisApi,
57
+ TContractId,
58
+ TJobs,
59
+ TState
60
+ >;
61
+
62
+ export {
63
+ defineAgentContract,
64
+ defineAppContract,
65
+ defineDeviceContract,
66
+ defineServiceContract,
67
+ } from "./contract_support/mod.js";
68
+
69
+ export type {
70
+ ContractApiViews,
71
+ ContractDependencyUse,
72
+ ContractExports,
73
+ ContractModule,
74
+ ContractState,
75
+ ContractStateKind,
76
+ ContractStateStore,
77
+ ContractUseFn,
78
+ DefineContractInput,
79
+ EmptyApi,
80
+ SdkContractModule,
81
+ TrellisApiLike,
82
+ TrellisContractV1,
83
+ UseSpec,
84
+ };