@timeax/digital-service-engine 0.0.5 → 0.0.7

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeax/digital-service-engine",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Headless service props builder + minimal React Flow workspace.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -59,10 +59,10 @@
59
59
  },
60
60
  "sideEffects": false,
61
61
  "peerDependencies": {
62
- "react": "^19.0.0",
62
+ "@xyflow/react": "^12.9.2",
63
+ "react": "^18.3.1",
63
64
  "react-day-picker": "^9.8.1",
64
- "react-dom": "^19.0.0",
65
- "reactflow": "^11.11.4"
65
+ "react-dom": "^18.3.1"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@radix-ui/react-label": "^2.1.8",
@@ -71,14 +71,14 @@
71
71
  "@radix-ui/react-slot": "^1.2.4",
72
72
  "@types/lodash-es": "^4.17.12",
73
73
  "@types/node": "^25.0.9",
74
- "@types/react": "^18.3.28",
75
- "@types/react-dom": "^18.3.7",
74
+ "@types/react": "^18.3.12",
75
+ "@types/react-dom": "^18.3.1",
76
76
  "@vitejs/plugin-react": "^5.1.2",
77
+ "@xyflow/react": "^12.9.2",
77
78
  "jsdom": "^27.4.0",
78
79
  "prettier": "^3.6.2",
79
- "react": "^19.2.4",
80
- "react-dom": "^19.2.4",
81
- "reactflow": "^11.11.4",
80
+ "react": "^18.3.1",
81
+ "react-dom": "^18.3.1",
82
82
  "rimraf": "^5.0.10",
83
83
  "ts-json-schema-generator": "^2.4.0",
84
84
  "tsup": "^8.5.0",
@@ -17,6 +17,9 @@
17
17
  "$ref": "#/definitions/CommentNode"
18
18
  }
19
19
  },
20
+ "catalog": {
21
+ "$ref": "#/definitions/ServiceCatalogState"
22
+ },
20
23
  "meta": {
21
24
  "type": "object",
22
25
  "additionalProperties": {}
@@ -102,7 +105,7 @@
102
105
  "type": "string"
103
106
  },
104
107
  "service_id": {
105
- "type": "number"
108
+ "$ref": "#/definitions/ServiceIdRef"
106
109
  },
107
110
  "includes": {
108
111
  "type": "array",
@@ -167,6 +170,15 @@
167
170
  "label"
168
171
  ]
169
172
  },
