@qlever-llc/trellis 0.6.0 → 0.7.0-rc.2

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 (254) hide show
  1. package/README.md +6 -2
  2. package/esm/auth/device_activation.d.ts +194 -0
  3. package/esm/auth/device_activation.d.ts.map +1 -0
  4. package/esm/auth/{workload_activation.js → device_activation.js} +85 -60
  5. package/esm/auth/mod.d.ts +2 -2
  6. package/esm/auth/mod.d.ts.map +1 -1
  7. package/esm/auth/mod.js +2 -2
  8. package/esm/auth/protocol.d.ts +175 -72
  9. package/esm/auth/protocol.d.ts.map +1 -1
  10. package/esm/auth/protocol.js +126 -78
  11. package/esm/contracts/mod.d.ts +22 -2
  12. package/esm/contracts/mod.d.ts.map +1 -1
  13. package/esm/contracts/mod.js +30 -4
  14. package/esm/contracts/protocol.d.ts +34 -0
  15. package/esm/contracts/protocol.d.ts.map +1 -1
  16. package/esm/contracts/protocol.js +15 -0
  17. package/esm/server/deno.d.ts +1 -6
  18. package/esm/server/deno.d.ts.map +1 -1
  19. package/esm/server/deno.js +1 -16
  20. package/esm/server/mod.d.ts +3 -2
  21. package/esm/server/mod.d.ts.map +1 -1
  22. package/esm/server/mod.js +2 -2
  23. package/esm/server/node.d.ts +1 -6
  24. package/esm/server/node.d.ts.map +1 -1
  25. package/esm/server/node.js +1 -16
  26. package/esm/server/service.d.ts +32 -10
  27. package/esm/server/service.d.ts.map +1 -1
  28. package/esm/server/service.js +188 -41
  29. package/esm/server/transfer.d.ts +41 -0
  30. package/esm/server/transfer.d.ts.map +1 -0
  31. package/esm/server/transfer.js +418 -0
  32. package/esm/telemetry/init.d.ts +4 -0
  33. package/esm/telemetry/init.d.ts.map +1 -0
  34. package/esm/telemetry/init.js +7 -0
  35. package/esm/telemetry/mod.d.ts +1 -2
  36. package/esm/telemetry/mod.d.ts.map +1 -1
  37. package/esm/telemetry/mod.js +1 -2
  38. package/esm/telemetry/runtime.d.ts.map +1 -1
  39. package/esm/telemetry/runtime.js +9 -5
  40. package/esm/telemetry/trellis.d.ts +0 -1
  41. package/esm/telemetry/trellis.d.ts.map +1 -1
  42. package/esm/telemetry/trellis.js +0 -6
  43. package/esm/trellis/_sdk/activity/contract.d.ts +1 -1
  44. package/esm/trellis/_sdk/activity/contract.d.ts.map +1 -1
  45. package/esm/trellis/_sdk/activity/contract.js +2 -2
  46. package/esm/trellis/_sdk/activity/types.d.ts +1 -1
  47. package/esm/trellis/_sdk/activity/types.js +1 -1
  48. package/esm/trellis/_sdk/auth/api.d.ts.map +1 -1
  49. package/esm/trellis/_sdk/auth/api.js +132 -110
  50. package/esm/trellis/_sdk/auth/contract.d.ts +1 -1
  51. package/esm/trellis/_sdk/auth/contract.d.ts.map +1 -1
  52. package/esm/trellis/_sdk/auth/contract.js +2 -2
  53. package/esm/trellis/_sdk/auth/schemas.d.ts +4212 -3069
  54. package/esm/trellis/_sdk/auth/schemas.d.ts.map +1 -1
  55. package/esm/trellis/_sdk/auth/schemas.js +144 -125
  56. package/esm/trellis/_sdk/auth/types.d.ts +417 -267
  57. package/esm/trellis/_sdk/auth/types.d.ts.map +1 -1
  58. package/esm/trellis/_sdk/auth/types.js +1 -1
  59. package/esm/trellis/_sdk/core/contract.d.ts +1 -1
  60. package/esm/trellis/_sdk/core/contract.d.ts.map +1 -1
  61. package/esm/trellis/_sdk/core/contract.js +2 -2
  62. package/esm/trellis/_sdk/core/schemas.d.ts +122 -0
  63. package/esm/trellis/_sdk/core/schemas.d.ts.map +1 -1
  64. package/esm/trellis/_sdk/core/schemas.js +4 -4
  65. package/esm/trellis/_sdk/core/types.d.ts +18 -1
  66. package/esm/trellis/_sdk/core/types.d.ts.map +1 -1
  67. package/esm/trellis/_sdk/core/types.js +1 -1
  68. package/esm/trellis/_sdk/state/_dnt.polyfills.d.ts +12 -0
  69. package/esm/trellis/_sdk/state/_dnt.polyfills.d.ts.map +1 -0
  70. package/esm/trellis/_sdk/state/_dnt.polyfills.js +15 -0
  71. package/esm/trellis/_sdk/state/api.d.ts +10 -0
  72. package/esm/trellis/_sdk/state/api.d.ts.map +1 -0
  73. package/esm/trellis/_sdk/state/api.js +71 -0
  74. package/esm/trellis/_sdk/state/contract.d.ts +8 -0
  75. package/esm/trellis/_sdk/state/contract.d.ts.map +1 -0
  76. package/esm/trellis/_sdk/state/contract.js +59 -0
  77. package/esm/trellis/_sdk/state/mod.d.ts +7 -0
  78. package/esm/trellis/_sdk/state/mod.d.ts.map +1 -0
  79. package/esm/trellis/_sdk/state/mod.js +5 -0
  80. package/esm/trellis/_sdk/state/package.json +3 -0
  81. package/esm/trellis/_sdk/state/schemas.d.ts +1437 -0
  82. package/esm/trellis/_sdk/state/schemas.d.ts.map +1 -0
  83. package/esm/trellis/_sdk/state/schemas.js +62 -0
  84. package/esm/trellis/_sdk/state/types.d.ts +206 -0
  85. package/esm/trellis/_sdk/state/types.d.ts.map +1 -0
  86. package/esm/trellis/_sdk/state/types.js +3 -0
  87. package/esm/trellis/client_connect.d.ts +53 -0
  88. package/esm/trellis/client_connect.d.ts.map +1 -0
  89. package/esm/trellis/client_connect.js +300 -0
  90. package/esm/trellis/contract.d.ts +1 -7
  91. package/esm/trellis/contract.d.ts.map +1 -1
  92. package/esm/trellis/contract.js +1 -12
  93. package/esm/trellis/device.d.ts +41 -0
  94. package/esm/trellis/device.d.ts.map +1 -0
  95. package/esm/trellis/device.js +209 -0
  96. package/esm/trellis/errors/AuthError.d.ts +1 -1
  97. package/esm/trellis/errors/AuthError.js +9 -9
  98. package/esm/trellis/errors/StoreError.d.ts +22 -0
  99. package/esm/trellis/errors/StoreError.d.ts.map +1 -0
  100. package/esm/trellis/errors/StoreError.js +41 -0
  101. package/esm/trellis/errors/TransferError.d.ts +22 -0
  102. package/esm/trellis/errors/TransferError.d.ts.map +1 -0
  103. package/esm/trellis/errors/TransferError.js +41 -0
  104. package/esm/trellis/errors/index.d.ts +8 -0
  105. package/esm/trellis/errors/index.d.ts.map +1 -1
  106. package/esm/trellis/errors/index.js +8 -0
  107. package/esm/trellis/index.d.ts +10 -4
  108. package/esm/trellis/index.d.ts.map +1 -1
  109. package/esm/trellis/index.js +6 -4
  110. package/esm/trellis/kv.d.ts +2 -0
  111. package/esm/trellis/kv.d.ts.map +1 -1
  112. package/esm/trellis/kv.js +6 -0
  113. package/esm/trellis/models/trellis/TrellisError.d.ts +15 -1
  114. package/esm/trellis/models/trellis/TrellisError.d.ts.map +1 -1
  115. package/esm/trellis/models/trellis/TrellisError.js +4 -0
  116. package/esm/trellis/runtime_transport.d.ts +12 -0
  117. package/esm/trellis/runtime_transport.d.ts.map +1 -0
  118. package/esm/trellis/runtime_transport.js +35 -0
  119. package/esm/trellis/sdk/state.d.ts +4 -0
  120. package/esm/trellis/sdk/state.d.ts.map +1 -0
  121. package/esm/trellis/sdk/state.js +3 -0
  122. package/esm/trellis/store.d.ts +51 -0
  123. package/esm/trellis/store.d.ts.map +1 -0
  124. package/esm/trellis/store.js +310 -0
  125. package/esm/trellis/tracing.js +1 -1
  126. package/esm/trellis/transfer.d.ts +118 -0
  127. package/esm/trellis/transfer.d.ts.map +1 -0
  128. package/esm/trellis/transfer.js +357 -0
  129. package/esm/trellis/trellis.d.ts +3 -0
  130. package/esm/trellis/trellis.d.ts.map +1 -1
  131. package/esm/trellis/trellis.js +48 -17
  132. package/package.json +8 -3
  133. package/script/auth/device_activation.d.ts +194 -0
  134. package/script/auth/device_activation.d.ts.map +1 -0
  135. package/script/auth/{workload_activation.js → device_activation.js} +99 -74
  136. package/script/auth/mod.d.ts +2 -2
  137. package/script/auth/mod.d.ts.map +1 -1
  138. package/script/auth/mod.js +84 -76
  139. package/script/auth/protocol.d.ts +175 -72
  140. package/script/auth/protocol.d.ts.map +1 -1
  141. package/script/auth/protocol.js +129 -81
  142. package/script/contracts/mod.d.ts +22 -2
  143. package/script/contracts/mod.d.ts.map +1 -1
  144. package/script/contracts/mod.js +32 -4
  145. package/script/contracts/protocol.d.ts +34 -0
  146. package/script/contracts/protocol.d.ts.map +1 -1
  147. package/script/contracts/protocol.js +16 -1
  148. package/script/telemetry/init.d.ts +4 -0
  149. package/script/telemetry/init.d.ts.map +1 -0
  150. package/script/telemetry/init.js +11 -0
  151. package/script/telemetry/mod.d.ts +1 -2
  152. package/script/telemetry/mod.d.ts.map +1 -1
  153. package/script/telemetry/mod.js +1 -4
  154. package/script/telemetry/runtime.d.ts.map +1 -1
  155. package/script/telemetry/runtime.js +9 -28
  156. package/script/telemetry/trellis.d.ts +0 -1
  157. package/script/telemetry/trellis.d.ts.map +1 -1
  158. package/script/telemetry/trellis.js +0 -7
  159. package/script/trellis/_sdk/activity/contract.d.ts +1 -1
  160. package/script/trellis/_sdk/activity/contract.d.ts.map +1 -1
  161. package/script/trellis/_sdk/activity/contract.js +2 -2
  162. package/script/trellis/_sdk/activity/types.d.ts +1 -1
  163. package/script/trellis/_sdk/activity/types.js +1 -1
  164. package/script/trellis/_sdk/auth/api.d.ts.map +1 -1
  165. package/script/trellis/_sdk/auth/api.js +132 -110
  166. package/script/trellis/_sdk/auth/contract.d.ts +1 -1
  167. package/script/trellis/_sdk/auth/contract.d.ts.map +1 -1
  168. package/script/trellis/_sdk/auth/contract.js +2 -2
  169. package/script/trellis/_sdk/auth/schemas.d.ts +4212 -3069
  170. package/script/trellis/_sdk/auth/schemas.d.ts.map +1 -1
  171. package/script/trellis/_sdk/auth/schemas.js +144 -125
  172. package/script/trellis/_sdk/auth/types.d.ts +417 -267
  173. package/script/trellis/_sdk/auth/types.d.ts.map +1 -1
  174. package/script/trellis/_sdk/auth/types.js +1 -1
  175. package/script/trellis/_sdk/core/contract.d.ts +1 -1
  176. package/script/trellis/_sdk/core/contract.d.ts.map +1 -1
  177. package/script/trellis/_sdk/core/contract.js +2 -2
  178. package/script/trellis/_sdk/core/schemas.d.ts +122 -0
  179. package/script/trellis/_sdk/core/schemas.d.ts.map +1 -1
  180. package/script/trellis/_sdk/core/schemas.js +4 -4
  181. package/script/trellis/_sdk/core/types.d.ts +18 -1
  182. package/script/trellis/_sdk/core/types.d.ts.map +1 -1
  183. package/script/trellis/_sdk/core/types.js +1 -1
  184. package/script/trellis/_sdk/state/_dnt.polyfills.d.ts +12 -0
  185. package/script/trellis/_sdk/state/_dnt.polyfills.d.ts.map +1 -0
  186. package/script/trellis/_sdk/state/_dnt.polyfills.js +16 -0
  187. package/script/trellis/_sdk/state/api.d.ts +10 -0
  188. package/script/trellis/_sdk/state/api.d.ts.map +1 -0
  189. package/script/trellis/_sdk/state/api.js +74 -0
  190. package/script/trellis/_sdk/state/contract.d.ts +8 -0
  191. package/script/trellis/_sdk/state/contract.d.ts.map +1 -0
  192. package/script/trellis/_sdk/state/contract.js +62 -0
  193. package/script/trellis/_sdk/state/mod.d.ts +7 -0
  194. package/script/trellis/_sdk/state/mod.d.ts.map +1 -0
  195. package/script/trellis/_sdk/state/mod.js +30 -0
  196. package/script/trellis/_sdk/state/package.json +3 -0
  197. package/script/trellis/_sdk/state/schemas.d.ts +1437 -0
  198. package/script/trellis/_sdk/state/schemas.d.ts.map +1 -0
  199. package/script/trellis/_sdk/state/schemas.js +65 -0
  200. package/script/trellis/_sdk/state/types.d.ts +206 -0
  201. package/script/trellis/_sdk/state/types.d.ts.map +1 -0
  202. package/script/trellis/_sdk/state/types.js +6 -0
  203. package/script/trellis/client_connect.d.ts +53 -0
  204. package/script/trellis/client_connect.d.ts.map +1 -0
  205. package/script/trellis/client_connect.js +304 -0
  206. package/script/trellis/contract.d.ts +1 -7
  207. package/script/trellis/contract.d.ts.map +1 -1
  208. package/script/trellis/contract.js +1 -12
  209. package/script/trellis/device.d.ts +41 -0
  210. package/script/trellis/device.d.ts.map +1 -0
  211. package/script/trellis/device.js +213 -0
  212. package/script/trellis/errors/AuthError.d.ts +1 -1
  213. package/script/trellis/errors/AuthError.js +9 -9
  214. package/script/trellis/errors/StoreError.d.ts +22 -0
  215. package/script/trellis/errors/StoreError.d.ts.map +1 -0
  216. package/script/trellis/errors/StoreError.js +48 -0
  217. package/script/trellis/errors/TransferError.d.ts +22 -0
  218. package/script/trellis/errors/TransferError.d.ts.map +1 -0
  219. package/script/trellis/errors/TransferError.js +48 -0
  220. package/script/trellis/errors/index.d.ts +8 -0
  221. package/script/trellis/errors/index.d.ts.map +1 -1
  222. package/script/trellis/errors/index.js +13 -1
  223. package/script/trellis/index.d.ts +10 -4
  224. package/script/trellis/index.d.ts.map +1 -1
  225. package/script/trellis/index.js +17 -6
  226. package/script/trellis/kv.d.ts +2 -0
  227. package/script/trellis/kv.d.ts.map +1 -1
  228. package/script/trellis/kv.js +6 -0
  229. package/script/trellis/models/trellis/TrellisError.d.ts +15 -1
  230. package/script/trellis/models/trellis/TrellisError.d.ts.map +1 -1
  231. package/script/trellis/models/trellis/TrellisError.js +4 -0
  232. package/script/trellis/runtime_transport.d.ts +12 -0
  233. package/script/trellis/runtime_transport.d.ts.map +1 -0
  234. package/script/trellis/runtime_transport.js +37 -0
  235. package/script/trellis/store.d.ts +51 -0
  236. package/script/trellis/store.d.ts.map +1 -0
  237. package/script/trellis/store.js +316 -0
  238. package/script/trellis/tracing.js +1 -1
  239. package/script/trellis/transfer.d.ts +118 -0
  240. package/script/trellis/transfer.d.ts.map +1 -0
  241. package/script/trellis/transfer.js +367 -0
  242. package/script/trellis/trellis.d.ts +3 -0
  243. package/script/trellis/trellis.d.ts.map +1 -1
  244. package/script/trellis/trellis.js +48 -17
  245. package/esm/auth/workload_activation.d.ts +0 -192
  246. package/esm/auth/workload_activation.d.ts.map +0 -1
  247. package/esm/trellis/workload.d.ts +0 -45
  248. package/esm/trellis/workload.d.ts.map +0 -1
  249. package/esm/trellis/workload.js +0 -144
  250. package/script/auth/workload_activation.d.ts +0 -192
  251. package/script/auth/workload_activation.d.ts.map +0 -1
  252. package/script/trellis/workload.d.ts +0 -45
  253. package/script/trellis/workload.d.ts.map +0 -1
  254. package/script/trellis/workload.js +0 -172
