@cadenza.io/service 2.17.14 → 2.17.15

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.
@@ -1183,8 +1183,7 @@ var ServiceRegistry = class _ServiceRegistry {
1183
1183
  this.handleGlobalSignalRegistrationTask = CadenzaService.createMetaTask(
1184
1184
  "Handle global Signal Registration",
1185
1185
  (ctx) => {
1186
- const { signalToTaskMaps } = ctx;
1187
- const sortedSignalToTaskMap = signalToTaskMaps.sort(
1186
+ const sortedSignalToTaskMap = this.normalizeSignalMaps(ctx).sort(
1188
1187
  (a, b) => {
1189
1188
  if (a.deleted && !b.deleted) return -1;
1190
1189
  if (!a.deleted && b.deleted) return 1;
@@ -1422,22 +1421,14 @@ var ServiceRegistry = class _ServiceRegistry {
1422
1421
  },
1423
1422
  ctx.inquiryOptions ?? ctx.__inquiryOptions ?? {}
1424
1423
  );
1425
- const signalToTaskMaps = (inquiryResult.signalToTaskMaps ?? []).filter((m) => !!m.isGlobal).map((m) => ({
1426
- signalName: m.signalName,
1427
- serviceName: m.serviceName,
1428
- deleted: !!m.deleted
1429
- }));
1430
- const intentToTaskMaps = (inquiryResult.intentToTaskMaps ?? []).map(
1431
- (m) => ({
1432
- intentName: m.intentName,
1433
- taskName: m.taskName,
1434
- taskVersion: m.taskVersion ?? 1,
1435
- serviceName: m.serviceName,
1436
- deleted: !!m.deleted
1437
- })
1424
+ const signalToTaskMaps = this.normalizeSignalMaps(
1425
+ inquiryResult
1426
+ ).filter((m) => !!m.isGlobal);
1427
+ const intentToTaskMaps = this.normalizeIntentMaps(
1428
+ inquiryResult
1438
1429
  );
1439
- const serviceInstances = (inquiryResult.serviceInstances ?? []).map((instance) => normalizeServiceInstanceDescriptor(instance)).filter(
1440
- (instance) => !!instance && !!instance.isActive && !instance.isNonResponsive && !instance.isBlocked
1430
+ const serviceInstances = this.normalizeServiceInstancesFromSync(
1431
+ inquiryResult
1441
1432
  );
1442
1433
  return {
1443
1434
  ...ctx,
@@ -2263,9 +2254,47 @@ var ServiceRegistry = class _ServiceRegistry {
2263
2254
  buildRemoteIntentDeputyKey(map) {
2264
2255
  return `${map.intentName}|${map.serviceName}|${map.taskName}|${map.taskVersion ?? 1}`;
2265
2256
  }
2257
+ readArrayPayload(ctx, keys) {
2258
+ for (const key of keys) {
2259
+ const value = ctx?.[key];
2260
+ if (Array.isArray(value)) {
2261
+ return value;
2262
+ }
2263
+ }
2264
+ if (Array.isArray(ctx?.rows)) {
2265
+ return ctx.rows;
2266
+ }
2267
+ if (Array.isArray(ctx?.data)) {
2268
+ return ctx.data;
2269
+ }
2270
+ return [];
2271
+ }
2272
+ normalizeSignalMaps(ctx) {
2273
+ return this.readArrayPayload(ctx, [
2274
+ "signalToTaskMaps",
2275
+ "signal_to_task_maps",
2276
+ "signalToTaskMap",
2277
+ "signal_to_task_map"
2278
+ ]).map((map) => ({
2279
+ signalName: String(
2280
+ map.signalName ?? map.signal_name ?? ""
2281
+ ).trim(),
2282
+ serviceName: String(
2283
+ map.serviceName ?? map.service_name ?? ""
2284
+ ).trim(),
2285
+ isGlobal: Boolean(map.isGlobal ?? map.is_global ?? false),
2286
+ deleted: Boolean(map.deleted)
2287
+ })).filter((map) => map.signalName && map.serviceName);
2288
+ }
2266
2289
  normalizeIntentMaps(ctx) {
2267
- if (Array.isArray(ctx.intentToTaskMaps)) {
2268
- return ctx.intentToTaskMaps.map((m) => ({
2290
+ const arrayPayload = this.readArrayPayload(ctx, [
2291
+ "intentToTaskMaps",
2292
+ "intent_to_task_maps",
2293
+ "intentToTaskMap",
2294
+ "intent_to_task_map"
2295
+ ]);
2296
+ if (arrayPayload.length > 0) {
2297
+ return arrayPayload.map((m) => ({
2269
2298
  intentName: m.intentName ?? m.intent_name,
2270
2299
  serviceName: m.serviceName ?? m.service_name,
2271
2300
  taskName: m.taskName ?? m.task_name,
@@ -2273,7 +2302,7 @@ var ServiceRegistry = class _ServiceRegistry {
2273
2302
  deleted: !!m.deleted
2274
2303
  })).filter((m) => m.intentName && m.serviceName && m.taskName);
2275
2304
  }
2276
- const single = ctx.intentToTaskMap ?? ctx.data ?? (ctx.intentName ? ctx : void 0);
2305
+ const single = ctx.intentToTaskMap ?? ctx.intent_to_task_map ?? ctx.data ?? (ctx.intentName ? ctx : void 0);
2277
2306
  if (!single) return [];
2278
2307
  const normalized = {
2279
2308
  intentName: single.intentName ?? single.intent_name,
@@ -2286,6 +2315,40 @@ var ServiceRegistry = class _ServiceRegistry {
2286
2315
  return [];
2287
2316
  return [normalized];
2288
2317
  }
2318
+ normalizeServiceInstancesFromSync(ctx) {
2319
+ const rawTransports = this.readArrayPayload(ctx, [
2320
+ "serviceInstanceTransports",
2321
+ "service_instance_transports",
2322
+ "serviceInstanceTransport",
2323
+ "service_instance_transport"
2324
+ ]).map((transport) => normalizeServiceTransportDescriptor(transport)).filter(
2325
+ (transport) => !!transport && !transport.deleted
2326
+ );
2327
+ const transportsByInstance = /* @__PURE__ */ new Map();
2328
+ for (const transport of rawTransports) {
2329
+ if (!transportsByInstance.has(transport.serviceInstanceId)) {
2330
+ transportsByInstance.set(transport.serviceInstanceId, []);
2331
+ }
2332
+ transportsByInstance.get(transport.serviceInstanceId).push(transport);
2333
+ }
2334
+ return this.readArrayPayload(ctx, [
2335
+ "serviceInstances",
2336
+ "service_instances",
2337
+ "serviceInstance",
2338
+ "service_instance"
2339
+ ]).map(
2340
+ (instance) => normalizeServiceInstanceDescriptor({
2341
+ ...instance,
2342
+ transports: Array.isArray(instance?.transports) && instance.transports.length > 0 ? instance.transports : transportsByInstance.get(
2343
+ String(
2344
+ instance?.uuid ?? instance?.serviceInstanceId ?? instance?.service_instance_id ?? ""
2345
+ ).trim()
2346
+ ) ?? []
2347
+ })
2348
+ ).filter(
2349
+ (instance) => !!instance && !!instance.isActive && !instance.isNonResponsive && !instance.isBlocked
2350
+ );
2351
+ }
2289
2352
  registerRemoteIntentDeputy(map) {
2290
2353
  if (!this.serviceName || map.serviceName === this.serviceName) {
2291
2354
  return;