173
+ "ServiceIdRef": {
174
+ "$ref": "#/definitions/IdType"
175
+ },
176
+ "IdType": {
177
+ "type": [
178
+ "string",
179
+ "number"
180
+ ]
181
+ },
170
182
  "Field": {
171
183
  "anyOf": [
172
184
  {
@@ -216,6 +228,12 @@
216
228
  "pricing_role": {
217
229
  "$ref": "#/definitions/PricingRole"
218
230
  },
231
+ "validation": {
232
+ "type": "array",
233
+ "items": {
234
+ "$ref": "#/definitions/FieldValidationRule"
235
+ }
236
+ },
219
237
  "meta": {
220
238
  "type": "object",
221
239
  "properties": {
@@ -328,7 +346,7 @@
328
346
  "const": true
329
347
  },
330
348
  "service_id": {
331
- "type": "number"
349
+ "$ref": "#/definitions/ServiceIdRef"
332
350
  },
333
351
  "id": {
334
352
  "type": "string"
@@ -367,6 +385,12 @@
367
385
  "pricing_role": {
368
386
  "$ref": "#/definitions/PricingRole"
369
387
  },
388
+ "validation": {
389
+ "type": "array",
390
+ "items": {
391
+ "$ref": "#/definitions/FieldValidationRule"
392
+ }
393
+ },
370
394
  "meta": {
371
395
  "type": "object",
372
396
  "properties": {
@@ -490,7 +514,7 @@
490
514
  ]
491
515
  },
492
516
  "service_id": {
493
- "type": "number"
517
+ "$ref": "#/definitions/ServiceIdRef"
494
518
  },
495
519
  "pricing_role": {
496
520
  "$ref": "#/definitions/PricingRole"
@@ -555,6 +579,68 @@
555
579
  "utility"
556
580
  ]
557
581
  },
582
+ "FieldValidationRule": {
583
+ "type": "object",
584
+ "properties": {
585
+ "valueBy": {
586
+ "$ref": "#/definitions/FieldValidationValueBy"
587
+ },
588
+ "op": {
589
+ "$ref": "#/definitions/FieldValidationOp"
590
+ },
591
+ "value": {},
592
+ "min": {
593
+ "type": "number"
594
+ },
595
+ "max": {
596
+ "type": "number"
597
+ },
598
+ "values": {
599
+ "type": "array",
600
+ "items": {}
601
+ },
602
+ "pattern": {
603
+ "type": "string"
604
+ },
605
+ "flags": {
606
+ "type": "string"
607
+ },
608
+ "code": {
609
+ "type": "string"
610
+ },
611
+ "message": {
612
+ "type": "string"
613
+ }
614
+ },
615
+ "required": [
616
+ "op"
617
+ ]
618
+ },
619
+ "FieldValidationValueBy": {
620
+ "type": "string",
621
+ "enum": [
622
+ "value",
623
+ "length",
624
+ "eval"
625
+ ]
626
+ },
627
+ "FieldValidationOp": {
628
+ "type": "string",
629
+ "enum": [
630
+ "eq",
631
+ "neq",
632
+ "gt",
633
+ "gte",
634
+ "lt",
635
+ "lte",
636
+ "between",
637
+ "in",
638
+ "nin",
639
+ "truthy",
640
+ "falsy",
641
+ "match"
642
+ ]
643
+ },
558
644
  "ServiceFallback": {
559
645
  "type": "object",
560
646
  "properties": {
@@ -580,12 +666,6 @@
580
666
  }
581
667
  }
582
668
  },
583
- "ServiceIdRef": {
584
- "type": [
585
- "number",
586
- "string"
587
- ]
588
- },
589
669
  "ServicePropsNotice": {
590
670
  "type": "object",
591
671
  "properties": {
@@ -1045,6 +1125,290 @@
1045
1125
  "text",
1046
1126
  "status"
1047
1127
  ]
1128
+ },
1129
+ "ServiceCatalogState": {
1130
+ "type": "object",
1131
+ "properties": {
1132
+ "version": {
1133
+ "type": "number",
1134
+ "const": 1
1135
+ },
1136
+ "nodes": {
1137
+ "type": "array",
1138
+ "items": {
1139
+ "$ref": "#/definitions/CatalogNode"
1140
+ }
1141
+ },
1142
+ "activeNodeId": {
1143
+ "$ref": "#/definitions/CatalogId"
1144
+ },
1145
+ "expandedIds": {
1146
+ "type": "array",
1147
+ "items": {
1148
+ "$ref": "#/definitions/CatalogId"
1149
+ }
1150
+ },
1151
+ "pinnedNodeIds": {
1152
+ "type": "array",
1153
+ "items": {
1154
+ "$ref": "#/definitions/CatalogId"
1155
+ }
1156
+ },
1157
+ "selectedServiceId": {
1158
+ "$ref": "#/definitions/CatalogServiceId"
1159
+ },
1160
+ "viewMode": {
1161
+ "$ref": "#/definitions/CatalogViewMode"
1162
+ },
1163
+ "meta": {
1164
+ "type": "object",
1165
+ "additionalProperties": {}
1166
+ }
1167
+ },
1168
+ "required": [
1169
+ "version",
1170
+ "nodes"
1171
+ ]
1172
+ },
1173
+ "CatalogNode": {
1174
+ "anyOf": [
1175
+ {
1176
+ "$ref": "#/definitions/CatalogGroupNode"
1177
+ },
1178
+ {
1179
+ "$ref": "#/definitions/CatalogSmartGroupNode"
1180
+ }
1181
+ ]
1182
+ },
1183
+ "CatalogGroupNode": {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "kind": {
1187
+ "type": "string",
1188
+ "const": "group"
1189
+ },
1190
+ "serviceIds": {
1191
+ "type": "array",
1192
+ "items": {
1193
+ "$ref": "#/definitions/CatalogServiceId"
1194
+ }
1195
+ },
1196
+ "id": {
1197
+ "$ref": "#/definitions/CatalogId"
1198
+ },
1199
+ "label": {
1200
+ "type": "string"
1201
+ },
1202
+ "parentId": {
1203
+ "$ref": "#/definitions/CatalogId"
1204
+ },
1205
+ "description": {
1206
+ "type": "string"
1207
+ },
1208
+ "order": {
1209
+ "type": "number"
1210
+ },
1211
+ "color": {
1212
+ "type": "string"
1213
+ },
1214
+ "icon": {
1215
+ "type": "string"
1216
+ },
1217
+ "collapsed": {
1218
+ "type": "boolean"
1219
+ },
1220
+ "meta": {
1221
+ "type": "object",
1222
+ "additionalProperties": {}
1223
+ }
1224
+ },
1225
+ "required": [
1226
+ "id",
1227
+ "kind",
1228
+ "label",
1229
+ "serviceIds"
1230
+ ]
1231
+ },
1232
+ "CatalogServiceId": {
1233
+ "type": [
1234
+ "string",
1235
+ "number"
1236
+ ]
1237
+ },
1238
+ "CatalogId": {
1239
+ "type": "string"
1240
+ },
1241
+ "CatalogSmartGroupNode": {
1242
+ "type": "object",
1243
+ "properties": {
1244
+ "kind": {
1245
+ "type": "string",
1246
+ "const": "smart-group"
1247
+ },
1248
+ "rules": {
1249
+ "type": "array",
1250
+ "items": {
1251
+ "$ref": "#/definitions/CatalogSmartRule"
1252
+ }
1253
+ },
1254
+ "match": {
1255
+ "type": "string",
1256
+ "enum": [
1257
+ "all",
1258
+ "any"
1259
+ ]
1260
+ },
1261
+ "resolvedServiceIds": {
1262
+ "type": "array",
1263
+ "items": {
1264
+ "$ref": "#/definitions/CatalogServiceId"
1265
+ }
1266
+ },
1267
+ "resolvedAt": {
1268
+ "type": "number"
1269
+ },
1270
+ "id": {
1271
+ "$ref": "#/definitions/CatalogId"
1272
+ },
1273
+ "label": {
1274
+ "type": "string"
1275
+ },
1276
+ "parentId": {
1277
+ "$ref": "#/definitions/CatalogId"
1278
+ },
1279
+ "description": {
1280
+ "type": "string"
1281
+ },
1282
+ "order": {
1283
+ "type": "number"
1284
+ },
1285
+ "color": {
1286
+ "type": "string"
1287
+ },
1288
+ "icon": {
1289
+ "type": "string"
1290
+ },
1291
+ "collapsed": {
1292
+ "type": "boolean"
1293
+ },
1294
+ "meta": {
1295
+ "type": "object",
1296
+ "additionalProperties": {}
1297
+ }
1298
+ },
1299
+ "required": [
1300
+ "id",
1301
+ "kind",
1302
+ "label",
1303
+ "match",
1304
+ "rules"
1305
+ ]
1306
+ },
1307
+ "CatalogSmartRule": {
1308
+ "anyOf": [
1309
+ {
1310
+ "type": "object",
1311
+ "properties": {
1312
+ "type": {
1313
+ "type": "string",
1314
+ "const": "service-field"
1315
+ },
1316
+ "field": {
1317
+ "type": "string"
1318
+ },
1319
+ "op": {
1320
+ "type": "string",
1321
+ "enum": [
1322
+ "eq",
1323
+ "neq",
1324
+ "in",
1325
+ "contains",
1326
+ "startsWith",
1327
+ "endsWith",
1328
+ "gt",
1329
+ "gte",
1330
+ "lt",
1331
+ "lte",
1332
+ "between",
1333
+ "exists"
1334
+ ]
1335
+ },
1336
+ "value": {},
1337
+ "min": {
1338
+ "type": "number"
1339
+ },
1340
+ "max": {
1341
+ "type": "number"
1342
+ }
1343
+ },
1344
+ "required": [
1345
+ "type",
1346
+ "field",
1347
+ "op"
1348
+ ]
1349
+ },
1350
+ {
1351
+ "type": "object",
1352
+ "properties": {
1353
+ "type": {
1354
+ "type": "string",
1355
+ "const": "policy-family"
1356
+ },
1357
+ "key": {
1358
+ "type": "string"
1359
+ },
1360
+ "value": {}
1361
+ },
1362
+ "required": [
1363
+ "type",
1364
+ "key"
1365
+ ]
1366
+ },
1367
+ {
1368
+ "type": "object",
1369
+ "properties": {
1370
+ "type": {
1371
+ "type": "string",
1372
+ "const": "compatibility"
1373
+ },
1374
+ "scope": {
1375
+ "type": "string",
1376
+ "enum": [
1377
+ "tag",
1378
+ "field",
1379
+ "option",
1380
+ "visible-group"
1381
+ ]
1382
+ },
1383
+ "targetId": {
1384
+ "type": "string"
1385
+ },
1386
+ "mode": {
1387
+ "type": "string",
1388
+ "enum": [
1389
+ "safe",
1390
+ "assignable",
1391
+ "same-family",
1392
+ "conflicts"
1393
+ ]
1394
+ }
1395
+ },
1396
+ "required": [
1397
+ "type",
1398
+ "scope",
1399
+ "mode"
1400
+ ]
1401
+ }
1402
+ ]
1403
+ },
1404
+ "CatalogViewMode": {
1405
+ "type": "string",
1406
+ "enum": [
1407
+ "all",
1408
+ "grouped",
1409
+ "smart",
1410
+ "assigned"
1411
+ ]
1048
1412
  }
1049
1413
  }
1050
1414
  }
