@almadar/std 3.4.4 → 3.6.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 +11 -85
  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 -2
  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 +11 -85
  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 -2
  61. package/dist/behaviors/functions/index.js +20 -37
  62. package/dist/behaviors/functions/index.js.map +1 -1
  63. package/dist/behaviors/index.js +20 -37
  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 +11 -85
  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 -2
  95. package/dist/index.js +20 -37
  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,11 @@
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
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"
8
+ "Validating schema: /home/osamah/kflow.ai.builder/packages/almadar-std/behaviors/exports/molecules/std-cart.orb"
9
9
  ]
10
10
  }
11
11
  ]
package/dist/index.js CHANGED
@@ -3958,7 +3958,7 @@ function buildTrait(c) {
3958
3958
  to: "browsing",
3959
3959
  event: "INIT",
3960
3960
  effects: [
3961
- ["fetch", entityName],
3961
+ ["ref", entityName],
3962
3962
  ["render-ui", "main", {
3963
3963
  type: "stack",
3964
3964
  direction: "vertical",
@@ -3986,7 +3986,7 @@ function buildTrait(c) {
3986
3986
  from: "browsing",
3987
3987
  to: "browsing",
3988
3988
  event: evt,
3989
- effects: [["fetch", entityName]]
3989
+ effects: [["ref", entityName]]
3990
3990
  }))
3991
3991
  ]
3992
3992
  }
@@ -4085,7 +4085,7 @@ function buildTrait2(c) {
4085
4085
  from: "closed",
4086
4086
  to: "closed",
4087
4087
  event: "INIT",
4088
- effects: c.standalone ? [["fetch", c.entityName], ["render-ui", "main", {
4088
+ effects: c.standalone ? [["ref", c.entityName], ["render-ui", "main", {
4089
4089
  type: "stack",
4090
4090
  direction: "vertical",
4091
4091
  gap: "lg",
@@ -4100,7 +4100,7 @@ function buildTrait2(c) {
4100
4100
  { type: "divider" },
4101
4101
  { type: "empty-state", icon: c.headerIcon, title: "Nothing open", description: "Click Open to view details in a modal overlay." }
4102
4102
  ]
4103
- }]] : [["fetch", c.entityName]]
4103
+ }]] : [["ref", c.entityName]]
4104
4104
  },
4105
4105
  // OPEN: closed → open (Modal component in CompiledPortal provides backdrop)
