@cadenza.io/service 2.6.0 → 2.7.0

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.
package/dist/index.d.mts CHANGED
@@ -192,6 +192,8 @@ type DistributedInquiryOptions = Partial<InquiryOptions> & {
192
192
  perResponderTimeoutMs?: number;
193
193
  };
194
194
 
195
+ type RuntimeStatusState = "healthy" | "degraded" | "overloaded" | "unavailable";
196
+
195
197
  interface ServiceInstanceDescriptor {
196
198
  uuid: string;
197
199
  address: string;
@@ -202,6 +204,9 @@ interface ServiceInstanceDescriptor {
202
204
  isActive: boolean;
203
205
  isNonResponsive: boolean;
204
206
  isBlocked: boolean;
207
+ runtimeState?: RuntimeStatusState;
208
+ acceptingWork?: boolean;
209
+ reportedAt?: string;
205
210
  health: AnyObject;
206
211
  exposed: boolean;
207
212
  clientCreated?: boolean;
@@ -229,6 +234,19 @@ declare class ServiceRegistry {
229
234
  private remoteIntents;
230
235
  private remoteIntentDeputiesByKey;
231
236
  private remoteIntentDeputiesByTask;
237
+ private dependeesByService;
238
+ private dependeeByInstance;
239
+ private lastHeartbeatAtByInstance;
240
+ private missedHeartbeatsByInstance;
241
+ private runtimeStatusFallbackInFlightByInstance;
242
+ private activeRoutineExecutionIds;
243
+ private runtimeStatusHeartbeatStarted;
244
+ private lastRuntimeStatusSnapshot;
245
+ private readonly runtimeStatusHeartbeatIntervalMs;
246
+ private readonly runtimeStatusMissThreshold;
247
+ private readonly runtimeStatusFallbackTimeoutMs;
248
+ private readonly degradedGraphThreshold;
249
+ private readonly overloadedGraphThreshold;
232
250
  serviceName: string | null;
233
251
  serviceInstanceId: string | null;
234
252
  numberOfRunningGraphs: number;
@@ -257,6 +275,15 @@ declare class ServiceRegistry {
257
275
  private registerRemoteIntentDeputy;
258
276
  private unregisterRemoteIntentDeputy;
259
277
  getInquiryResponderDescriptor(task: Task): InquiryResponderDescriptor;
278
+ private getInstance;
279
+ private getLocalInstance;
280
+ private registerDependee;
281
+ private unregisterDependee;
282
+ private resolveRuntimeStatusSnapshot;
283
+ private normalizeRuntimeStatusReport;
284
+ private applyRuntimeStatusReport;
285
+ private buildLocalRuntimeStatusReport;
286
+ private selectRuntimeStatusReportForTarget;
260
287
  /**
261
288
  * Initializes a private constructor for managing service instances, remote signals,
262
289
  * service health, and handling updates or synchronization tasks. The constructor
package/dist/index.d.ts CHANGED
@@ -192,6 +192,8 @@ type DistributedInquiryOptions = Partial<InquiryOptions> & {
192
192
  perResponderTimeoutMs?: number;
193
193
  };
194
194
 
195
+ type RuntimeStatusState = "healthy" | "degraded" | "overloaded" | "unavailable";
196
+
195
197
  interface ServiceInstanceDescriptor {
196
198
  uuid: string;
197
199
  address: string;
@@ -202,6 +204,9 @@ interface ServiceInstanceDescriptor {
202
204
  isActive: boolean;
203
205
  isNonResponsive: boolean;
204
206
  isBlocked: boolean;
207
+ runtimeState?: RuntimeStatusState;
208
+ acceptingWork?: boolean;
209
+ reportedAt?: string;
205
210
  health: AnyObject;
206
211
  exposed: boolean;
207
212
  clientCreated?: boolean;
@@ -229,6 +234,19 @@ declare class ServiceRegistry {
229
234
  private remoteIntents;
230
235
  private remoteIntentDeputiesByKey;
231
236
  private remoteIntentDeputiesByTask;
237
+ private dependeesByService;
238
+ private dependeeByInstance;
239
+ private lastHeartbeatAtByInstance;
240
+ private missedHeartbeatsByInstance;
241
+ private runtimeStatusFallbackInFlightByInstance;
242
+ private activeRoutineExecutionIds;
243
+ private runtimeStatusHeartbeatStarted;
244
+ private lastRuntimeStatusSnapshot;
245
+ private readonly runtimeStatusHeartbeatIntervalMs;
246
+ private readonly runtimeStatusMissThreshold;
247
+ private readonly runtimeStatusFallbackTimeoutMs;
248
+ private readonly degradedGraphThreshold;
249
+ private readonly overloadedGraphThreshold;
232
250
  serviceName: string | null;
233
251
  serviceInstanceId: string | null;
234
252
  numberOfRunningGraphs: number;
@@ -257,6 +275,15 @@ declare class ServiceRegistry {
257
275
  private registerRemoteIntentDeputy;
258
276
  private unregisterRemoteIntentDeputy;
259
277
  getInquiryResponderDescriptor(task: Task): InquiryResponderDescriptor;
278
+ private getInstance;
279
+ private getLocalInstance;
280
+ private registerDependee;
281
+ private unregisterDependee;
282
+ private resolveRuntimeStatusSnapshot;
283
+ private normalizeRuntimeStatusReport;
284
+ private applyRuntimeStatusReport;
285
+ private buildLocalRuntimeStatusReport;
286
+ private selectRuntimeStatusReportForTarget;
260
287
  /**
261
288
  * Initializes a private constructor for managing service instances, remote signals,
262
289
  * service health, and handling updates or synchronization tasks. The constructor