@almadar/ui 2.28.0 → 2.28.2

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.
@@ -3411,17 +3411,42 @@ function VerificationProvider({
3411
3411
  const pending = pendingRef.current.get(key);
3412
3412
  pendingRef.current.delete(key);
3413
3413
  const newState = payload["newState"] ?? payload["state"] ?? "unknown";
3414
- const effects = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"].map((e) => ({
3414
+ const clientEffectsArr = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"] : [];
3415
+ const effects = clientEffectsArr.map((e) => ({
3415
3416
  type: String(e["type"] ?? "unknown"),
3416
3417
  args: Array.isArray(e["args"]) ? e["args"] : [],
3417
3418
  status: "executed"
3418
- })) : [];
3419
+ }));
3420
+ const effectResults = Array.isArray(payload["effectResults"]) ? payload["effectResults"] : [];
3421
+ for (const er of effectResults) {
3422
+ effects.push({
3423
+ type: String(er["type"] ?? er["effect"] ?? "server-effect"),
3424
+ args: [er["entity"] ?? er["service"] ?? ""].filter(Boolean),
3425
+ status: er["error"] ? "failed" : "executed",
3426
+ error: er["error"]
3427
+ });
3428
+ }
3429
+ const dataEntities = {};
3430
+ const responseData = payload["data"];
3431
+ if (responseData && typeof responseData === "object") {
3432
+ for (const [entityName, records] of Object.entries(responseData)) {
3433
+ dataEntities[entityName] = Array.isArray(records) ? records.length : 0;
3434
+ }
3435
+ }
3419
3436
  recordTransition({
3420
3437
  traitName: parsed.traitName,
3421
3438
  from: pending?.from ?? payload["currentState"] ?? newState,
3422
3439
  to: newState,
3423
3440
  event: parsed.event,
3424
3441
  effects,
3442
+ serverResponse: {
3443
+ orbitalName: parsed.traitName,
3444
+ success: true,
3445
+ clientEffects: clientEffectsArr.length,
3446
+ dataEntities,
3447
+ emittedEvents: [],
3448
+ timestamp: Date.now()
3449
+ },
3425
3450
  timestamp: Date.now()
3426
3451
  });
3427
3452
  } else if (parsed.kind === "error" && parsed.event) {
@@ -3442,6 +3467,15 @@ function VerificationProvider({
3442
3467
  status: "failed",
3443
3468
  error: errorMsg
3444
3469
  }],
3470
+ serverResponse: {
3471
+ orbitalName: parsed.traitName,
3472
+ success: false,
3473
+ clientEffects: 0,
3474
+ dataEntities: {},
3475
+ emittedEvents: [],
3476
+ error: errorMsg,
3477
+ timestamp: Date.now()
3478
+ },
3445
3479
  timestamp: Date.now()
3446
3480
  });
3447
3481
  }
@@ -3381,17 +3381,42 @@ function VerificationProvider({
3381
3381
  const pending = pendingRef.current.get(key);
3382
3382
  pendingRef.current.delete(key);
3383
3383
  const newState = payload["newState"] ?? payload["state"] ?? "unknown";
3384
- const effects = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"].map((e) => ({
3384
+ const clientEffectsArr = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"] : [];
3385
+ const effects = clientEffectsArr.map((e) => ({
3385
3386
  type: String(e["type"] ?? "unknown"),
3386
3387
  args: Array.isArray(e["args"]) ? e["args"] : [],
3387
3388
  status: "executed"
3388
- })) : [];
3389
+ }));
3390
+ const effectResults = Array.isArray(payload["effectResults"]) ? payload["effectResults"] : [];
3391
+ for (const er of effectResults) {
3392
+ effects.push({
3393
+ type: String(er["type"] ?? er["effect"] ?? "server-effect"),
3394
+ args: [er["entity"] ?? er["service"] ?? ""].filter(Boolean),
3395
+ status: er["error"] ? "failed" : "executed",
3396
+ error: er["error"]
3397
+ });
3398
+ }
3399
+ const dataEntities = {};
3400
+ const responseData = payload["data"];
3401
+ if (responseData && typeof responseData === "object") {
3402
+ for (const [entityName, records] of Object.entries(responseData)) {
3403
+ dataEntities[entityName] = Array.isArray(records) ? records.length : 0;
3404
+ }
3405
+ }
3389
3406
  recordTransition({
3390
3407
  traitName: parsed.traitName,
3391
3408
  from: pending?.from ?? payload["currentState"] ?? newState,
3392
3409
  to: newState,
3393
3410
  event: parsed.event,
3394
3411
  effects,
3412
+ serverResponse: {
3413
+ orbitalName: parsed.traitName,
3414
+ success: true,
3415
+ clientEffects: clientEffectsArr.length,
3416
+ dataEntities,
3417
+ emittedEvents: [],
3418
+ timestamp: Date.now()
3419
+ },
3395
3420
  timestamp: Date.now()
3396
3421
  });
3397
3422
  } else if (parsed.kind === "error" && parsed.event) {
@@ -3412,6 +3437,15 @@ function VerificationProvider({
3412
3437
  status: "failed",
3413
3438
  error: errorMsg
3414
3439
  }],
3440
+ serverResponse: {
3441
+ orbitalName: parsed.traitName,
3442
+ success: false,
3443
+ clientEffects: 0,
3444
+ dataEntities: {},
3445
+ emittedEvents: [],
3446
+ error: errorMsg,
3447
+ timestamp: Date.now()
3448
+ },
3415
3449
  timestamp: Date.now()
3416
3450
  });
3417
3451
  }