@@ -1,7 +1,7 @@
1
1
  import { canonicalizeJson, digestJson, isJsonValue, sha256Base64urlSync, } from "./canonical.js";
2
2
  import { schema, unwrapSchema, } from "./runtime.js";
3
3
  import { assertDataPointersExistAndAreTokenable, } from "./schema_pointers.js";
4
- export { ContractJobQueueResourceSchema, ContractJobsResourceSchema, ContractKvResourceSchema, ContractResourceBindingsSchema, ContractResourcesSchema, ContractSchemaRefSchema, ContractStreamResourceSchema, EventHeaderSchema, InstalledServiceContractSchema, IsoDateSchema, JobsQueueBindingSchema, JobsResourceBindingSchema, KvResourceBindingSchema, PaginatedSchema, StreamResourceBindingSchema, } from "./protocol.js";
4
+ export { ContractJobQueueResourceSchema, ContractJobsResourceSchema, ContractKvResourceSchema, ContractResourceBindingsSchema, ContractResourcesSchema, ContractSchemaRefSchema, ContractStoreResourceSchema, ContractStreamResourceSchema, EventHeaderSchema, InstalledServiceContractSchema, IsoDateSchema, JobsQueueBindingSchema, JobsResourceBindingSchema, KvResourceBindingSchema, StoreResourceBindingSchema, PaginatedSchema, StreamResourceBindingSchema, } from "./protocol.js";
5
5
  export const CONTRACT_FORMAT_V1 = "trellis.contract.v1";
