@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.
@@ -1132,8 +1132,7 @@ var ServiceRegistry = class _ServiceRegistry {
1132
1132
  this.handleGlobalSignalRegistrationTask = CadenzaService.createMetaTask(
1133
1133
  "Handle global Signal Registration",
1134
1134
  (ctx) => {
1135
- const { signalToTaskMaps } = ctx;
1136
- const sortedSignalToTaskMap = signalToTaskMaps.sort(
1135
+ const sortedSignalToTaskMap = this.normalizeSignalMaps(ctx).sort(
1137
1136
  (a, b) => {
1138
1137
  if (a.deleted && !b.deleted) return -1;
1139
1138
  if (!a.deleted && b.deleted) return 1;
@@ -1371,22 +1370,14 @@ var ServiceRegistry = class _ServiceRegistry {
1371
1370
  },
1372
1371
  ctx.inquiryOptions ?? ctx.__inquiryOptions ?? {}
1373
1372
  );
1374
- const signalToTaskMaps = (inquiryResult.signalToTaskMaps ?? []).filter((m) => !!m.isGlobal).map((m) => ({
1375
- signalName: m.signalName,
1376
- serviceName: m.serviceName,
1377
- deleted: !!m.deleted
1378
- }));
1379
- const intentToTaskMaps = (inquiryResult.intentToTaskMaps ?? []).map(
1380
- (m) => ({
1381
- intentName: m.intentName,
1382
- taskName: m.taskName,
1383
- taskVersion: m.taskVersion ?? 1,
1384
- serviceName: m.serviceName,
1385
- deleted: !!m.deleted
1386
- })
1373
+ const signalToTaskMaps = this.normalizeSignalMaps(
1374
+ inquiryResult
1375
+ ).filter((m) => !!m.isGlobal);
1376
+ const intentToTaskMaps = this.normalizeIntentMaps(
1377
+ inquiryResult
1387
1378
  );
1388
- const serviceInstances = (inquiryResult.serviceInstances ?? []).map((instance) => normalizeServiceInstanceDescriptor(instance)).filter(
1389
- (instance) => !!instance && !!instance.isActive && !instance.isNonResponsive && !instance.isBlocked
1379
+ const serviceInstances = this.normalizeServiceInstancesFromSync(
1380
+ inquiryResult
1390
1381
  );
1391
1382
  return {
1392
1383
  ...ctx,
@@ -2212,9 +2203,47 @@ var ServiceRegistry = class _ServiceRegistry {
2212
2203
  buildRemoteIntentDeputyKey(map) {
2213
2204
  return `${map.intentName}|${map.serviceName}|${map.taskName}|${map.taskVersion ?? 1}`;
2214
2205
  }
2206
+ readArrayPayload(ctx, keys) {
2207
+ for (const key of keys) {
2208
+ const value = ctx?.[key];
2209
+ if (Array.isArray(value)) {
2210
+ return value;
2211
+ }
2212
+ }
2213
+ if (Array.isArray(ctx?.rows)) {
2214
+ return ctx.rows;
2215
+ }
2216
+ if (Array.isArray(ctx?.data)) {
2217
+ return ctx.data;
2218
+ }
2219
+ return [];
2220
+ }
2221
+ normalizeSignalMaps(ctx) {
2222
+ return this.readArrayPayload(ctx, [
2223
+ "signalToTaskMaps",
2224
+ "signal_to_task_maps",
2225
+ "signalToTaskMap",
2226
+ "signal_to_task_map"
2227
+ ]).map((map) => ({
2228
+ signalName: String(
2229
+ map.signalName ?? map.signal_name ?? ""
2230
+ ).trim(),
2231
+ serviceName: String(
2232
+ map.serviceName ?? map.service_name ?? ""
2233
+ ).trim(),
2234
+ isGlobal: Boolean(map.isGlobal ?? map.is_global ?? false),
2235
+ deleted: Boolean(map.deleted)
2236
+ })).filter((map) => map.signalName && map.serviceName);
2237
+ }
2215
2238
  normalizeIntentMaps(ctx) {
2216
- if (Array.isArray(ctx.intentToTaskMaps)) {
2217
- return ctx.intentToTaskMaps.map((m) => ({
2239
+ const arrayPayload = this.readArrayPayload(ctx, [
2240
+ "intentToTaskMaps",
2241
+ "intent_to_task_maps",
2242
+ "intentToTaskMap",
2243
+ "intent_to_task_map"
2244
+ ]);
2245
+ if (arrayPayload.length > 0) {
2246
+ return arrayPayload.map((m) => ({
2218
2247
  intentName: m.intentName ?? m.intent_name,
2219
2248
  serviceName: m.serviceName ?? m.service_name,
2220
2249
  taskName: m.taskName ?? m.task_name,
@@ -2222,7 +2251,7 @@ var ServiceRegistry = class _ServiceRegistry {
2222
2251
  deleted: !!m.deleted
2223
2252
  })).filter((m) => m.intentName && m.serviceName && m.taskName);
2224
2253
  }
2225
- const single = ctx.intentToTaskMap ?? ctx.data ?? (ctx.intentName ? ctx : void 0);
2254
+ const single = ctx.intentToTaskMap ?? ctx.intent_to_task_map ?? ctx.data ?? (ctx.intentName ? ctx : void 0);
2226
2255
  if (!single) return [];
2227
2256
  const normalized = {
2228
2257
  intentName: single.intentName ?? single.intent_name,
@@ -2235,6 +2264,40 @@ var ServiceRegistry = class _ServiceRegistry {
2235
2264
  return [];
2236
2265
  return [normalized];
2237
2266
  }
2267
+ normalizeServiceInstancesFromSync(ctx) {
2268
+ const rawTransports = this.readArrayPayload(ctx, [
2269
+ "serviceInstanceTransports",
2270
+ "service_instance_transports",
2271
+ "serviceInstanceTransport",
2272
+ "service_instance_transport"
2273
+ ]).map((transport) => normalizeServiceTransportDescriptor(transport)).filter(
2274
+ (transport) => !!transport && !transport.deleted
2275
+ );
2276
+ const transportsByInstance = /* @__PURE__ */ new Map();
2277
+ for (const transport of rawTransports) {
2278
+ if (!transportsByInstance.has(transport.serviceInstanceId)) {
2279
+ transportsByInstance.set(transport.serviceInstanceId, []);
2280
+ }
2281
+ transportsByInstance.get(transport.serviceInstanceId).push(transport);
2282
+ }
2283
+ return this.readArrayPayload(ctx, [
2284
+ "serviceInstances",
2285
+ "service_instances",
2286
+ "serviceInstance",
2287
+ "service_instance"
2288
+ ]).map(
2289
+ (instance) => normalizeServiceInstanceDescriptor({
2290
+ ...instance,
2291
+ transports: Array.isArray(instance?.transports) && instance.transports.length > 0 ? instance.transports : transportsByInstance.get(
2292
+ String(
2293
+ instance?.uuid ?? instance?.serviceInstanceId ?? instance?.service_instance_id ?? ""
2294
+ ).trim()
2295
+ ) ?? []
2296
+ })
2297
+ ).filter(
2298
+ (instance) => !!instance && !!instance.isActive && !instance.isNonResponsive && !instance.isBlocked
2299
+ );
2300
+ }
2238
2301
  registerRemoteIntentDeputy(map) {
2239
2302
  if (!this.serviceName || map.serviceName === this.serviceName) {
2240
2303
  return;