@almadar/std 3.4.4 → 3.5.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.
Files changed (97) hide show
  1. package/behaviors/exports/atoms/std-browse.orb +1 -1
  2. package/behaviors/exports/atoms/std-confirmation.orb +4 -4
  3. package/behaviors/exports/atoms/std-modal.orb +2 -2
  4. package/behaviors/exports/molecules/std-cart.orb +9 -76
  5. package/behaviors/exports/molecules/std-detail.orb +4 -8
  6. package/behaviors/exports/molecules/std-geospatial.orb +7 -7
  7. package/behaviors/exports/molecules/std-inventory.orb +10 -22
  8. package/behaviors/exports/molecules/std-list.orb +6 -18
  9. package/behaviors/exports/molecules/std-messaging.orb +4 -8
  10. package/behaviors/exports/organisms/std-api-gateway.orb +6 -18
  11. package/behaviors/exports/organisms/std-booking-system.orb +12 -36
  12. package/behaviors/exports/organisms/std-cicd-pipeline.orb +6 -18
  13. package/behaviors/exports/organisms/std-cms.orb +16 -44
  14. package/behaviors/exports/organisms/std-crm.orb +16 -44
  15. package/behaviors/exports/organisms/std-devops-dashboard.orb +6 -18
  16. package/behaviors/exports/organisms/std-ecommerce.orb +28 -108
  17. package/behaviors/exports/organisms/std-finance-tracker.orb +10 -26
  18. package/behaviors/exports/organisms/std-healthcare.orb +16 -44
  19. package/behaviors/exports/organisms/std-helpdesk.orb +10 -26
  20. package/behaviors/exports/organisms/std-hr-portal.orb +12 -36
  21. package/behaviors/exports/organisms/std-iot-dashboard.orb +6 -18
  22. package/behaviors/exports/organisms/std-lms.orb +6 -18
  23. package/behaviors/exports/organisms/std-platformer-app.orb +10 -22
  24. package/behaviors/exports/organisms/std-project-manager.orb +12 -36
  25. package/behaviors/exports/organisms/std-realtime-chat.orb +10 -26
  26. package/behaviors/exports/organisms/std-rpg-game.orb +10 -22
  27. package/behaviors/exports/organisms/std-service-marketplace.orb +12 -36
  28. package/behaviors/exports/organisms/std-social-feed.orb +8 -16
  29. package/behaviors/exports/organisms/std-trading-dashboard.orb +6 -18
  30. package/behaviors/exports/validation-report.json +2 -3
  31. package/dist/behaviors/exports/atoms/std-browse.orb +1 -1
  32. package/dist/behaviors/exports/atoms/std-confirmation.orb +4 -4
  33. package/dist/behaviors/exports/atoms/std-modal.orb +2 -2
  34. package/dist/behaviors/exports/molecules/std-cart.orb +9 -76
  35. package/dist/behaviors/exports/molecules/std-detail.orb +4 -8
  36. package/dist/behaviors/exports/molecules/std-geospatial.orb +7 -7
  37. package/dist/behaviors/exports/molecules/std-inventory.orb +10 -22
  38. package/dist/behaviors/exports/molecules/std-list.orb +6 -18
  39. package/dist/behaviors/exports/molecules/std-messaging.orb +4 -8
  40. package/dist/behaviors/exports/organisms/std-api-gateway.orb +6 -18
  41. package/dist/behaviors/exports/organisms/std-booking-system.orb +12 -36
  42. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +6 -18
  43. package/dist/behaviors/exports/organisms/std-cms.orb +16 -44
  44. package/dist/behaviors/exports/organisms/std-crm.orb +16 -44
  45. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +6 -18
  46. package/dist/behaviors/exports/organisms/std-ecommerce.orb +28 -108
  47. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +10 -26
  48. package/dist/behaviors/exports/organisms/std-healthcare.orb +16 -44
  49. package/dist/behaviors/exports/organisms/std-helpdesk.orb +10 -26
  50. package/dist/behaviors/exports/organisms/std-hr-portal.orb +12 -36
  51. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +6 -18
  52. package/dist/behaviors/exports/organisms/std-lms.orb +6 -18
  53. package/dist/behaviors/exports/organisms/std-platformer-app.orb +10 -22
  54. package/dist/behaviors/exports/organisms/std-project-manager.orb +12 -36
  55. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +10 -26
  56. package/dist/behaviors/exports/organisms/std-rpg-game.orb +10 -22
  57. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +12 -36
  58. package/dist/behaviors/exports/organisms/std-social-feed.orb +8 -16
  59. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +6 -18
  60. package/dist/behaviors/exports/validation-report.json +2 -3
  61. package/dist/behaviors/functions/index.js +20 -29
  62. package/dist/behaviors/functions/index.js.map +1 -1
  63. package/dist/behaviors/index.js +20 -29
  64. package/dist/behaviors/index.js.map +1 -1
  65. package/dist/exports/atoms/std-browse.orb +1 -1
  66. package/dist/exports/atoms/std-confirmation.orb +4 -4
  67. package/dist/exports/atoms/std-modal.orb +2 -2
  68. package/dist/exports/molecules/std-cart.orb +9 -76
  69. package/dist/exports/molecules/std-detail.orb +4 -8
  70. package/dist/exports/molecules/std-geospatial.orb +7 -7
  71. package/dist/exports/molecules/std-inventory.orb +10 -22
  72. package/dist/exports/molecules/std-list.orb +6 -18
  73. package/dist/exports/molecules/std-messaging.orb +4 -8
  74. package/dist/exports/organisms/std-api-gateway.orb +6 -18
  75. package/dist/exports/organisms/std-booking-system.orb +12 -36
  76. package/dist/exports/organisms/std-cicd-pipeline.orb +6 -18
  77. package/dist/exports/organisms/std-cms.orb +16 -44
  78. package/dist/exports/organisms/std-crm.orb +16 -44
  79. package/dist/exports/organisms/std-devops-dashboard.orb +6 -18
  80. package/dist/exports/organisms/std-ecommerce.orb +28 -108
  81. package/dist/exports/organisms/std-finance-tracker.orb +10 -26
  82. package/dist/exports/organisms/std-healthcare.orb +16 -44
  83. package/dist/exports/organisms/std-helpdesk.orb +10 -26
  84. package/dist/exports/organisms/std-hr-portal.orb +12 -36
  85. package/dist/exports/organisms/std-iot-dashboard.orb +6 -18
  86. package/dist/exports/organisms/std-lms.orb +6 -18
  87. package/dist/exports/organisms/std-platformer-app.orb +10 -22
  88. package/dist/exports/organisms/std-project-manager.orb +12 -36
  89. package/dist/exports/organisms/std-realtime-chat.orb +10 -26
  90. package/dist/exports/organisms/std-rpg-game.orb +10 -22
  91. package/dist/exports/organisms/std-service-marketplace.orb +12 -36
  92. package/dist/exports/organisms/std-social-feed.orb +8 -16
  93. package/dist/exports/organisms/std-trading-dashboard.orb +6 -18
  94. package/dist/exports/validation-report.json +2 -3
  95. package/dist/index.js +20 -29
  96. package/dist/index.js.map +1 -1
  97. package/package.json +1 -1