6
6
  export const CATALOG_FORMAT_V1 = "trellis.catalog.v1";
7
7
  const CONTRACT_MODULE_METADATA = Symbol.for("@qlever-llc/trellis-contracts/contract-module");
@@ -43,7 +43,7 @@ function eventSubject(name, version, params) {
43
43
  return `events.${version}.${name}${suffix}`;
44
44
  }
45
45
  function emitResources(resources) {
46
- if (!resources?.kv && !resources?.streams && !resources?.jobs) {
46
+ if (!resources?.kv && !resources?.store && !resources?.streams && !resources?.jobs) {
47
47
  return undefined;
48
48
  }
49
49
  return {
@@ -63,6 +63,24 @@ function emitResources(resources) {
63
63
  ])),
64
64
  }
65
65
  : {}),
66
+ ...(resources.store
67
+ ? {
68
+ store: Object.fromEntries(Object.entries(resources.store).map(([alias, resource]) => [
69
+ alias,
70
+ {
71
+ purpose: resource.purpose,
72
+ required: resource.required ?? true,
73
+ ttlMs: resource.ttlMs ?? 0,
74
+ ...(resource.maxObjectBytes !== undefined
75
+ ? { maxObjectBytes: resource.maxObjectBytes }
76
+ : {}),
77
+ ...(resource.maxTotalBytes !== undefined
78
+ ? { maxTotalBytes: resource.maxTotalBytes }
79
+ : {}),
80
+ },
81
+ ])),
82
+ }
83
+ : {}),
66
84
  ...(resources.streams
67
85
  ? {
68
86
  streams: Object.fromEntries(Object.entries(resources.streams).map(([alias, resource]) => [
@@ -169,7 +187,8 @@ function emitContract(source) {
169
187
  ? Object.fromEntries(Object.entries(source.operations).map(([name, operation]) => {
170
188
  const emitted = {
171
189
  version: operation.version,
172
- subject: operation.subject ?? operationSubject(name, operation.version),
190
+ subject: operation.subject ??
191
+ operationSubject(name, operation.version),
173
192
  input: { ...operation.input },
174
193
  };
175
194
  if (operation.progress) {
@@ -262,6 +281,7 @@ function emitContract(source) {
262
281
  id: source.id,
263
282
  displayName: source.displayName,
264
283
  description: source.description,
284
+ kind: source.kind,
265
285
  ...(source.schemas ? { schemas: cloneSchemas(source.schemas) } : {}),
266
286
  ...(uses ? { uses } : {}),
267
287
  ...(rpc ? { rpc } : {}),
@@ -416,7 +436,12 @@ function normalizeUses(uses) {
416
436
  };
417
437
  }
418
438
  const manifestUses = {};
419
- const usedApi = { rpc: {}, operations: {}, events: {}, subjects: {} };
439
+ const usedApi = {
440
+ rpc: {},
441
+ operations: {},
442
+ events: {},
443
+ subjects: {},
444
+ };
420
445
  for (const [alias, useValue] of Object.entries(uses)) {
421
446
  const contractModule = getContractModuleFromUse(alias, useValue);
422
447
  if (useValue.contract !== contractModule.CONTRACT_ID) {
@@ -502,6 +527,7 @@ export function defineContract(source) {
502
527
  id: source.id,
503
528
  displayName: source.displayName,
504
529
  description: source.description,
530
+ kind: source.kind,
505
531
  ...(source.schemas ? { schemas: source.schemas } : {}),
506
532
  ...(manifestUses ? { uses: manifestUses } : {}),
507
533
  ...(source.rpc ? { rpc: source.rpc } : {}),
@@ -7,6 +7,14 @@ export declare const ContractKvResourceSchema: Type.TObject<{
7
7
  maxValueBytes: Type.TOptional<Type.TInteger>;
8
8
  }>;
9
9
  export type ContractKvResource = Static<typeof ContractKvResourceSchema>;
10
+ export declare const ContractStoreResourceSchema: Type.TObject<{
11
+ purpose: Type.TString;
12
+ required: Type.TOptional<Type.TBoolean>;
13
+ ttlMs: Type.TOptional<Type.TInteger>;
14
+ maxObjectBytes: Type.TOptional<Type.TInteger>;
15
+ maxTotalBytes: Type.TOptional<Type.TInteger>;
16
+ }>;
17
+ export type ContractStoreResource = Static<typeof ContractStoreResourceSchema>;
10
18
  export declare const ContractStreamResourceSchema: Type.TObject<{
11
19
  purpose: Type.TString;
12
20
  required: Type.TOptional<Type.TBoolean>;
@@ -73,6 +81,13 @@ export declare const ContractResourcesSchema: Type.TObject<{
73
81
  ttlMs: Type.TOptional<Type.TInteger>;
74
82
  maxValueBytes: Type.TOptional<Type.TInteger>;
75
83
  }>>>;
84
+ store: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
85
+ purpose: Type.TString;
86
+ required: Type.TOptional<Type.TBoolean>;
87
+ ttlMs: Type.TOptional<Type.TInteger>;
88
+ maxObjectBytes: Type.TOptional<Type.TInteger>;
89
+ maxTotalBytes: Type.TOptional<Type.TInteger>;
90
+ }>>>;
76
91
  streams: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
77
92
  purpose: Type.TString;
78
93
  required: Type.TOptional<Type.TBoolean>;
@@ -117,6 +132,13 @@ export declare const KvResourceBindingSchema: Type.TObject<{
117
132
  maxValueBytes: Type.TOptional<Type.TInteger>;
118
133
  }>;
119
134
  export type KvResourceBinding = Static<typeof KvResourceBindingSchema>;
135
+ export declare const StoreResourceBindingSchema: Type.TObject<{
136
+ name: Type.TString;
137
+ ttlMs: Type.TInteger;
138
+ maxObjectBytes: Type.TOptional<Type.TInteger>;
139
+ maxTotalBytes: Type.TOptional<Type.TInteger>;
140
+ }>;
141
+ export type StoreResourceBinding = Static<typeof StoreResourceBindingSchema>;
120
142
  export declare const StreamResourceBindingSchema: Type.TObject<{
121
143
  name: Type.TString;
122
144
  retention: Type.TOptional<Type.TString>;
@@ -187,6 +209,12 @@ export declare const ContractResourceBindingsSchema: Type.TObject<{
187
209
  ttlMs: Type.TInteger;
188
210
  maxValueBytes: Type.TOptional<Type.TInteger>;
189
211
  }>>>;
212
+ store: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
213
+ name: Type.TString;
214
+ ttlMs: Type.TInteger;
215
+ maxObjectBytes: Type.TOptional<Type.TInteger>;
216
+ maxTotalBytes: Type.TOptional<Type.TInteger>;
217
+ }>>>;
190
218
  streams: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
191
219
  name: Type.TString;
192
220
  retention: Type.TOptional<Type.TString>;
@@ -239,6 +267,12 @@ export declare const InstalledServiceContractSchema: Type.TObject<{
239
267
  ttlMs: Type.TInteger;
240
268
  maxValueBytes: Type.TOptional<Type.TInteger>;
241
269
  }>>>;
270
+ store: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
271
+ name: Type.TString;
272
+ ttlMs: Type.TInteger;
273
+ maxObjectBytes: Type.TOptional<Type.TInteger>;
274
+ maxTotalBytes: Type.TOptional<Type.TInteger>;
275
+ }>>>;
242
276
  streams: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
243
277
  name: Type.TString;
244
278
  retention: Type.TOptional<Type.TString>;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/contracts/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAmB5C,eAAO,MAAM,wBAAwB;;;;;;EAMF,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEzE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;EAgBN,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC,OAAO,4BAA4B,CACpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;EAED,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAWR,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;EAKJ,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,eAAO,MAAM,uBAAuB;;;;;EAKD,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;EAgBL,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;EAeA,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAGH,CAAC;AAEpC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIR,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,aAAa,iCAIsB,CAAC;AAEjD,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/contracts/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAmB5C,eAAO,MAAM,wBAAwB;;;;;;EAMF,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEzE,eAAO,MAAM,2BAA2B;;;;;;EAML,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;EAgBN,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC,OAAO,4BAA4B,CACpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;EAED,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAWR,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;EAKJ,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,eAAO,MAAM,uBAAuB;;;;;EAKD,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,eAAO,MAAM,0BAA0B;;;;;EAKJ,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;EAgBL,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;EAeA,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAGH,CAAC;AAEpC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIR,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,aAAa,iCAIsB,CAAC;AAEjD,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -19,6 +19,13 @@ export const ContractKvResourceSchema = Type.Object({
19
19
  ttlMs: Type.Optional(Type.Integer({ minimum: 0, default: 0 })),
20
20
  maxValueBytes: Type.Optional(Type.Integer({ minimum: 1 })),
21
21
  }, { additionalProperties: false });
22
+ export const ContractStoreResourceSchema = Type.Object({
23
+ purpose: Type.String({ minLength: 1 }),
24
+ required: Type.Optional(Type.Boolean({ default: true })),
25
+ ttlMs: Type.Optional(Type.Integer({ minimum: 0, default: 0 })),
26
+ maxObjectBytes: Type.Optional(Type.Integer({ minimum: 1 })),
27
+ maxTotalBytes: Type.Optional(Type.Integer({ minimum: 1 })),
28
+ }, { additionalProperties: false });
22
29
  export const ContractStreamResourceSchema = Type.Object({
23
30
  purpose: Type.String({ minLength: 1 }),
24
31
  required: Type.Optional(Type.Boolean({ default: true })),
@@ -56,6 +63,7 @@ export const ContractJobsResourceSchema = Type.Object({
56
63
  }, { additionalProperties: false });
57
64
  export const ContractResourcesSchema = Type.Object({
58
65
  kv: Type.Optional(Type.Record(Type.String({ minLength: 1 }), ContractKvResourceSchema)),
66
+ store: Type.Optional(Type.Record(Type.String({ minLength: 1 }), ContractStoreResourceSchema)),
59
67
  streams: Type.Optional(Type.Record(Type.String({ minLength: 1 }), ContractStreamResourceSchema)),
60
68
  jobs: Type.Optional(ContractJobsResourceSchema),
61
69
  });
@@ -65,6 +73,12 @@ export const KvResourceBindingSchema = Type.Object({
65
73
  ttlMs: Type.Integer({ minimum: 0 }),
66
74
  maxValueBytes: Type.Optional(Type.Integer({ minimum: 1 })),
67
75
  }, { additionalProperties: false });
76
+ export const StoreResourceBindingSchema = Type.Object({
77
+ name: Type.String({ minLength: 1 }),
78
+ ttlMs: Type.Integer({ minimum: 0 }),
79
+ maxObjectBytes: Type.Optional(Type.Integer({ minimum: 1 })),
80
+ maxTotalBytes: Type.Optional(Type.Integer({ minimum: 1 })),
81
+ }, { additionalProperties: false });
68
82
  export const StreamResourceBindingSchema = Type.Object({
69
83
  name: Type.String({ minLength: 1 }),
70
84
  retention: Type.Optional(Type.String({ minLength: 1 })),
@@ -104,6 +118,7 @@ export const JobsResourceBindingSchema = Type.Object({
104
118
  }, { additionalProperties: false });
105
119
  export const ContractResourceBindingsSchema = Type.Object({
106
120
  kv: Type.Optional(Type.Record(Type.String({ minLength: 1 }), KvResourceBindingSchema)),
121
+ store: Type.Optional(Type.Record(Type.String({ minLength: 1 }), StoreResourceBindingSchema)),
107
122
  streams: Type.Optional(Type.Record(Type.String({ minLength: 1 }), StreamResourceBindingSchema)),
108
123
  jobs: Type.Optional(JobsResourceBindingSchema),
109
124
  });
@@ -1,7 +1,2 @@
1
- import type { TrellisAPI } from "@qlever-llc/trellis/contracts";
2
- import type { TrellisServiceRuntimeDeps } from "./runtime.js";
3
- import type { ServiceContract, TrellisServiceConnectOpts } from "./service.js";
4
- export declare function connectService<TOwnedApi extends TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi>(contract: ServiceContract<TOwnedApi, TTrellisApi>, name: string, opts: Omit<TrellisServiceConnectOpts<TOwnedApi, TTrellisApi>, "server"> & {
5
- server: Omit<TrellisServiceConnectOpts<TOwnedApi, TTrellisApi>["server"], "api" | "trellisApi">;
6
- }, deps?: Partial<TrellisServiceRuntimeDeps>): Promise<import("./service.js").TrellisService<TOwnedApi, TTrellisApi>>;
1
+ export { KVHandle, type ResourceBindingKV, type ResourceBindingStream, type ResourceBindings, type ServiceContract, type ServiceTrellis, TrellisService, type TrellisServiceConnectOpts, } from "./service.js";
7
2
  //# sourceMappingURL=deno.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deno.d.ts","sourceRoot":"","sources":["../../src/server/deno.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAY/E,wBAAgB,cAAc,CAC5B,SAAS,SAAS,UAAU,EAC5B,WAAW,SAAS,UAAU,GAAG,SAAS,EAE1C,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,EACjD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,GAAG;IACxE,MAAM,EAAE,IAAI,CACV,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAC3D,KAAK,GAAG,YAAY,CACrB,CAAC;CACH,EACD,IAAI,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,0EAM1C"}
1
+ {"version":3,"file":"deno.d.ts","sourceRoot":"","sources":["../../src/server/deno.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC"}
@@ -1,16 +1 @@
1
- import * as dntShim from "../_dnt.shims.js";
2
- import { connect, credsAuthenticator } from "@nats-io/transport-deno";
3
- import { connectService as connectServiceWithRuntime } from "./service.js";
4
- const denoRuntimeDeps = {
5
- connect: connect,
6
- credsAuthenticator: credsAuthenticator,
7
- readFileSync: (path) => dntShim.Deno.readFileSync(path),
8
- };
9
- // This Deno entrypoint keeps the default Deno runtime wiring out of the shared
10
- // server core so the root `@qlever-llc/trellis` package can stay multi-runtime.
11
- export function connectService(contract, name, opts, deps) {
12
- return connectServiceWithRuntime(contract, name, opts, {
13
- ...denoRuntimeDeps,
14
- ...deps,
15
- });
16
- }
1
+ export { KVHandle, TrellisService, } from "./service.js";
@@ -10,8 +10,9 @@ export { TrellisServer } from "@qlever-llc/trellis/server/runtime";
10
10
  export { type HealthCheckFn, type HealthCheckResult, type HealthResponse, runAllHealthChecks, runHealthCheck, } from "./health.js";
11
11
  export { mountStandardHealthRpc } from "./health_rpc.js";
12
12
  export { HealthCheckResultSchema, HealthResponseSchema, HealthRpcSchema, } from "./health_schemas.js";
13
- export { connectService as connectNodeService, } from "./node.js";
14
13
  export type { NatsConnectFn, NatsConnectOpts, ReadFileSyncFn, TrellisServiceRuntimeDeps, } from "./runtime.js";
15
- export { connectService, KVHandle, type ResourceBindingKV, type ResourceBindingStream, type ResourceBindings, type ServiceContract, type ServiceTrellis, TrellisService, type TrellisServiceConnectOpts, } from "./service.js";
14
+ export { KVHandle, StoreHandle, type ResourceBindingKV, type ResourceBindingStore, type ResourceBindingStream, type ResourceBindings, type ServiceContract, type ServiceTrellis, TrellisService, type TrellisServiceConnectOpts, } from "./service.js";
15
+ export { ServiceTransfer } from "./transfer.js";
16
+ export type { InitiateDownloadArgs, InitiateUploadArgs, TransferStoreHandle, } from "./transfer.js";
16
17
  export { createEventContext, type EventContext, type EventHandler, type GroupedSubscription, isGroupedSubscription, type MultiEventSubscription, type MultiSubscribeOpts, type OrderingGroup, type SingleSubscription, type SubscribeOpts, } from "./subscription.js";
17
18
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/server/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,IAAI,kBAAkB,GACrC,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/server/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC"}
package/esm/server/mod.js CHANGED
@@ -11,7 +11,7 @@ export { TrellisServer } from "@qlever-llc/trellis/server/runtime";
11
11
  export { runAllHealthChecks, runHealthCheck, } from "./health.js";
12
12
  export { mountStandardHealthRpc } from "./health_rpc.js";
13
13
  export { HealthCheckResultSchema, HealthResponseSchema, HealthRpcSchema, } from "./health_schemas.js";
14
- export { connectService as connectNodeService, } from "./node.js";
15
- export { connectService, KVHandle, TrellisService, } from "./service.js";
14
+ export { KVHandle, StoreHandle, TrellisService, } from "./service.js";
15
+ export { ServiceTransfer } from "./transfer.js";
16
16
  // Re-export subscription types
17
17
  export { createEventContext, isGroupedSubscription, } from "./subscription.js";
@@ -1,7 +1,2 @@
1
- import type { TrellisAPI } from "@qlever-llc/trellis/contracts";
2
- import type { TrellisServiceRuntimeDeps } from "./runtime.js";
3
- import type { ServiceContract, TrellisServiceConnectOpts } from "./service.js";
4
- export declare function connectService<TOwnedApi extends TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi>(contract: ServiceContract<TOwnedApi, TTrellisApi>, name: string, opts: Omit<TrellisServiceConnectOpts<TOwnedApi, TTrellisApi>, "server"> & {
5
- server: Omit<TrellisServiceConnectOpts<TOwnedApi, TTrellisApi>["server"], "api" | "trellisApi">;
6
- }, deps?: Partial<TrellisServiceRuntimeDeps>): Promise<import("./service.js").TrellisService<TOwnedApi, TTrellisApi>>;
1
+ export { KVHandle, type ResourceBindingKV, type ResourceBindingStream, type ResourceBindings, type ServiceContract, type ServiceTrellis, TrellisService, type TrellisServiceConnectOpts, } from "./service.js";
7
2
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAW/E,wBAAgB,cAAc,CAC5B,SAAS,SAAS,UAAU,EAC5B,WAAW,SAAS,UAAU,GAAG,SAAS,EAE1C,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,EACjD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,GAAG;IACxE,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,CAAC;CACjG,EACD,IAAI,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,0EAM1C"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC"}
@@ -1,16 +1 @@
1
- import { readFileSync } from "node:fs";
2
- import { connect, credsAuthenticator, } from "@nats-io/transport-node";
3
- import { connectService as connectServiceWithRuntime } from "./service.js";
4
- const nodeRuntimeDeps = {
5
- connect: connect,
6
- credsAuthenticator: credsAuthenticator,
7
- readFileSync: (path) => new Uint8Array(readFileSync(path)),
8
- };
9
- // This Node entrypoint mirrors the Deno adapter so service authors can use the
10
- // same high-level API from npm without pulling in Deno-only transports.
11
- export function connectService(contract, name, opts, deps) {
12
- return connectServiceWithRuntime(contract, name, opts, {
13
- ...nodeRuntimeDeps,
14
- ...deps,
15
- });
16
- }
1
+ export { KVHandle, TrellisService, } from "./service.js";
@@ -1,14 +1,16 @@
1
- import type { NatsConnection } from "@nats-io/nats-core";
2
- import { type KVError, type OperationRegistration, Trellis, TypedKV } from "@qlever-llc/trellis";
1
+ import { type NatsConnection } from "@nats-io/nats-core";
2
+ import { type KVError, type OperationRegistration, type StoreError, Trellis, TypedKV, TypedStore } from "@qlever-llc/trellis";
3
3
  import { type TrellisServerFor } from "@qlever-llc/trellis/server/runtime";
4
4
  import { type TrellisAuth as SessionAuth } from "@qlever-llc/trellis/auth";
5
- import type { InferSchemaType, TrellisAPI } from "@qlever-llc/trellis/contracts";
5
+ import { type InferSchemaType } from "@qlever-llc/trellis/contracts";
6
+ import type { TrellisAPI } from "@qlever-llc/trellis/contracts";
6
7
  import { type Result } from "@qlever-llc/result";
7
8
  import type { Logger } from "pino";
8
- import type { TSchema } from "typebox";
9
+ import { type TSchema } from "typebox";
9
10
  import type { HealthCheckFn } from "./health.js";
10
11
  import { type ResourceBindingJobs } from "@qlever-llc/trellis-jobs";
11
12
  import type { NatsConnectOpts, TrellisServiceRuntimeDeps } from "./runtime.js";
13
+ import { ServiceTransfer } from "./transfer.js";
12
14
  type ExtraNatsConnectOpts = Omit<NatsConnectOpts, "servers" | "token" | "inboxPrefix" | "authenticator">;
13
15
  type RpcMethodName<TA extends TrellisAPI> = keyof TA["rpc"] & string;
14
16
  type RpcMethodInput<TA extends TrellisAPI, M extends RpcMethodName<TA>> = InferSchemaType<TA["rpc"][M]["input"]>;
@@ -32,12 +34,19 @@ export type ResourceBindingKV = {
32
34
  ttlMs: number;
33
35
  maxValueBytes?: number;
34
36
  };
37
+ export type ResourceBindingStore = {
38
+ name: string;
39
+ ttlMs: number;
40
+ maxObjectBytes?: number;
41
+ maxTotalBytes?: number;
42
+ };
35
43
  export type ResourceBindingStream = {
36
44
  name: string;
37
45
  [key: string]: unknown;
38
46
  };
39
47
  export type ResourceBindings = {
40
48
  kv: Record<string, ResourceBindingKV>;
49
+ store: Record<string, ResourceBindingStore>;
41
50
  streams: Record<string, ResourceBindingStream>;
42
51
  jobs?: ResourceBindingJobs;
43
52
  };
@@ -47,7 +56,13 @@ export declare class KVHandle {
47
56
  constructor(nc: NatsConnection, binding: ResourceBindingKV);
48
57
  open<S extends TSchema>(schema: S): Promise<Result<TypedKV<S>, KVError>>;
49
58
  }
50
- export type TrellisServiceConnectOpts<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi> = {
59
+ export declare class StoreHandle {
60
+ #private;
61
+ readonly binding: ResourceBindingStore;
62
+ constructor(nc: NatsConnection, binding: ResourceBindingStore);
63
+ open(): Promise<Result<TypedStore, StoreError>>;
64
+ }
65
+ type TrellisServiceRuntimeConnectOpts<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi> = {
51
66
  /**
52
67
  * Session key seed (base64url Ed25519 private key seed) used to derive the service session key.
53
68
  * If you already have a `TrellisAuth` object, pass it via `auth` instead.
@@ -82,6 +97,13 @@ export type TrellisServiceConnectOpts<TOwnedApi extends TrellisAPI = TrellisAPI,
82
97
  };
83
98
  server: TrellisServerCreateOpts<TOwnedApi, TTrellisApi>;
84
99
  };
100
+ export type TrellisServiceConnectOpts<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi> = {
101
+ trellisUrl: string;
102
+ contract: ServiceContract<TOwnedApi, TTrellisApi>;
103
+ name: string;
104
+ sessionKeySeed: string;
105
+ server?: Omit<TrellisServerCreateOpts<TOwnedApi, TTrellisApi>, "api" | "trellisApi">;
106
+ };
85
107
  export type ServiceTrellis<TOwnedApi extends TrellisAPI, TTrellisApi extends TrellisAPI> = Omit<Trellis<TTrellisApi>, "mount"> & Pick<TrellisServerFor<TOwnedApi & TTrellisApi>, "mount">;
86
108
  type RequestOpts = {
87
109
  timeout?: number;
@@ -101,11 +123,14 @@ export declare class TrellisService<TOwnedApi extends TrellisAPI = TrellisAPI, T
101
123
  readonly server: TrellisServerFor<TOwnedApi & TTrellisApi>;
102
124
  readonly operations: TrellisServerFor<TOwnedApi & TTrellisApi>["operations"];
103
125
  readonly trellis: ServiceTrellis<TOwnedApi, TTrellisApi>;
126
+ readonly transfer: ServiceTransfer;
104
127
  readonly kv: Record<string, KVHandle>;
128
+ readonly store: Record<string, StoreHandle>;
105
129
  readonly streams: Record<string, ResourceBindingStream>;
106
130
  readonly jobs?: ResourceBindingJobs;
107
- private constructor();
108
- static connect<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi>(name: string, opts: TrellisServiceConnectOpts<TOwnedApi, TTrellisApi> & {
131
+ constructor(name: string, auth: SessionAuth, nc: NatsConnection, server: TrellisServerFor<TOwnedApi & TTrellisApi>, trellis: ServiceTrellis<TOwnedApi, TTrellisApi>, bindings: ResourceBindings);
132
+ static connect<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi>(args: TrellisServiceConnectOpts<TOwnedApi, TTrellisApi>, deps?: Partial<TrellisServiceRuntimeDeps>): Promise<TrellisService<TOwnedApi, TTrellisApi>>;
133
+ static connectInternal<TOwnedApi extends TrellisAPI = TrellisAPI, TTrellisApi extends TrellisAPI = TOwnedApi>(name: string, opts: TrellisServiceRuntimeConnectOpts<TOwnedApi, TTrellisApi> & {
109
134
  contractId?: string;
110
135
  contractDigest?: string;
111
136
  }, deps: TrellisServiceRuntimeDeps): Promise<TrellisService<TOwnedApi, TTrellisApi>>;
@@ -114,8 +139,5 @@ export declare class TrellisService<TOwnedApi extends TrellisAPI = TrellisAPI, T
114
139
  requestOrThrow<M extends RpcMethodName<TTrellisApi>>(method: M, input: RpcMethodInput<TTrellisApi, M>, opts?: RequestOpts): Promise<RpcMethodOutput<TTrellisApi, M>>;
115
140
  operation<O extends keyof (TOwnedApi & TTrellisApi)["operations"] & string>(operation: O): OperationRegistration<InferSchemaType<(TOwnedApi & TTrellisApi)["operations"][O]["input"]>>;
116
141
  }
117
- export declare function connectService<TOwnedApi extends TrellisAPI, TTrellisApi extends TrellisAPI>(contract: ServiceContract<TOwnedApi, TTrellisApi>, name: string, opts: Omit<TrellisServiceConnectOpts<TOwnedApi, TTrellisApi>, "server"> & {
118
- server: Omit<TrellisServiceConnectOpts<TOwnedApi, TTrellisApi>["server"], "api" | "trellisApi">;
119
- }, deps: TrellisServiceRuntimeDeps): Promise<TrellisService<TOwnedApi, TTrellisApi>>;
120
142
  export {};
121
143
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/server/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/server/service.ts"],"names":[],"mappings":"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"}