@@ -78,7 +78,7 @@
78
78
  "type": "string"
79
79
  },
80
80
  "service_id": {
81
- "type": "number"
81
+ "$ref": "#/definitions/ServiceIdRef"
82
82
  },
83
83
  "includes": {
84
84
  "type": "array",
@@ -143,6 +143,15 @@
143
143
  "label"
144
144
  ]
145
145
  },
146
+ "ServiceIdRef": {
147
+ "$ref": "#/definitions/IdType"
148
+ },
149
+ "IdType": {
150
+ "type": [
151
+ "string",
152
+ "number"
153
+ ]
154
+ },
146
155
  "Field": {
147
156
  "anyOf": [
148
157
  {
@@ -192,6 +201,12 @@
192
201
  "pricing_role": {
193
202
  "$ref": "#/definitions/PricingRole"
194
203
  },
204
+ "validation": {
205
+ "type": "array",
206
+ "items": {
207
+ "$ref": "#/definitions/FieldValidationRule"
208
+ }
209
+ },
195
210
  "meta": {
196
211
  "type": "object",
197
212
  "properties": {
@@ -304,7 +319,7 @@
304
319
  "const": true
305
320
  },
306
321
  "service_id": {
307
- "type": "number"
322
+ "$ref": "#/definitions/ServiceIdRef"
308
323
  },
309
324
  "id": {
310
325
  "type": "string"
@@ -343,6 +358,12 @@
343
358
  "pricing_role": {
344
359
  "$ref": "#/definitions/PricingRole"
345
360
  },
361
+ "validation": {
362
+ "type": "array",
363
+ "items": {
364
+ "$ref": "#/definitions/FieldValidationRule"
365
+ }
366
+ },
346
367
  "meta": {
347
368
  "type": "object",
348
369
  "properties": {
@@ -466,7 +487,7 @@
466
487
  ]
467
488
  },
468
489
  "service_id": {
469
- "type": "number"
490
+ "$ref": "#/definitions/ServiceIdRef"
470
491
  },
471
492
  "pricing_role": {
472
493
  "$ref": "#/definitions/PricingRole"
@@ -531,6 +552,68 @@
531
552
  "utility"
532
553
  ]
533
554
  },
555
+ "FieldValidationRule": {
556
+ "type": "object",
557
+ "properties": {
558
+ "valueBy": {
559
+ "$ref": "#/definitions/FieldValidationValueBy"
560
+ },
561
+ "op": {
562
+ "$ref": "#/definitions/FieldValidationOp"
563
+ },
564
+ "value": {},
565
+ "min": {
566
+ "type": "number"
567
+ },
568
+ "max": {
569
+ "type": "number"
570
+ },
571
+ "values": {
572
+ "type": "array",
573
+ "items": {}
574
+ },
575
+ "pattern": {
576
+ "type": "string"
577
+ },
578
+ "flags": {
579
+ "type": "string"
580
+ },
581
+ "code": {
582
+ "type": "string"
583
+ },
584
+ "message": {
585
+ "type": "string"
586
+ }
587
+ },
588
+ "required": [
589
+ "op"
590
+ ]
591
+ },
592
+ "FieldValidationValueBy": {
593
+ "type": "string",
594
+ "enum": [
595
+ "value",
596
+ "length",
597
+ "eval"
598
+ ]
599
+ },
600
+ "FieldValidationOp": {
601
+ "type": "string",
602
+ "enum": [
603
+ "eq",
604
+ "neq",
605
+ "gt",
606
+ "gte",
607
+ "lt",
608
+ "lte",
609
+ "between",
610
+ "in",
611
+ "nin",
612
+ "truthy",
613
+ "falsy",
614
+ "match"
615
+ ]
616
+ },
534
617
  "ServiceFallback": {
535
618
  "type": "object",
536
619
  "properties": {
@@ -556,12 +639,6 @@
556
639
  }
557
640
  }
558
641
  },
559
- "ServiceIdRef": {
560
- "type": [
561
- "number",
562
- "string"
563
- ]
564
- },
565
642
  "ServicePropsNotice": {
566
643
  "type": "object",
567
644
  "properties": {