@@ -148,7 +148,7 @@
148
148
  "event": "INIT",
149
149
  "effects": [
150
150
  [
151
- "fetch",
151
+ "ref",
152
152
  "Product"
153
153
  ],
154
154
  [
@@ -302,7 +302,7 @@
302
302
  "event": "PRODUCT_CREATED",
303
303
  "effects": [
304
304
  [
305
- "fetch",
305
+ "ref",
306
306
  "Product"
307
307
  ]
308
308
  ]
@@ -313,7 +313,7 @@
313
313
  "event": "PRODUCT_UPDATED",
314
314
  "effects": [
315
315
  [
316
- "fetch",
316
+ "ref",
317
317
  "Product"
318
318
  ]
319
319
  ]
@@ -403,10 +403,6 @@
403
403
  "modal",
404
404
  null
405
405
  ],
406
- [
407
- "fetch",
408
- "Product"
409
- ],
410
406
  [
411
407
  "render-ui",
412
408
  "main",
@@ -941,7 +937,7 @@
941
937
  "event": "INIT",
942
938
  "effects": [
943
939
  [
944
- "fetch",
940
+ "ref",
945
941
  "Product"
946
942
  ]
947
943
  ]
@@ -1030,10 +1026,6 @@
1030
1026
  "Product",
1031
1027
  "@payload.data"
1032
1028
  ],
1033
- [
1034
- "fetch",
1035
- "Product"
1036
- ],
1037
1029
  [
1038
1030
  "render-ui",
1039
1031
  "modal",
@@ -1110,7 +1102,7 @@
1110
1102
  "event": "INIT",
1111
1103
  "effects": [
1112
1104
  [
1113
- "fetch",
1105
+ "ref",
1114
1106
  "Product"
1115
1107
  ]
1116
1108
  ]
@@ -1201,10 +1193,6 @@
1201
1193
  "Product",
1202
1194
  "@payload.data"
1203
1195
  ],
1204
- [
1205
- "fetch",
1206
- "Product"
1207
- ],
1208
1196
  [
1209
1197
  "render-ui",
1210
1198
  "modal",
@@ -1265,7 +1253,7 @@
1265
1253
  "event": "INIT",
1266
1254
  "effects": [
1267
1255
  [
1268
- "fetch",
1256
+ "ref",
1269
1257
  "Product"
1270
1258
  ]
1271
1259
  ]
@@ -3900,7 +3888,7 @@
3900
3888
  "event": "INIT",
3901
3889
  "effects": [
3902
3890
  [
3903
- "fetch",
3891
+ "ref",
3904
3892
  "Order"
3905
3893
  ],
3906
3894
  [
@@ -4054,7 +4042,7 @@
4054
4042
  "event": "ORDER_CREATED",
4055
4043
  "effects": [
4056
4044
  [
4057
- "fetch",
4045
+ "ref",
4058
4046
  "Order"
4059
4047
  ]
4060
4048
  ]
@@ -4065,7 +4053,7 @@
4065
4053
  "event": "ORDER_UPDATED",
4066
4054
  "effects": [
4067
4055
  [
4068
- "fetch",
4056
+ "ref",
4069
4057
  "Order"
4070
4058
  ]
4071
4059
  ]
@@ -4155,10 +4143,6 @@
4155
4143
  "modal",
4156
4144
  null
4157
4145
  ],
4158
- [
4159
- "fetch",
4160
- "Order"
4161
- ],
4162
4146
  [
4163
4147
  "render-ui",
4164
4148
  "main",
@@ -4680,7 +4664,7 @@
4680
4664
  "event": "INIT",
4681
4665
  "effects": [
4682
4666
  [
4683
- "fetch",
4667
+ "ref",
4684
4668
  "Order"
4685
4669
  ]
4686
4670
  ]
@@ -4768,10 +4752,6 @@
4768
4752
  "Order",
4769
4753
  "@payload.data"
4770
4754
  ],
4771
- [
4772
- "fetch",
4773
- "Order"
4774
- ],
4775
4755
  [
4776
4756
  "render-ui",
4777
4757
  "modal",
@@ -4848,7 +4828,7 @@
4848
4828
  "event": "INIT",
4849
4829
  "effects": [
4850
4830
  [
4851
- "fetch",
4831
+ "ref",
4852
4832
  "Order"
4853
4833
  ]
4854
4834
  ]
@@ -4938,10 +4918,6 @@
4938
4918
  "Order",
4939
4919
  "@payload.data"
4940
4920
  ],
4941
- [
4942
- "fetch",
4943
- "Order"
4944
- ],
4945
4921
  [
4946
4922
  "render-ui",
4947
4923
  "modal",
@@ -5002,7 +4978,7 @@
5002
4978
  "event": "INIT",
5003
4979
  "effects": [
5004
4980
  [
5005
- "fetch",
4981
+ "ref",
5006
4982
  "Order"
5007
4983
  ]
5008
4984
  ]
@@ -97,7 +97,7 @@
97
97
  "event": "INIT",
98
98
  "effects": [
99
99
  [
100
- "fetch",
100
+ "ref",
101
101
  "Post"
102
102
  ],
103
103
  [
@@ -225,7 +225,7 @@
225
225
  "event": "SAVE",
226
226
  "effects": [
227
227
  [
228
- "fetch",
228
+ "ref",
229
229
  "Post"
230
230
  ]
231
231
  ]
@@ -298,7 +298,7 @@
298
298
  "event": "INIT",
299
299
  "effects": [
300
300
  [
301
- "fetch",
301
+ "ref",
302
302
  "Post"
303
303
  ]
304
304
  ]
@@ -386,10 +386,6 @@
386
386
  "Post",
387
387
  "@payload.data"
388
388
  ],
389
- [
390
- "fetch",
391
- "Post"
392
- ],
393
389
  [
394
390
  "render-ui",
395
391
  "modal",
@@ -450,7 +446,7 @@
450
446
  "event": "INIT",
451
447
  "effects": [
452
448
  [
453
- "fetch",
449
+ "ref",
454
450
  "Post"
455
451
  ]
456
452
  ]
@@ -736,7 +732,7 @@
736
732
  "event": "INIT",
737
733
  "effects": [
738
734
  [
739
- "fetch",
735
+ "ref",
740
736
  "Comment"
741
737
  ],
742
738
  [
@@ -854,7 +850,7 @@
854
850
  "event": "SEND",
855
851
  "effects": [
856
852
  [
857
- "fetch",
853
+ "ref",
858
854
  "Comment"
859
855
  ]
860
856
  ]
@@ -913,7 +909,7 @@
913
909
  "event": "INIT",
914
910
  "effects": [
915
911
  [
916
- "fetch",
912
+ "ref",
917
913
  "Comment"
918
914
  ]
919
915
  ]
@@ -996,10 +992,6 @@
996
992
  "Comment",
997
993
  "@payload.data"
998
994
  ],
999
- [
1000
- "fetch",
1001
- "Comment"
1002
- ],
1003
995
  [
1004
996
  "render-ui",
1005
997
  "modal",
@@ -1060,7 +1052,7 @@
1060
1052
  "event": "INIT",
1061
1053
  "effects": [
1062
1054
  [
1063
- "fetch",
1055
+ "ref",
1064
1056
  "Comment"
1065
1057
  ]
1066
1058
  ]
@@ -1570,7 +1570,7 @@
1570
1570
  "event": "INIT",
1571
1571
  "effects": [
1572
1572
  [
1573
- "fetch",
1573
+ "ref",
1574
1574
  "TradeOrder"
1575
1575
  ],
1576
1576
  [
@@ -1710,7 +1710,7 @@
1710
1710
  "event": "TRADE_ORDER_CREATED",
1711
1711
  "effects": [
1712
1712
  [
1713
- "fetch",
1713
+ "ref",
1714
1714
  "TradeOrder"
1715
1715
  ]
1716
1716
  ]
@@ -1721,7 +1721,7 @@
1721
1721
  "event": "TRADE_ORDER_UPDATED",
1722
1722
  "effects": [
1723
1723
  [
1724
- "fetch",
1724
+ "ref",
1725
1725
  "TradeOrder"
1726
1726
  ]
1727
1727
  ]
@@ -1811,10 +1811,6 @@
1811
1811
  "modal",
1812
1812
  null
1813
1813
  ],
1814
- [
1815
- "fetch",
1816
- "TradeOrder"
1817
- ],
1818
1814
  [
1819
1815
  "render-ui",
1820
1816
  "main",
@@ -2294,7 +2290,7 @@
2294
2290
  "event": "INIT",
2295
2291
  "effects": [
2296
2292
  [
2297
- "fetch",
2293
+ "ref",
2298
2294
  "TradeOrder"
2299
2295
  ]
2300
2296
  ]
@@ -2382,10 +2378,6 @@
2382
2378
  "TradeOrder",
2383
2379
  "@payload.data"
2384
2380
  ],
2385
- [
2386
- "fetch",
2387
- "TradeOrder"
2388
- ],
2389
2381
  [
2390
2382
  "render-ui",
2391
2383
  "modal",
@@ -2462,7 +2454,7 @@
2462
2454
  "event": "INIT",
2463
2455
  "effects": [
2464
2456
  [
2465
- "fetch",
2457
+ "ref",
2466
2458
  "TradeOrder"
2467
2459
  ]
2468
2460
  ]
@@ -2552,10 +2544,6 @@
2552
2544
  "TradeOrder",
2553
2545
  "@payload.data"
2554
2546
  ],
2555
- [
2556
- "fetch",
2557
- "TradeOrder"
2558
- ],
2559
2547
  [
2560
2548
  "render-ui",
2561
2549
  "modal",
@@ -2616,7 +2604,7 @@
2616
2604
  "event": "INIT",
2617
2605
  "effects": [
2618
2606
  [
2619
- "fetch",
2607
+ "ref",
2620
2608
  "TradeOrder"
2621
2609
  ]
2622
2610
  ]
@@ -1,11 +1,10 @@
1
1
  [
2
2
  {
3
- "name": "std-combat-log",
3
+ "name": "std-cart",
4
4
  "errors": 0,
5
5
  "warnings": 0,
6
6
  "output": [
7
- "Loaded 22 services from packages/almadar-patterns/src/services-registry.json",
8
- "Validating schema: /home/osamah/kflow.ai.builder/packages/almadar-std/behaviors/exports/atoms/std-combat-log.orb"
7
+ "Validating schema: /home/osamah/kflow.ai.builder/packages/almadar-std/behaviors/exports/molecules/std-cart.orb"
9
8
  ]
10
9
  }
11
10
  ]
@@ -193,7 +193,7 @@ function buildTrait(c) {
193
193
  to: "browsing",
194
194
  event: "INIT",
195
195
  effects: [
196
- ["fetch", entityName],
196
+ ["ref", entityName],
197
197
  ["render-ui", "main", {
198
198
  type: "stack",
199
199
  direction: "vertical",
@@ -221,7 +221,7 @@ function buildTrait(c) {
221
221
  from: "browsing",
222
222
  to: "browsing",
223
223
  event: evt,
224
- effects: [["fetch", entityName]]
224
+ effects: [["ref", entityName]]
225
225
  }))
226
226
  ]
227
227
  }
@@ -320,7 +320,7 @@ function buildTrait2(c) {
320
320
  from: "closed",
321
321
  to: "closed",
322
322
  event: "INIT",
323
- effects: c.standalone ? [["fetch", c.entityName], ["render-ui", "main", {
323
+ effects: c.standalone ? [["ref", c.entityName], ["render-ui", "main", {
324
324
  type: "stack",
325
325
  direction: "vertical",
326
326
  gap: "lg",
@@ -335,7 +335,7 @@ function buildTrait2(c) {
335
335
  { type: "divider" },
336
336
  { type: "empty-state", icon: c.headerIcon, title: "Nothing open", description: "Click Open to view details in a modal overlay." }
337
337
  ]
338
- }]] : [["fetch", c.entityName]]
338
+ }]] : [["ref", c.entityName]]
339
339
  },
340
340
  // OPEN: closed → open (Modal component in CompiledPortal provides backdrop)
341
341
  {
@@ -348,7 +348,7 @@ function buildTrait2(c) {
348
348
  { from: "open", to: "closed", event: c.closeEvent, effects: [
349
349
  ["render-ui", "modal", null],
350
350
  ["notify", "Cancelled", "info"],
351
- ...c.standalone ? [["fetch", c.entityName], ["render-ui", "main", {
351
+ ...c.standalone ? [["ref", c.entityName], ["render-ui", "main", {
352
352
  type: "stack",
353
353
  direction: "vertical",
354
354
  gap: "lg",
@@ -501,7 +501,7 @@ function buildTrait3(c) {
501
501
  };
502
502
  const dismissAndRefresh = [
503
503
  ["render-ui", "modal", null],
504
- ...c.standalone ? [["fetch", entityName], ["render-ui", "main", idleMainView]] : [["fetch", entityName]]
504
+ ...c.standalone ? [["ref", entityName], ["render-ui", "main", idleMainView]] : [["ref", entityName]]
505
505
  ];
506
506
  return {
507
507
  name: c.traitName,
@@ -525,7 +525,7 @@ function buildTrait3(c) {
525
525
  from: "idle",
526
526
  to: "idle",
527
527
  event: "INIT",
528
- effects: c.standalone ? [["fetch", entityName], ["render-ui", "main", idleMainView]] : [["fetch", entityName]]
528
+ effects: c.standalone ? [["ref", entityName], ["render-ui", "main", idleMainView]] : [["ref", entityName]]
529
529
  },
530
530
  {
531
531
  from: "idle",
@@ -8440,7 +8440,7 @@ function stdList(params) {
8440
8440
  closeEvent: "CLOSE",
8441
8441
  openEffects: [["fetch", entityName]],
8442
8442
  saveEvent: "SAVE",
8443
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
8443
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
8444
8444
  emitOnSave: CREATED
8445
8445
  }));
8446
8446
  const editTrait = extractTrait(stdModal({
@@ -8456,7 +8456,7 @@ function stdList(params) {
8456
8456
  closeEvent: "CLOSE",
8457
8457
  openEffects: [["fetch", entityName, "@payload.id"]],
8458
8458
  saveEvent: "SAVE",
8459
- saveEffects: [["persist", "update", entityName, "@payload.data"], ["fetch", entityName]],
8459
+ saveEffects: [["persist", "update", entityName, "@payload.data"]],
8460
8460
  emitOnSave: UPDATED
8461
8461
  }));
8462
8462
  const viewTrait = extractTrait(stdModal({
@@ -8509,7 +8509,6 @@ function stdList(params) {
8509
8509
  { from: "deleting", to: "browsing", event: "CONFIRM_DELETE", effects: [
8510
8510
  ["persist", "delete", entityName, "@entity.id"],
8511
8511
  ["render-ui", "modal", null],
8512
- ["fetch", entityName],
8513
8512
  ["render-ui", "main", browseMainView]
8514
8513
  ] },
8515
8514
  // CANCEL/CLOSE from deleting (dismiss modal, re-render main)
@@ -8604,7 +8603,6 @@ function buildCartTrait(c) {
8604
8603
  name: `${entityName}CartBrowse`,
8605
8604
  linkedEntity: entityName,
8606
8605
  category: "interaction",
8607
- listens: [{ event: "CONFIRM_REMOVE", triggers: "CONFIRM_REMOVE" }],
8608
8606
  stateMachine: {
8609
8607
  states: [
8610
8608
  { name: "browsing", isInitial: true },
@@ -8613,9 +8611,7 @@ function buildCartTrait(c) {
8613
8611
  events: [
8614
8612
  { key: "INIT", name: "Initialize" },
8615
8613
  { key: "ADD_ITEM", name: "Add Item" },
8616
- { key: "SAVE", name: "Save", payload: [{ name: "data", type: "object", required: true }] },
8617
8614
  { key: "REQUEST_REMOVE", name: "Request Remove", payload: [{ name: "id", type: "string", required: true }] },
8618
- { key: "CONFIRM_REMOVE", name: "Confirm Remove", payload: [{ name: "data", type: "object", required: true }] },
8619
8615
  { key: "PROCEED_CHECKOUT", name: "Proceed to Checkout" },
8620
8616
  { key: "BACK_TO_CART", name: "Back to Cart" },
8621
8617
  { key: "CONFIRM_ORDER", name: "Confirm Order" }
@@ -8623,7 +8619,7 @@ function buildCartTrait(c) {
8623
8619
  transitions: [
8624
8620
  // browsing + INIT (data-grid handles empty vs populated automatically)
8625
8621
  { from: "browsing", to: "browsing", event: "INIT", effects: [
8626
- ["fetch", entityName],
8622
+ ["ref", entityName],
8627
8623
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", children: [
8628
8624
  headerBar,
8629
8625
  { type: "divider" },
@@ -8642,13 +8638,9 @@ function buildCartTrait(c) {
8642
8638
  { type: "button", label: checkoutButtonLabel, event: "PROCEED_CHECKOUT", variant: "primary", icon: "arrow-right" }
8643
8639
  ] }]
8644
8640
  ] },
8645
- // SAVE: re-fetch after modal adds an item (shared event bus)
8646
- { from: "browsing", to: "browsing", event: "SAVE", effects: [["fetch", entityName]] },
8647
- // CONFIRM_REMOVE: re-fetch after confirmation trait deletes item
8648
- { from: "browsing", to: "browsing", event: "CONFIRM_REMOVE", effects: [["fetch", entityName]] },
8649
8641
  // PROCEED_CHECKOUT
8650
8642
  { from: "browsing", to: "checkout", event: "PROCEED_CHECKOUT", effects: [
8651
- ["fetch", entityName],
8643
+ ["ref", entityName],
8652
8644
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", children: [
8653
8645
  { type: "stack", direction: "horizontal", gap: "sm", children: [
8654
8646
  { type: "icon", name: "clipboard", size: "lg" },
@@ -8663,10 +8655,10 @@ function buildCartTrait(c) {
8663
8655
  ] }]
8664
8656
  ] },
8665
8657
  // BACK_TO_CART
8666
- { from: "checkout", to: "browsing", event: "BACK_TO_CART", effects: [["fetch", entityName]] },
8658
+ { from: "checkout", to: "browsing", event: "BACK_TO_CART", effects: [["ref", entityName]] },
8667
8659
  // CONFIRM_ORDER
8668
8660
  { from: "checkout", to: "browsing", event: "CONFIRM_ORDER", effects: [
8669
- ["fetch", entityName],
8661
+ ["ref", entityName],
8670
8662
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", align: "center", children: [
8671
8663
  { type: "icon", name: "check-circle", size: "lg" },
8672
8664
  { type: "typography", content: "Order Confirmed", variant: "h2" },
@@ -8722,7 +8714,7 @@ function stdCart(params) {
8722
8714
  closeEvent: "CLOSE",
8723
8715
  openEffects: [["fetch", entityName]],
8724
8716
  saveEvent: "SAVE",
8725
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]]
8717
+ saveEffects: [["persist", "create", entityName, "@payload.data"]]
8726
8718
  }));
8727
8719
  const removeTrait = extractTrait(stdConfirmation({
8728
8720
  standalone: false,
@@ -8735,8 +8727,7 @@ function stdCart(params) {
8735
8727
  headerIcon: "trash-2",
8736
8728
  requestEvent: "REQUEST_REMOVE",
8737
8729
  confirmEvent: "CONFIRM_REMOVE",
8738
- confirmEffects: [["persist", "delete", entityName, "@payload.id"], ["fetch", entityName]],
8739
- emitOnConfirm: "CONFIRM_REMOVE"
8730
+ confirmEffects: [["persist", "delete", entityName, "@payload.id"]]
8740
8731
  }));
8741
8732
  const removeSm = removeTrait.stateMachine;
8742
8733
  if (removeSm && "events" in removeSm) {
@@ -8846,7 +8837,7 @@ function stdDetail(params) {
8846
8837
  closeEvent: "CLOSE",
8847
8838
  openEffects: [["fetch", entityName]],
8848
8839
  saveEvent: "SAVE",
8849
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
8840
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
8850
8841
  emitOnSave: "SAVE"
8851
8842
  }));
8852
8843
  const viewTrait = extractTrait(stdModal({
@@ -9013,7 +9004,7 @@ function stdInventory(params) {
9013
9004
  closeEvent: "CLOSE",
9014
9005
  openEffects: [["fetch", entityName]],
9015
9006
  saveEvent: "SAVE",
9016
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
9007
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
9017
9008
  emitOnSave: "ITEM_ADDED"
9018
9009
  }));
9019
9010
  const useTrait = extractTrait(stdModal({
@@ -9029,7 +9020,7 @@ function stdInventory(params) {
9029
9020
  closeEvent: "CLOSE",
9030
9021
  openEffects: [["fetch", entityName, "@payload.id"]],
9031
9022
  saveEvent: "SAVE",
9032
- saveEffects: [["persist", "update", entityName, "@payload.data"], ["fetch", entityName]],
9023
+ saveEffects: [["persist", "update", entityName, "@payload.data"]],
9033
9024
  emitOnSave: "ITEM_USED"
9034
9025
  }));
9035
9026
  const dropTrait = extractTrait(stdConfirmation({
@@ -9043,7 +9034,7 @@ function stdInventory(params) {
9043
9034
  headerIcon: "trash-2",
9044
9035
  requestEvent: "DROP",
9045
9036
  confirmEvent: "CONFIRM_DROP",
9046
- confirmEffects: [["persist", "delete", entityName, "@payload.id"], ["fetch", entityName]],
9037
+ confirmEffects: [["persist", "delete", entityName, "@payload.id"]],
9047
9038
  emitOnConfirm: "CONFIRM_DROP"
9048
9039
  }));
9049
9040
  const dropSm = dropTrait.stateMachine;
@@ -9199,7 +9190,7 @@ function stdMessaging(params) {
9199
9190
  openEvent: "COMPOSE",
9200
9191
  closeEvent: "CLOSE",
9201
9192
  saveEvent: "SEND",
9202
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
9193
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
9203
9194
  emitOnSave: "SEND"
9204
9195
  }));
9205
9196
  const viewTrait = extractTrait(stdModal({