@@ -32444,17 +32444,42 @@ function VerificationProvider({
32444
32444
  const pending = pendingRef.current.get(key);
32445
32445
  pendingRef.current.delete(key);
32446
32446
  const newState = payload["newState"] ?? payload["state"] ?? "unknown";
32447
- const effects = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"].map((e) => ({
32447
+ const clientEffectsArr = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"] : [];
32448
+ const effects = clientEffectsArr.map((e) => ({
32448
32449
  type: String(e["type"] ?? "unknown"),
32449
32450
  args: Array.isArray(e["args"]) ? e["args"] : [],
32450
32451
  status: "executed"
32451
- })) : [];
32452
+ }));
32453
+ const effectResults = Array.isArray(payload["effectResults"]) ? payload["effectResults"] : [];
32454
+ for (const er of effectResults) {
32455
+ effects.push({
32456
+ type: String(er["type"] ?? er["effect"] ?? "server-effect"),
32457
+ args: [er["entity"] ?? er["service"] ?? ""].filter(Boolean),
32458
+ status: er["error"] ? "failed" : "executed",
32459
+ error: er["error"]
32460
+ });
32461
+ }
32462
+ const dataEntities = {};
32463
+ const responseData = payload["data"];
32464
+ if (responseData && typeof responseData === "object") {
32465
+ for (const [entityName, records] of Object.entries(responseData)) {
32466
+ dataEntities[entityName] = Array.isArray(records) ? records.length : 0;
32467
+ }
32468
+ }
32452
32469
  recordTransition({
32453
32470
  traitName: parsed.traitName,
32454
32471
  from: pending?.from ?? payload["currentState"] ?? newState,
32455
32472
  to: newState,
32456
32473
  event: parsed.event,
32457
32474
  effects,
32475
+ serverResponse: {
32476
+ orbitalName: parsed.traitName,
32477
+ success: true,
32478
+ clientEffects: clientEffectsArr.length,
32479
+ dataEntities,
32480
+ emittedEvents: [],
32481
+ timestamp: Date.now()
32482
+ },
32458
32483
  timestamp: Date.now()
32459
32484
  });
32460
32485
  } else if (parsed.kind === "error" && parsed.event) {
@@ -32475,6 +32500,15 @@ function VerificationProvider({
32475
32500
  status: "failed",
32476
32501
  error: errorMsg
32477
32502
  }],
32503
+ serverResponse: {
32504
+ orbitalName: parsed.traitName,
32505
+ success: false,
32506
+ clientEffects: 0,
32507
+ dataEntities: {},
32508
+ emittedEvents: [],
32509
+ error: errorMsg,
32510
+ timestamp: Date.now()
32511
+ },
32478
32512
  timestamp: Date.now()
32479
32513
  });
32480
32514
  }
@@ -32414,17 +32414,42 @@ function VerificationProvider({
32414
32414
  const pending = pendingRef.current.get(key);
32415
32415
  pendingRef.current.delete(key);
32416
32416
  const newState = payload["newState"] ?? payload["state"] ?? "unknown";
32417
- const effects = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"].map((e) => ({
32417
+ const clientEffectsArr = Array.isArray(payload["clientEffects"]) ? payload["clientEffects"] : [];
32418
+ const effects = clientEffectsArr.map((e) => ({
32418
32419
  type: String(e["type"] ?? "unknown"),
32419
32420
  args: Array.isArray(e["args"]) ? e["args"] : [],
32420
32421
  status: "executed"
32421
- })) : [];
32422
+ }));
32423
+ const effectResults = Array.isArray(payload["effectResults"]) ? payload["effectResults"] : [];
32424
+ for (const er of effectResults) {
32425
+ effects.push({
32426
+ type: String(er["type"] ?? er["effect"] ?? "server-effect"),
32427
+ args: [er["entity"] ?? er["service"] ?? ""].filter(Boolean),
32428
+ status: er["error"] ? "failed" : "executed",
32429
+ error: er["error"]
32430
+ });
32431
+ }
32432
+ const dataEntities = {};
32433
+ const responseData = payload["data"];
32434
+ if (responseData && typeof responseData === "object") {
32435
+ for (const [entityName, records] of Object.entries(responseData)) {
32436
+ dataEntities[entityName] = Array.isArray(records) ? records.length : 0;
32437
+ }
32438
+ }
32422
32439
  recordTransition({
32423
32440
  traitName: parsed.traitName,
32424
32441
  from: pending?.from ?? payload["currentState"] ?? newState,
32425
32442
  to: newState,
32426
32443
  event: parsed.event,
32427
32444
  effects,
32445
+ serverResponse: {
32446
+ orbitalName: parsed.traitName,
32447
+ success: true,
32448
+ clientEffects: clientEffectsArr.length,
32449
+ dataEntities,
32450
+ emittedEvents: [],
32451
+ timestamp: Date.now()
32452
+ },
32428
32453
  timestamp: Date.now()
32429
32454
  });
32430
32455
  } else if (parsed.kind === "error" && parsed.event) {
@@ -32445,6 +32470,15 @@ function VerificationProvider({
32445
32470
  status: "failed",
32446
32471
  error: errorMsg
32447
32472
  }],
32473
+ serverResponse: {
32474
+ orbitalName: parsed.traitName,
32475
+ success: false,
32476
+ clientEffects: 0,
32477
+ dataEntities: {},
32478
+ emittedEvents: [],
32479
+ error: errorMsg,
32480
+ timestamp: Date.now()
32481
+ },
32448
32482
  timestamp: Date.now()
32449
32483
  });
32450
32484
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "2.28.0",
3
+ "version": "2.28.2",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",