4106
4106
  {
@@ -4113,7 +4113,7 @@ function buildTrait2(c) {
4113
4113
  { from: "open", to: "closed", event: c.closeEvent, effects: [
4114
4114
  ["render-ui", "modal", null],
4115
4115
  ["notify", "Cancelled", "info"],
4116
- ...c.standalone ? [["fetch", c.entityName], ["render-ui", "main", {
4116
+ ...c.standalone ? [["ref", c.entityName], ["render-ui", "main", {
4117
4117
  type: "stack",
4118
4118
  direction: "vertical",
4119
4119
  gap: "lg",
@@ -4266,7 +4266,7 @@ function buildTrait3(c) {
4266
4266
  };
4267
4267
  const dismissAndRefresh = [
4268
4268
  ["render-ui", "modal", null],
4269
- ...c.standalone ? [["fetch", entityName], ["render-ui", "main", idleMainView]] : [["fetch", entityName]]
4269
+ ...c.standalone ? [["ref", entityName], ["render-ui", "main", idleMainView]] : [["ref", entityName]]
4270
4270
  ];
4271
4271
  return {
4272
4272
  name: c.traitName,
@@ -4290,7 +4290,7 @@ function buildTrait3(c) {
4290
4290
  from: "idle",
4291
4291
  to: "idle",
4292
4292
  event: "INIT",
4293
- effects: c.standalone ? [["fetch", entityName], ["render-ui", "main", idleMainView]] : [["fetch", entityName]]
4293
+ effects: c.standalone ? [["ref", entityName], ["render-ui", "main", idleMainView]] : [["ref", entityName]]
4294
4294
  },
4295
4295
  {
4296
4296
  from: "idle",
@@ -12205,7 +12205,7 @@ function stdList(params) {
12205
12205
  closeEvent: "CLOSE",
12206
12206
  openEffects: [["fetch", entityName]],
12207
12207
  saveEvent: "SAVE",
12208
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
12208
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
12209
12209
  emitOnSave: CREATED
12210
12210
  }));
12211
12211
  const editTrait = extractTrait(stdModal({
@@ -12221,7 +12221,7 @@ function stdList(params) {
12221
12221
  closeEvent: "CLOSE",
12222
12222
  openEffects: [["fetch", entityName, "@payload.id"]],
12223
12223
  saveEvent: "SAVE",
12224
- saveEffects: [["persist", "update", entityName, "@payload.data"], ["fetch", entityName]],
12224
+ saveEffects: [["persist", "update", entityName, "@payload.data"]],
12225
12225
  emitOnSave: UPDATED
12226
12226
  }));
12227
12227
  const viewTrait = extractTrait(stdModal({
@@ -12274,7 +12274,6 @@ function stdList(params) {
12274
12274
  { from: "deleting", to: "browsing", event: "CONFIRM_DELETE", effects: [
12275
12275
  ["persist", "delete", entityName, "@entity.id"],
12276
12276
  ["render-ui", "modal", null],
12277
- ["fetch", entityName],
12278
12277
  ["render-ui", "main", browseMainView]
12279
12278
  ] },
12280
12279
  // CANCEL/CLOSE from deleting (dismiss modal, re-render main)
@@ -12369,7 +12368,6 @@ function buildCartTrait(c) {
12369
12368
  name: `${entityName}CartBrowse`,
12370
12369
  linkedEntity: entityName,
12371
12370
  category: "interaction",
12372
- listens: [{ event: "CONFIRM_REMOVE", triggers: "CONFIRM_REMOVE" }],
12373
12371
  stateMachine: {
12374
12372
  states: [
12375
12373
  { name: "browsing", isInitial: true },
@@ -12378,9 +12376,7 @@ function buildCartTrait(c) {
12378
12376
  events: [
12379
12377
  { key: "INIT", name: "Initialize" },
12380
12378
  { key: "ADD_ITEM", name: "Add Item" },
12381
- { key: "SAVE", name: "Save", payload: [{ name: "data", type: "object", required: true }] },
12382
12379
  { key: "REQUEST_REMOVE", name: "Request Remove", payload: [{ name: "id", type: "string", required: true }] },
12383
- { key: "CONFIRM_REMOVE", name: "Confirm Remove", payload: [{ name: "data", type: "object", required: true }] },
12384
12380
  { key: "PROCEED_CHECKOUT", name: "Proceed to Checkout" },
12385
12381
  { key: "BACK_TO_CART", name: "Back to Cart" },
12386
12382
  { key: "CONFIRM_ORDER", name: "Confirm Order" }
@@ -12388,7 +12384,7 @@ function buildCartTrait(c) {
12388
12384
  transitions: [
12389
12385
  // browsing + INIT (data-grid handles empty vs populated automatically)
12390
12386
  { from: "browsing", to: "browsing", event: "INIT", effects: [
12391
- ["fetch", entityName],
12387
+ ["ref", entityName],
12392
12388
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", children: [
12393
12389
  headerBar,
12394
12390
  { type: "divider" },
@@ -12407,13 +12403,9 @@ function buildCartTrait(c) {
12407
12403
  { type: "button", label: checkoutButtonLabel, event: "PROCEED_CHECKOUT", variant: "primary", icon: "arrow-right" }
12408
12404
  ] }]
12409
12405
  ] },
12410
- // SAVE: re-fetch after modal adds an item (shared event bus)
12411
- { from: "browsing", to: "browsing", event: "SAVE", effects: [["fetch", entityName]] },
12412
- // CONFIRM_REMOVE: re-fetch after confirmation trait deletes item
12413
- { from: "browsing", to: "browsing", event: "CONFIRM_REMOVE", effects: [["fetch", entityName]] },
12414
12406
  // PROCEED_CHECKOUT
12415
12407
  { from: "browsing", to: "checkout", event: "PROCEED_CHECKOUT", effects: [
12416
- ["fetch", entityName],
12408
+ ["ref", entityName],
12417
12409
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", children: [
12418
12410
  { type: "stack", direction: "horizontal", gap: "sm", children: [
12419
12411
  { type: "icon", name: "clipboard", size: "lg" },
@@ -12428,10 +12420,10 @@ function buildCartTrait(c) {
12428
12420
  ] }]
12429
12421
  ] },
12430
12422
  // BACK_TO_CART
12431
- { from: "checkout", to: "browsing", event: "BACK_TO_CART", effects: [["fetch", entityName]] },
12423
+ { from: "checkout", to: "browsing", event: "BACK_TO_CART", effects: [["ref", entityName]] },
12432
12424
  // CONFIRM_ORDER
12433
12425
  { from: "checkout", to: "browsing", event: "CONFIRM_ORDER", effects: [
12434
- ["fetch", entityName],
12426
+ ["ref", entityName],
12435
12427
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", align: "center", children: [
12436
12428
  { type: "icon", name: "check-circle", size: "lg" },
12437
12429
  { type: "typography", content: "Order Confirmed", variant: "h2" },
@@ -12487,7 +12479,7 @@ function stdCart(params) {
12487
12479
  closeEvent: "CLOSE",
12488
12480
  openEffects: [["fetch", entityName]],
12489
12481
  saveEvent: "SAVE",
12490
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]]
12482
+ saveEffects: [["persist", "create", entityName, "@payload.data"]]
12491
12483
  }));
12492
12484
  const removeTrait = extractTrait(stdConfirmation({
12493
12485
  standalone: false,
@@ -12500,17 +12492,8 @@ function stdCart(params) {
12500
12492
  headerIcon: "trash-2",
12501
12493
  requestEvent: "REQUEST_REMOVE",
12502
12494
  confirmEvent: "CONFIRM_REMOVE",
12503
- confirmEffects: [["persist", "delete", entityName, "@payload.id"], ["fetch", entityName]],
12504
- emitOnConfirm: "CONFIRM_REMOVE"
12495
+ confirmEffects: [["persist", "delete", entityName, "@entity.pendingId"]]
12505
12496
  }));
12506
- const removeSm = removeTrait.stateMachine;
12507
- if (removeSm && "events" in removeSm) {
12508
- const events = removeSm.events;
12509
- const confirmEvt = events.find((e) => e.key === "CONFIRM_REMOVE");
12510
- if (confirmEvt && !confirmEvt.payload) {
12511
- confirmEvt.payload = [{ name: "id", type: "string", required: true }];
12512
- }
12513
- }
12514
12497
  const entity = makeEntity({ name: entityName, fields, persistence: c.persistence, collection: c.collection });
12515
12498
  const page = {
12516
12499
  name: c.pageName,
@@ -12611,7 +12594,7 @@ function stdDetail(params) {
12611
12594
  closeEvent: "CLOSE",
12612
12595
  openEffects: [["fetch", entityName]],
12613
12596
  saveEvent: "SAVE",
12614
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
12597
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
12615
12598
  emitOnSave: "SAVE"
12616
12599
  }));
12617
12600
  const viewTrait = extractTrait(stdModal({
@@ -12778,7 +12761,7 @@ function stdInventory(params) {
12778
12761
  closeEvent: "CLOSE",
12779
12762
  openEffects: [["fetch", entityName]],
12780
12763
  saveEvent: "SAVE",
12781
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
12764
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
12782
12765
  emitOnSave: "ITEM_ADDED"
12783
12766
  }));
12784
12767
  const useTrait = extractTrait(stdModal({
@@ -12794,7 +12777,7 @@ function stdInventory(params) {
12794
12777
  closeEvent: "CLOSE",
12795
12778
  openEffects: [["fetch", entityName, "@payload.id"]],
12796
12779
  saveEvent: "SAVE",
12797
- saveEffects: [["persist", "update", entityName, "@payload.data"], ["fetch", entityName]],
12780
+ saveEffects: [["persist", "update", entityName, "@payload.data"]],
12798
12781
  emitOnSave: "ITEM_USED"
12799
12782
  }));
12800
12783
  const dropTrait = extractTrait(stdConfirmation({
@@ -12808,7 +12791,7 @@ function stdInventory(params) {
12808
12791
  headerIcon: "trash-2",
12809
12792
  requestEvent: "DROP",
12810
12793
  confirmEvent: "CONFIRM_DROP",
12811
- confirmEffects: [["persist", "delete", entityName, "@payload.id"], ["fetch", entityName]],
12794
+ confirmEffects: [["persist", "delete", entityName, "@payload.id"]],
12812
12795
  emitOnConfirm: "CONFIRM_DROP"
12813
12796
  }));
12814
12797
  const dropSm = dropTrait.stateMachine;
@@ -12964,7 +12947,7 @@ function stdMessaging(params) {
12964
12947
  openEvent: "COMPOSE",
12965
12948
  closeEvent: "CLOSE",
12966
12949
  saveEvent: "SEND",
12967
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
12950
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
12968
12951
  emitOnSave: "SEND"
12969
12952
  }));
12970
12953
  const viewTrait = extractTrait(stdModal({