@qlever-llc/trellis 0.10.10 → 0.10.12

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 (131) hide show
  1. package/esm/client.d.ts +2 -0
  2. package/esm/client.d.ts.map +1 -1
  3. package/esm/client.js +2 -0
  4. package/esm/client_connect.d.ts +3 -2
  5. package/esm/client_connect.d.ts.map +1 -1
  6. package/esm/client_connect.js +4 -1
  7. package/esm/errors/TrellisError.d.ts +3 -3
  8. package/esm/errors/TrellisError.js +3 -3
  9. package/esm/server/health.d.ts.map +1 -1
  10. package/esm/server/health.js +34 -3
  11. package/esm/server/internal_jobs/job-manager.d.ts.map +1 -1
  12. package/esm/server/internal_jobs/job-manager.js +32 -1
  13. package/esm/server/runtime.d.ts +3 -0
  14. package/esm/server/runtime.d.ts.map +1 -1
  15. package/esm/server/service.d.ts +15 -0
  16. package/esm/server/service.d.ts.map +1 -1
  17. package/esm/server/service.js +41 -3
  18. package/esm/server.d.ts.map +1 -1
  19. package/esm/server.js +99 -10
  20. package/esm/service/deno.d.ts +1 -1
  21. package/esm/service/deno.d.ts.map +1 -1
  22. package/esm/service/mod.d.ts +1 -1
  23. package/esm/service/mod.d.ts.map +1 -1
  24. package/esm/service/node.d.ts +1 -1
  25. package/esm/service/node.d.ts.map +1 -1
  26. package/esm/service/outbox_inbox.d.ts.map +1 -1
  27. package/esm/service/outbox_inbox.js +14 -0
  28. package/esm/telemetry/core.d.ts.map +1 -1
  29. package/esm/telemetry/core.js +1 -1
  30. package/esm/telemetry/env.d.ts.map +1 -1
  31. package/esm/telemetry/env.js +6 -1
  32. package/esm/telemetry/init.d.ts +3 -0
  33. package/esm/telemetry/init.d.ts.map +1 -0
  34. package/esm/telemetry/init.js +7 -0
  35. package/esm/telemetry/metrics.d.ts +34 -0
  36. package/esm/telemetry/metrics.d.ts.map +1 -0
  37. package/esm/telemetry/metrics.js +181 -0
  38. package/esm/telemetry/mod.d.ts +3 -0
  39. package/esm/telemetry/mod.d.ts.map +1 -1
  40. package/esm/telemetry/mod.js +2 -0
  41. package/esm/telemetry/runtime.d.ts +2 -0
  42. package/esm/telemetry/runtime.d.ts.map +1 -0
  43. package/esm/telemetry/runtime.js +134 -0
  44. package/esm/telemetry.d.ts +3 -0
  45. package/esm/telemetry.d.ts.map +1 -0
  46. package/esm/telemetry.js +2 -0
  47. package/esm/transfer.d.ts.map +1 -1
  48. package/esm/transfer.js +27 -16
  49. package/esm/trellis.d.ts +28 -4
  50. package/esm/trellis.d.ts.map +1 -1
  51. package/esm/trellis.js +575 -80
  52. package/package.json +7 -5
  53. package/script/client.d.ts +2 -0
  54. package/script/client.d.ts.map +1 -1
  55. package/script/client.js +2 -0
  56. package/script/client_connect.d.ts +3 -2
  57. package/script/client_connect.d.ts.map +1 -1
  58. package/script/client_connect.js +4 -1
  59. package/script/errors/TrellisError.d.ts +3 -3
  60. package/script/errors/TrellisError.js +3 -3
  61. package/script/server/health.d.ts.map +1 -1
  62. package/script/server/health.js +34 -3
  63. package/script/server/internal_jobs/job-manager.d.ts.map +1 -1
  64. package/script/server/internal_jobs/job-manager.js +32 -1
  65. package/script/server/runtime.d.ts +3 -0
  66. package/script/server/runtime.d.ts.map +1 -1
  67. package/script/server/service.d.ts +15 -0
  68. package/script/server/service.d.ts.map +1 -1
  69. package/script/server/service.js +40 -2
  70. package/script/server.d.ts.map +1 -1
  71. package/script/server.js +98 -9
  72. package/script/service/deno.d.ts +1 -1
  73. package/script/service/deno.d.ts.map +1 -1
  74. package/script/service/mod.d.ts +1 -1
  75. package/script/service/mod.d.ts.map +1 -1
  76. package/script/service/node.d.ts +1 -1
  77. package/script/service/node.d.ts.map +1 -1
  78. package/script/service/outbox_inbox.d.ts.map +1 -1
  79. package/script/service/outbox_inbox.js +14 -0
  80. package/script/telemetry/core.d.ts.map +1 -1
  81. package/script/telemetry/core.js +1 -1
  82. package/script/telemetry/env.d.ts.map +1 -1
  83. package/script/telemetry/env.js +6 -1
  84. package/script/telemetry/init.d.ts +3 -0
  85. package/script/telemetry/init.d.ts.map +1 -0
  86. package/script/telemetry/init.js +10 -0
  87. package/script/telemetry/metrics.d.ts +34 -0
  88. package/script/telemetry/metrics.d.ts.map +1 -0
  89. package/script/telemetry/metrics.js +186 -0
  90. package/script/telemetry/mod.d.ts +3 -0
  91. package/script/telemetry/mod.d.ts.map +1 -1
  92. package/script/telemetry/mod.js +7 -1
  93. package/script/telemetry/runtime.d.ts +2 -0
  94. package/script/telemetry/runtime.d.ts.map +1 -0
  95. package/script/telemetry/runtime.js +137 -0
  96. package/script/telemetry.d.ts +3 -0
  97. package/script/telemetry.d.ts.map +1 -0
  98. package/script/telemetry.js +18 -0
  99. package/script/transfer.d.ts.map +1 -1
  100. package/script/transfer.js +28 -17
  101. package/script/trellis.d.ts +28 -4
  102. package/script/trellis.d.ts.map +1 -1
  103. package/script/trellis.js +606 -110
  104. package/src/client.ts +4 -0
  105. package/src/client_connect.ts +11 -9
  106. package/src/errors/TrellisError.ts +4 -4
  107. package/src/server/health.ts +41 -3
  108. package/src/server/internal_jobs/job-manager.ts +35 -5
  109. package/src/server/runtime.ts +4 -0
  110. package/src/server/service.ts +75 -3
  111. package/src/server.ts +124 -14
  112. package/src/service/deno.ts +1 -0
  113. package/src/service/mod.ts +1 -0
  114. package/src/service/node.ts +1 -0
  115. package/src/service/outbox_inbox.ts +14 -0
  116. package/src/telemetry/core.ts +1 -1
  117. package/src/telemetry/env.ts +5 -1
  118. package/src/telemetry/init.ts +8 -0
  119. package/src/telemetry/metrics.ts +294 -0
  120. package/src/telemetry/mod.ts +7 -0
  121. package/src/telemetry/runtime.ts +218 -0
  122. package/src/telemetry.ts +2 -0
  123. package/src/transfer.ts +69 -30
  124. package/src/trellis.ts +652 -141
  125. package/esm/tracing.d.ts +0 -5
  126. package/esm/tracing.d.ts.map +0 -1
  127. package/esm/tracing.js +0 -8
  128. package/script/tracing.d.ts +0 -5
  129. package/script/tracing.d.ts.map +0 -1
  130. package/script/tracing.js +0 -27
  131. package/src/tracing.ts +0 -28
