@walkeros/cli 2.2.0-next-1773136823705 → 3.0.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.
@@ -278,7 +278,7 @@ Flow configs use the `Flow.Config` format:
278
278
 
279
279
  ```json
280
280
  {
281
- "version": 1,
281
+ "version": 3,
282
282
  "flows": {
283
283
  "default": {
284
284
  "web": {},
@@ -1,6 +1,6 @@
1
1
  {
2
- "$schema": "https://walkeros.io/schema/flow/v2.json",
3
- "version": 2,
2
+ "$schema": "https://walkeros.io/schema/flow/v3.json",
3
+ "version": 3,
4
4
  "variables": {
5
5
  "currency": "EUR",
6
6
  "flowVersion": "1.0.0",
@@ -35,6 +35,70 @@
35
35
  ]
36
36
  }
37
37
  },
38
+ "contract": {
39
+ "default": {
40
+ "tagging": 1,
41
+ "description": "Web shop tracking contract",
42
+ "globals": {
43
+ "type": "object",
44
+ "properties": {
45
+ "environment": { "type": "string" },
46
+ "version": { "type": "string" }
47
+ }
48
+ },
49
+ "consent": {
50
+ "type": "object",
51
+ "required": ["functional"],
52
+ "properties": {
53
+ "functional": { "type": "boolean", "const": true }
54
+ }
55
+ },
56
+ "events": {
57
+ "product": {
58
+ "*": {
59
+ "description": "A product in the catalog",
60
+ "properties": {
61
+ "data": {
62
+ "type": "object",
63
+ "required": ["id", "name"],
64
+ "properties": {
65
+ "id": { "type": "string", "description": "Product SKU" },
66
+ "name": { "type": "string", "description": "Display name" }
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "add": {
72
+ "description": "Product added to cart",
73
+ "properties": {
74
+ "data": {
75
+ "type": "object",
76
+ "required": ["quantity"],
77
+ "properties": {
78
+ "quantity": { "type": "integer", "minimum": 1 }
79
+ }
80
+ }
81
+ }
82
+ }
83
+ },
84
+ "order": {
85
+ "complete": {
86
+ "description": "Purchase completed",
87
+ "properties": {
88
+ "data": {
89
+ "type": "object",
90
+ "required": ["id", "total"],
91
+ "properties": {
92
+ "id": { "type": "string" },
93
+ "total": { "type": "number", "minimum": 0 }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ },
38
102
  "flows": {
39
103
  "web": {
40
104
  "web": {
@@ -199,19 +263,8 @@
199
263
  "package": "@walkeros/transformer-validator",
200
264
  "config": {
201
265
  "settings": {
202
- "contract": {
203
- "product": {
204
- "add": {
205
- "schema": {
206
- "properties": {
207
- "data": {
208
- "required": ["id", "name"]
209
- }
210
- }
211
- }
212
- }
213
- }
214
- }
266
+ "events": "$contract.default.events",
267
+ "globals": "$contract.default.globals"
215
268
  }
216
269
  }
217
270
  }
@@ -619,57 +672,9 @@
619
672
  "config": {
620
673
  "settings": {
621
674
  "format": true,
622
- "contract": {
623
- "product": {
624
- "add": [
625
- {
626
- "condition": "$code:(event) => Number(event.data?.quantity ?? 0) > 10",
627
- "schema": {
628
- "properties": {
629
- "data": {
630
- "required": [
631
- "id",
632
- "name",
633
- "price",
634
- "quantity",
635
- "warehouse"
636
- ]
637
- }
638
- }
639
- }
640
- },
641
- {
642
- "schema": {
643
- "properties": {
644
- "data": {
645
- "required": ["id", "name", "price"]
646
- }
647
- }
648
- }
649
- }
650
- ],
651
- "*": {
652
- "schema": {
653
- "properties": {
654
- "data": {
655
- "required": ["id", "name", "price"]
656
- }
657
- }
658
- }
659
- }
660
- },
661
- "order": {
662
- "complete": {
663
- "schema": {
664
- "properties": {
665
- "data": {
666
- "required": ["id", "total"]
667
- }
668
- }
669
- }
670
- }
671
- }
672
- }
675
+ "events": "$contract.default.events",
676
+ "globals": "$contract.default.globals",
677
+ "consent": "$contract.default.consent"
673
678
  }
674
679
  }
675
680
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 3,
3
3
  "flows": {
4
4
  "default": {
5
5
  "web": {},
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 3,
3
3
  "flows": {
4
4
  "default": {
5
5
  "server": {},
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 3,
3
3
  "flows": {
4
4
  "default": {
5
5
  "web": {},
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 3,
3
3
  "flows": {
4
4
  "default": {
5
5
  "web": {},
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 3,
3
3
  "flows": {
4
4
  "default": {
5
5
  "server": {},
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 1,
2
+ "version": 3,
3
3
  "flows": {
4
4
  "default": {
5
5
  "web": {