@jskit-ai/jskit-catalog 0.1.73 → 0.1.75
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/catalog/packages.json +907 -263
- package/package.json +1 -1
package/catalog/packages.json
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
"packages": [
|
|
7
7
|
{
|
|
8
8
|
"packageId": "@jskit-ai/assistant",
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.76",
|
|
10
10
|
"descriptor": {
|
|
11
11
|
"packageVersion": 1,
|
|
12
12
|
"packageId": "@jskit-ai/assistant",
|
|
13
|
-
"version": "0.1.
|
|
13
|
+
"version": "0.1.76",
|
|
14
14
|
"kind": "generator",
|
|
15
15
|
"description": "Install assistant runtime/config for one surface and scaffold assistant pages at explicit target files.",
|
|
16
16
|
"options": {
|
|
@@ -58,14 +58,7 @@
|
|
|
58
58
|
"inputType": "text",
|
|
59
59
|
"defaultValue": "",
|
|
60
60
|
"promptLabel": "Link placement",
|
|
61
|
-
"promptHint": "Optional target for the generated page link placement (format:
|
|
62
|
-
},
|
|
63
|
-
"link-component-token": {
|
|
64
|
-
"required": false,
|
|
65
|
-
"inputType": "text",
|
|
66
|
-
"defaultValue": "",
|
|
67
|
-
"promptLabel": "Link component token",
|
|
68
|
-
"promptHint": "Optional component token override for the generated page link placement."
|
|
61
|
+
"promptHint": "Optional semantic target for the generated page link placement (format: area.slot)."
|
|
69
62
|
},
|
|
70
63
|
"link-to": {
|
|
71
64
|
"required": false,
|
|
@@ -185,7 +178,6 @@
|
|
|
185
178
|
"optionNames": [
|
|
186
179
|
"name",
|
|
187
180
|
"link-placement",
|
|
188
|
-
"link-component-token",
|
|
189
181
|
"link-to",
|
|
190
182
|
"force"
|
|
191
183
|
],
|
|
@@ -208,7 +200,7 @@
|
|
|
208
200
|
"npx jskit generate assistant page \\",
|
|
209
201
|
" admin/ops/copilot/index.vue \\",
|
|
210
202
|
" --name \"Copilot\" \\",
|
|
211
|
-
" --link-placement shell
|
|
203
|
+
" --link-placement shell.status"
|
|
212
204
|
]
|
|
213
205
|
}
|
|
214
206
|
]
|
|
@@ -229,7 +221,6 @@
|
|
|
229
221
|
"surface",
|
|
230
222
|
"name",
|
|
231
223
|
"link-placement",
|
|
232
|
-
"link-component-token",
|
|
233
224
|
"link-to",
|
|
234
225
|
"force"
|
|
235
226
|
],
|
|
@@ -356,11 +347,11 @@
|
|
|
356
347
|
},
|
|
357
348
|
{
|
|
358
349
|
"packageId": "@jskit-ai/assistant-core",
|
|
359
|
-
"version": "0.1.
|
|
350
|
+
"version": "0.1.43",
|
|
360
351
|
"descriptor": {
|
|
361
352
|
"packageVersion": 1,
|
|
362
353
|
"packageId": "@jskit-ai/assistant-core",
|
|
363
|
-
"version": "0.1.
|
|
354
|
+
"version": "0.1.43",
|
|
364
355
|
"kind": "runtime",
|
|
365
356
|
"description": "Reusable assistant client/server/shared primitives without surface-specific routes or settings ownership.",
|
|
366
357
|
"dependsOn": [
|
|
@@ -408,17 +399,15 @@
|
|
|
408
399
|
"mutations": {
|
|
409
400
|
"dependencies": {
|
|
410
401
|
"runtime": {
|
|
411
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
412
|
-
"@jskit-ai/kernel": "0.1.
|
|
413
|
-
"@jskit-ai/resource-core": "0.1.
|
|
414
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
415
|
-
"@jskit-ai/users-core": "0.1.
|
|
416
|
-
"@tanstack/vue-query": "^5.90.5",
|
|
402
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
403
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
404
|
+
"@jskit-ai/resource-core": "0.1.12",
|
|
405
|
+
"@jskit-ai/resource-crud-core": "0.1.12",
|
|
406
|
+
"@jskit-ai/users-core": "0.1.77",
|
|
417
407
|
"dompurify": "^3.3.3",
|
|
418
408
|
"json-rest-schema": "1.x.x",
|
|
419
409
|
"marked": "^17.0.4",
|
|
420
|
-
"openai": "^6.22.0"
|
|
421
|
-
"vuetify": "^4.0.0"
|
|
410
|
+
"openai": "^6.22.0"
|
|
422
411
|
},
|
|
423
412
|
"dev": {}
|
|
424
413
|
},
|
|
@@ -433,11 +422,11 @@
|
|
|
433
422
|
},
|
|
434
423
|
{
|
|
435
424
|
"packageId": "@jskit-ai/assistant-runtime",
|
|
436
|
-
"version": "0.1.
|
|
425
|
+
"version": "0.1.38",
|
|
437
426
|
"descriptor": {
|
|
438
427
|
"packageVersion": 1,
|
|
439
428
|
"packageId": "@jskit-ai/assistant-runtime",
|
|
440
|
-
"version": "0.1.
|
|
429
|
+
"version": "0.1.38",
|
|
441
430
|
"kind": "runtime",
|
|
442
431
|
"description": "Shared assistant runtime with per-surface assistant registration.",
|
|
443
432
|
"dependsOn": [
|
|
@@ -533,15 +522,13 @@
|
|
|
533
522
|
"mutations": {
|
|
534
523
|
"dependencies": {
|
|
535
524
|
"runtime": {
|
|
536
|
-
"@jskit-ai/assistant-core": "0.1.
|
|
537
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
538
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
539
|
-
"@jskit-ai/kernel": "0.1.
|
|
540
|
-
"@jskit-ai/shell-web": "0.1.
|
|
541
|
-
"@jskit-ai/users-core": "0.1.
|
|
542
|
-
"@jskit-ai/users-web": "0.1.
|
|
543
|
-
"@tanstack/vue-query": "^5.90.5",
|
|
544
|
-
"vuetify": "^4.0.0"
|
|
525
|
+
"@jskit-ai/assistant-core": "0.1.43",
|
|
526
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
527
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
528
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
529
|
+
"@jskit-ai/shell-web": "0.1.66",
|
|
530
|
+
"@jskit-ai/users-core": "0.1.77",
|
|
531
|
+
"@jskit-ai/users-web": "0.1.82"
|
|
545
532
|
},
|
|
546
533
|
"dev": {}
|
|
547
534
|
},
|
|
@@ -596,11 +583,11 @@
|
|
|
596
583
|
},
|
|
597
584
|
{
|
|
598
585
|
"packageId": "@jskit-ai/auth-core",
|
|
599
|
-
"version": "0.1.
|
|
586
|
+
"version": "0.1.66",
|
|
600
587
|
"descriptor": {
|
|
601
588
|
"packageVersion": 1,
|
|
602
589
|
"packageId": "@jskit-ai/auth-core",
|
|
603
|
-
"version": "0.1.
|
|
590
|
+
"version": "0.1.66",
|
|
604
591
|
"kind": "runtime",
|
|
605
592
|
"dependsOn": [
|
|
606
593
|
"@jskit-ai/value-app-config-shared"
|
|
@@ -668,7 +655,7 @@
|
|
|
668
655
|
"mutations": {
|
|
669
656
|
"dependencies": {
|
|
670
657
|
"runtime": {
|
|
671
|
-
"@jskit-ai/kernel": "0.1.
|
|
658
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
672
659
|
"@fastify/cookie": "^11.0.2",
|
|
673
660
|
"@fastify/csrf-protection": "^7.1.0",
|
|
674
661
|
"@fastify/rate-limit": "^10.3.0"
|
|
@@ -686,11 +673,11 @@
|
|
|
686
673
|
},
|
|
687
674
|
{
|
|
688
675
|
"packageId": "@jskit-ai/auth-provider-supabase-core",
|
|
689
|
-
"version": "0.1.
|
|
676
|
+
"version": "0.1.66",
|
|
690
677
|
"descriptor": {
|
|
691
678
|
"packageVersion": 1,
|
|
692
679
|
"packageId": "@jskit-ai/auth-provider-supabase-core",
|
|
693
|
-
"version": "0.1.
|
|
680
|
+
"version": "0.1.66",
|
|
694
681
|
"kind": "runtime",
|
|
695
682
|
"options": {
|
|
696
683
|
"auth-supabase-url": {
|
|
@@ -772,8 +759,8 @@
|
|
|
772
759
|
"mutations": {
|
|
773
760
|
"dependencies": {
|
|
774
761
|
"runtime": {
|
|
775
|
-
"@jskit-ai/auth-core": "0.1.
|
|
776
|
-
"@jskit-ai/kernel": "0.1.
|
|
762
|
+
"@jskit-ai/auth-core": "0.1.66",
|
|
763
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
777
764
|
"dotenv": "^16.4.5",
|
|
778
765
|
"@supabase/supabase-js": "^2.57.4",
|
|
779
766
|
"jose": "^6.1.0"
|
|
@@ -838,11 +825,11 @@
|
|
|
838
825
|
},
|
|
839
826
|
{
|
|
840
827
|
"packageId": "@jskit-ai/auth-web",
|
|
841
|
-
"version": "0.1.
|
|
828
|
+
"version": "0.1.68",
|
|
842
829
|
"descriptor": {
|
|
843
830
|
"packageVersion": 1,
|
|
844
831
|
"packageId": "@jskit-ai/auth-web",
|
|
845
|
-
"version": "0.1.
|
|
832
|
+
"version": "0.1.68",
|
|
846
833
|
"kind": "runtime",
|
|
847
834
|
"description": "Auth web module: Fastify auth routes plus web login/sign-out scaffolds.",
|
|
848
835
|
"dependsOn": [
|
|
@@ -1019,17 +1006,48 @@
|
|
|
1019
1006
|
"outlets": [
|
|
1020
1007
|
{
|
|
1021
1008
|
"target": "auth-profile-menu:primary-menu",
|
|
1022
|
-
"defaultLinkComponentToken": "auth.web.profile.menu.link-item",
|
|
1023
1009
|
"surfaces": [
|
|
1024
1010
|
"*"
|
|
1025
1011
|
],
|
|
1026
1012
|
"source": "src/client/views/AuthProfileWidget.vue"
|
|
1027
1013
|
}
|
|
1028
1014
|
],
|
|
1015
|
+
"topology": {
|
|
1016
|
+
"placements": [
|
|
1017
|
+
{
|
|
1018
|
+
"id": "auth.profile-menu",
|
|
1019
|
+
"description": "Authenticated profile menu actions.",
|
|
1020
|
+
"surfaces": [
|
|
1021
|
+
"*"
|
|
1022
|
+
],
|
|
1023
|
+
"variants": {
|
|
1024
|
+
"compact": {
|
|
1025
|
+
"outlet": "auth-profile-menu:primary-menu",
|
|
1026
|
+
"renderers": {
|
|
1027
|
+
"link": "auth.web.profile.menu.link-item"
|
|
1028
|
+
}
|
|
1029
|
+
},
|
|
1030
|
+
"medium": {
|
|
1031
|
+
"outlet": "auth-profile-menu:primary-menu",
|
|
1032
|
+
"renderers": {
|
|
1033
|
+
"link": "auth.web.profile.menu.link-item"
|
|
1034
|
+
}
|
|
1035
|
+
},
|
|
1036
|
+
"expanded": {
|
|
1037
|
+
"outlet": "auth-profile-menu:primary-menu",
|
|
1038
|
+
"renderers": {
|
|
1039
|
+
"link": "auth.web.profile.menu.link-item"
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
]
|
|
1045
|
+
},
|
|
1029
1046
|
"contributions": [
|
|
1030
1047
|
{
|
|
1031
1048
|
"id": "auth.profile.widget",
|
|
1032
|
-
"target": "shell
|
|
1049
|
+
"target": "shell.status",
|
|
1050
|
+
"kind": "component",
|
|
1033
1051
|
"surfaces": [
|
|
1034
1052
|
"*"
|
|
1035
1053
|
],
|
|
@@ -1039,23 +1057,23 @@
|
|
|
1039
1057
|
},
|
|
1040
1058
|
{
|
|
1041
1059
|
"id": "auth.profile.menu.sign-in",
|
|
1042
|
-
"target": "auth
|
|
1060
|
+
"target": "auth.profile-menu",
|
|
1061
|
+
"kind": "link",
|
|
1043
1062
|
"surfaces": [
|
|
1044
1063
|
"*"
|
|
1045
1064
|
],
|
|
1046
1065
|
"order": 200,
|
|
1047
|
-
"componentToken": "auth.web.profile.menu.link-item",
|
|
1048
1066
|
"when": "auth.authenticated !== true",
|
|
1049
1067
|
"source": "mutations.text#auth-web-placement-block"
|
|
1050
1068
|
},
|
|
1051
1069
|
{
|
|
1052
1070
|
"id": "auth.profile.menu.sign-out",
|
|
1053
|
-
"target": "auth
|
|
1071
|
+
"target": "auth.profile-menu",
|
|
1072
|
+
"kind": "link",
|
|
1054
1073
|
"surfaces": [
|
|
1055
1074
|
"*"
|
|
1056
1075
|
],
|
|
1057
1076
|
"order": 1000,
|
|
1058
|
-
"componentToken": "auth.web.profile.menu.link-item",
|
|
1059
1077
|
"when": "auth.authenticated === true",
|
|
1060
1078
|
"source": "mutations.text#auth-web-placement-block"
|
|
1061
1079
|
}
|
|
@@ -1066,13 +1084,11 @@
|
|
|
1066
1084
|
"mutations": {
|
|
1067
1085
|
"dependencies": {
|
|
1068
1086
|
"runtime": {
|
|
1069
|
-
"@tanstack/vue-query": "5.92.12",
|
|
1070
1087
|
"@mdi/js": "^7.4.47",
|
|
1071
|
-
"@jskit-ai/auth-core": "0.1.
|
|
1072
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
1073
|
-
"@jskit-ai/kernel": "0.1.
|
|
1074
|
-
"@jskit-ai/shell-web": "0.1.
|
|
1075
|
-
"vuetify": "^4.0.0"
|
|
1088
|
+
"@jskit-ai/auth-core": "0.1.66",
|
|
1089
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
1090
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
1091
|
+
"@jskit-ai/shell-web": "0.1.66"
|
|
1076
1092
|
},
|
|
1077
1093
|
"dev": {}
|
|
1078
1094
|
},
|
|
@@ -1130,10 +1146,20 @@
|
|
|
1130
1146
|
"file": "src/placement.js",
|
|
1131
1147
|
"position": "bottom",
|
|
1132
1148
|
"skipIfContains": "id: \"auth.profile.widget\"",
|
|
1133
|
-
"value": "\naddPlacement({\n id: \"auth.profile.widget\",\n target: \"shell
|
|
1149
|
+
"value": "\naddPlacement({\n id: \"auth.profile.widget\",\n target: \"shell.status\",\n kind: \"component\",\n surfaces: [\"*\"],\n order: 1000,\n componentToken: \"auth.web.profile.widget\"\n});\n\naddPlacement({\n id: \"auth.profile.menu.sign-in\",\n target: \"auth.profile-menu\",\n kind: \"link\",\n surfaces: [\"*\"],\n order: 200,\n props: {\n label: \"Sign in\",\n to: \"/auth/login\"\n },\n when: ({ auth }) => auth?.authenticated !== true\n});\n\naddPlacement({\n id: \"auth.profile.menu.sign-out\",\n target: \"auth.profile-menu\",\n kind: \"link\",\n surfaces: [\"*\"],\n order: 1000,\n props: {\n label: \"Sign out\",\n to: \"/auth/signout\"\n },\n when: ({ auth }) => auth?.authenticated === true\n});\n",
|
|
1134
1150
|
"reason": "Append auth profile placement entries into app-owned placement registry.",
|
|
1135
1151
|
"category": "auth-web",
|
|
1136
1152
|
"id": "auth-web-placement-block"
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"op": "append-text",
|
|
1156
|
+
"file": "src/placementTopology.js",
|
|
1157
|
+
"position": "bottom",
|
|
1158
|
+
"skipIfContains": "id: \"auth.profile-menu\"",
|
|
1159
|
+
"value": "\naddPlacementTopology({\n id: \"auth.profile-menu\",\n description: \"Authenticated profile menu actions.\",\n surfaces: [\"*\"],\n variants: {\n compact: {\n outlet: \"auth-profile-menu:primary-menu\",\n renderers: {\n link: \"auth.web.profile.menu.link-item\"\n }\n },\n medium: {\n outlet: \"auth-profile-menu:primary-menu\",\n renderers: {\n link: \"auth.web.profile.menu.link-item\"\n }\n },\n expanded: {\n outlet: \"auth-profile-menu:primary-menu\",\n renderers: {\n link: \"auth.web.profile.menu.link-item\"\n }\n }\n }\n});\n",
|
|
1160
|
+
"reason": "Append auth profile menu topology into the app-owned placement topology.",
|
|
1161
|
+
"category": "auth-web",
|
|
1162
|
+
"id": "auth-web-profile-menu-topology"
|
|
1137
1163
|
}
|
|
1138
1164
|
]
|
|
1139
1165
|
}
|
|
@@ -1141,11 +1167,11 @@
|
|
|
1141
1167
|
},
|
|
1142
1168
|
{
|
|
1143
1169
|
"packageId": "@jskit-ai/console-core",
|
|
1144
|
-
"version": "0.1.
|
|
1170
|
+
"version": "0.1.30",
|
|
1145
1171
|
"descriptor": {
|
|
1146
1172
|
"packageVersion": 1,
|
|
1147
1173
|
"packageId": "@jskit-ai/console-core",
|
|
1148
|
-
"version": "0.1.
|
|
1174
|
+
"version": "0.1.30",
|
|
1149
1175
|
"kind": "runtime",
|
|
1150
1176
|
"description": "Console runtime: console settings schema, bootstrap flags, actions, and HTTP routes.",
|
|
1151
1177
|
"dependsOn": [
|
|
@@ -1229,12 +1255,12 @@
|
|
|
1229
1255
|
"mutations": {
|
|
1230
1256
|
"dependencies": {
|
|
1231
1257
|
"runtime": {
|
|
1232
|
-
"@jskit-ai/auth-core": "0.1.
|
|
1233
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
1234
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
1235
|
-
"@jskit-ai/kernel": "0.1.
|
|
1236
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
1237
|
-
"@jskit-ai/users-core": "0.1.
|
|
1258
|
+
"@jskit-ai/auth-core": "0.1.66",
|
|
1259
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
1260
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
1261
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
1262
|
+
"@jskit-ai/resource-crud-core": "0.1.12",
|
|
1263
|
+
"@jskit-ai/users-core": "0.1.77"
|
|
1238
1264
|
},
|
|
1239
1265
|
"dev": {}
|
|
1240
1266
|
},
|
|
@@ -1259,11 +1285,11 @@
|
|
|
1259
1285
|
},
|
|
1260
1286
|
{
|
|
1261
1287
|
"packageId": "@jskit-ai/console-web",
|
|
1262
|
-
"version": "0.1.
|
|
1288
|
+
"version": "0.1.35",
|
|
1263
1289
|
"descriptor": {
|
|
1264
1290
|
"packageVersion": 1,
|
|
1265
1291
|
"packageId": "@jskit-ai/console-web",
|
|
1266
|
-
"version": "0.1.
|
|
1292
|
+
"version": "0.1.35",
|
|
1267
1293
|
"kind": "runtime",
|
|
1268
1294
|
"description": "Authenticated console surface scaffold and surface policy wiring.",
|
|
1269
1295
|
"dependsOn": [
|
|
@@ -1305,33 +1331,64 @@
|
|
|
1305
1331
|
"outlets": [
|
|
1306
1332
|
{
|
|
1307
1333
|
"target": "console-settings:primary-menu",
|
|
1308
|
-
"defaultLinkComponentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
1309
1334
|
"surfaces": [
|
|
1310
1335
|
"console"
|
|
1311
1336
|
],
|
|
1312
1337
|
"source": "templates/src/pages/console/settings.vue"
|
|
1313
1338
|
}
|
|
1314
1339
|
],
|
|
1340
|
+
"topology": {
|
|
1341
|
+
"placements": [
|
|
1342
|
+
{
|
|
1343
|
+
"id": "page.section-nav",
|
|
1344
|
+
"owner": "console-settings",
|
|
1345
|
+
"description": "Navigation between console settings child pages.",
|
|
1346
|
+
"surfaces": [
|
|
1347
|
+
"console"
|
|
1348
|
+
],
|
|
1349
|
+
"variants": {
|
|
1350
|
+
"compact": {
|
|
1351
|
+
"outlet": "console-settings:primary-menu",
|
|
1352
|
+
"renderers": {
|
|
1353
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
1354
|
+
}
|
|
1355
|
+
},
|
|
1356
|
+
"medium": {
|
|
1357
|
+
"outlet": "console-settings:primary-menu",
|
|
1358
|
+
"renderers": {
|
|
1359
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
1360
|
+
}
|
|
1361
|
+
},
|
|
1362
|
+
"expanded": {
|
|
1363
|
+
"outlet": "console-settings:primary-menu",
|
|
1364
|
+
"renderers": {
|
|
1365
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
]
|
|
1371
|
+
},
|
|
1315
1372
|
"contributions": [
|
|
1316
1373
|
{
|
|
1317
1374
|
"id": "console.web.profile.menu.console",
|
|
1318
|
-
"target": "auth
|
|
1375
|
+
"target": "auth.profile-menu",
|
|
1376
|
+
"kind": "link",
|
|
1319
1377
|
"surfaces": [
|
|
1320
1378
|
"*"
|
|
1321
1379
|
],
|
|
1322
1380
|
"order": 600,
|
|
1323
|
-
"componentToken": "auth.web.profile.menu.link-item",
|
|
1324
1381
|
"when": "auth.authenticated === true && surfaceAccess.consoleowner === true && surface !== \"console\"",
|
|
1325
1382
|
"source": "mutations.text#console-web-profile-menu-console-placement"
|
|
1326
1383
|
},
|
|
1327
1384
|
{
|
|
1328
1385
|
"id": "console.web.menu.settings",
|
|
1329
|
-
"target": "shell
|
|
1386
|
+
"target": "shell.primary-nav",
|
|
1387
|
+
"kind": "link",
|
|
1330
1388
|
"surfaces": [
|
|
1331
1389
|
"console"
|
|
1332
1390
|
],
|
|
1333
1391
|
"order": 100,
|
|
1334
|
-
"componentToken": "local.main.ui.menu-link-item",
|
|
1335
1392
|
"when": "auth.authenticated === true",
|
|
1336
1393
|
"source": "mutations.text#console-web-console-settings-placement"
|
|
1337
1394
|
}
|
|
@@ -1342,9 +1399,9 @@
|
|
|
1342
1399
|
"mutations": {
|
|
1343
1400
|
"dependencies": {
|
|
1344
1401
|
"runtime": {
|
|
1345
|
-
"@jskit-ai/auth-web": "0.1.
|
|
1346
|
-
"@jskit-ai/console-core": "0.1.
|
|
1347
|
-
"@jskit-ai/shell-web": "0.1.
|
|
1402
|
+
"@jskit-ai/auth-web": "0.1.68",
|
|
1403
|
+
"@jskit-ai/console-core": "0.1.30",
|
|
1404
|
+
"@jskit-ai/shell-web": "0.1.66"
|
|
1348
1405
|
},
|
|
1349
1406
|
"dev": {}
|
|
1350
1407
|
},
|
|
@@ -1420,7 +1477,7 @@
|
|
|
1420
1477
|
"file": "src/placement.js",
|
|
1421
1478
|
"position": "bottom",
|
|
1422
1479
|
"skipIfContains": "id: \"console.web.profile.menu.console\"",
|
|
1423
|
-
"value": "\naddPlacement({\n id: \"console.web.profile.menu.console\",\n target: \"auth
|
|
1480
|
+
"value": "\naddPlacement({\n id: \"console.web.profile.menu.console\",\n target: \"auth.profile-menu\",\n kind: \"link\",\n surfaces: [\"*\"],\n order: 600,\n props: {\n label: \"Go to console\",\n to: \"/console\",\n icon: \"mdi-console-network-outline\"\n },\n when: ({ auth, surfaceAccess, surface }) => {\n return auth?.authenticated === true && surfaceAccess?.consoleowner === true && surface !== \"console\";\n }\n});\n",
|
|
1424
1481
|
"reason": "Append owner-only console navigation entry into the authenticated profile menu outside the console surface.",
|
|
1425
1482
|
"category": "console-web",
|
|
1426
1483
|
"id": "console-web-profile-menu-console-placement"
|
|
@@ -1430,10 +1487,20 @@
|
|
|
1430
1487
|
"file": "src/placement.js",
|
|
1431
1488
|
"position": "bottom",
|
|
1432
1489
|
"skipIfContains": "id: \"console.web.menu.settings\"",
|
|
1433
|
-
"value": "\naddPlacement({\n id: \"console.web.menu.settings\",\n target: \"shell
|
|
1490
|
+
"value": "\naddPlacement({\n id: \"console.web.menu.settings\",\n target: \"shell.primary-nav\",\n kind: \"link\",\n surfaces: [\"console\"],\n order: 100,\n props: {\n label: \"Settings\",\n to: \"/console/settings\",\n icon: \"mdi-cog-outline\"\n },\n when: ({ auth }) => auth?.authenticated === true\n});\n",
|
|
1434
1491
|
"reason": "Append console-web settings menu placement into app-owned placement registry.",
|
|
1435
1492
|
"category": "console-web",
|
|
1436
1493
|
"id": "console-web-console-settings-placement"
|
|
1494
|
+
},
|
|
1495
|
+
{
|
|
1496
|
+
"op": "append-text",
|
|
1497
|
+
"file": "src/placementTopology.js",
|
|
1498
|
+
"position": "bottom",
|
|
1499
|
+
"skipIfContains": "owner: \"console-settings\"",
|
|
1500
|
+
"value": "\naddPlacementTopology({\n id: \"page.section-nav\",\n owner: \"console-settings\",\n description: \"Navigation between console settings child pages.\",\n surfaces: [\"console\"],\n variants: {\n compact: {\n outlet: \"console-settings:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n medium: {\n outlet: \"console-settings:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n expanded: {\n outlet: \"console-settings:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n }\n }\n});\n",
|
|
1501
|
+
"reason": "Append console settings semantic topology into app-owned placement topology.",
|
|
1502
|
+
"category": "console-web",
|
|
1503
|
+
"id": "console-web-settings-placement-topology"
|
|
1437
1504
|
}
|
|
1438
1505
|
]
|
|
1439
1506
|
}
|
|
@@ -1441,11 +1508,11 @@
|
|
|
1441
1508
|
},
|
|
1442
1509
|
{
|
|
1443
1510
|
"packageId": "@jskit-ai/crud-core",
|
|
1444
|
-
"version": "0.1.
|
|
1511
|
+
"version": "0.1.75",
|
|
1445
1512
|
"descriptor": {
|
|
1446
1513
|
"packageVersion": 1,
|
|
1447
1514
|
"packageId": "@jskit-ai/crud-core",
|
|
1448
|
-
"version": "0.1.
|
|
1515
|
+
"version": "0.1.75",
|
|
1449
1516
|
"kind": "runtime",
|
|
1450
1517
|
"description": "Shared CRUD helpers used by CRUD modules.",
|
|
1451
1518
|
"dependsOn": [
|
|
@@ -1474,7 +1541,7 @@
|
|
|
1474
1541
|
"mutations": {
|
|
1475
1542
|
"dependencies": {
|
|
1476
1543
|
"runtime": {
|
|
1477
|
-
"@jskit-ai/crud-core": "0.1.
|
|
1544
|
+
"@jskit-ai/crud-core": "0.1.75"
|
|
1478
1545
|
},
|
|
1479
1546
|
"dev": {}
|
|
1480
1547
|
},
|
|
@@ -1488,11 +1555,11 @@
|
|
|
1488
1555
|
},
|
|
1489
1556
|
{
|
|
1490
1557
|
"packageId": "@jskit-ai/crud-server-generator",
|
|
1491
|
-
"version": "0.1.
|
|
1558
|
+
"version": "0.1.75",
|
|
1492
1559
|
"descriptor": {
|
|
1493
1560
|
"packageVersion": 1,
|
|
1494
1561
|
"packageId": "@jskit-ai/crud-server-generator",
|
|
1495
|
-
"version": "0.1.
|
|
1562
|
+
"version": "0.1.75",
|
|
1496
1563
|
"kind": "generator",
|
|
1497
1564
|
"description": "CRUD server generator with routes, actions, and persistence scaffolding.",
|
|
1498
1565
|
"options": {
|
|
@@ -1659,14 +1726,14 @@
|
|
|
1659
1726
|
"mutations": {
|
|
1660
1727
|
"dependencies": {
|
|
1661
1728
|
"runtime": {
|
|
1662
|
-
"@jskit-ai/auth-core": "0.1.
|
|
1663
|
-
"@jskit-ai/crud-core": "0.1.
|
|
1664
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
1665
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
1666
|
-
"@jskit-ai/json-rest-api-core": "0.1.
|
|
1667
|
-
"@jskit-ai/kernel": "0.1.
|
|
1668
|
-
"@jskit-ai/realtime": "0.1.
|
|
1669
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
1729
|
+
"@jskit-ai/auth-core": "0.1.66",
|
|
1730
|
+
"@jskit-ai/crud-core": "0.1.75",
|
|
1731
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
1732
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
1733
|
+
"@jskit-ai/json-rest-api-core": "0.1.12",
|
|
1734
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
1735
|
+
"@jskit-ai/realtime": "0.1.66",
|
|
1736
|
+
"@jskit-ai/resource-crud-core": "0.1.12",
|
|
1670
1737
|
"@local/${option:namespace|kebab}": "file:packages/${option:namespace|kebab}"
|
|
1671
1738
|
},
|
|
1672
1739
|
"dev": {}
|
|
@@ -1798,11 +1865,11 @@
|
|
|
1798
1865
|
},
|
|
1799
1866
|
{
|
|
1800
1867
|
"packageId": "@jskit-ai/crud-ui-generator",
|
|
1801
|
-
"version": "0.1.
|
|
1868
|
+
"version": "0.1.50",
|
|
1802
1869
|
"descriptor": {
|
|
1803
1870
|
"packageVersion": 1,
|
|
1804
1871
|
"packageId": "@jskit-ai/crud-ui-generator",
|
|
1805
|
-
"version": "0.1.
|
|
1872
|
+
"version": "0.1.50",
|
|
1806
1873
|
"kind": "generator",
|
|
1807
1874
|
"description": "Generate CRUD route trees from resource validators at an explicit route root relative to src/pages/.",
|
|
1808
1875
|
"options": {
|
|
@@ -1873,14 +1940,23 @@
|
|
|
1873
1940
|
"inputType": "text",
|
|
1874
1941
|
"defaultValue": "",
|
|
1875
1942
|
"promptLabel": "Link placement",
|
|
1876
|
-
"promptHint": "Optional target override for the generated list-page link placement (format:
|
|
1943
|
+
"promptHint": "Optional semantic target override for the generated list-page link placement (format: area.slot)."
|
|
1877
1944
|
},
|
|
1878
|
-
"
|
|
1945
|
+
"navigation-role": {
|
|
1879
1946
|
"required": false,
|
|
1880
1947
|
"inputType": "text",
|
|
1948
|
+
"validationType": "enum",
|
|
1949
|
+
"allowedValues": [
|
|
1950
|
+
"primary",
|
|
1951
|
+
"secondary",
|
|
1952
|
+
"utility",
|
|
1953
|
+
"detail",
|
|
1954
|
+
"workflow",
|
|
1955
|
+
"none"
|
|
1956
|
+
],
|
|
1881
1957
|
"defaultValue": "",
|
|
1882
|
-
"promptLabel": "
|
|
1883
|
-
"promptHint": "
|
|
1958
|
+
"promptLabel": "Navigation role",
|
|
1959
|
+
"promptHint": "Product navigation role for generated links. When omitted, dynamic detail and workflow routes create no nav link; primary uses normal inference, secondary maps to shell.secondary-nav, utility maps to shell.global-actions, and detail/workflow/none force no nav link."
|
|
1884
1960
|
},
|
|
1885
1961
|
"namespace": {
|
|
1886
1962
|
"required": false,
|
|
@@ -1928,8 +2004,8 @@
|
|
|
1928
2004
|
"display-fields",
|
|
1929
2005
|
"id-param",
|
|
1930
2006
|
"parent-title",
|
|
2007
|
+
"navigation-role",
|
|
1931
2008
|
"link-placement",
|
|
1932
|
-
"link-component-token",
|
|
1933
2009
|
"namespace",
|
|
1934
2010
|
"force"
|
|
1935
2011
|
],
|
|
@@ -1992,7 +2068,7 @@
|
|
|
1992
2068
|
"mutations": {
|
|
1993
2069
|
"dependencies": {
|
|
1994
2070
|
"runtime": {
|
|
1995
|
-
"@jskit-ai/users-web": "0.1.
|
|
2071
|
+
"@jskit-ai/users-web": "0.1.82"
|
|
1996
2072
|
},
|
|
1997
2073
|
"dev": {}
|
|
1998
2074
|
},
|
|
@@ -2018,6 +2094,32 @@
|
|
|
2018
2094
|
]
|
|
2019
2095
|
}
|
|
2020
2096
|
},
|
|
2097
|
+
{
|
|
2098
|
+
"from": "templates/src/pages/admin/ui-generator/listFilters.js",
|
|
2099
|
+
"to": "src/pages/${option:target-root|trim}/listFilters.js",
|
|
2100
|
+
"reason": "Install generated client-side list filter definitions.",
|
|
2101
|
+
"category": "crud-ui-generator",
|
|
2102
|
+
"id": "crud-ui-page-list-filters-${option:target-root|snake}",
|
|
2103
|
+
"when": {
|
|
2104
|
+
"option": "operations",
|
|
2105
|
+
"in": [
|
|
2106
|
+
"list"
|
|
2107
|
+
]
|
|
2108
|
+
}
|
|
2109
|
+
},
|
|
2110
|
+
{
|
|
2111
|
+
"from": "templates/src/pages/admin/ui-generator/listBulkActions.js",
|
|
2112
|
+
"to": "src/pages/${option:target-root|trim}/listBulkActions.js",
|
|
2113
|
+
"reason": "Install generated client-side list bulk action definitions.",
|
|
2114
|
+
"category": "crud-ui-generator",
|
|
2115
|
+
"id": "crud-ui-page-list-bulk-actions-${option:target-root|snake}",
|
|
2116
|
+
"when": {
|
|
2117
|
+
"option": "operations",
|
|
2118
|
+
"in": [
|
|
2119
|
+
"list"
|
|
2120
|
+
]
|
|
2121
|
+
}
|
|
2122
|
+
},
|
|
2021
2123
|
{
|
|
2022
2124
|
"from": "templates/src/pages/admin/ui-generator/ViewElement.vue",
|
|
2023
2125
|
"to": "src/pages/${option:target-root|trim}/[${option:id-param|trim}]/index.vue",
|
|
@@ -2204,7 +2306,7 @@
|
|
|
2204
2306
|
"file": "src/placement.js",
|
|
2205
2307
|
"position": "bottom",
|
|
2206
2308
|
"skipIfContains": "__JSKIT_UI_MENU_MARKER__",
|
|
2207
|
-
"value": "
|
|
2309
|
+
"value": "__JSKIT_UI_MENU_APPEND_BLOCK__",
|
|
2208
2310
|
"reason": "Append generated CRUD list-page placement.",
|
|
2209
2311
|
"category": "crud-ui-generator",
|
|
2210
2312
|
"id": "crud-ui-placement-menu",
|
|
@@ -2225,11 +2327,11 @@
|
|
|
2225
2327
|
},
|
|
2226
2328
|
{
|
|
2227
2329
|
"packageId": "@jskit-ai/database-runtime",
|
|
2228
|
-
"version": "0.1.
|
|
2330
|
+
"version": "0.1.67",
|
|
2229
2331
|
"descriptor": {
|
|
2230
2332
|
"packageVersion": 1,
|
|
2231
2333
|
"packageId": "@jskit-ai/database-runtime",
|
|
2232
|
-
"version": "0.1.
|
|
2334
|
+
"version": "0.1.67",
|
|
2233
2335
|
"kind": "runtime",
|
|
2234
2336
|
"dependsOn": [
|
|
2235
2337
|
"@jskit-ai/kernel"
|
|
@@ -2286,7 +2388,7 @@
|
|
|
2286
2388
|
"mutations": {
|
|
2287
2389
|
"dependencies": {
|
|
2288
2390
|
"runtime": {
|
|
2289
|
-
"@jskit-ai/kernel": "0.1.
|
|
2391
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
2290
2392
|
"dotenv": "^16.4.5",
|
|
2291
2393
|
"knex": "^3.1.0"
|
|
2292
2394
|
},
|
|
@@ -2321,11 +2423,11 @@
|
|
|
2321
2423
|
},
|
|
2322
2424
|
{
|
|
2323
2425
|
"packageId": "@jskit-ai/database-runtime-mysql",
|
|
2324
|
-
"version": "0.1.
|
|
2426
|
+
"version": "0.1.66",
|
|
2325
2427
|
"descriptor": {
|
|
2326
2428
|
"packageVersion": 1,
|
|
2327
2429
|
"packageId": "@jskit-ai/database-runtime-mysql",
|
|
2328
|
-
"version": "0.1.
|
|
2430
|
+
"version": "0.1.66",
|
|
2329
2431
|
"kind": "runtime",
|
|
2330
2432
|
"options": {
|
|
2331
2433
|
"db-host": {
|
|
@@ -2415,7 +2517,7 @@
|
|
|
2415
2517
|
"mutations": {
|
|
2416
2518
|
"dependencies": {
|
|
2417
2519
|
"runtime": {
|
|
2418
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
2520
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
2419
2521
|
"mysql2": "^3.11.2"
|
|
2420
2522
|
},
|
|
2421
2523
|
"dev": {}
|
|
@@ -2486,11 +2588,11 @@
|
|
|
2486
2588
|
},
|
|
2487
2589
|
{
|
|
2488
2590
|
"packageId": "@jskit-ai/database-runtime-postgres",
|
|
2489
|
-
"version": "0.1.
|
|
2591
|
+
"version": "0.1.66",
|
|
2490
2592
|
"descriptor": {
|
|
2491
2593
|
"packageVersion": 1,
|
|
2492
2594
|
"packageId": "@jskit-ai/database-runtime-postgres",
|
|
2493
|
-
"version": "0.1.
|
|
2595
|
+
"version": "0.1.66",
|
|
2494
2596
|
"kind": "runtime",
|
|
2495
2597
|
"options": {
|
|
2496
2598
|
"db-host": {
|
|
@@ -2580,7 +2682,7 @@
|
|
|
2580
2682
|
"mutations": {
|
|
2581
2683
|
"dependencies": {
|
|
2582
2684
|
"runtime": {
|
|
2583
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
2685
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
2584
2686
|
"pg": "^8.13.1"
|
|
2585
2687
|
},
|
|
2586
2688
|
"dev": {}
|
|
@@ -2651,11 +2753,11 @@
|
|
|
2651
2753
|
},
|
|
2652
2754
|
{
|
|
2653
2755
|
"packageId": "@jskit-ai/feature-server-generator",
|
|
2654
|
-
"version": "0.1.
|
|
2756
|
+
"version": "0.1.9",
|
|
2655
2757
|
"descriptor": {
|
|
2656
2758
|
"packageVersion": 1,
|
|
2657
2759
|
"packageId": "@jskit-ai/feature-server-generator",
|
|
2658
|
-
"version": "0.1.
|
|
2760
|
+
"version": "0.1.9",
|
|
2659
2761
|
"kind": "generator",
|
|
2660
2762
|
"description": "Scaffold substantial non-CRUD server feature packages with provider, actions, service, and optional persistence seams.",
|
|
2661
2763
|
"options": {
|
|
@@ -2819,10 +2921,10 @@
|
|
|
2819
2921
|
"mutations": {
|
|
2820
2922
|
"dependencies": {
|
|
2821
2923
|
"runtime": {
|
|
2822
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
2823
|
-
"@jskit-ai/database-runtime-mysql": "0.1.
|
|
2824
|
-
"@jskit-ai/json-rest-api-core": "0.1.
|
|
2825
|
-
"@jskit-ai/kernel": "0.1.
|
|
2924
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
2925
|
+
"@jskit-ai/database-runtime-mysql": "0.1.66",
|
|
2926
|
+
"@jskit-ai/json-rest-api-core": "0.1.12",
|
|
2927
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
2826
2928
|
"json-rest-schema": "1.x.x",
|
|
2827
2929
|
"@local/${option:feature-name|kebab}": "file:packages/${option:feature-name|kebab}"
|
|
2828
2930
|
},
|
|
@@ -2935,11 +3037,11 @@
|
|
|
2935
3037
|
},
|
|
2936
3038
|
{
|
|
2937
3039
|
"packageId": "@jskit-ai/google-rewarded-core",
|
|
2938
|
-
"version": "0.1.
|
|
3040
|
+
"version": "0.1.4",
|
|
2939
3041
|
"descriptor": {
|
|
2940
3042
|
"packageVersion": 1,
|
|
2941
3043
|
"packageId": "@jskit-ai/google-rewarded-core",
|
|
2942
|
-
"version": "0.1.
|
|
3044
|
+
"version": "0.1.4",
|
|
2943
3045
|
"kind": "runtime",
|
|
2944
3046
|
"description": "Google rewarded workflow runtime plus internal CRUD providers for rules, provider configs, watch sessions, and unlock receipts.",
|
|
2945
3047
|
"dependsOn": [
|
|
@@ -3066,14 +3168,14 @@
|
|
|
3066
3168
|
"mutations": {
|
|
3067
3169
|
"dependencies": {
|
|
3068
3170
|
"runtime": {
|
|
3069
|
-
"@jskit-ai/auth-core": "0.1.
|
|
3070
|
-
"@jskit-ai/crud-core": "0.1.
|
|
3071
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
3072
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
3073
|
-
"@jskit-ai/json-rest-api-core": "0.1.
|
|
3074
|
-
"@jskit-ai/kernel": "0.1.
|
|
3075
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
3076
|
-
"@jskit-ai/workspaces-core": "0.1.
|
|
3171
|
+
"@jskit-ai/auth-core": "0.1.66",
|
|
3172
|
+
"@jskit-ai/crud-core": "0.1.75",
|
|
3173
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
3174
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
3175
|
+
"@jskit-ai/json-rest-api-core": "0.1.12",
|
|
3176
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
3177
|
+
"@jskit-ai/resource-crud-core": "0.1.12",
|
|
3178
|
+
"@jskit-ai/workspaces-core": "0.1.43"
|
|
3077
3179
|
},
|
|
3078
3180
|
"dev": {}
|
|
3079
3181
|
},
|
|
@@ -3125,11 +3227,11 @@
|
|
|
3125
3227
|
},
|
|
3126
3228
|
{
|
|
3127
3229
|
"packageId": "@jskit-ai/google-rewarded-web",
|
|
3128
|
-
"version": "0.1.
|
|
3230
|
+
"version": "0.1.4",
|
|
3129
3231
|
"descriptor": {
|
|
3130
3232
|
"packageVersion": 1,
|
|
3131
3233
|
"packageId": "@jskit-ai/google-rewarded-web",
|
|
3132
|
-
"version": "0.1.
|
|
3234
|
+
"version": "0.1.4",
|
|
3133
3235
|
"kind": "runtime",
|
|
3134
3236
|
"description": "Google rewarded client runtime with a fullscreen gate host and GPT orchestration.",
|
|
3135
3237
|
"dependsOn": [
|
|
@@ -3176,10 +3278,10 @@
|
|
|
3176
3278
|
"mutations": {
|
|
3177
3279
|
"dependencies": {
|
|
3178
3280
|
"runtime": {
|
|
3179
|
-
"@jskit-ai/google-rewarded-core": "0.1.
|
|
3180
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
3181
|
-
"@jskit-ai/kernel": "0.1.
|
|
3182
|
-
"@jskit-ai/shell-web": "0.1.
|
|
3281
|
+
"@jskit-ai/google-rewarded-core": "0.1.4",
|
|
3282
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
3283
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
3284
|
+
"@jskit-ai/shell-web": "0.1.66"
|
|
3183
3285
|
},
|
|
3184
3286
|
"dev": {}
|
|
3185
3287
|
},
|
|
@@ -3197,11 +3299,11 @@
|
|
|
3197
3299
|
},
|
|
3198
3300
|
{
|
|
3199
3301
|
"packageId": "@jskit-ai/http-runtime",
|
|
3200
|
-
"version": "0.1.
|
|
3302
|
+
"version": "0.1.66",
|
|
3201
3303
|
"descriptor": {
|
|
3202
3304
|
"packageVersion": 1,
|
|
3203
3305
|
"packageId": "@jskit-ai/http-runtime",
|
|
3204
|
-
"version": "0.1.
|
|
3306
|
+
"version": "0.1.66",
|
|
3205
3307
|
"kind": "runtime",
|
|
3206
3308
|
"dependsOn": [],
|
|
3207
3309
|
"capabilities": {
|
|
@@ -3267,7 +3369,7 @@
|
|
|
3267
3369
|
"mutations": {
|
|
3268
3370
|
"dependencies": {
|
|
3269
3371
|
"runtime": {
|
|
3270
|
-
"@jskit-ai/kernel": "0.1.
|
|
3372
|
+
"@jskit-ai/kernel": "0.1.67"
|
|
3271
3373
|
},
|
|
3272
3374
|
"dev": {}
|
|
3273
3375
|
},
|
|
@@ -3281,11 +3383,11 @@
|
|
|
3281
3383
|
},
|
|
3282
3384
|
{
|
|
3283
3385
|
"packageId": "@jskit-ai/json-rest-api-core",
|
|
3284
|
-
"version": "0.1.
|
|
3386
|
+
"version": "0.1.12",
|
|
3285
3387
|
"descriptor": {
|
|
3286
3388
|
"packageVersion": 1,
|
|
3287
3389
|
"packageId": "@jskit-ai/json-rest-api-core",
|
|
3288
|
-
"version": "0.1.
|
|
3390
|
+
"version": "0.1.12",
|
|
3289
3391
|
"kind": "runtime",
|
|
3290
3392
|
"description": "Shared internal json-rest-api host runtime for JSKIT server packages.",
|
|
3291
3393
|
"dependsOn": [
|
|
@@ -3345,11 +3447,11 @@
|
|
|
3345
3447
|
},
|
|
3346
3448
|
{
|
|
3347
3449
|
"packageId": "@jskit-ai/mobile-capacitor",
|
|
3348
|
-
"version": "0.1.
|
|
3450
|
+
"version": "0.1.4",
|
|
3349
3451
|
"descriptor": {
|
|
3350
3452
|
"packageVersion": 1,
|
|
3351
3453
|
"packageId": "@jskit-ai/mobile-capacitor",
|
|
3352
|
-
"version": "0.1.
|
|
3454
|
+
"version": "0.1.4",
|
|
3353
3455
|
"kind": "runtime",
|
|
3354
3456
|
"description": "Thin Capacitor client integration for JSKIT mobile-shell launch routing and auth callback completion.",
|
|
3355
3457
|
"dependsOn": [
|
|
@@ -3412,8 +3514,8 @@
|
|
|
3412
3514
|
"@capacitor/app": "^7.1.0",
|
|
3413
3515
|
"@capacitor/browser": "^7.0.1",
|
|
3414
3516
|
"@capacitor/core": "^7.4.3",
|
|
3415
|
-
"@jskit-ai/kernel": "0.1.
|
|
3416
|
-
"@jskit-ai/shell-web": "0.1.
|
|
3517
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
3518
|
+
"@jskit-ai/shell-web": "0.1.66"
|
|
3417
3519
|
},
|
|
3418
3520
|
"dev": {
|
|
3419
3521
|
"@capacitor/cli": "^7.4.3"
|
|
@@ -3421,14 +3523,14 @@
|
|
|
3421
3523
|
},
|
|
3422
3524
|
"packageJson": {
|
|
3423
3525
|
"scripts": {
|
|
3424
|
-
"mobile:dev:android": "jskit mobile dev
|
|
3425
|
-
"mobile:devices:android": "jskit mobile devices
|
|
3426
|
-
"mobile:sync:android": "jskit mobile sync
|
|
3427
|
-
"mobile:tunnel:android": "jskit mobile tunnel
|
|
3428
|
-
"mobile:restart:android": "jskit mobile restart
|
|
3429
|
-
"mobile:run:android": "jskit mobile run
|
|
3526
|
+
"mobile:dev:android": "jskit mobile android dev",
|
|
3527
|
+
"mobile:devices:android": "jskit mobile android devices",
|
|
3528
|
+
"mobile:sync:android": "jskit mobile android sync",
|
|
3529
|
+
"mobile:tunnel:android": "jskit mobile android tunnel",
|
|
3530
|
+
"mobile:restart:android": "jskit mobile android restart",
|
|
3531
|
+
"mobile:run:android": "jskit mobile android run",
|
|
3430
3532
|
"mobile:build:web": "npm run build",
|
|
3431
|
-
"mobile:build:android": "jskit mobile build
|
|
3533
|
+
"mobile:build:android": "jskit mobile android build"
|
|
3432
3534
|
}
|
|
3433
3535
|
},
|
|
3434
3536
|
"procfile": {},
|
|
@@ -3465,11 +3567,11 @@
|
|
|
3465
3567
|
},
|
|
3466
3568
|
{
|
|
3467
3569
|
"packageId": "@jskit-ai/realtime",
|
|
3468
|
-
"version": "0.1.
|
|
3570
|
+
"version": "0.1.66",
|
|
3469
3571
|
"descriptor": {
|
|
3470
3572
|
"packageVersion": 1,
|
|
3471
3573
|
"packageId": "@jskit-ai/realtime",
|
|
3472
|
-
"version": "0.1.
|
|
3574
|
+
"version": "0.1.66",
|
|
3473
3575
|
"kind": "runtime",
|
|
3474
3576
|
"description": "Thin, generic realtime runtime wrappers for socket.io server and client.",
|
|
3475
3577
|
"options": {
|
|
@@ -3549,7 +3651,8 @@
|
|
|
3549
3651
|
"contributions": [
|
|
3550
3652
|
{
|
|
3551
3653
|
"id": "realtime.connection.indicator",
|
|
3552
|
-
"target": "shell
|
|
3654
|
+
"target": "shell.status",
|
|
3655
|
+
"kind": "component",
|
|
3553
3656
|
"surfaces": [
|
|
3554
3657
|
"*"
|
|
3555
3658
|
],
|
|
@@ -3564,7 +3667,7 @@
|
|
|
3564
3667
|
"mutations": {
|
|
3565
3668
|
"dependencies": {
|
|
3566
3669
|
"runtime": {
|
|
3567
|
-
"@jskit-ai/kernel": "0.1.
|
|
3670
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
3568
3671
|
"@socket.io/redis-adapter": "^8.3.0",
|
|
3569
3672
|
"redis": "^5.8.2",
|
|
3570
3673
|
"socket.io": "^4.8.3",
|
|
@@ -3602,7 +3705,7 @@
|
|
|
3602
3705
|
"file": "src/placement.js",
|
|
3603
3706
|
"position": "bottom",
|
|
3604
3707
|
"skipIfContains": "id: \"realtime.connection.indicator\"",
|
|
3605
|
-
"value": "\naddPlacement({\n id: \"realtime.connection.indicator\",\n target: \"shell
|
|
3708
|
+
"value": "\naddPlacement({\n id: \"realtime.connection.indicator\",\n target: \"shell.status\",\n kind: \"component\",\n surfaces: [\"*\"],\n order: 950,\n componentToken: \"realtime.web.connection.indicator\"\n});\n",
|
|
3606
3709
|
"reason": "Append realtime connection indicator placement into app-owned placement registry.",
|
|
3607
3710
|
"category": "realtime-web",
|
|
3608
3711
|
"id": "realtime-placement-indicator"
|
|
@@ -3613,11 +3716,11 @@
|
|
|
3613
3716
|
},
|
|
3614
3717
|
{
|
|
3615
3718
|
"packageId": "@jskit-ai/resource-core",
|
|
3616
|
-
"version": "0.1.
|
|
3719
|
+
"version": "0.1.12",
|
|
3617
3720
|
"descriptor": {
|
|
3618
3721
|
"packageVersion": 1,
|
|
3619
3722
|
"packageId": "@jskit-ai/resource-core",
|
|
3620
|
-
"version": "0.1.
|
|
3723
|
+
"version": "0.1.12",
|
|
3621
3724
|
"kind": "runtime",
|
|
3622
3725
|
"description": "Generic resource-definition helpers and schema-definition normalization.",
|
|
3623
3726
|
"dependsOn": [
|
|
@@ -3640,7 +3743,7 @@
|
|
|
3640
3743
|
"mutations": {
|
|
3641
3744
|
"dependencies": {
|
|
3642
3745
|
"runtime": {
|
|
3643
|
-
"@jskit-ai/resource-core": "0.1.
|
|
3746
|
+
"@jskit-ai/resource-core": "0.1.12"
|
|
3644
3747
|
},
|
|
3645
3748
|
"dev": {}
|
|
3646
3749
|
},
|
|
@@ -3655,11 +3758,11 @@
|
|
|
3655
3758
|
},
|
|
3656
3759
|
{
|
|
3657
3760
|
"packageId": "@jskit-ai/resource-crud-core",
|
|
3658
|
-
"version": "0.1.
|
|
3761
|
+
"version": "0.1.12",
|
|
3659
3762
|
"descriptor": {
|
|
3660
3763
|
"packageVersion": 1,
|
|
3661
3764
|
"packageId": "@jskit-ai/resource-crud-core",
|
|
3662
|
-
"version": "0.1.
|
|
3765
|
+
"version": "0.1.12",
|
|
3663
3766
|
"kind": "runtime",
|
|
3664
3767
|
"description": "CRUD-specific resource-definition helpers and namespace support.",
|
|
3665
3768
|
"dependsOn": [
|
|
@@ -3683,7 +3786,7 @@
|
|
|
3683
3786
|
"mutations": {
|
|
3684
3787
|
"dependencies": {
|
|
3685
3788
|
"runtime": {
|
|
3686
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
3789
|
+
"@jskit-ai/resource-crud-core": "0.1.12"
|
|
3687
3790
|
},
|
|
3688
3791
|
"dev": {}
|
|
3689
3792
|
},
|
|
@@ -3698,11 +3801,11 @@
|
|
|
3698
3801
|
},
|
|
3699
3802
|
{
|
|
3700
3803
|
"packageId": "@jskit-ai/shell-web",
|
|
3701
|
-
"version": "0.1.
|
|
3804
|
+
"version": "0.1.66",
|
|
3702
3805
|
"descriptor": {
|
|
3703
3806
|
"packageVersion": 1,
|
|
3704
3807
|
"packageId": "@jskit-ai/shell-web",
|
|
3705
|
-
"version": "0.1.
|
|
3808
|
+
"version": "0.1.66",
|
|
3706
3809
|
"kind": "runtime",
|
|
3707
3810
|
"description": "Web shell layout runtime with outlet-based placement contributions.",
|
|
3708
3811
|
"dependsOn": [],
|
|
@@ -3731,7 +3834,7 @@
|
|
|
3731
3834
|
"surfaces": [
|
|
3732
3835
|
{
|
|
3733
3836
|
"subpath": "./client",
|
|
3734
|
-
"summary": "Exports shell layout/outlet/outlet-menu/error-host components and ShellWebClientProvider."
|
|
3837
|
+
"summary": "Exports shell layout/outlet/outlet-menu/route-transition/error-host components and ShellWebClientProvider."
|
|
3735
3838
|
},
|
|
3736
3839
|
{
|
|
3737
3840
|
"subpath": "./client/placement",
|
|
@@ -3744,6 +3847,10 @@
|
|
|
3744
3847
|
{
|
|
3745
3848
|
"subpath": "./client/bootstrap",
|
|
3746
3849
|
"summary": "Exports the shared client bootstrap handler registry used to extend /api/bootstrap handling."
|
|
3850
|
+
},
|
|
3851
|
+
{
|
|
3852
|
+
"subpath": "./test/adaptiveShellSmoke",
|
|
3853
|
+
"summary": "Exports reusable Playwright smoke coverage for generated adaptive shell layouts."
|
|
3747
3854
|
}
|
|
3748
3855
|
],
|
|
3749
3856
|
"containerTokens": {
|
|
@@ -3752,8 +3859,7 @@
|
|
|
3752
3859
|
"runtime.web-placement.client",
|
|
3753
3860
|
"runtime.web-bootstrap.client",
|
|
3754
3861
|
"runtime.web-error.client",
|
|
3755
|
-
"runtime.web-error.presentation-store.client"
|
|
3756
|
-
"shell.web.query-client"
|
|
3862
|
+
"runtime.web-error.presentation-store.client"
|
|
3757
3863
|
]
|
|
3758
3864
|
}
|
|
3759
3865
|
},
|
|
@@ -3776,7 +3882,13 @@
|
|
|
3776
3882
|
},
|
|
3777
3883
|
{
|
|
3778
3884
|
"target": "shell-layout:primary-menu",
|
|
3779
|
-
"
|
|
3885
|
+
"surfaces": [
|
|
3886
|
+
"*"
|
|
3887
|
+
],
|
|
3888
|
+
"source": "src/client/components/ShellLayout.vue"
|
|
3889
|
+
},
|
|
3890
|
+
{
|
|
3891
|
+
"target": "shell-layout:primary-bottom-nav",
|
|
3780
3892
|
"surfaces": [
|
|
3781
3893
|
"*"
|
|
3782
3894
|
],
|
|
@@ -3784,7 +3896,20 @@
|
|
|
3784
3896
|
},
|
|
3785
3897
|
{
|
|
3786
3898
|
"target": "shell-layout:secondary-menu",
|
|
3787
|
-
"
|
|
3899
|
+
"surfaces": [
|
|
3900
|
+
"*"
|
|
3901
|
+
],
|
|
3902
|
+
"source": "src/client/components/ShellLayout.vue"
|
|
3903
|
+
},
|
|
3904
|
+
{
|
|
3905
|
+
"target": "shell-layout:supporting-bottom-sheet",
|
|
3906
|
+
"surfaces": [
|
|
3907
|
+
"*"
|
|
3908
|
+
],
|
|
3909
|
+
"source": "src/client/components/ShellLayout.vue"
|
|
3910
|
+
},
|
|
3911
|
+
{
|
|
3912
|
+
"target": "shell-layout:supporting-side-panel",
|
|
3788
3913
|
"surfaces": [
|
|
3789
3914
|
"*"
|
|
3790
3915
|
],
|
|
@@ -3792,42 +3917,210 @@
|
|
|
3792
3917
|
},
|
|
3793
3918
|
{
|
|
3794
3919
|
"target": "home-settings:primary-menu",
|
|
3795
|
-
"defaultLinkComponentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
3796
3920
|
"surfaces": [
|
|
3797
3921
|
"home"
|
|
3798
3922
|
],
|
|
3799
3923
|
"source": "templates/src/pages/home/settings.vue"
|
|
3800
3924
|
}
|
|
3801
3925
|
],
|
|
3926
|
+
"topology": {
|
|
3927
|
+
"placements": [
|
|
3928
|
+
{
|
|
3929
|
+
"id": "shell.primary-nav",
|
|
3930
|
+
"description": "Primary top-level navigation for the current surface.",
|
|
3931
|
+
"surfaces": [
|
|
3932
|
+
"*"
|
|
3933
|
+
],
|
|
3934
|
+
"default": true,
|
|
3935
|
+
"variants": {
|
|
3936
|
+
"compact": {
|
|
3937
|
+
"outlet": "shell-layout:primary-bottom-nav",
|
|
3938
|
+
"renderers": {
|
|
3939
|
+
"link": "local.main.ui.tab-link-item"
|
|
3940
|
+
}
|
|
3941
|
+
},
|
|
3942
|
+
"medium": {
|
|
3943
|
+
"outlet": "shell-layout:primary-menu",
|
|
3944
|
+
"renderers": {
|
|
3945
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
3946
|
+
}
|
|
3947
|
+
},
|
|
3948
|
+
"expanded": {
|
|
3949
|
+
"outlet": "shell-layout:primary-menu",
|
|
3950
|
+
"renderers": {
|
|
3951
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
3952
|
+
}
|
|
3953
|
+
}
|
|
3954
|
+
}
|
|
3955
|
+
},
|
|
3956
|
+
{
|
|
3957
|
+
"id": "shell.status",
|
|
3958
|
+
"description": "Surface status, connection, and utility indicators.",
|
|
3959
|
+
"surfaces": [
|
|
3960
|
+
"*"
|
|
3961
|
+
],
|
|
3962
|
+
"variants": {
|
|
3963
|
+
"compact": {
|
|
3964
|
+
"outlet": "shell-layout:top-right"
|
|
3965
|
+
},
|
|
3966
|
+
"medium": {
|
|
3967
|
+
"outlet": "shell-layout:top-right"
|
|
3968
|
+
},
|
|
3969
|
+
"expanded": {
|
|
3970
|
+
"outlet": "shell-layout:top-right"
|
|
3971
|
+
}
|
|
3972
|
+
}
|
|
3973
|
+
},
|
|
3974
|
+
{
|
|
3975
|
+
"id": "shell.secondary-nav",
|
|
3976
|
+
"description": "Secondary navigation for lower-priority shell links.",
|
|
3977
|
+
"surfaces": [
|
|
3978
|
+
"*"
|
|
3979
|
+
],
|
|
3980
|
+
"variants": {
|
|
3981
|
+
"compact": {
|
|
3982
|
+
"outlet": "shell-layout:secondary-menu",
|
|
3983
|
+
"renderers": {
|
|
3984
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
3985
|
+
}
|
|
3986
|
+
},
|
|
3987
|
+
"medium": {
|
|
3988
|
+
"outlet": "shell-layout:secondary-menu",
|
|
3989
|
+
"renderers": {
|
|
3990
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
3991
|
+
}
|
|
3992
|
+
},
|
|
3993
|
+
"expanded": {
|
|
3994
|
+
"outlet": "shell-layout:secondary-menu",
|
|
3995
|
+
"renderers": {
|
|
3996
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
3997
|
+
}
|
|
3998
|
+
}
|
|
3999
|
+
}
|
|
4000
|
+
},
|
|
4001
|
+
{
|
|
4002
|
+
"id": "shell.identity",
|
|
4003
|
+
"description": "Current user, workspace, and surface identity controls.",
|
|
4004
|
+
"surfaces": [
|
|
4005
|
+
"*"
|
|
4006
|
+
],
|
|
4007
|
+
"variants": {
|
|
4008
|
+
"compact": {
|
|
4009
|
+
"outlet": "shell-layout:top-left"
|
|
4010
|
+
},
|
|
4011
|
+
"medium": {
|
|
4012
|
+
"outlet": "shell-layout:top-left"
|
|
4013
|
+
},
|
|
4014
|
+
"expanded": {
|
|
4015
|
+
"outlet": "shell-layout:top-left"
|
|
4016
|
+
}
|
|
4017
|
+
}
|
|
4018
|
+
},
|
|
4019
|
+
{
|
|
4020
|
+
"id": "shell.global-actions",
|
|
4021
|
+
"description": "Global surface actions that should stay outside primary navigation.",
|
|
4022
|
+
"surfaces": [
|
|
4023
|
+
"*"
|
|
4024
|
+
],
|
|
4025
|
+
"variants": {
|
|
4026
|
+
"compact": {
|
|
4027
|
+
"outlet": "shell-layout:top-right",
|
|
4028
|
+
"renderers": {
|
|
4029
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
4030
|
+
}
|
|
4031
|
+
},
|
|
4032
|
+
"medium": {
|
|
4033
|
+
"outlet": "shell-layout:top-right",
|
|
4034
|
+
"renderers": {
|
|
4035
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
4036
|
+
}
|
|
4037
|
+
},
|
|
4038
|
+
"expanded": {
|
|
4039
|
+
"outlet": "shell-layout:top-right",
|
|
4040
|
+
"renderers": {
|
|
4041
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
4042
|
+
}
|
|
4043
|
+
}
|
|
4044
|
+
}
|
|
4045
|
+
},
|
|
4046
|
+
{
|
|
4047
|
+
"id": "page.supporting-content",
|
|
4048
|
+
"description": "Supporting page content that opens as a bottom sheet on compact layouts and a side panel on wider layouts.",
|
|
4049
|
+
"surfaces": [
|
|
4050
|
+
"*"
|
|
4051
|
+
],
|
|
4052
|
+
"variants": {
|
|
4053
|
+
"compact": {
|
|
4054
|
+
"outlet": "shell-layout:supporting-bottom-sheet"
|
|
4055
|
+
},
|
|
4056
|
+
"medium": {
|
|
4057
|
+
"outlet": "shell-layout:supporting-side-panel"
|
|
4058
|
+
},
|
|
4059
|
+
"expanded": {
|
|
4060
|
+
"outlet": "shell-layout:supporting-side-panel"
|
|
4061
|
+
}
|
|
4062
|
+
}
|
|
4063
|
+
},
|
|
4064
|
+
{
|
|
4065
|
+
"id": "page.section-nav",
|
|
4066
|
+
"owner": "home-settings",
|
|
4067
|
+
"description": "Navigation between child pages in the home settings section.",
|
|
4068
|
+
"surfaces": [
|
|
4069
|
+
"home"
|
|
4070
|
+
],
|
|
4071
|
+
"variants": {
|
|
4072
|
+
"compact": {
|
|
4073
|
+
"outlet": "home-settings:primary-menu",
|
|
4074
|
+
"renderers": {
|
|
4075
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
4076
|
+
}
|
|
4077
|
+
},
|
|
4078
|
+
"medium": {
|
|
4079
|
+
"outlet": "home-settings:primary-menu",
|
|
4080
|
+
"renderers": {
|
|
4081
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
4082
|
+
}
|
|
4083
|
+
},
|
|
4084
|
+
"expanded": {
|
|
4085
|
+
"outlet": "home-settings:primary-menu",
|
|
4086
|
+
"renderers": {
|
|
4087
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
4088
|
+
}
|
|
4089
|
+
}
|
|
4090
|
+
}
|
|
4091
|
+
}
|
|
4092
|
+
]
|
|
4093
|
+
},
|
|
3802
4094
|
"contributions": [
|
|
3803
4095
|
{
|
|
3804
4096
|
"id": "shell-web.home.menu.home",
|
|
3805
|
-
"target": "shell
|
|
4097
|
+
"target": "shell.primary-nav",
|
|
4098
|
+
"kind": "link",
|
|
3806
4099
|
"surfaces": [
|
|
3807
4100
|
"home"
|
|
3808
4101
|
],
|
|
3809
4102
|
"order": 50,
|
|
3810
|
-
"componentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
3811
4103
|
"source": "templates/src/placement.js"
|
|
3812
4104
|
},
|
|
3813
4105
|
{
|
|
3814
4106
|
"id": "shell-web.home.menu.settings",
|
|
3815
|
-
"target": "shell
|
|
4107
|
+
"target": "shell.primary-nav",
|
|
4108
|
+
"kind": "link",
|
|
3816
4109
|
"surfaces": [
|
|
3817
4110
|
"home"
|
|
3818
4111
|
],
|
|
3819
4112
|
"order": 100,
|
|
3820
|
-
"componentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
3821
4113
|
"source": "templates/src/placement.js"
|
|
3822
4114
|
},
|
|
3823
4115
|
{
|
|
3824
4116
|
"id": "shell-web.home.settings.general",
|
|
3825
|
-
"target": "
|
|
4117
|
+
"target": "page.section-nav",
|
|
4118
|
+
"owner": "home-settings",
|
|
4119
|
+
"kind": "link",
|
|
3826
4120
|
"surfaces": [
|
|
3827
4121
|
"home"
|
|
3828
4122
|
],
|
|
3829
4123
|
"order": 100,
|
|
3830
|
-
"componentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
3831
4124
|
"source": "templates/src/placement.js"
|
|
3832
4125
|
}
|
|
3833
4126
|
]
|
|
@@ -3838,9 +4131,7 @@
|
|
|
3838
4131
|
"dependencies": {
|
|
3839
4132
|
"runtime": {
|
|
3840
4133
|
"@mdi/js": "^7.4.47",
|
|
3841
|
-
"@
|
|
3842
|
-
"@jskit-ai/kernel": "0.1.65",
|
|
3843
|
-
"vuetify": "^4.0.0"
|
|
4134
|
+
"@jskit-ai/kernel": "0.1.67"
|
|
3844
4135
|
},
|
|
3845
4136
|
"dev": {}
|
|
3846
4137
|
},
|
|
@@ -3971,6 +4262,14 @@
|
|
|
3971
4262
|
"category": "shell-web",
|
|
3972
4263
|
"id": "shell-web-placement-registry"
|
|
3973
4264
|
},
|
|
4265
|
+
{
|
|
4266
|
+
"from": "templates/src/placementTopology.js",
|
|
4267
|
+
"to": "src/placementTopology.js",
|
|
4268
|
+
"ownership": "app",
|
|
4269
|
+
"reason": "Install app-owned semantic placement topology used by shell-web placement runtime.",
|
|
4270
|
+
"category": "shell-web",
|
|
4271
|
+
"id": "shell-web-placement-topology"
|
|
4272
|
+
},
|
|
3974
4273
|
{
|
|
3975
4274
|
"from": "templates/src/pages/home.vue",
|
|
3976
4275
|
"toSurface": "home",
|
|
@@ -4017,6 +4316,14 @@
|
|
|
4017
4316
|
"reason": "Install shell-driven general settings child page with a tiny browser-local shell preference example.",
|
|
4018
4317
|
"category": "shell-web",
|
|
4019
4318
|
"id": "shell-web-page-home-settings-general"
|
|
4319
|
+
},
|
|
4320
|
+
{
|
|
4321
|
+
"from": "templates/tests/e2e/adaptive-shell.spec.ts",
|
|
4322
|
+
"to": "tests/e2e/adaptive-shell.spec.ts",
|
|
4323
|
+
"ownership": "app",
|
|
4324
|
+
"reason": "Install compact/medium/expanded Playwright smoke coverage for the adaptive shell.",
|
|
4325
|
+
"category": "shell-web",
|
|
4326
|
+
"id": "shell-web-test-adaptive-shell-smoke"
|
|
4020
4327
|
}
|
|
4021
4328
|
]
|
|
4022
4329
|
}
|
|
@@ -4024,11 +4331,11 @@
|
|
|
4024
4331
|
},
|
|
4025
4332
|
{
|
|
4026
4333
|
"packageId": "@jskit-ai/storage-runtime",
|
|
4027
|
-
"version": "0.1.
|
|
4334
|
+
"version": "0.1.66",
|
|
4028
4335
|
"descriptor": {
|
|
4029
4336
|
"packageVersion": 1,
|
|
4030
4337
|
"packageId": "@jskit-ai/storage-runtime",
|
|
4031
|
-
"version": "0.1.
|
|
4338
|
+
"version": "0.1.66",
|
|
4032
4339
|
"kind": "runtime",
|
|
4033
4340
|
"dependsOn": [
|
|
4034
4341
|
"@jskit-ai/kernel"
|
|
@@ -4077,7 +4384,7 @@
|
|
|
4077
4384
|
"mutations": {
|
|
4078
4385
|
"dependencies": {
|
|
4079
4386
|
"runtime": {
|
|
4080
|
-
"@jskit-ai/kernel": "0.1.
|
|
4387
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
4081
4388
|
"unstorage": "^1.17.3"
|
|
4082
4389
|
},
|
|
4083
4390
|
"dev": {}
|
|
@@ -4093,11 +4400,11 @@
|
|
|
4093
4400
|
},
|
|
4094
4401
|
{
|
|
4095
4402
|
"packageId": "@jskit-ai/ui-generator",
|
|
4096
|
-
"version": "0.1.
|
|
4403
|
+
"version": "0.1.50",
|
|
4097
4404
|
"descriptor": {
|
|
4098
4405
|
"packageVersion": 1,
|
|
4099
4406
|
"packageId": "@jskit-ai/ui-generator",
|
|
4100
|
-
"version": "0.1.
|
|
4407
|
+
"version": "0.1.50",
|
|
4101
4408
|
"kind": "generator",
|
|
4102
4409
|
"description": "Create non-CRUD pages, reusable UI elements, and subpage hosts.",
|
|
4103
4410
|
"options": {
|
|
@@ -4135,21 +4442,63 @@
|
|
|
4135
4442
|
"inputType": "text",
|
|
4136
4443
|
"defaultValue": "",
|
|
4137
4444
|
"promptLabel": "Placement target",
|
|
4138
|
-
"promptHint": "
|
|
4445
|
+
"promptHint": "Semantic placement target for placed-element, outlet, and topology mapping (format: area.slot, default for placed-element: shell.status)."
|
|
4446
|
+
},
|
|
4447
|
+
"kind": {
|
|
4448
|
+
"required": false,
|
|
4449
|
+
"inputType": "text",
|
|
4450
|
+
"validationType": "enum",
|
|
4451
|
+
"allowedValues": [
|
|
4452
|
+
"component",
|
|
4453
|
+
"link"
|
|
4454
|
+
],
|
|
4455
|
+
"defaultValue": "",
|
|
4456
|
+
"promptLabel": "Placement kind",
|
|
4457
|
+
"promptHint": "Use component for componentToken-backed entries, or link when topology should provide a link renderer."
|
|
4458
|
+
},
|
|
4459
|
+
"owner": {
|
|
4460
|
+
"required": false,
|
|
4461
|
+
"inputType": "text",
|
|
4462
|
+
"defaultValue": "",
|
|
4463
|
+
"promptLabel": "Placement owner",
|
|
4464
|
+
"promptHint": "Optional owner id for semantic topology mappings. Page/settings placements default to the outlet host."
|
|
4465
|
+
},
|
|
4466
|
+
"description": {
|
|
4467
|
+
"required": false,
|
|
4468
|
+
"inputType": "text",
|
|
4469
|
+
"defaultValue": "",
|
|
4470
|
+
"promptLabel": "Description",
|
|
4471
|
+
"promptHint": "Optional description for generated semantic topology mappings."
|
|
4472
|
+
},
|
|
4473
|
+
"link-renderer": {
|
|
4474
|
+
"required": false,
|
|
4475
|
+
"inputType": "text",
|
|
4476
|
+
"defaultValue": "local.main.ui.surface-aware-menu-link-item",
|
|
4477
|
+
"promptLabel": "Link renderer",
|
|
4478
|
+
"promptHint": "Default link renderer token for generated topology variants."
|
|
4139
4479
|
},
|
|
4140
4480
|
"link-placement": {
|
|
4141
4481
|
"required": false,
|
|
4142
4482
|
"inputType": "text",
|
|
4143
4483
|
"defaultValue": "",
|
|
4144
4484
|
"promptLabel": "Link placement",
|
|
4145
|
-
"promptHint": "Optional target for the generated page link placement (format:
|
|
4485
|
+
"promptHint": "Optional semantic target for the generated page link placement (format: area.slot)."
|
|
4146
4486
|
},
|
|
4147
|
-
"
|
|
4487
|
+
"navigation-role": {
|
|
4148
4488
|
"required": false,
|
|
4149
4489
|
"inputType": "text",
|
|
4490
|
+
"validationType": "enum",
|
|
4491
|
+
"allowedValues": [
|
|
4492
|
+
"primary",
|
|
4493
|
+
"secondary",
|
|
4494
|
+
"utility",
|
|
4495
|
+
"detail",
|
|
4496
|
+
"workflow",
|
|
4497
|
+
"none"
|
|
4498
|
+
],
|
|
4150
4499
|
"defaultValue": "",
|
|
4151
|
-
"promptLabel": "
|
|
4152
|
-
"promptHint": "
|
|
4500
|
+
"promptLabel": "Navigation role",
|
|
4501
|
+
"promptHint": "Product navigation role for generated links. When omitted, dynamic detail and workflow routes create no nav link; primary uses normal inference, secondary maps to shell.secondary-nav, utility maps to shell.global-actions, and detail/workflow/none force no nav link."
|
|
4153
4502
|
},
|
|
4154
4503
|
"link-to": {
|
|
4155
4504
|
"required": false,
|
|
@@ -4163,7 +4512,28 @@
|
|
|
4163
4512
|
"inputType": "text",
|
|
4164
4513
|
"defaultValue": "",
|
|
4165
4514
|
"promptLabel": "Outlet target",
|
|
4166
|
-
"promptHint": "Used by add-subpages and
|
|
4515
|
+
"promptHint": "Used by add-subpages, outlet, and topology. Must be a target in host:position format. For topology, maps all layouts unless layout-specific targets are provided."
|
|
4516
|
+
},
|
|
4517
|
+
"compact-target": {
|
|
4518
|
+
"required": false,
|
|
4519
|
+
"inputType": "text",
|
|
4520
|
+
"defaultValue": "",
|
|
4521
|
+
"promptLabel": "Compact outlet target",
|
|
4522
|
+
"promptHint": "Concrete outlet used by topology for compact layouts, in host:position format."
|
|
4523
|
+
},
|
|
4524
|
+
"medium-target": {
|
|
4525
|
+
"required": false,
|
|
4526
|
+
"inputType": "text",
|
|
4527
|
+
"defaultValue": "",
|
|
4528
|
+
"promptLabel": "Medium outlet target",
|
|
4529
|
+
"promptHint": "Concrete outlet used by topology for medium layouts, in host:position format."
|
|
4530
|
+
},
|
|
4531
|
+
"expanded-target": {
|
|
4532
|
+
"required": false,
|
|
4533
|
+
"inputType": "text",
|
|
4534
|
+
"defaultValue": "",
|
|
4535
|
+
"promptLabel": "Expanded outlet target",
|
|
4536
|
+
"promptHint": "Concrete outlet used by topology for expanded layouts, in host:position format."
|
|
4167
4537
|
},
|
|
4168
4538
|
"title": {
|
|
4169
4539
|
"required": false,
|
|
@@ -4217,13 +4587,13 @@
|
|
|
4217
4587
|
],
|
|
4218
4588
|
"optionNames": [
|
|
4219
4589
|
"name",
|
|
4590
|
+
"navigation-role",
|
|
4220
4591
|
"link-placement",
|
|
4221
|
-
"link-component-token",
|
|
4222
4592
|
"link-to",
|
|
4223
4593
|
"force"
|
|
4224
4594
|
],
|
|
4225
4595
|
"notes": [
|
|
4226
|
-
"If a nearest parent subpages target is found, placement
|
|
4596
|
+
"If a nearest parent subpages target is found, semantic placement and props.to are inferred automatically.",
|
|
4227
4597
|
"If the parent target page is index.vue, child pages belong under index/...",
|
|
4228
4598
|
"If the target page file already exists, rerun with --force to overwrite it."
|
|
4229
4599
|
],
|
|
@@ -4257,13 +4627,14 @@
|
|
|
4257
4627
|
"surface",
|
|
4258
4628
|
"path",
|
|
4259
4629
|
"placement",
|
|
4630
|
+
"owner",
|
|
4260
4631
|
"force"
|
|
4261
4632
|
],
|
|
4262
4633
|
"requiredOptionNames": [
|
|
4263
4634
|
"name"
|
|
4264
4635
|
],
|
|
4265
4636
|
"notes": [
|
|
4266
|
-
"If --placement is omitted, the placed element is added at shell
|
|
4637
|
+
"If --placement is omitted, the placed element is added at shell.status.",
|
|
4267
4638
|
"If the placement target belongs to a page-owned outlet, JSKIT infers the surface automatically.",
|
|
4268
4639
|
"If the target is shared and the app has multiple enabled surfaces, pass --surface explicitly.",
|
|
4269
4640
|
"If the component file already exists, rerun with --force to overwrite it."
|
|
@@ -4283,7 +4654,7 @@
|
|
|
4283
4654
|
" --name \"Ops Panel\" \\",
|
|
4284
4655
|
" --surface admin \\",
|
|
4285
4656
|
" --path src/widgets \\",
|
|
4286
|
-
" --placement shell
|
|
4657
|
+
" --placement shell.status \\",
|
|
4287
4658
|
" --force"
|
|
4288
4659
|
]
|
|
4289
4660
|
}
|
|
@@ -4318,7 +4689,7 @@
|
|
|
4318
4689
|
"npx jskit generate ui-generator add-subpages \\",
|
|
4319
4690
|
" admin/customers/[customerId]/index.vue \\",
|
|
4320
4691
|
" --title \"Customer\" \\",
|
|
4321
|
-
" --subtitle \"
|
|
4692
|
+
" --subtitle \"Customer profile and activity.\""
|
|
4322
4693
|
]
|
|
4323
4694
|
},
|
|
4324
4695
|
{
|
|
@@ -4340,9 +4711,9 @@
|
|
|
4340
4711
|
"export": "runGeneratorSubcommand",
|
|
4341
4712
|
"description": "Inject a generic ShellOutlet block into an existing Vue page/component.",
|
|
4342
4713
|
"longDescription": [
|
|
4343
|
-
"A ShellOutlet creates a
|
|
4344
|
-
"
|
|
4345
|
-
"
|
|
4714
|
+
"A ShellOutlet creates a concrete placement recipient inside a Vue file.",
|
|
4715
|
+
"If --placement is provided, the command also appends semantic topology for that outlet, so `jskit list-placements` exposes the public `area.slot` placement.",
|
|
4716
|
+
"If --placement is omitted, the command only injects the concrete outlet. Use this before `ui-generator topology` when compact, medium, and expanded should map to different outlets."
|
|
4346
4717
|
],
|
|
4347
4718
|
"positionalArgs": [
|
|
4348
4719
|
{
|
|
@@ -4352,13 +4723,24 @@
|
|
|
4352
4723
|
}
|
|
4353
4724
|
],
|
|
4354
4725
|
"optionNames": [
|
|
4355
|
-
"target"
|
|
4726
|
+
"target",
|
|
4727
|
+
"placement",
|
|
4728
|
+
"owner",
|
|
4729
|
+
"surface",
|
|
4730
|
+
"description",
|
|
4731
|
+
"kind",
|
|
4732
|
+
"link-renderer",
|
|
4733
|
+
"compact-target",
|
|
4734
|
+
"medium-target",
|
|
4735
|
+
"expanded-target"
|
|
4356
4736
|
],
|
|
4357
4737
|
"requiredOptionNames": [
|
|
4358
4738
|
"target"
|
|
4359
4739
|
],
|
|
4360
4740
|
"notes": [
|
|
4361
|
-
"Use --target host:position."
|
|
4741
|
+
"Use --target host:position for the concrete outlet and --placement area.slot for the public semantic placement.",
|
|
4742
|
+
"Omit --placement when you only want to add the concrete destination.",
|
|
4743
|
+
"When --placement is present, the generated topology maps compact, medium, and expanded to the new concrete outlet unless layout-specific targets are provided."
|
|
4362
4744
|
],
|
|
4363
4745
|
"examples": [
|
|
4364
4746
|
{
|
|
@@ -4366,7 +4748,8 @@
|
|
|
4366
4748
|
"lines": [
|
|
4367
4749
|
"npx jskit generate ui-generator outlet \\",
|
|
4368
4750
|
" src/components/ContactSummaryCard.vue \\",
|
|
4369
|
-
" --target contact-view:sub-pages"
|
|
4751
|
+
" --target contact-view:sub-pages \\",
|
|
4752
|
+
" --placement page.section-nav"
|
|
4370
4753
|
]
|
|
4371
4754
|
},
|
|
4372
4755
|
{
|
|
@@ -4374,7 +4757,65 @@
|
|
|
4374
4757
|
"lines": [
|
|
4375
4758
|
"npx jskit generate ui-generator outlet \\",
|
|
4376
4759
|
" src/pages/admin/customers/[customerId]/index.vue \\",
|
|
4377
|
-
" --target customer-view:summary-actions"
|
|
4760
|
+
" --target customer-view:summary-actions \\",
|
|
4761
|
+
" --placement page.actions \\",
|
|
4762
|
+
" --surface admin"
|
|
4763
|
+
]
|
|
4764
|
+
}
|
|
4765
|
+
]
|
|
4766
|
+
},
|
|
4767
|
+
"topology": {
|
|
4768
|
+
"requiresShellWeb": true,
|
|
4769
|
+
"entrypoint": "src/server/subcommands/outlet.js",
|
|
4770
|
+
"export": "runGeneratorSubcommand",
|
|
4771
|
+
"description": "Append semantic placement topology that maps compact, medium, and expanded layouts to concrete outlets.",
|
|
4772
|
+
"longDescription": [
|
|
4773
|
+
"Use this after adding one or more concrete ShellOutlet destinations.",
|
|
4774
|
+
"The command writes only `src/placementTopology.js`; it does not inject Vue outlets.",
|
|
4775
|
+
"Use --kind component for componentToken-backed elements. Use --kind link when topology should provide the standard link renderer."
|
|
4776
|
+
],
|
|
4777
|
+
"optionNames": [
|
|
4778
|
+
"placement",
|
|
4779
|
+
"kind",
|
|
4780
|
+
"target",
|
|
4781
|
+
"compact-target",
|
|
4782
|
+
"medium-target",
|
|
4783
|
+
"expanded-target",
|
|
4784
|
+
"owner",
|
|
4785
|
+
"surface",
|
|
4786
|
+
"description",
|
|
4787
|
+
"link-renderer"
|
|
4788
|
+
],
|
|
4789
|
+
"requiredOptionNames": [
|
|
4790
|
+
"placement",
|
|
4791
|
+
"kind"
|
|
4792
|
+
],
|
|
4793
|
+
"notes": [
|
|
4794
|
+
"Use --target host:position when all layout classes should render in the same outlet.",
|
|
4795
|
+
"Use --compact-target, --medium-target, and --expanded-target when layout classes should render in different outlets.",
|
|
4796
|
+
"For page.* and settings.* placements, pass --owner if the layout targets use different outlet hosts."
|
|
4797
|
+
],
|
|
4798
|
+
"examples": [
|
|
4799
|
+
{
|
|
4800
|
+
"label": "Component placement with adaptive outlets",
|
|
4801
|
+
"lines": [
|
|
4802
|
+
"npx jskit generate ui-generator topology \\",
|
|
4803
|
+
" --placement reports.actions \\",
|
|
4804
|
+
" --kind component \\",
|
|
4805
|
+
" --compact-target reports:bottom-actions \\",
|
|
4806
|
+
" --medium-target reports:toolbar-actions \\",
|
|
4807
|
+
" --expanded-target reports:side-actions \\",
|
|
4808
|
+
" --surface admin"
|
|
4809
|
+
]
|
|
4810
|
+
},
|
|
4811
|
+
{
|
|
4812
|
+
"label": "Link placement using one outlet for every layout",
|
|
4813
|
+
"lines": [
|
|
4814
|
+
"npx jskit generate ui-generator topology \\",
|
|
4815
|
+
" --placement page.section-nav \\",
|
|
4816
|
+
" --kind link \\",
|
|
4817
|
+
" --target report-view:sub-pages \\",
|
|
4818
|
+
" --surface admin"
|
|
4378
4819
|
]
|
|
4379
4820
|
}
|
|
4380
4821
|
]
|
|
@@ -4396,7 +4837,7 @@
|
|
|
4396
4837
|
"mutations": {
|
|
4397
4838
|
"dependencies": {
|
|
4398
4839
|
"runtime": {
|
|
4399
|
-
"@jskit-ai/users-web": "0.1.
|
|
4840
|
+
"@jskit-ai/users-web": "0.1.82"
|
|
4400
4841
|
},
|
|
4401
4842
|
"dev": {}
|
|
4402
4843
|
},
|
|
@@ -4411,11 +4852,11 @@
|
|
|
4411
4852
|
},
|
|
4412
4853
|
{
|
|
4413
4854
|
"packageId": "@jskit-ai/uploads-image-web",
|
|
4414
|
-
"version": "0.1.
|
|
4855
|
+
"version": "0.1.45",
|
|
4415
4856
|
"descriptor": {
|
|
4416
4857
|
"packageVersion": 1,
|
|
4417
4858
|
"packageId": "@jskit-ai/uploads-image-web",
|
|
4418
|
-
"version": "0.1.
|
|
4859
|
+
"version": "0.1.45",
|
|
4419
4860
|
"kind": "runtime",
|
|
4420
4861
|
"description": "Reusable client-side image upload runtime with pre-upload image editing.",
|
|
4421
4862
|
"dependsOn": [
|
|
@@ -4479,7 +4920,7 @@
|
|
|
4479
4920
|
"mutations": {
|
|
4480
4921
|
"dependencies": {
|
|
4481
4922
|
"runtime": {
|
|
4482
|
-
"@jskit-ai/uploads-runtime": "0.1.
|
|
4923
|
+
"@jskit-ai/uploads-runtime": "0.1.45",
|
|
4483
4924
|
"@uppy/compressor": "^3.1.0",
|
|
4484
4925
|
"@uppy/core": "^5.2.0",
|
|
4485
4926
|
"@uppy/dashboard": "^5.1.1",
|
|
@@ -4499,11 +4940,11 @@
|
|
|
4499
4940
|
},
|
|
4500
4941
|
{
|
|
4501
4942
|
"packageId": "@jskit-ai/uploads-runtime",
|
|
4502
|
-
"version": "0.1.
|
|
4943
|
+
"version": "0.1.45",
|
|
4503
4944
|
"descriptor": {
|
|
4504
4945
|
"packageVersion": 1,
|
|
4505
4946
|
"packageId": "@jskit-ai/uploads-runtime",
|
|
4506
|
-
"version": "0.1.
|
|
4947
|
+
"version": "0.1.45",
|
|
4507
4948
|
"kind": "runtime",
|
|
4508
4949
|
"description": "Reusable upload runtime primitives for multipart parsing, policy validation, and blob storage.",
|
|
4509
4950
|
"dependsOn": [
|
|
@@ -4573,7 +5014,7 @@
|
|
|
4573
5014
|
"dependencies": {
|
|
4574
5015
|
"runtime": {
|
|
4575
5016
|
"@fastify/multipart": "^9.4.0",
|
|
4576
|
-
"@jskit-ai/kernel": "0.1.
|
|
5017
|
+
"@jskit-ai/kernel": "0.1.67"
|
|
4577
5018
|
},
|
|
4578
5019
|
"dev": {}
|
|
4579
5020
|
},
|
|
@@ -4588,11 +5029,11 @@
|
|
|
4588
5029
|
},
|
|
4589
5030
|
{
|
|
4590
5031
|
"packageId": "@jskit-ai/users-core",
|
|
4591
|
-
"version": "0.1.
|
|
5032
|
+
"version": "0.1.77",
|
|
4592
5033
|
"descriptor": {
|
|
4593
5034
|
"packageVersion": 1,
|
|
4594
5035
|
"packageId": "@jskit-ai/users-core",
|
|
4595
|
-
"version": "0.1.
|
|
5036
|
+
"version": "0.1.77",
|
|
4596
5037
|
"kind": "runtime",
|
|
4597
5038
|
"description": "Users/account runtime plus HTTP routes for account features.",
|
|
4598
5039
|
"dependsOn": [
|
|
@@ -4733,16 +5174,16 @@
|
|
|
4733
5174
|
"mutations": {
|
|
4734
5175
|
"dependencies": {
|
|
4735
5176
|
"runtime": {
|
|
4736
|
-
"@jskit-ai/auth-core": "0.1.
|
|
4737
|
-
"@jskit-ai/crud-core": "0.1.
|
|
4738
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
4739
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
4740
|
-
"@jskit-ai/json-rest-api-core": "0.1.
|
|
4741
|
-
"@jskit-ai/kernel": "0.1.
|
|
4742
|
-
"@jskit-ai/resource-core": "0.1.
|
|
4743
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
5177
|
+
"@jskit-ai/auth-core": "0.1.66",
|
|
5178
|
+
"@jskit-ai/crud-core": "0.1.75",
|
|
5179
|
+
"@jskit-ai/database-runtime": "0.1.67",
|
|
5180
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
5181
|
+
"@jskit-ai/json-rest-api-core": "0.1.12",
|
|
5182
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
5183
|
+
"@jskit-ai/resource-core": "0.1.12",
|
|
5184
|
+
"@jskit-ai/resource-crud-core": "0.1.12",
|
|
4744
5185
|
"@local/users": "file:packages/users",
|
|
4745
|
-
"@jskit-ai/uploads-runtime": "0.1.
|
|
5186
|
+
"@jskit-ai/uploads-runtime": "0.1.45"
|
|
4746
5187
|
},
|
|
4747
5188
|
"dev": {}
|
|
4748
5189
|
},
|
|
@@ -4959,11 +5400,11 @@
|
|
|
4959
5400
|
},
|
|
4960
5401
|
{
|
|
4961
5402
|
"packageId": "@jskit-ai/users-web",
|
|
4962
|
-
"version": "0.1.
|
|
5403
|
+
"version": "0.1.82",
|
|
4963
5404
|
"descriptor": {
|
|
4964
5405
|
"packageVersion": 1,
|
|
4965
5406
|
"packageId": "@jskit-ai/users-web",
|
|
4966
|
-
"version": "0.1.
|
|
5407
|
+
"version": "0.1.82",
|
|
4967
5408
|
"kind": "runtime",
|
|
4968
5409
|
"description": "Users web module: account/profile UI plus shared users web widgets.",
|
|
4969
5410
|
"dependsOn": [
|
|
@@ -5010,6 +5451,34 @@
|
|
|
5010
5451
|
"subpath": "./client/components/AccountSettingsClientElement",
|
|
5011
5452
|
"summary": "Exports the package-owned account settings host that renders placement-backed account sections."
|
|
5012
5453
|
},
|
|
5454
|
+
{
|
|
5455
|
+
"subpath": "./client/components/CrudAddEditScreen",
|
|
5456
|
+
"summary": "Exports the package-owned CRUD add/edit screen shell used by generated form pages."
|
|
5457
|
+
},
|
|
5458
|
+
{
|
|
5459
|
+
"subpath": "./client/components/CrudListBulkActionSurface",
|
|
5460
|
+
"summary": "Exports the adaptive CRUD list bulk-action surface for generated list pages."
|
|
5461
|
+
},
|
|
5462
|
+
{
|
|
5463
|
+
"subpath": "./client/components/CrudListFilterSurface",
|
|
5464
|
+
"summary": "Exports the adaptive CRUD list filter surface for generated list pages."
|
|
5465
|
+
},
|
|
5466
|
+
{
|
|
5467
|
+
"subpath": "./client/components/CrudListScreen",
|
|
5468
|
+
"summary": "Exports the package-owned CRUD list screen shell used by generated list pages."
|
|
5469
|
+
},
|
|
5470
|
+
{
|
|
5471
|
+
"subpath": "./client/components/CrudViewScreen",
|
|
5472
|
+
"summary": "Exports the package-owned CRUD view screen shell used by generated detail pages."
|
|
5473
|
+
},
|
|
5474
|
+
{
|
|
5475
|
+
"subpath": "./client/bulkActions",
|
|
5476
|
+
"summary": "Exports client-side CRUD list bulk-action definition helpers."
|
|
5477
|
+
},
|
|
5478
|
+
{
|
|
5479
|
+
"subpath": "./client/filters",
|
|
5480
|
+
"summary": "Exports client-side CRUD list filter definition helpers."
|
|
5481
|
+
},
|
|
5013
5482
|
{
|
|
5014
5483
|
"subpath": "./client/components/ProfileClientElement",
|
|
5015
5484
|
"summary": "Exports profile settings client element scaffold component."
|
|
@@ -5038,10 +5507,26 @@
|
|
|
5038
5507
|
"subpath": "./client/composables/useCrudListFilterLookups",
|
|
5039
5508
|
"summary": "Exports lookup-backed CRUD list filter helper for remote autocomplete filters."
|
|
5040
5509
|
},
|
|
5510
|
+
{
|
|
5511
|
+
"subpath": "./client/composables/useCrudAddEditScreen",
|
|
5512
|
+
"summary": "Exports the package-owned add/edit screen runtime for generated form pages."
|
|
5513
|
+
},
|
|
5514
|
+
{
|
|
5515
|
+
"subpath": "./client/composables/useCrudListBulkActions",
|
|
5516
|
+
"summary": "Exports selected-record state and execution runtime for generated CRUD list bulk actions."
|
|
5517
|
+
},
|
|
5518
|
+
{
|
|
5519
|
+
"subpath": "./client/composables/useCrudListScreen",
|
|
5520
|
+
"summary": "Exports the package-owned list screen runtime for generated list pages."
|
|
5521
|
+
},
|
|
5041
5522
|
{
|
|
5042
5523
|
"subpath": "./client/composables/useView",
|
|
5043
5524
|
"summary": "Exports read/view operation composable."
|
|
5044
5525
|
},
|
|
5526
|
+
{
|
|
5527
|
+
"subpath": "./client/composables/useCrudViewScreen",
|
|
5528
|
+
"summary": "Exports the package-owned view screen runtime for generated detail pages."
|
|
5529
|
+
},
|
|
5045
5530
|
{
|
|
5046
5531
|
"subpath": "./client/composables/usePagedCollection",
|
|
5047
5532
|
"summary": "Exports paged collection query composable."
|
|
@@ -5072,7 +5557,6 @@
|
|
|
5072
5557
|
"outlets": [
|
|
5073
5558
|
{
|
|
5074
5559
|
"target": "home-cog:primary-menu",
|
|
5075
|
-
"defaultLinkComponentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
5076
5560
|
"surfaces": [
|
|
5077
5561
|
"home"
|
|
5078
5562
|
],
|
|
@@ -5086,21 +5570,72 @@
|
|
|
5086
5570
|
"source": "src/client/components/AccountSettingsClientElement.vue"
|
|
5087
5571
|
}
|
|
5088
5572
|
],
|
|
5573
|
+
"topology": {
|
|
5574
|
+
"placements": [
|
|
5575
|
+
{
|
|
5576
|
+
"id": "home.tools-menu",
|
|
5577
|
+
"description": "Home surface tools menu actions.",
|
|
5578
|
+
"surfaces": [
|
|
5579
|
+
"home"
|
|
5580
|
+
],
|
|
5581
|
+
"variants": {
|
|
5582
|
+
"compact": {
|
|
5583
|
+
"outlet": "home-cog:primary-menu",
|
|
5584
|
+
"renderers": {
|
|
5585
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
5586
|
+
}
|
|
5587
|
+
},
|
|
5588
|
+
"medium": {
|
|
5589
|
+
"outlet": "home-cog:primary-menu",
|
|
5590
|
+
"renderers": {
|
|
5591
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
5592
|
+
}
|
|
5593
|
+
},
|
|
5594
|
+
"expanded": {
|
|
5595
|
+
"outlet": "home-cog:primary-menu",
|
|
5596
|
+
"renderers": {
|
|
5597
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
5598
|
+
}
|
|
5599
|
+
}
|
|
5600
|
+
}
|
|
5601
|
+
},
|
|
5602
|
+
{
|
|
5603
|
+
"id": "settings.sections",
|
|
5604
|
+
"owner": "account-settings",
|
|
5605
|
+
"description": "Account settings content sections.",
|
|
5606
|
+
"surfaces": [
|
|
5607
|
+
"account"
|
|
5608
|
+
],
|
|
5609
|
+
"variants": {
|
|
5610
|
+
"compact": {
|
|
5611
|
+
"outlet": "account-settings:sections"
|
|
5612
|
+
},
|
|
5613
|
+
"medium": {
|
|
5614
|
+
"outlet": "account-settings:sections"
|
|
5615
|
+
},
|
|
5616
|
+
"expanded": {
|
|
5617
|
+
"outlet": "account-settings:sections"
|
|
5618
|
+
}
|
|
5619
|
+
}
|
|
5620
|
+
}
|
|
5621
|
+
]
|
|
5622
|
+
},
|
|
5089
5623
|
"contributions": [
|
|
5090
5624
|
{
|
|
5091
5625
|
"id": "users.profile.menu.settings",
|
|
5092
|
-
"target": "auth
|
|
5626
|
+
"target": "auth.profile-menu",
|
|
5627
|
+
"kind": "link",
|
|
5093
5628
|
"surfaces": [
|
|
5094
5629
|
"*"
|
|
5095
5630
|
],
|
|
5096
5631
|
"order": 500,
|
|
5097
|
-
"componentToken": "auth.web.profile.menu.link-item",
|
|
5098
5632
|
"when": "auth.authenticated === true",
|
|
5099
5633
|
"source": "mutations.text#users-web-profile-settings-placement"
|
|
5100
5634
|
},
|
|
5101
5635
|
{
|
|
5102
5636
|
"id": "users.home.tools.widget",
|
|
5103
|
-
"target": "shell
|
|
5637
|
+
"target": "shell.status",
|
|
5638
|
+
"kind": "component",
|
|
5104
5639
|
"surfaces": [
|
|
5105
5640
|
"home"
|
|
5106
5641
|
],
|
|
@@ -5111,18 +5646,20 @@
|
|
|
5111
5646
|
},
|
|
5112
5647
|
{
|
|
5113
5648
|
"id": "users.home.menu.settings",
|
|
5114
|
-
"target": "home-
|
|
5649
|
+
"target": "home.tools-menu",
|
|
5650
|
+
"kind": "link",
|
|
5115
5651
|
"surfaces": [
|
|
5116
5652
|
"home"
|
|
5117
5653
|
],
|
|
5118
5654
|
"order": 100,
|
|
5119
|
-
"componentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
5120
5655
|
"when": "auth.authenticated === true",
|
|
5121
5656
|
"source": "mutations.text#users-web-home-tools-placement"
|
|
5122
5657
|
},
|
|
5123
5658
|
{
|
|
5124
5659
|
"id": "users.account.settings.profile",
|
|
5125
|
-
"target": "
|
|
5660
|
+
"target": "settings.sections",
|
|
5661
|
+
"owner": "account-settings",
|
|
5662
|
+
"kind": "component",
|
|
5126
5663
|
"surfaces": [
|
|
5127
5664
|
"account"
|
|
5128
5665
|
],
|
|
@@ -5132,7 +5669,9 @@
|
|
|
5132
5669
|
},
|
|
5133
5670
|
{
|
|
5134
5671
|
"id": "users.account.settings.preferences",
|
|
5135
|
-
"target": "
|
|
5672
|
+
"target": "settings.sections",
|
|
5673
|
+
"owner": "account-settings",
|
|
5674
|
+
"kind": "component",
|
|
5136
5675
|
"surfaces": [
|
|
5137
5676
|
"account"
|
|
5138
5677
|
],
|
|
@@ -5142,7 +5681,9 @@
|
|
|
5142
5681
|
},
|
|
5143
5682
|
{
|
|
5144
5683
|
"id": "users.account.settings.notifications",
|
|
5145
|
-
"target": "
|
|
5684
|
+
"target": "settings.sections",
|
|
5685
|
+
"owner": "account-settings",
|
|
5686
|
+
"kind": "component",
|
|
5146
5687
|
"surfaces": [
|
|
5147
5688
|
"account"
|
|
5148
5689
|
],
|
|
@@ -5157,15 +5698,13 @@
|
|
|
5157
5698
|
"mutations": {
|
|
5158
5699
|
"dependencies": {
|
|
5159
5700
|
"runtime": {
|
|
5160
|
-
"@tanstack/vue-query": "5.92.12",
|
|
5161
5701
|
"@mdi/js": "^7.4.47",
|
|
5162
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
5163
|
-
"@jskit-ai/realtime": "0.1.
|
|
5164
|
-
"@jskit-ai/kernel": "0.1.
|
|
5165
|
-
"@jskit-ai/shell-web": "0.1.
|
|
5166
|
-
"@jskit-ai/uploads-image-web": "0.1.
|
|
5167
|
-
"@jskit-ai/users-core": "0.1.
|
|
5168
|
-
"vuetify": "^4.0.0"
|
|
5702
|
+
"@jskit-ai/http-runtime": "0.1.66",
|
|
5703
|
+
"@jskit-ai/realtime": "0.1.66",
|
|
5704
|
+
"@jskit-ai/kernel": "0.1.67",
|
|
5705
|
+
"@jskit-ai/shell-web": "0.1.66",
|
|
5706
|
+
"@jskit-ai/uploads-image-web": "0.1.45",
|
|
5707
|
+
"@jskit-ai/users-core": "0.1.77"
|
|
5169
5708
|
},
|
|
5170
5709
|
"dev": {}
|
|
5171
5710
|
},
|
|
@@ -5223,7 +5762,7 @@
|
|
|
5223
5762
|
"file": "src/placement.js",
|
|
5224
5763
|
"position": "bottom",
|
|
5225
5764
|
"skipIfContains": "id: \"users.profile.menu.settings\"",
|
|
5226
|
-
"value": "\naddPlacement({\n id: \"users.profile.menu.settings\",\n target: \"auth
|
|
5765
|
+
"value": "\naddPlacement({\n id: \"users.profile.menu.settings\",\n target: \"auth.profile-menu\",\n kind: \"link\",\n surfaces: [\"*\"],\n order: 500,\n props: {\n label: \"Settings\",\n to: \"/account\"\n },\n when: ({ auth }) => auth?.authenticated === true\n});\n",
|
|
5227
5766
|
"reason": "Append users-web profile settings menu placement into app-owned placement registry.",
|
|
5228
5767
|
"category": "users-web",
|
|
5229
5768
|
"id": "users-web-profile-settings-placement"
|
|
@@ -5233,21 +5772,41 @@
|
|
|
5233
5772
|
"file": "src/placement.js",
|
|
5234
5773
|
"position": "bottom",
|
|
5235
5774
|
"skipIfContains": "id: \"users.home.tools.widget\"",
|
|
5236
|
-
"value": "\naddPlacement({\n id: \"users.home.tools.widget\",\n target: \"shell
|
|
5775
|
+
"value": "\naddPlacement({\n id: \"users.home.tools.widget\",\n target: \"shell.status\",\n kind: \"component\",\n surfaces: [\"home\"],\n order: 900,\n componentToken: \"users.web.home.tools.widget\",\n when: ({ auth }) => auth?.authenticated === true\n});\n\naddPlacement({\n id: \"users.home.menu.settings\",\n target: \"home.tools-menu\",\n kind: \"link\",\n surfaces: [\"home\"],\n order: 100,\n props: {\n label: \"Settings\",\n surface: \"home\",\n scopedSuffix: \"/settings\",\n unscopedSuffix: \"/settings\"\n },\n when: ({ auth }) => auth?.authenticated === true\n});\n",
|
|
5237
5776
|
"reason": "Append users-web home tools widget and settings menu placements into app-owned placement registry.",
|
|
5238
5777
|
"category": "users-web",
|
|
5239
5778
|
"id": "users-web-home-tools-placement"
|
|
5240
5779
|
},
|
|
5780
|
+
{
|
|
5781
|
+
"op": "append-text",
|
|
5782
|
+
"file": "src/placementTopology.js",
|
|
5783
|
+
"position": "bottom",
|
|
5784
|
+
"skipIfContains": "id: \"home.tools-menu\"",
|
|
5785
|
+
"value": "\naddPlacementTopology({\n id: \"home.tools-menu\",\n description: \"Home surface tools menu actions.\",\n surfaces: [\"home\"],\n variants: {\n compact: {\n outlet: \"home-cog:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n medium: {\n outlet: \"home-cog:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n expanded: {\n outlet: \"home-cog:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n }\n }\n});\n",
|
|
5786
|
+
"reason": "Append users-web home tools semantic topology into app-owned placement topology.",
|
|
5787
|
+
"category": "users-web",
|
|
5788
|
+
"id": "users-web-home-tools-topology"
|
|
5789
|
+
},
|
|
5241
5790
|
{
|
|
5242
5791
|
"op": "append-text",
|
|
5243
5792
|
"file": "src/placement.js",
|
|
5244
5793
|
"position": "bottom",
|
|
5245
5794
|
"skipIfContains": "id: \"users.account.settings.profile\"",
|
|
5246
|
-
"value": "\naddPlacement({\n id: \"users.account.settings.profile\",\n target: \"account-settings:
|
|
5795
|
+
"value": "\naddPlacement({\n id: \"users.account.settings.profile\",\n target: \"settings.sections\",\n owner: \"account-settings\",\n kind: \"component\",\n surfaces: [\"account\"],\n order: 100,\n componentToken: \"local.main.account-settings.section.profile\",\n props: {\n title: \"Profile\",\n value: \"profile\",\n usesSharedRuntime: true\n }\n});\n\naddPlacement({\n id: \"users.account.settings.preferences\",\n target: \"settings.sections\",\n owner: \"account-settings\",\n kind: \"component\",\n surfaces: [\"account\"],\n order: 200,\n componentToken: \"local.main.account-settings.section.preferences\",\n props: {\n title: \"Preferences\",\n value: \"preferences\",\n usesSharedRuntime: true\n }\n});\n\naddPlacement({\n id: \"users.account.settings.notifications\",\n target: \"settings.sections\",\n owner: \"account-settings\",\n kind: \"component\",\n surfaces: [\"account\"],\n order: 300,\n componentToken: \"local.main.account-settings.section.notifications\",\n props: {\n title: \"Notifications\",\n value: \"notifications\",\n usesSharedRuntime: true\n }\n});\n",
|
|
5247
5796
|
"reason": "Append users-web account settings section placements into the app-owned placement registry.",
|
|
5248
5797
|
"category": "users-web",
|
|
5249
5798
|
"id": "users-web-account-settings-sections-placement"
|
|
5250
5799
|
},
|
|
5800
|
+
{
|
|
5801
|
+
"op": "append-text",
|
|
5802
|
+
"file": "src/placementTopology.js",
|
|
5803
|
+
"position": "bottom",
|
|
5804
|
+
"skipIfContains": "id: \"settings.sections\"",
|
|
5805
|
+
"value": "\naddPlacementTopology({\n id: \"settings.sections\",\n owner: \"account-settings\",\n description: \"Account settings content sections.\",\n surfaces: [\"account\"],\n variants: {\n compact: {\n outlet: \"account-settings:sections\"\n },\n medium: {\n outlet: \"account-settings:sections\"\n },\n expanded: {\n outlet: \"account-settings:sections\"\n }\n }\n});\n",
|
|
5806
|
+
"reason": "Append users-web account settings semantic topology into app-owned placement topology.",
|
|
5807
|
+
"category": "users-web",
|
|
5808
|
+
"id": "users-web-account-settings-topology"
|
|
5809
|
+
},
|
|
5251
5810
|
{
|
|
5252
5811
|
"op": "append-text",
|
|
5253
5812
|
"file": "packages/main/src/client/providers/MainClientProvider.js",
|
|
@@ -5314,11 +5873,11 @@
|
|
|
5314
5873
|
},
|
|
5315
5874
|
{
|
|
5316
5875
|
"packageId": "@jskit-ai/workspaces-core",
|
|
5317
|
-
"version": "0.1.
|
|
5876
|
+
"version": "0.1.43",
|
|
5318
5877
|
"descriptor": {
|
|
5319
5878
|
"packageVersion": 1,
|
|
5320
5879
|
"packageId": "@jskit-ai/workspaces-core",
|
|
5321
|
-
"version": "0.1.
|
|
5880
|
+
"version": "0.1.43",
|
|
5322
5881
|
"kind": "runtime",
|
|
5323
5882
|
"description": "Workspace tenancy runtime plus HTTP routes, role catalog, and workspace config scaffolding.",
|
|
5324
5883
|
"dependsOn": [
|
|
@@ -5459,10 +6018,10 @@
|
|
|
5459
6018
|
"mutations": {
|
|
5460
6019
|
"dependencies": {
|
|
5461
6020
|
"runtime": {
|
|
5462
|
-
"@jskit-ai/json-rest-api-core": "0.1.
|
|
5463
|
-
"@jskit-ai/resource-core": "0.1.
|
|
5464
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
5465
|
-
"@jskit-ai/users-core": "0.1.
|
|
6021
|
+
"@jskit-ai/json-rest-api-core": "0.1.12",
|
|
6022
|
+
"@jskit-ai/resource-core": "0.1.12",
|
|
6023
|
+
"@jskit-ai/resource-crud-core": "0.1.12",
|
|
6024
|
+
"@jskit-ai/users-core": "0.1.77"
|
|
5466
6025
|
},
|
|
5467
6026
|
"dev": {}
|
|
5468
6027
|
},
|
|
@@ -5634,11 +6193,11 @@
|
|
|
5634
6193
|
},
|
|
5635
6194
|
{
|
|
5636
6195
|
"packageId": "@jskit-ai/workspaces-web",
|
|
5637
|
-
"version": "0.1.
|
|
6196
|
+
"version": "0.1.43",
|
|
5638
6197
|
"descriptor": {
|
|
5639
6198
|
"packageVersion": 1,
|
|
5640
6199
|
"packageId": "@jskit-ai/workspaces-web",
|
|
5641
|
-
"version": "0.1.
|
|
6200
|
+
"version": "0.1.43",
|
|
5642
6201
|
"kind": "runtime",
|
|
5643
6202
|
"description": "Workspace web module: workspace selector, tools widget, workspace surfaces, and members/settings UI.",
|
|
5644
6203
|
"dependsOn": [
|
|
@@ -5678,6 +6237,10 @@
|
|
|
5678
6237
|
"subpath": "./client/components/AccountSettingsInvitesSection",
|
|
5679
6238
|
"summary": "Exports the default account invites section component used by multihoming installs."
|
|
5680
6239
|
},
|
|
6240
|
+
{
|
|
6241
|
+
"subpath": "./client/components/WorkspaceSettingsClientElement",
|
|
6242
|
+
"summary": "Exports the workspace settings client element used by the workspace admin settings starter page."
|
|
6243
|
+
},
|
|
5681
6244
|
{
|
|
5682
6245
|
"subpath": "./client/providers/WorkspacesWebClientProvider",
|
|
5683
6246
|
"summary": "Exports workspaces-web client provider class."
|
|
@@ -5706,7 +6269,6 @@
|
|
|
5706
6269
|
"outlets": [
|
|
5707
6270
|
{
|
|
5708
6271
|
"target": "admin-settings:primary-menu",
|
|
5709
|
-
"defaultLinkComponentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
5710
6272
|
"surfaces": [
|
|
5711
6273
|
"admin"
|
|
5712
6274
|
],
|
|
@@ -5714,39 +6276,98 @@
|
|
|
5714
6276
|
},
|
|
5715
6277
|
{
|
|
5716
6278
|
"target": "admin-cog:primary-menu",
|
|
5717
|
-
"defaultLinkComponentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
5718
6279
|
"surfaces": [
|
|
5719
6280
|
"admin"
|
|
5720
6281
|
],
|
|
5721
6282
|
"source": "src/client/components/UsersWorkspaceToolsWidget.vue"
|
|
5722
6283
|
}
|
|
5723
6284
|
],
|
|
6285
|
+
"topology": {
|
|
6286
|
+
"placements": [
|
|
6287
|
+
{
|
|
6288
|
+
"id": "page.section-nav",
|
|
6289
|
+
"owner": "admin-settings",
|
|
6290
|
+
"description": "Navigation between workspace admin settings child pages.",
|
|
6291
|
+
"surfaces": [
|
|
6292
|
+
"admin"
|
|
6293
|
+
],
|
|
6294
|
+
"variants": {
|
|
6295
|
+
"compact": {
|
|
6296
|
+
"outlet": "admin-settings:primary-menu",
|
|
6297
|
+
"renderers": {
|
|
6298
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
6299
|
+
}
|
|
6300
|
+
},
|
|
6301
|
+
"medium": {
|
|
6302
|
+
"outlet": "admin-settings:primary-menu",
|
|
6303
|
+
"renderers": {
|
|
6304
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
6305
|
+
}
|
|
6306
|
+
},
|
|
6307
|
+
"expanded": {
|
|
6308
|
+
"outlet": "admin-settings:primary-menu",
|
|
6309
|
+
"renderers": {
|
|
6310
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
6311
|
+
}
|
|
6312
|
+
}
|
|
6313
|
+
}
|
|
6314
|
+
},
|
|
6315
|
+
{
|
|
6316
|
+
"id": "admin.tools-menu",
|
|
6317
|
+
"description": "Admin surface tools menu actions.",
|
|
6318
|
+
"surfaces": [
|
|
6319
|
+
"admin"
|
|
6320
|
+
],
|
|
6321
|
+
"variants": {
|
|
6322
|
+
"compact": {
|
|
6323
|
+
"outlet": "admin-cog:primary-menu",
|
|
6324
|
+
"renderers": {
|
|
6325
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
6326
|
+
}
|
|
6327
|
+
},
|
|
6328
|
+
"medium": {
|
|
6329
|
+
"outlet": "admin-cog:primary-menu",
|
|
6330
|
+
"renderers": {
|
|
6331
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
6332
|
+
}
|
|
6333
|
+
},
|
|
6334
|
+
"expanded": {
|
|
6335
|
+
"outlet": "admin-cog:primary-menu",
|
|
6336
|
+
"renderers": {
|
|
6337
|
+
"link": "local.main.ui.surface-aware-menu-link-item"
|
|
6338
|
+
}
|
|
6339
|
+
}
|
|
6340
|
+
}
|
|
6341
|
+
}
|
|
6342
|
+
]
|
|
6343
|
+
},
|
|
5724
6344
|
"contributions": [
|
|
5725
6345
|
{
|
|
5726
6346
|
"id": "workspaces.workspace.menu.app",
|
|
5727
|
-
"target": "shell
|
|
6347
|
+
"target": "shell.primary-nav",
|
|
6348
|
+
"kind": "link",
|
|
5728
6349
|
"surfaces": [
|
|
5729
6350
|
"app"
|
|
5730
6351
|
],
|
|
5731
6352
|
"order": 50,
|
|
5732
|
-
"componentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
5733
6353
|
"when": "auth.authenticated === true",
|
|
5734
6354
|
"source": "mutations.text#workspaces-web-placement-block"
|
|
5735
6355
|
},
|
|
5736
6356
|
{
|
|
5737
6357
|
"id": "workspaces.workspace.menu.admin",
|
|
5738
|
-
"target": "shell
|
|
6358
|
+
"target": "shell.primary-nav",
|
|
6359
|
+
"kind": "link",
|
|
5739
6360
|
"surfaces": [
|
|
5740
6361
|
"admin"
|
|
5741
6362
|
],
|
|
5742
6363
|
"order": 60,
|
|
5743
|
-
"componentToken": "local.main.ui.surface-aware-menu-link-item",
|
|
5744
6364
|
"when": "auth.authenticated === true",
|
|
5745
6365
|
"source": "mutations.text#workspaces-web-placement-block"
|
|
5746
6366
|
},
|
|
5747
6367
|
{
|
|
5748
6368
|
"id": "workspaces.profile.menu.surface-switch",
|
|
5749
|
-
"target": "auth
|
|
6369
|
+
"target": "auth.profile-menu",
|
|
6370
|
+
"kind": "component",
|
|
5750
6371
|
"surfaces": [
|
|
5751
6372
|
"*"
|
|
5752
6373
|
],
|
|
@@ -5757,7 +6378,8 @@
|
|
|
5757
6378
|
},
|
|
5758
6379
|
{
|
|
5759
6380
|
"id": "workspaces.workspace.selector",
|
|
5760
|
-
"target": "shell
|
|
6381
|
+
"target": "shell.identity",
|
|
6382
|
+
"kind": "component",
|
|
5761
6383
|
"surfaces": [
|
|
5762
6384
|
"*"
|
|
5763
6385
|
],
|
|
@@ -5768,7 +6390,8 @@
|
|
|
5768
6390
|
},
|
|
5769
6391
|
{
|
|
5770
6392
|
"id": "workspaces.account.invites.cue",
|
|
5771
|
-
"target": "shell
|
|
6393
|
+
"target": "shell.status",
|
|
6394
|
+
"kind": "component",
|
|
5772
6395
|
"surfaces": [
|
|
5773
6396
|
"*"
|
|
5774
6397
|
],
|
|
@@ -5779,7 +6402,9 @@
|
|
|
5779
6402
|
},
|
|
5780
6403
|
{
|
|
5781
6404
|
"id": "workspaces.account.settings.invites",
|
|
5782
|
-
"target": "
|
|
6405
|
+
"target": "settings.sections",
|
|
6406
|
+
"owner": "account-settings",
|
|
6407
|
+
"kind": "component",
|
|
5783
6408
|
"surfaces": [
|
|
5784
6409
|
"account"
|
|
5785
6410
|
],
|
|
@@ -5790,7 +6415,8 @@
|
|
|
5790
6415
|
},
|
|
5791
6416
|
{
|
|
5792
6417
|
"id": "workspaces.workspace.tools.widget",
|
|
5793
|
-
"target": "shell
|
|
6418
|
+
"target": "shell.status",
|
|
6419
|
+
"kind": "component",
|
|
5794
6420
|
"surfaces": [
|
|
5795
6421
|
"admin"
|
|
5796
6422
|
],
|
|
@@ -5800,7 +6426,8 @@
|
|
|
5800
6426
|
},
|
|
5801
6427
|
{
|
|
5802
6428
|
"id": "workspaces.workspace.menu.workspace-settings",
|
|
5803
|
-
"target": "admin-
|
|
6429
|
+
"target": "admin.tools-menu",
|
|
6430
|
+
"kind": "component",
|
|
5804
6431
|
"surfaces": [
|
|
5805
6432
|
"admin"
|
|
5806
6433
|
],
|
|
@@ -5810,7 +6437,8 @@
|
|
|
5810
6437
|
},
|
|
5811
6438
|
{
|
|
5812
6439
|
"id": "workspaces.workspace.menu.members",
|
|
5813
|
-
"target": "admin-
|
|
6440
|
+
"target": "admin.tools-menu",
|
|
6441
|
+
"kind": "component",
|
|
5814
6442
|
"surfaces": [
|
|
5815
6443
|
"admin"
|
|
5816
6444
|
],
|
|
@@ -5825,9 +6453,8 @@
|
|
|
5825
6453
|
"mutations": {
|
|
5826
6454
|
"dependencies": {
|
|
5827
6455
|
"runtime": {
|
|
5828
|
-
"@jskit-ai/workspaces-core": "0.1.
|
|
5829
|
-
"@jskit-ai/users-web": "0.1.
|
|
5830
|
-
"vuetify": "^4.0.0"
|
|
6456
|
+
"@jskit-ai/workspaces-core": "0.1.43",
|
|
6457
|
+
"@jskit-ai/users-web": "0.1.82"
|
|
5831
6458
|
},
|
|
5832
6459
|
"dev": {}
|
|
5833
6460
|
},
|
|
@@ -5995,7 +6622,7 @@
|
|
|
5995
6622
|
"file": "src/placement.js",
|
|
5996
6623
|
"position": "bottom",
|
|
5997
6624
|
"skipIfContains": "id: \"workspaces.profile.menu.surface-switch\"",
|
|
5998
|
-
"value": "\naddPlacement({\n id: \"workspaces.profile.menu.surface-switch\",\n target: \"auth
|
|
6625
|
+
"value": "\naddPlacement({\n id: \"workspaces.profile.menu.surface-switch\",\n target: \"auth.profile-menu\",\n kind: \"component\",\n surfaces: [\"*\"],\n order: 100,\n componentToken: \"workspaces.web.profile.menu.surface-switch-item\",\n when: ({ auth }) => auth?.authenticated === true\n});\n",
|
|
5999
6626
|
"reason": "Append workspaces-web profile surface switch placement into app-owned placement registry.",
|
|
6000
6627
|
"category": "workspaces-web",
|
|
6001
6628
|
"id": "workspaces-web-profile-surface-switch-placement",
|
|
@@ -6012,7 +6639,7 @@
|
|
|
6012
6639
|
"file": "src/placement.js",
|
|
6013
6640
|
"position": "bottom",
|
|
6014
6641
|
"skipIfContains": "id: \"workspaces.workspace.selector\"",
|
|
6015
|
-
"value": "\naddPlacement({\n id: \"workspaces.workspace.menu.app\",\n target: \"shell
|
|
6642
|
+
"value": "\naddPlacement({\n id: \"workspaces.workspace.menu.app\",\n target: \"shell.primary-nav\",\n kind: \"link\",\n surfaces: [\"app\"],\n order: 50,\n props: {\n label: \"Home\",\n surface: \"app\",\n scopedSuffix: \"/\",\n unscopedSuffix: \"/\",\n exact: true\n },\n when: ({ auth }) => auth?.authenticated === true\n});\n\naddPlacement({\n id: \"workspaces.workspace.menu.admin\",\n target: \"shell.primary-nav\",\n kind: \"link\",\n surfaces: [\"admin\"],\n order: 60,\n props: {\n label: \"Home\",\n surface: \"admin\",\n scopedSuffix: \"/\",\n unscopedSuffix: \"/\",\n exact: true\n },\n when: ({ auth }) => auth?.authenticated === true\n});\n\naddPlacement({\n id: \"workspaces.workspace.selector\",\n target: \"shell.identity\",\n kind: \"component\",\n surfaces: [\"*\"],\n order: 200,\n componentToken: \"workspaces.web.workspace.selector\",\n props: {\n allowOnNonWorkspaceSurface: true,\n targetSurfaceId: \"app\"\n },\n when: ({ auth }) => auth?.authenticated === true\n});\n\naddPlacement({\n id: \"workspaces.account.invites.cue\",\n target: \"shell.status\",\n kind: \"component\",\n surfaces: [\"*\"],\n order: 850,\n componentToken: \"local.main.account.pending-invites.cue\",\n when: ({ auth }) => auth?.authenticated === true\n});\n\naddPlacement({\n id: \"workspaces.workspace.tools.widget\",\n target: \"shell.status\",\n kind: \"component\",\n surfaces: [\"admin\"],\n order: 900,\n componentToken: \"workspaces.web.workspace.tools.widget\"\n});\n\naddPlacement({\n id: \"workspaces.workspace.menu.workspace-settings\",\n target: \"admin.tools-menu\",\n kind: \"component\",\n surfaces: [\"admin\"],\n order: 100,\n componentToken: \"workspaces.web.workspace-settings.menu-item\"\n});\n\naddPlacement({\n id: \"workspaces.workspace.menu.members\",\n target: \"admin.tools-menu\",\n kind: \"component\",\n surfaces: [\"admin\"],\n order: 200,\n componentToken: \"workspaces.web.workspace-members.menu-item\"\n});\n",
|
|
6016
6643
|
"reason": "Append workspace placement entries into app-owned placement registry.",
|
|
6017
6644
|
"category": "workspaces-web",
|
|
6018
6645
|
"id": "workspaces-web-placement-block",
|
|
@@ -6024,12 +6651,29 @@
|
|
|
6024
6651
|
]
|
|
6025
6652
|
}
|
|
6026
6653
|
},
|
|
6654
|
+
{
|
|
6655
|
+
"op": "append-text",
|
|
6656
|
+
"file": "src/placementTopology.js",
|
|
6657
|
+
"position": "bottom",
|
|
6658
|
+
"skipIfContains": "id: \"admin.tools-menu\"",
|
|
6659
|
+
"value": "\naddPlacementTopology({\n id: \"page.section-nav\",\n owner: \"admin-settings\",\n description: \"Navigation between workspace admin settings child pages.\",\n surfaces: [\"admin\"],\n variants: {\n compact: {\n outlet: \"admin-settings:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n medium: {\n outlet: \"admin-settings:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n expanded: {\n outlet: \"admin-settings:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n }\n }\n});\n\naddPlacementTopology({\n id: \"admin.tools-menu\",\n description: \"Admin surface tools menu actions.\",\n surfaces: [\"admin\"],\n variants: {\n compact: {\n outlet: \"admin-cog:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n medium: {\n outlet: \"admin-cog:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n },\n expanded: {\n outlet: \"admin-cog:primary-menu\",\n renderers: {\n link: \"local.main.ui.surface-aware-menu-link-item\"\n }\n }\n }\n});\n",
|
|
6660
|
+
"reason": "Append workspaces-web admin semantic topology into app-owned placement topology.",
|
|
6661
|
+
"category": "workspaces-web",
|
|
6662
|
+
"id": "workspaces-web-admin-placement-topology",
|
|
6663
|
+
"when": {
|
|
6664
|
+
"config": "tenancyMode",
|
|
6665
|
+
"in": [
|
|
6666
|
+
"personal",
|
|
6667
|
+
"workspaces"
|
|
6668
|
+
]
|
|
6669
|
+
}
|
|
6670
|
+
},
|
|
6027
6671
|
{
|
|
6028
6672
|
"op": "append-text",
|
|
6029
6673
|
"file": "src/placement.js",
|
|
6030
6674
|
"position": "bottom",
|
|
6031
6675
|
"skipIfContains": "id: \"workspaces.account.settings.invites\"",
|
|
6032
|
-
"value": "\naddPlacement({\n id: \"workspaces.account.settings.invites\",\n target: \"account-settings:
|
|
6676
|
+
"value": "\naddPlacement({\n id: \"workspaces.account.settings.invites\",\n target: \"settings.sections\",\n owner: \"account-settings\",\n kind: \"component\",\n surfaces: [\"account\"],\n order: 400,\n componentToken: \"local.main.account-settings.section.invites\",\n props: {\n title: \"Invites\",\n value: \"invites\",\n usesSharedRuntime: false\n },\n when: ({ auth, workspaceInvitesEnabled }) => auth?.authenticated === true && workspaceInvitesEnabled === true\n});\n",
|
|
6033
6677
|
"reason": "Append workspaces-web account settings invites section placement into app-owned placement registry.",
|
|
6034
6678
|
"category": "workspaces-web",
|
|
6035
6679
|
"id": "workspaces-web-account-settings-placement",
|