@@ -0,0 +1,134 @@
1
+ import { metrics } from "@opentelemetry/api";
2
+ import { getEnv } from "./env.js";
3
+ let initialized = false;
4
+ let provider;
5
+ let metricProvider;
6
+ function runtimeImport(specifier) {
7
+ const load = new Function("specifier", "return import(specifier);");
8
+ return load(specifier);
9
+ }
10
+ async function loadTracingRuntime() {
11
+ const [traceNode, otlp, traceBase, resources, semantic] = await Promise.all([
12
+ runtimeImport(["@opentelemetry", "sdk-trace-node"].join("/")),
13
+ runtimeImport(["@opentelemetry", "exporter-trace-otlp-proto"].join("/")),
14
+ runtimeImport(["@opentelemetry", "sdk-trace-base"].join("/")),
15
+ runtimeImport(["@opentelemetry", "resources"].join("/")),
16
+ runtimeImport(["@opentelemetry", "semantic-conventions"].join("/")),
17
+ ]);
18
+ return {
19
+ NodeTracerProvider: traceNode.NodeTracerProvider,
20
+ OTLPTraceExporter: otlp.OTLPTraceExporter,
21
+ BatchSpanProcessor: traceBase.BatchSpanProcessor,
22
+ ConsoleSpanExporter: traceBase.ConsoleSpanExporter,
23
+ resourceFromAttributes: resources.resourceFromAttributes,
24
+ ATTR_SERVICE_NAME: semantic.ATTR_SERVICE_NAME,
25
+ };
26
+ }
27
+ async function loadMetricsRuntime() {
28
+ const [sdkMetrics, otlp, resources, semantic] = await Promise.all([
29
+ runtimeImport(["@opentelemetry", "sdk-metrics"].join("/")),
30
+ runtimeImport(["@opentelemetry", "exporter-metrics-otlp-proto"].join("/")),
31
+ runtimeImport(["@opentelemetry", "resources"].join("/")),
32
+ runtimeImport(["@opentelemetry", "semantic-conventions"].join("/")),
33
+ ]);
34
+ return {
35
+ MeterProvider: sdkMetrics.MeterProvider,
36
+ PeriodicExportingMetricReader: sdkMetrics.PeriodicExportingMetricReader,
37
+ ConsoleMetricExporter: sdkMetrics.ConsoleMetricExporter,
38
+ OTLPMetricExporter: otlp.OTLPMetricExporter,
39
+ resourceFromAttributes: resources.resourceFromAttributes,
40
+ ATTR_SERVICE_NAME: semantic.ATTR_SERVICE_NAME,
41
+ };
42
+ }
43
+ async function initTracingRuntime(serviceName) {
44
+ const endpoint = getEnv("OTEL_EXPORTER_OTLP_ENDPOINT");
45
+ const consoleTracing = getEnv("OTEL_TRACES_CONSOLE") === "true";
46
+ if (!endpoint && !consoleTracing) {
47
+ return;
48
+ }
49
+ try {
50
+ const runtime = await loadTracingRuntime();
51
+ const spanProcessors = [];
52
+ if (endpoint) {
53
+ spanProcessors.push(new runtime.BatchSpanProcessor(new runtime.OTLPTraceExporter({ url: `${endpoint}/v1/traces` })));
54
+ }
55
+ if (consoleTracing) {
56
+ spanProcessors.push(new runtime.BatchSpanProcessor(new runtime.ConsoleSpanExporter()));
57
+ }
58
+ const nextProvider = new runtime.NodeTracerProvider({
59
+ resource: runtime.resourceFromAttributes({
60
+ [runtime.ATTR_SERVICE_NAME]: serviceName,
61
+ }),
62
+ ...(spanProcessors.length > 0 ? { spanProcessors } : {}),
63
+ });
64
+ provider = nextProvider;
65
+ nextProvider.register();
66
+ }
67
+ catch (error) {
68
+ console.warn("Failed to initialize tracing runtime", error);
69
+ }
70
+ }
71
+ function metricEndpoint() {
72
+ const metricsEndpoint = getEnv("OTEL_EXPORTER_OTLP_METRICS_ENDPOINT");
73
+ if (metricsEndpoint)
74
+ return metricsEndpoint;
75
+ const endpoint = getEnv("OTEL_EXPORTER_OTLP_ENDPOINT");
76
+ if (!endpoint)
77
+ return undefined;
78
+ return `${endpoint.replace(/\/$/, "")}/v1/metrics`;
79
+ }
80
+ function metricExportIntervalMillis() {
81
+ const configured = getEnv("OTEL_METRIC_EXPORT_INTERVAL");
82
+ if (!configured)
83
+ return undefined;
84
+ const parsed = Number(configured);
85
+ if (!Number.isFinite(parsed) || parsed <= 0)
86
+ return undefined;
87
+ return Math.trunc(parsed);
88
+ }
89
+ async function initMetricsRuntime(serviceName) {
90
+ const endpoint = metricEndpoint();
91
+ const consoleMetrics = getEnv("TRELLIS_METRICS_CONSOLE") === "true";
92
+ if (!endpoint && !consoleMetrics) {
93
+ return;
94
+ }
95
+ try {
96
+ const runtime = await loadMetricsRuntime();
97
+ const readers = [];
98
+ const exportIntervalMillis = metricExportIntervalMillis();
99
+ if (endpoint) {
100
+ readers.push(new runtime.PeriodicExportingMetricReader({
101
+ exporter: new runtime.OTLPMetricExporter({ url: endpoint }),
102
+ ...(exportIntervalMillis !== undefined
103
+ ? { exportIntervalMillis }
104
+ : {}),
105
+ }));
106
+ }
107
+ if (consoleMetrics) {
108
+ readers.push(new runtime.PeriodicExportingMetricReader({
109
+ exporter: new runtime.ConsoleMetricExporter(),
110
+ ...(exportIntervalMillis !== undefined
111
+ ? { exportIntervalMillis }
112
+ : {}),
113
+ }));
114
+ }
115
+ const nextMetricProvider = new runtime.MeterProvider({
116
+ resource: runtime.resourceFromAttributes({
117
+ [runtime.ATTR_SERVICE_NAME]: serviceName,
118
+ }),
119
+ ...(readers.length > 0 ? { readers } : {}),
120
+ });
121
+ metricProvider = nextMetricProvider;
122
+ metrics.setGlobalMeterProvider(nextMetricProvider);
123
+ }
124
+ catch (error) {
125
+ console.warn("Failed to initialize metrics runtime", error);
126
+ }
127
+ }
128
+ export function initTelemetryRuntime(serviceName) {
129
+ if (initialized)
130
+ return;
131
+ initialized = true;
132
+ void initTracingRuntime(serviceName);
133
+ void initMetricsRuntime(serviceName);
134
+ }
@@ -0,0 +1,3 @@
1
+ import "./_dnt.polyfills.js";
2
+ export * from "./telemetry/mod.js";
3
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "./_dnt.polyfills.js";
2
+ export * from "./telemetry/mod.js";
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"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"}
package/esm/transfer.js CHANGED
@@ -17,7 +17,7 @@ import { ulid } from "ulid";
17
17
  import { buildProofInput, verifyProof } from "./auth/proof.js";
