@cadenza.io/service 2.17.3 → 2.17.4

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
@@ -209,6 +209,8 @@ type DistributedInquiryOptions = Partial<InquiryOptions> & {
209
209
  hydrationKey?: string;
210
210
  };
211
211
 
212
+ type RuntimeStatusState = "healthy" | "degraded" | "overloaded" | "unavailable";
213
+
212
214
  interface DeputyDescriptor {
213
215
  serviceName: string;
214
216
  remoteRoutineName?: string;
@@ -280,6 +282,30 @@ declare class ServiceRegistry {
280
282
  getInquiryResponderDescriptor(task: Task): InquiryResponderDescriptor;
281
283
  private getInstance;
282
284
  private getLocalInstance;
285
+ resolveLocalStatusCheck(ctx?: AnyObject): {
286
+ __status: string;
287
+ __error: string;
288
+ errored: boolean;
289
+ } | {
290
+ __status: string;
291
+ __serviceName: string;
292
+ __serviceInstanceId: string;
293
+ __numberOfRunningGraphs: number;
294
+ __health: AnyObject;
295
+ __active: boolean;
296
+ reportedAt: string;
297
+ serviceName: string;
298
+ serviceInstanceId: string;
299
+ numberOfRunningGraphs: number;
300
+ health: AnyObject;
301
+ isActive: boolean;
302
+ isNonResponsive: boolean;
303
+ isBlocked: boolean;
304
+ state: RuntimeStatusState;
305
+ acceptingWork: boolean;
306
+ __error?: undefined;
307
+ errored?: undefined;
308
+ };
283
309
  private resolveTransportProtocolOrder;
284
310
  private selectTransportForInstance;
285
311
  private getRoutingTransportRole;
@@ -23122,8 +23148,6 @@ interface SSRInquiryBridge {
23122
23148
  }
23123
23149
  declare function createSSRInquiryBridge(options?: SSRInquiryBridgeOptions): SSRInquiryBridge;
23124
23150
 
23125
- type RuntimeStatusState = "healthy" | "degraded" | "overloaded" | "unavailable";
23126
-
23127
23151
  interface ServiceInstanceDescriptor {
23128
23152
  uuid: string;
23129
23153
  serviceName: string;
package/dist/index.d.ts CHANGED
@@ -209,6 +209,8 @@ type DistributedInquiryOptions = Partial<InquiryOptions> & {
209
209
  hydrationKey?: string;
210
210
  };
211
211
 
212
+ type RuntimeStatusState = "healthy" | "degraded" | "overloaded" | "unavailable";
213
+
212
214
  interface DeputyDescriptor {
213
215
  serviceName: string;
214
216
  remoteRoutineName?: string;
@@ -280,6 +282,30 @@ declare class ServiceRegistry {
280
282
  getInquiryResponderDescriptor(task: Task): InquiryResponderDescriptor;
281
283
  private getInstance;
282
284
  private getLocalInstance;
285
+ resolveLocalStatusCheck(ctx?: AnyObject): {
286
+ __status: string;
287
+ __error: string;
288
+ errored: boolean;
289
+ } | {
290
+ __status: string;
291
+ __serviceName: string;
292
+ __serviceInstanceId: string;
293
+ __numberOfRunningGraphs: number;
294
+ __health: AnyObject;
295
+ __active: boolean;
296
+ reportedAt: string;
297
+ serviceName: string;
298
+ serviceInstanceId: string;
299
+ numberOfRunningGraphs: number;
300
+ health: AnyObject;
301
+ isActive: boolean;
302
+ isNonResponsive: boolean;
303
+ isBlocked: boolean;
304
+ state: RuntimeStatusState;
305
+ acceptingWork: boolean;
306
+ __error?: undefined;
307
+ errored?: undefined;
308
+ };
283
309
  private resolveTransportProtocolOrder;
284
310
  private selectTransportForInstance;
285
311
  private getRoutingTransportRole;
@@ -23122,8 +23148,6 @@ interface SSRInquiryBridge {
23122
23148
  }
23123
23149
  declare function createSSRInquiryBridge(options?: SSRInquiryBridgeOptions): SSRInquiryBridge;
23124
23150
 
23125
- type RuntimeStatusState = "healthy" | "degraded" | "overloaded" | "unavailable";
23126
-
23127
23151
  interface ServiceInstanceDescriptor {
23128
23152
  uuid: string;
23129
23153
  serviceName: string;
package/dist/index.js CHANGED
@@ -1624,50 +1624,10 @@ var ServiceRegistry = class _ServiceRegistry {
1624
1624
  "meta.service_registry.selected_instance_for_fetch",
1625
1625
  "meta.service_registry.socket_failed"
1626
1626
  );
1627
- this.getStatusTask = CadenzaService.createMetaTask("Get status", (ctx) => {
1628
- if (!this.serviceName) {
1629
- return {
1630
- __status: "error",
1631
- __error: "No service name defined",
1632
- errored: true
1633
- };
1634
- }
1635
- if (!this.serviceInstanceId) {
1636
- return {
1637
- __status: "error",
1638
- __error: "No service instance id defined",
1639
- errored: true
1640
- };
1641
- }
1642
- const report = this.buildLocalRuntimeStatusReport("full");
1643
- if (!report) {
1644
- return {
1645
- ...ctx,
1646
- __status: "error",
1647
- __error: "No local service instance available for status check",
1648
- errored: true
1649
- };
1650
- }
1651
- return {
1652
- ...ctx,
1653
- __status: "ok",
1654
- __serviceName: report.serviceName,
1655
- __serviceInstanceId: report.serviceInstanceId,
1656
- __numberOfRunningGraphs: report.numberOfRunningGraphs,
1657
- __health: report.health ?? {},
1658
- __active: report.isActive,
1659
- reportedAt: report.reportedAt,
1660
- serviceName: report.serviceName,
1661
- serviceInstanceId: report.serviceInstanceId,
1662
- numberOfRunningGraphs: report.numberOfRunningGraphs,
1663
- health: report.health ?? {},
1664
- isActive: report.isActive,
1665
- isNonResponsive: report.isNonResponsive,
1666
- isBlocked: report.isBlocked,
1667
- state: report.state,
1668
- acceptingWork: report.acceptingWork
1669
- };
1670
- }).doOn(
1627
+ this.getStatusTask = CadenzaService.createMetaTask(
1628
+ "Get status",
1629
+ (ctx) => this.resolveLocalStatusCheck(ctx)
1630
+ ).doOn(
1671
1631
  "meta.socket.status_check_requested",
1672
1632
  "meta.rest.status_check_requested"
1673
1633
  );
@@ -2379,6 +2339,50 @@ var ServiceRegistry = class _ServiceRegistry {
2379
2339
  }
2380
2340
  return this.getInstance(this.serviceName, this.serviceInstanceId);
2381
2341
  }
2342
+ resolveLocalStatusCheck(ctx = {}) {
2343
+ if (!this.serviceName) {
2344
+ return {
2345
+ __status: "error",
2346
+ __error: "No service name defined",
2347
+ errored: true
2348
+ };
2349
+ }
2350
+ if (!this.serviceInstanceId) {
2351
+ return {
2352
+ __status: "error",
2353
+ __error: "No service instance id defined",
2354
+ errored: true
2355
+ };
2356
+ }
2357
+ const report = this.buildLocalRuntimeStatusReport("full");
2358
+ if (!report) {
2359
+ return {
2360
+ ...ctx,
2361
+ __status: "error",
2362
+ __error: "No local service instance available for status check",
2363
+ errored: true
2364
+ };
2365
+ }
2366
+ return {
2367
+ ...ctx,
2368
+ __status: "ok",
2369
+ __serviceName: report.serviceName,
2370
+ __serviceInstanceId: report.serviceInstanceId,
2371
+ __numberOfRunningGraphs: report.numberOfRunningGraphs,
2372
+ __health: report.health ?? {},
2373
+ __active: report.isActive,
2374
+ reportedAt: report.reportedAt,
2375
+ serviceName: report.serviceName,
2376
+ serviceInstanceId: report.serviceInstanceId,
2377
+ numberOfRunningGraphs: report.numberOfRunningGraphs,
2378
+ health: report.health ?? {},
2379
+ isActive: report.isActive,
2380
+ isNonResponsive: report.isNonResponsive,
2381
+ isBlocked: report.isBlocked,
2382
+ state: report.state,
2383
+ acceptingWork: report.acceptingWork
2384
+ };
2385
+ }
2382
2386
  resolveTransportProtocolOrder(ctx) {
2383
2387
  const explicit = ctx.__preferredTransportProtocol === "rest" || ctx.__preferredTransportProtocol === "socket" ? ctx.__preferredTransportProtocol : void 0;
2384
2388
  const preferred = explicit ?? (this.useSocket ? "socket" : "rest");
@@ -3258,15 +3262,11 @@ var RestController = class _RestController {
3258
3262
  CadenzaService.emit(ctx2.__signalName, ctx2);
3259
3263
  });
3260
3264
  app.get("/status", (req, res) => {
3261
- CadenzaService.createEphemeralMetaTask(
3262
- "Resolve status check",
3263
- (statusCtx) => res.json(statusCtx),
3264
- "Resolves a status check request",
3265
- { register: false }
3266
- ).doAfter(CadenzaService.serviceRegistry.getStatusTask);
3267
- CadenzaService.emit(
3268
- "meta.rest.status_check_requested",
3269
- req.body.query
3265
+ const statusCheckQuery = req?.body?.query && typeof req.body.query === "object" ? req.body.query : req?.query && typeof req.query === "object" ? { ...req.query } : {};
3266
+ res.json(
3267
+ CadenzaService.serviceRegistry.resolveLocalStatusCheck(
3268
+ statusCheckQuery
3269
+ )
3270
3270
  );
3271
3271
  });
3272
3272
  return true;
@@ -4338,13 +4338,7 @@ var SocketController = class _SocketController {
4338
4338
  ws.on(
4339
4339
  "status_check",
4340
4340
  (ctx, callback) => {
4341
- CadenzaService.createEphemeralMetaTask(
4342
- "Resolve status check",
4343
- callback,
4344
- "Resolves a status check request",
4345
- { register: false }
4346
- ).doAfter(CadenzaService.serviceRegistry.getStatusTask);
4347
- CadenzaService.emit("meta.socket.status_check_requested", ctx);
4341
+ callback(CadenzaService.serviceRegistry.resolveLocalStatusCheck(ctx));
4348
4342
  }
4349
4343
  );
4350
4344
  ws.on("disconnect", () => {