18
18
  import { base64urlEncode, sha256 } from "./auth/utils.js";
19
19
  import { TransferError } from "./errors/TransferError.js";
20
- import { createNatsHeaderCarrier, injectTraceContext } from "./tracing.js";
20
+ import { createNatsHeaderCarrier, injectTraceContext, recordTrellisError, } from "./telemetry/mod.js";
21
21
  const TRANSFER_SEQUENCE_HEADER = "trellis-transfer-seq";
22
22
  const TRANSFER_EOF_HEADER = "trellis-transfer-eof";
23
23
  export const FileInfoSchema = Type.Object({
@@ -130,7 +130,7 @@ function deserializeTransferError(msg, operation) {
130
130
  try {
131
131
  const value = JSON.parse(msg.string());
132
132
  return new TransferError({
133
- operation: value.operation ?? operation,
133
+ operation,
134
134
  context: value.context,
135
135
  cause: value.message ? new Error(value.message) : undefined,
136
136
  });
@@ -139,6 +139,16 @@ function deserializeTransferError(msg, operation) {
139
139
  return new TransferError({ operation, cause });
140
140
  }
141
141
  }
142
+ function recordTransferError(error, direction, phase) {
143
+ recordTrellisError(error, {
144
+ surface: "transfer",
145
+ direction,
146
+ operation: error.operation ?? direction,
147
+ phase,
148
+ messagingSystem: "nats",
149
+ });
150
+ return error;
151
+ }
142
152
  function receiveStream(sub, timeoutMs) {
143
153
  const iterator = sub[Symbol.asyncIterator]();
144
154
  return new ReadableStream({
@@ -179,9 +189,10 @@ function receiveStream(sub, timeoutMs) {
179
189
  }
180
190
  catch (cause) {
181
191
  sub.unsubscribe();
182
- controller.error(cause instanceof TransferError
192
+ const error = cause instanceof TransferError
183
193
  ? cause
184
- : new TransferError({ operation: "stream", cause }));
194
+ : new TransferError({ operation: "stream", cause });
195
+ controller.error(recordTransferError(error, "receive", "stream"));
185
196
  }
186
197
  },
187
198
  cancel() {
@@ -283,7 +294,7 @@ export class SendTransferHandle extends BaseTransferHandle {
283
294
  return AsyncResult.from((async () => {
284
295
  const valid = this.validateGrant(__classPrivateFieldGet(this, _SendTransferHandle_grant, "f"), "send").take();
285
296
  if (isErr(valid)) {
286
- return Result.err(valid.error);
297
+ return Result.err(recordTransferError(valid.error, "send", "grant"));
287
298
  }
288
299
  let sentBytes = 0;
289
300
  let seq = 0;
@@ -292,14 +303,14 @@ export class SendTransferHandle extends BaseTransferHandle {
292
303
  sentBytes += chunk.length;
293
304
  if (__classPrivateFieldGet(this, _SendTransferHandle_grant, "f").maxBytes !== undefined &&
294
305
  sentBytes > __classPrivateFieldGet(this, _SendTransferHandle_grant, "f").maxBytes) {
295
- return Result.err(new TransferError({
306
+ return Result.err(recordTransferError(new TransferError({
296
307
  operation: "send",
297
308
  context: {
298
309
  reason: "max_bytes_exceeded",
299
310
  maxBytes: __classPrivateFieldGet(this, _SendTransferHandle_grant, "f").maxBytes,
300
311
  attemptedBytes: sentBytes,
301
312
  },
302
- }));
313
+ }), "send", "validation"));
303
314
  }
304
315
  const headers = await this.buildHeaders(__classPrivateFieldGet(this, _SendTransferHandle_grant, "f").subject, chunk, seq, false);
305
316
  const response = await AsyncResult.try(() => this.nc.request(__classPrivateFieldGet(this, _SendTransferHandle_grant, "f").subject, chunk, {
@@ -307,11 +318,11 @@ export class SendTransferHandle extends BaseTransferHandle {
307
318
  headers,
308
319
  })).take();
309
320
  if (isErr(response)) {
310
- return Result.err(new TransferError({ operation: "send", cause: response.error }));
321
+ return Result.err(recordTransferError(new TransferError({ operation: "send", cause: response.error }), "send", "send"));
311
322
  }
312
323
  const ack = parseTransferAck(response, "send").take();
313
324
  if (isErr(ack)) {
314
- return Result.err(ack.error);
325
+ return Result.err(recordTransferError(ack.error, "send", "ack"));
315
326
  }
316
327
  if (ack.status === "complete") {
317
328
  completed = ack.info;
@@ -324,20 +335,20 @@ export class SendTransferHandle extends BaseTransferHandle {
324
335
  headers: finalHeaders,
325
336
  })).take();
326
337
  if (isErr(finalResponse)) {
327
- return Result.err(new TransferError({
338
+ return Result.err(recordTransferError(new TransferError({
328
339
  operation: "send",
329
340
  cause: finalResponse.error,
330
- }));
341
+ }), "send", "send"));
331
342
  }
332
343
  const finalAck = parseTransferAck(finalResponse, "send").take();
333
344
  if (isErr(finalAck)) {
334
- return Result.err(finalAck.error);
345
+ return Result.err(recordTransferError(finalAck.error, "send", "ack"));
335
346
  }
336
347
  if (finalAck.status !== "complete") {
337
- return Result.err(new TransferError({
348
+ return Result.err(recordTransferError(new TransferError({
338
349
  operation: "send",
339
350
  context: { reason: "missing_completion" },
340
- }));
351
+ }), "send", "ack"));
341
352
  }
342
353
  return Result.ok(finalAck.info ?? completed);
343
354
  })());
@@ -354,7 +365,7 @@ export class ReceiveTransferHandle extends BaseTransferHandle {
354
365
  return AsyncResult.from((async () => {
355
366
  const valid = this.validateGrant(__classPrivateFieldGet(this, _ReceiveTransferHandle_grant, "f"), "stream").take();
356
367
  if (isErr(valid)) {
357
- return Result.err(valid.error);
368
+ return Result.err(recordTransferError(valid.error, "receive", "grant"));
358
369
  }
359
370
  const inbox = createInbox(`_INBOX.${this.auth.sessionKey.slice(0, 16)}`);
360
371
  const sub = this.nc.subscribe(inbox);
@@ -369,7 +380,7 @@ export class ReceiveTransferHandle extends BaseTransferHandle {
369
380
  }
370
381
  catch (cause) {
371
382
  sub.unsubscribe();
372
- return Result.err(new TransferError({ operation: "stream", cause }));
383
+ return Result.err(recordTransferError(new TransferError({ operation: "stream", cause }), "receive", "send"));
373
384
  }
374
385
  return Result.ok(receiveStream(sub, this.timeoutMs));
375
386
  })());
package/esm/trellis.d.ts CHANGED
@@ -281,6 +281,26 @@ export type OperationTransferContextOf<TA extends AnyTrellisAPI, O extends Opera
281
281
  } ? TTransfer extends undefined ? undefined : OperationTransferHandle : undefined;
282
282
  export type OperationSurface<TA extends AnyTrellisAPI, TMode extends TrellisMode, O extends OperationsOf<TA>> = TMode extends "server" ? OperationRegistration<OperationInputOf<TA, O>, OperationProgressOf<TA, O>, OperationOutputOf<TA, O>, OperationTransferContextOf<TA, O>> : OperationInvoker<TA["operations"][O] & RuntimeOperationDesc>;
283
283
  export declare function isResultLike(value: unknown): value is Result<unknown, BaseError>;
284
+ type SerializableRuntimeError = {
285
+ id?: string;
286
+ type: string;
287
+ message: string;
288
+ context?: Record<string, unknown>;
289
+ traceId?: string;
290
+ } & Record<string, unknown>;
291
+ export type HandlerErrorAnnotationContext = {
292
+ method?: string;
293
+ event?: string;
294
+ feed?: string;
295
+ operation?: string;
296
+ jobType?: string;
297
+ requestId?: string;
298
+ service?: string;
299
+ contractId?: string;
300
+ contractDigest?: string;
301
+ traceId?: string;
302
+ };
303
+ export declare function annotateHandlerBoundaryError(cause: unknown, context: HandlerErrorAnnotationContext): BaseError;
284
304
  export type RuntimeOperationDesc = {
285
305
  subject: string;
286
306
  input: unknown;
@@ -327,10 +347,7 @@ export type RuntimeOperationSnapshot = {
327
347
  progress?: unknown;
328
348
  transfer?: RuntimeOperationTransferProgress;
329
349
  output?: unknown;
330
- error?: {
331
- type: string;
332
- message: string;
333
- };
350
+ error?: SerializableRuntimeError;
334
351
  };
335
352
  export type RuntimeOperationRecord = {
336
353
  id: string;
@@ -381,8 +398,11 @@ export declare const DurableOperationRecordSchema: Type.TObject<{
381
398
  }>>;
382
399
  output: Type.TOptional<Type.TAny>;
383
400
  error: Type.TOptional<Type.TObject<{
401
+ id: Type.TOptional<Type.TString>;
384
402
  type: Type.TString;
385
403
  message: Type.TString;
404
+ context: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
405
+ traceId: Type.TOptional<Type.TString>;
386
406
  }>>;
387
407
  }>;
388
408
  }>;
@@ -426,6 +446,8 @@ export type TrellisOpts<TA extends AnyTrellisAPI> = {
426
446
  state?: RuntimeStateStores;
427
447
  connection?: TrellisConnection;
428
448
  onSessionNotFound?: () => MaybePromise<void>;
449
+ contractId?: string;
450
+ contractDigest?: string;
429
451
  };
430
452
  export type RequestOpts = {
431
453
  timeout?: number;
@@ -632,6 +654,8 @@ export declare class Trellis<TA extends AnyTrellisAPI = TrellisAPI, TMode extend
632
654
  };
633
655
  /** Framework-neutral lifecycle handle for this Trellis runtime connection. */
634
656
  readonly connection: TrellisConnection;
657
+ readonly contractId?: string;
658
+ readonly contractDigest?: string;
635
659
  protected nats: NatsConnection;
636
660
  protected js: JetStreamClient;
637
661
  protected auth: TrellisAuth;
@@ -1 +1 @@
1
- {"version":3,"file":"trellis.d.ts","sourceRoot":"","sources":["../src/trellis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trellis.d.ts","sourceRoot":"","sources":["../src/trellis.ts"],"names":[],"mappings":"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"}