@jskit-ai/jskit-catalog 0.1.45 → 0.1.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/catalog/packages.json +305 -192
  2. package/package.json +1 -1
@@ -6,11 +6,11 @@
6
6
  "packages": [
7
7
  {
8
8
  "packageId": "@jskit-ai/assistant",
9
- "version": "0.1.46",
9
+ "version": "0.1.47",
10
10
  "descriptor": {
11
11
  "packageVersion": 1,
12
12
  "packageId": "@jskit-ai/assistant",
13
- "version": "0.1.46",
13
+ "version": "0.1.47",
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": {
@@ -356,11 +356,11 @@
356
356
  },
357
357
  {
358
358
  "packageId": "@jskit-ai/assistant-core",
359
- "version": "0.1.13",
359
+ "version": "0.1.14",
360
360
  "descriptor": {
361
361
  "packageVersion": 1,
362
362
  "packageId": "@jskit-ai/assistant-core",
363
- "version": "0.1.13",
363
+ "version": "0.1.14",
364
364
  "kind": "runtime",
365
365
  "description": "Reusable assistant client/server/shared primitives without surface-specific routes or settings ownership.",
366
366
  "dependsOn": [
@@ -406,9 +406,9 @@
406
406
  "mutations": {
407
407
  "dependencies": {
408
408
  "runtime": {
409
- "@jskit-ai/http-runtime": "0.1.36",
410
- "@jskit-ai/kernel": "0.1.37",
411
- "@jskit-ai/users-core": "0.1.47",
409
+ "@jskit-ai/http-runtime": "0.1.37",
410
+ "@jskit-ai/kernel": "0.1.38",
411
+ "@jskit-ai/users-core": "0.1.48",
412
412
  "@tanstack/vue-query": "^5.90.5",
413
413
  "dompurify": "^3.3.3",
414
414
  "marked": "^17.0.4",
@@ -429,11 +429,11 @@
429
429
  },
430
430
  {
431
431
  "packageId": "@jskit-ai/assistant-runtime",
432
- "version": "0.1.8",
432
+ "version": "0.1.9",
433
433
  "descriptor": {
434
434
  "packageVersion": 1,
435
435
  "packageId": "@jskit-ai/assistant-runtime",
436
- "version": "0.1.8",
436
+ "version": "0.1.9",
437
437
  "kind": "runtime",
438
438
  "description": "Shared assistant runtime with per-surface assistant registration.",
439
439
  "dependsOn": [
@@ -508,13 +508,13 @@
508
508
  "mutations": {
509
509
  "dependencies": {
510
510
  "runtime": {
511
- "@jskit-ai/assistant-core": "0.1.13",
512
- "@jskit-ai/database-runtime": "0.1.37",
513
- "@jskit-ai/http-runtime": "0.1.36",
514
- "@jskit-ai/kernel": "0.1.37",
515
- "@jskit-ai/shell-web": "0.1.36",
516
- "@jskit-ai/users-core": "0.1.47",
517
- "@jskit-ai/users-web": "0.1.52",
511
+ "@jskit-ai/assistant-core": "0.1.14",
512
+ "@jskit-ai/database-runtime": "0.1.38",
513
+ "@jskit-ai/http-runtime": "0.1.37",
514
+ "@jskit-ai/kernel": "0.1.38",
515
+ "@jskit-ai/shell-web": "0.1.37",
516
+ "@jskit-ai/users-core": "0.1.48",
517
+ "@jskit-ai/users-web": "0.1.53",
518
518
  "@tanstack/vue-query": "^5.90.5",
519
519
  "vuetify": "^4.0.0"
520
520
  },
@@ -571,11 +571,11 @@
571
571
  },
572
572
  {
573
573
  "packageId": "@jskit-ai/auth-core",
574
- "version": "0.1.36",
574
+ "version": "0.1.37",
575
575
  "descriptor": {
576
576
  "packageVersion": 1,
577
577
  "packageId": "@jskit-ai/auth-core",
578
- "version": "0.1.36",
578
+ "version": "0.1.37",
579
579
  "kind": "runtime",
580
580
  "dependsOn": [
581
581
  "@jskit-ai/value-app-config-shared"
@@ -643,7 +643,7 @@
643
643
  "mutations": {
644
644
  "dependencies": {
645
645
  "runtime": {
646
- "@jskit-ai/kernel": "0.1.37",
646
+ "@jskit-ai/kernel": "0.1.38",
647
647
  "@fastify/cookie": "^11.0.2",
648
648
  "@fastify/csrf-protection": "^7.1.0",
649
649
  "@fastify/rate-limit": "^10.3.0"
@@ -661,11 +661,11 @@
661
661
  },
662
662
  {
663
663
  "packageId": "@jskit-ai/auth-provider-supabase-core",
664
- "version": "0.1.36",
664
+ "version": "0.1.37",
665
665
  "descriptor": {
666
666
  "packageVersion": 1,
667
667
  "packageId": "@jskit-ai/auth-provider-supabase-core",
668
- "version": "0.1.36",
668
+ "version": "0.1.37",
669
669
  "kind": "runtime",
670
670
  "options": {
671
671
  "auth-supabase-url": {
@@ -747,8 +747,8 @@
747
747
  "mutations": {
748
748
  "dependencies": {
749
749
  "runtime": {
750
- "@jskit-ai/auth-core": "0.1.36",
751
- "@jskit-ai/kernel": "0.1.37",
750
+ "@jskit-ai/auth-core": "0.1.37",
751
+ "@jskit-ai/kernel": "0.1.38",
752
752
  "dotenv": "^16.4.5",
753
753
  "@supabase/supabase-js": "^2.57.4",
754
754
  "jose": "^6.1.0"
@@ -813,11 +813,11 @@
813
813
  },
814
814
  {
815
815
  "packageId": "@jskit-ai/auth-web",
816
- "version": "0.1.38",
816
+ "version": "0.1.39",
817
817
  "descriptor": {
818
818
  "packageVersion": 1,
819
819
  "packageId": "@jskit-ai/auth-web",
820
- "version": "0.1.38",
820
+ "version": "0.1.39",
821
821
  "kind": "runtime",
822
822
  "description": "Auth web module: Fastify auth routes plus web login/sign-out scaffolds.",
823
823
  "dependsOn": [
@@ -1044,10 +1044,10 @@
1044
1044
  "@tanstack/vue-query": "5.92.12",
1045
1045
  "@mdi/js": "^7.4.47",
1046
1046
  "@fastify/type-provider-typebox": "^6.1.0",
1047
- "@jskit-ai/auth-core": "0.1.36",
1048
- "@jskit-ai/http-runtime": "0.1.36",
1049
- "@jskit-ai/kernel": "0.1.37",
1050
- "@jskit-ai/shell-web": "0.1.36",
1047
+ "@jskit-ai/auth-core": "0.1.37",
1048
+ "@jskit-ai/http-runtime": "0.1.37",
1049
+ "@jskit-ai/kernel": "0.1.38",
1050
+ "@jskit-ai/shell-web": "0.1.37",
1051
1051
  "vuetify": "^4.0.0"
1052
1052
  },
1053
1053
  "dev": {}
@@ -1115,26 +1115,149 @@
1115
1115
  }
1116
1116
  }
1117
1117
  },
1118
+ {
1119
+ "packageId": "@jskit-ai/console-core",
1120
+ "version": "0.1.1",
1121
+ "descriptor": {
1122
+ "packageVersion": 1,
1123
+ "packageId": "@jskit-ai/console-core",
1124
+ "version": "0.1.1",
1125
+ "kind": "runtime",
1126
+ "description": "Console runtime: console settings schema, bootstrap flags, actions, and HTTP routes.",
1127
+ "dependsOn": [
1128
+ "@jskit-ai/database-runtime",
1129
+ "@jskit-ai/http-runtime",
1130
+ "@jskit-ai/users-core"
1131
+ ],
1132
+ "capabilities": {
1133
+ "provides": [
1134
+ "console.core",
1135
+ "console.server-routes"
1136
+ ],
1137
+ "requires": [
1138
+ "runtime.actions",
1139
+ "runtime.database",
1140
+ "users.core"
1141
+ ]
1142
+ },
1143
+ "runtime": {
1144
+ "server": {
1145
+ "providers": [
1146
+ {
1147
+ "entrypoint": "src/server/ConsoleCoreServiceProvider.js",
1148
+ "export": "ConsoleCoreServiceProvider"
1149
+ }
1150
+ ]
1151
+ },
1152
+ "client": {
1153
+ "providers": []
1154
+ }
1155
+ },
1156
+ "metadata": {
1157
+ "apiSummary": {
1158
+ "surfaces": [
1159
+ {
1160
+ "subpath": "./server",
1161
+ "summary": "Exports ConsoleCoreServiceProvider plus console settings services, routes, and action definitions."
1162
+ },
1163
+ {
1164
+ "subpath": "./shared",
1165
+ "summary": "Exports shared console settings resource and field registration helpers."
1166
+ },
1167
+ {
1168
+ "subpath": "./client",
1169
+ "summary": "Exports no runtime API today (reserved client entrypoint)."
1170
+ }
1171
+ ],
1172
+ "containerTokens": {
1173
+ "server": [],
1174
+ "client": []
1175
+ }
1176
+ },
1177
+ "server": {
1178
+ "routes": [
1179
+ {
1180
+ "method": "GET",
1181
+ "path": "/api/console/settings",
1182
+ "summary": "Get console settings."
1183
+ },
1184
+ {
1185
+ "method": "PATCH",
1186
+ "path": "/api/console/settings",
1187
+ "summary": "Update console settings."
1188
+ }
1189
+ ]
1190
+ }
1191
+ },
1192
+ "mutations": {
1193
+ "dependencies": {
1194
+ "runtime": {
1195
+ "@jskit-ai/database-runtime": "0.1.38",
1196
+ "@jskit-ai/http-runtime": "0.1.37",
1197
+ "@jskit-ai/kernel": "0.1.38",
1198
+ "@jskit-ai/users-core": "0.1.48",
1199
+ "typebox": "^1.0.81"
1200
+ },
1201
+ "dev": {}
1202
+ },
1203
+ "packageJson": {
1204
+ "scripts": {}
1205
+ },
1206
+ "procfile": {},
1207
+ "files": [
1208
+ {
1209
+ "op": "install-migration",
1210
+ "from": "templates/migrations/console_core_generic_initial.cjs",
1211
+ "toDir": "migrations",
1212
+ "extension": ".cjs",
1213
+ "reason": "Install console settings schema migration.",
1214
+ "category": "migration",
1215
+ "id": "console-core-generic-initial-schema"
1216
+ },
1217
+ {
1218
+ "from": "templates/packages/main/src/shared/resources/consoleSettingsFields.js",
1219
+ "to": "packages/main/src/shared/resources/consoleSettingsFields.js",
1220
+ "preserveOnRemove": true,
1221
+ "reason": "Install app-owned console settings field definitions.",
1222
+ "category": "console-core",
1223
+ "id": "console-core-app-owned-console-settings-fields"
1224
+ }
1225
+ ],
1226
+ "text": [
1227
+ {
1228
+ "op": "append-text",
1229
+ "file": "packages/main/src/shared/index.js",
1230
+ "position": "top",
1231
+ "skipIfContains": "import \"./resources/consoleSettingsFields.js\";",
1232
+ "value": "import \"./resources/consoleSettingsFields.js\";\n",
1233
+ "reason": "Load app-owned console settings field definitions inside the main shared module.",
1234
+ "category": "console-core",
1235
+ "id": "console-core-main-shared-console-settings-field-import"
1236
+ }
1237
+ ]
1238
+ }
1239
+ }
1240
+ },
1118
1241
  {
1119
1242
  "packageId": "@jskit-ai/console-web",
1120
- "version": "0.1.4",
1243
+ "version": "0.1.6",
1121
1244
  "descriptor": {
1122
1245
  "packageVersion": 1,
1123
1246
  "packageId": "@jskit-ai/console-web",
1124
- "version": "0.1.4",
1247
+ "version": "0.1.6",
1125
1248
  "kind": "runtime",
1126
1249
  "description": "Authenticated console surface scaffold and surface policy wiring.",
1127
1250
  "dependsOn": [
1128
1251
  "@jskit-ai/auth-web",
1129
- "@jskit-ai/shell-web",
1130
- "@jskit-ai/users-core"
1252
+ "@jskit-ai/console-core",
1253
+ "@jskit-ai/shell-web"
1131
1254
  ],
1132
1255
  "capabilities": {
1133
1256
  "provides": [
1134
1257
  "console.web"
1135
1258
  ],
1136
1259
  "requires": [
1137
- "users.core"
1260
+ "console.core"
1138
1261
  ]
1139
1262
  },
1140
1263
  "runtime": {
@@ -1157,14 +1280,41 @@
1157
1280
  "server": [],
1158
1281
  "client": []
1159
1282
  }
1283
+ },
1284
+ "ui": {
1285
+ "placements": {
1286
+ "outlets": [
1287
+ {
1288
+ "target": "console-settings:primary-menu",
1289
+ "defaultLinkComponentToken": "local.main.ui.surface-aware-menu-link-item",
1290
+ "surfaces": [
1291
+ "console"
1292
+ ],
1293
+ "source": "templates/src/pages/console/settings.vue"
1294
+ }
1295
+ ],
1296
+ "contributions": [
1297
+ {
1298
+ "id": "console.web.menu.settings",
1299
+ "target": "shell-layout:primary-menu",
1300
+ "surfaces": [
1301
+ "console"
1302
+ ],
1303
+ "order": 100,
1304
+ "componentToken": "local.main.ui.menu-link-item",
1305
+ "when": "auth.authenticated === true",
1306
+ "source": "mutations.text#console-web-console-settings-placement"
1307
+ }
1308
+ ]
1309
+ }
1160
1310
  }
1161
1311
  },
1162
1312
  "mutations": {
1163
1313
  "dependencies": {
1164
1314
  "runtime": {
1165
- "@jskit-ai/auth-web": "0.1.38",
1166
- "@jskit-ai/shell-web": "0.1.36",
1167
- "@jskit-ai/users-core": "0.1.47"
1315
+ "@jskit-ai/auth-web": "0.1.39",
1316
+ "@jskit-ai/console-core": "0.1.1",
1317
+ "@jskit-ai/shell-web": "0.1.37"
1168
1318
  },
1169
1319
  "dev": {}
1170
1320
  },
@@ -1194,6 +1344,24 @@
1194
1344
  "reason": "Install shell-driven console page starter.",
1195
1345
  "category": "console-web",
1196
1346
  "id": "console-web-page-console"
1347
+ },
1348
+ {
1349
+ "from": "templates/src/pages/console/settings.vue",
1350
+ "toSurface": "console",
1351
+ "toSurfacePath": "settings.vue",
1352
+ "ownership": "app",
1353
+ "reason": "Install console settings shell route scaffold for console-web.",
1354
+ "category": "console-web",
1355
+ "id": "console-web-page-console-settings-shell"
1356
+ },
1357
+ {
1358
+ "from": "templates/src/pages/console/settings/index.vue",
1359
+ "toSurface": "console",
1360
+ "toSurfacePath": "settings/index.vue",
1361
+ "ownership": "app",
1362
+ "reason": "Install console settings index stub scaffold for app-owned landing or redirect behavior.",
1363
+ "category": "console-web",
1364
+ "id": "console-web-page-console-settings"
1197
1365
  }
1198
1366
  ],
1199
1367
  "text": [
@@ -1212,10 +1380,20 @@
1212
1380
  "file": "config/public.js",
1213
1381
  "position": "bottom",
1214
1382
  "skipIfContains": "config.surfaceDefinitions.console = {",
1215
- "value": "\nconfig.surfaceDefinitions.console = {\n id: \"console\",\n label: \"Console\",\n pagesRoot: \"console\",\n enabled: true,\n requiresAuth: true,\n requiresWorkspace: false,\n accessPolicyId: \"console_owner\",\n origin: \"\"\n};\n",
1383
+ "value": "\nconfig.surfaceDefinitions.console = {\n id: \"console\",\n label: \"Console\",\n pagesRoot: \"console\",\n enabled: true,\n requiresAuth: true,\n requiresWorkspace: false,\n accessPolicyId: \"console_owner\",\n icon: \"mdi-console-network-outline\",\n origin: \"\"\n};\n",
1216
1384
  "reason": "Register console surface definition once console-web is installed.",
1217
1385
  "category": "console-web",
1218
1386
  "id": "console-web-surface-config-console"
1387
+ },
1388
+ {
1389
+ "op": "append-text",
1390
+ "file": "src/placement.js",
1391
+ "position": "bottom",
1392
+ "skipIfContains": "id: \"console.web.menu.settings\"",
1393
+ "value": "\naddPlacement({\n id: \"console.web.menu.settings\",\n target: \"shell-layout:primary-menu\",\n surfaces: [\"console\"],\n order: 100,\n componentToken: \"local.main.ui.menu-link-item\",\n props: {\n label: \"Settings\",\n to: \"/console/settings\",\n icon: \"mdi-cog-outline\"\n },\n when: ({ auth }) => Boolean(auth?.authenticated)\n});\n",
1394
+ "reason": "Append console-web settings menu placement into app-owned placement registry.",
1395
+ "category": "console-web",
1396
+ "id": "console-web-console-settings-placement"
1219
1397
  }
1220
1398
  ]
1221
1399
  }
@@ -1223,11 +1401,11 @@
1223
1401
  },
1224
1402
  {
1225
1403
  "packageId": "@jskit-ai/crud-core",
1226
- "version": "0.1.45",
1404
+ "version": "0.1.46",
1227
1405
  "descriptor": {
1228
1406
  "packageVersion": 1,
1229
1407
  "packageId": "@jskit-ai/crud-core",
1230
- "version": "0.1.45",
1408
+ "version": "0.1.46",
1231
1409
  "kind": "runtime",
1232
1410
  "description": "Shared CRUD helpers used by CRUD modules.",
1233
1411
  "dependsOn": [
@@ -1254,7 +1432,7 @@
1254
1432
  "mutations": {
1255
1433
  "dependencies": {
1256
1434
  "runtime": {
1257
- "@jskit-ai/crud-core": "0.1.45"
1435
+ "@jskit-ai/crud-core": "0.1.46"
1258
1436
  },
1259
1437
  "dev": {}
1260
1438
  },
@@ -1268,11 +1446,11 @@
1268
1446
  },
1269
1447
  {
1270
1448
  "packageId": "@jskit-ai/crud-server-generator",
1271
- "version": "0.1.45",
1449
+ "version": "0.1.46",
1272
1450
  "descriptor": {
1273
1451
  "packageVersion": 1,
1274
1452
  "packageId": "@jskit-ai/crud-server-generator",
1275
- "version": "0.1.45",
1453
+ "version": "0.1.46",
1276
1454
  "kind": "generator",
1277
1455
  "description": "CRUD server generator with routes, actions, and persistence scaffolding.",
1278
1456
  "options": {
@@ -1430,13 +1608,13 @@
1430
1608
  "mutations": {
1431
1609
  "dependencies": {
1432
1610
  "runtime": {
1433
- "@jskit-ai/auth-core": "0.1.36",
1434
- "@jskit-ai/crud-core": "0.1.45",
1435
- "@jskit-ai/database-runtime": "0.1.37",
1436
- "@jskit-ai/http-runtime": "0.1.36",
1437
- "@jskit-ai/kernel": "0.1.37",
1438
- "@jskit-ai/realtime": "0.1.36",
1439
- "@jskit-ai/users-core": "0.1.47",
1611
+ "@jskit-ai/auth-core": "0.1.37",
1612
+ "@jskit-ai/crud-core": "0.1.46",
1613
+ "@jskit-ai/database-runtime": "0.1.38",
1614
+ "@jskit-ai/http-runtime": "0.1.37",
1615
+ "@jskit-ai/kernel": "0.1.38",
1616
+ "@jskit-ai/realtime": "0.1.37",
1617
+ "@jskit-ai/users-core": "0.1.48",
1440
1618
  "@local/${option:namespace|kebab}": "file:packages/${option:namespace|kebab}",
1441
1619
  "typebox": "^1.0.81"
1442
1620
  },
@@ -1583,11 +1761,11 @@
1583
1761
  },
1584
1762
  {
1585
1763
  "packageId": "@jskit-ai/crud-ui-generator",
1586
- "version": "0.1.20",
1764
+ "version": "0.1.21",
1587
1765
  "descriptor": {
1588
1766
  "packageVersion": 1,
1589
1767
  "packageId": "@jskit-ai/crud-ui-generator",
1590
- "version": "0.1.20",
1768
+ "version": "0.1.21",
1591
1769
  "kind": "generator",
1592
1770
  "description": "Generate CRUD route trees from resource validators at an explicit route root relative to src/pages/.",
1593
1771
  "options": {
@@ -1762,7 +1940,7 @@
1762
1940
  "mutations": {
1763
1941
  "dependencies": {
1764
1942
  "runtime": {
1765
- "@jskit-ai/users-web": "0.1.52"
1943
+ "@jskit-ai/users-web": "0.1.53"
1766
1944
  },
1767
1945
  "dev": {}
1768
1946
  },
@@ -1995,11 +2173,11 @@
1995
2173
  },
1996
2174
  {
1997
2175
  "packageId": "@jskit-ai/database-runtime",
1998
- "version": "0.1.37",
2176
+ "version": "0.1.38",
1999
2177
  "descriptor": {
2000
2178
  "packageVersion": 1,
2001
2179
  "packageId": "@jskit-ai/database-runtime",
2002
- "version": "0.1.37",
2180
+ "version": "0.1.38",
2003
2181
  "kind": "runtime",
2004
2182
  "dependsOn": [
2005
2183
  "@jskit-ai/kernel"
@@ -2056,7 +2234,7 @@
2056
2234
  "mutations": {
2057
2235
  "dependencies": {
2058
2236
  "runtime": {
2059
- "@jskit-ai/kernel": "0.1.37",
2237
+ "@jskit-ai/kernel": "0.1.38",
2060
2238
  "dotenv": "^16.4.5",
2061
2239
  "knex": "^3.1.0"
2062
2240
  },
@@ -2091,11 +2269,11 @@
2091
2269
  },
2092
2270
  {
2093
2271
  "packageId": "@jskit-ai/database-runtime-mysql",
2094
- "version": "0.1.36",
2272
+ "version": "0.1.37",
2095
2273
  "descriptor": {
2096
2274
  "packageVersion": 1,
2097
2275
  "packageId": "@jskit-ai/database-runtime-mysql",
2098
- "version": "0.1.36",
2276
+ "version": "0.1.37",
2099
2277
  "kind": "runtime",
2100
2278
  "options": {
2101
2279
  "db-host": {
@@ -2185,7 +2363,7 @@
2185
2363
  "mutations": {
2186
2364
  "dependencies": {
2187
2365
  "runtime": {
2188
- "@jskit-ai/database-runtime": "0.1.37",
2366
+ "@jskit-ai/database-runtime": "0.1.38",
2189
2367
  "mysql2": "^3.11.2"
2190
2368
  },
2191
2369
  "dev": {}
@@ -2256,11 +2434,11 @@
2256
2434
  },
2257
2435
  {
2258
2436
  "packageId": "@jskit-ai/database-runtime-postgres",
2259
- "version": "0.1.36",
2437
+ "version": "0.1.37",
2260
2438
  "descriptor": {
2261
2439
  "packageVersion": 1,
2262
2440
  "packageId": "@jskit-ai/database-runtime-postgres",
2263
- "version": "0.1.36",
2441
+ "version": "0.1.37",
2264
2442
  "kind": "runtime",
2265
2443
  "options": {
2266
2444
  "db-host": {
@@ -2350,7 +2528,7 @@
2350
2528
  "mutations": {
2351
2529
  "dependencies": {
2352
2530
  "runtime": {
2353
- "@jskit-ai/database-runtime": "0.1.37",
2531
+ "@jskit-ai/database-runtime": "0.1.38",
2354
2532
  "pg": "^8.13.1"
2355
2533
  },
2356
2534
  "dev": {}
@@ -2421,11 +2599,11 @@
2421
2599
  },
2422
2600
  {
2423
2601
  "packageId": "@jskit-ai/http-runtime",
2424
- "version": "0.1.36",
2602
+ "version": "0.1.37",
2425
2603
  "descriptor": {
2426
2604
  "packageVersion": 1,
2427
2605
  "packageId": "@jskit-ai/http-runtime",
2428
- "version": "0.1.36",
2606
+ "version": "0.1.37",
2429
2607
  "kind": "runtime",
2430
2608
  "dependsOn": [],
2431
2609
  "capabilities": {
@@ -2491,7 +2669,7 @@
2491
2669
  "mutations": {
2492
2670
  "dependencies": {
2493
2671
  "runtime": {
2494
- "@jskit-ai/kernel": "0.1.37",
2672
+ "@jskit-ai/kernel": "0.1.38",
2495
2673
  "@fastify/type-provider-typebox": "^6.1.0",
2496
2674
  "typebox": "^1.0.81"
2497
2675
  },
@@ -2507,11 +2685,11 @@
2507
2685
  },
2508
2686
  {
2509
2687
  "packageId": "@jskit-ai/realtime",
2510
- "version": "0.1.36",
2688
+ "version": "0.1.37",
2511
2689
  "descriptor": {
2512
2690
  "packageVersion": 1,
2513
2691
  "packageId": "@jskit-ai/realtime",
2514
- "version": "0.1.36",
2692
+ "version": "0.1.37",
2515
2693
  "kind": "runtime",
2516
2694
  "description": "Thin, generic realtime runtime wrappers for socket.io server and client.",
2517
2695
  "options": {
@@ -2606,7 +2784,7 @@
2606
2784
  "mutations": {
2607
2785
  "dependencies": {
2608
2786
  "runtime": {
2609
- "@jskit-ai/kernel": "0.1.37",
2787
+ "@jskit-ai/kernel": "0.1.38",
2610
2788
  "@socket.io/redis-adapter": "^8.3.0",
2611
2789
  "redis": "^5.8.2",
2612
2790
  "socket.io": "^4.8.3",
@@ -2655,11 +2833,11 @@
2655
2833
  },
2656
2834
  {
2657
2835
  "packageId": "@jskit-ai/shell-web",
2658
- "version": "0.1.36",
2836
+ "version": "0.1.37",
2659
2837
  "descriptor": {
2660
2838
  "packageVersion": 1,
2661
2839
  "packageId": "@jskit-ai/shell-web",
2662
- "version": "0.1.36",
2840
+ "version": "0.1.37",
2663
2841
  "kind": "runtime",
2664
2842
  "description": "Web shell layout runtime with outlet-based placement contributions.",
2665
2843
  "dependsOn": [],
@@ -2771,6 +2949,16 @@
2771
2949
  "order": 100,
2772
2950
  "componentToken": "local.main.ui.surface-aware-menu-link-item",
2773
2951
  "source": "templates/src/placement.js"
2952
+ },
2953
+ {
2954
+ "id": "shell-web.home.settings.general",
2955
+ "target": "home-settings:primary-menu",
2956
+ "surfaces": [
2957
+ "home"
2958
+ ],
2959
+ "order": 100,
2960
+ "componentToken": "local.main.ui.surface-aware-menu-link-item",
2961
+ "source": "templates/src/placement.js"
2774
2962
  }
2775
2963
  ]
2776
2964
  }
@@ -2781,7 +2969,7 @@
2781
2969
  "runtime": {
2782
2970
  "@mdi/js": "^7.4.47",
2783
2971
  "@tanstack/vue-query": "^5.90.5",
2784
- "@jskit-ai/kernel": "0.1.37",
2972
+ "@jskit-ai/kernel": "0.1.38",
2785
2973
  "vuetify": "^4.0.0"
2786
2974
  },
2787
2975
  "dev": {}
@@ -2947,9 +3135,18 @@
2947
3135
  "toSurface": "home",
2948
3136
  "toSurfacePath": "settings/index.vue",
2949
3137
  "ownership": "app",
2950
- "reason": "Install shell-driven home settings landing page with a tiny browser-local shell preference example.",
3138
+ "reason": "Install shell-driven home settings redirect so the starter settings shell lands on a real child page.",
2951
3139
  "category": "shell-web",
2952
3140
  "id": "shell-web-page-home-settings"
3141
+ },
3142
+ {
3143
+ "from": "templates/src/pages/home/settings/general/index.vue",
3144
+ "toSurface": "home",
3145
+ "toSurfacePath": "settings/general/index.vue",
3146
+ "ownership": "app",
3147
+ "reason": "Install shell-driven general settings child page with a tiny browser-local shell preference example.",
3148
+ "category": "shell-web",
3149
+ "id": "shell-web-page-home-settings-general"
2953
3150
  }
2954
3151
  ]
2955
3152
  }
@@ -2957,11 +3154,11 @@
2957
3154
  },
2958
3155
  {
2959
3156
  "packageId": "@jskit-ai/storage-runtime",
2960
- "version": "0.1.36",
3157
+ "version": "0.1.37",
2961
3158
  "descriptor": {
2962
3159
  "packageVersion": 1,
2963
3160
  "packageId": "@jskit-ai/storage-runtime",
2964
- "version": "0.1.36",
3161
+ "version": "0.1.37",
2965
3162
  "kind": "runtime",
2966
3163
  "dependsOn": [
2967
3164
  "@jskit-ai/kernel"
@@ -3010,7 +3207,7 @@
3010
3207
  "mutations": {
3011
3208
  "dependencies": {
3012
3209
  "runtime": {
3013
- "@jskit-ai/kernel": "0.1.37",
3210
+ "@jskit-ai/kernel": "0.1.38",
3014
3211
  "unstorage": "^1.17.3"
3015
3212
  },
3016
3213
  "dev": {}
@@ -3026,11 +3223,11 @@
3026
3223
  },
3027
3224
  {
3028
3225
  "packageId": "@jskit-ai/ui-generator",
3029
- "version": "0.1.20",
3226
+ "version": "0.1.21",
3030
3227
  "descriptor": {
3031
3228
  "packageVersion": 1,
3032
3229
  "packageId": "@jskit-ai/ui-generator",
3033
- "version": "0.1.20",
3230
+ "version": "0.1.21",
3034
3231
  "kind": "generator",
3035
3232
  "description": "Create non-CRUD pages, reusable UI elements, and subpage hosts.",
3036
3233
  "options": {
@@ -3329,7 +3526,7 @@
3329
3526
  "mutations": {
3330
3527
  "dependencies": {
3331
3528
  "runtime": {
3332
- "@jskit-ai/users-web": "0.1.52"
3529
+ "@jskit-ai/users-web": "0.1.53"
3333
3530
  },
3334
3531
  "dev": {}
3335
3532
  },
@@ -3344,11 +3541,11 @@
3344
3541
  },
3345
3542
  {
3346
3543
  "packageId": "@jskit-ai/uploads-image-web",
3347
- "version": "0.1.15",
3544
+ "version": "0.1.16",
3348
3545
  "descriptor": {
3349
3546
  "packageVersion": 1,
3350
3547
  "packageId": "@jskit-ai/uploads-image-web",
3351
- "version": "0.1.15",
3548
+ "version": "0.1.16",
3352
3549
  "kind": "runtime",
3353
3550
  "description": "Reusable client-side image upload runtime with pre-upload image editing.",
3354
3551
  "dependsOn": [
@@ -3412,7 +3609,7 @@
3412
3609
  "mutations": {
3413
3610
  "dependencies": {
3414
3611
  "runtime": {
3415
- "@jskit-ai/uploads-runtime": "0.1.15",
3612
+ "@jskit-ai/uploads-runtime": "0.1.16",
3416
3613
  "@uppy/compressor": "^3.1.0",
3417
3614
  "@uppy/core": "^5.2.0",
3418
3615
  "@uppy/dashboard": "^5.1.1",
@@ -3432,11 +3629,11 @@
3432
3629
  },
3433
3630
  {
3434
3631
  "packageId": "@jskit-ai/uploads-runtime",
3435
- "version": "0.1.15",
3632
+ "version": "0.1.16",
3436
3633
  "descriptor": {
3437
3634
  "packageVersion": 1,
3438
3635
  "packageId": "@jskit-ai/uploads-runtime",
3439
- "version": "0.1.15",
3636
+ "version": "0.1.16",
3440
3637
  "kind": "runtime",
3441
3638
  "description": "Reusable upload runtime primitives for multipart parsing, policy validation, and blob storage.",
3442
3639
  "dependsOn": [
@@ -3506,7 +3703,7 @@
3506
3703
  "dependencies": {
3507
3704
  "runtime": {
3508
3705
  "@fastify/multipart": "^9.4.0",
3509
- "@jskit-ai/kernel": "0.1.37"
3706
+ "@jskit-ai/kernel": "0.1.38"
3510
3707
  },
3511
3708
  "dev": {}
3512
3709
  },
@@ -3521,13 +3718,13 @@
3521
3718
  },
3522
3719
  {
3523
3720
  "packageId": "@jskit-ai/users-core",
3524
- "version": "0.1.47",
3721
+ "version": "0.1.48",
3525
3722
  "descriptor": {
3526
3723
  "packageVersion": 1,
3527
3724
  "packageId": "@jskit-ai/users-core",
3528
- "version": "0.1.47",
3725
+ "version": "0.1.48",
3529
3726
  "kind": "runtime",
3530
- "description": "Users/account runtime plus HTTP routes for account and console features.",
3727
+ "description": "Users/account runtime plus HTTP routes for account features.",
3531
3728
  "dependsOn": [
3532
3729
  "@jskit-ai/auth-core",
3533
3730
  "@jskit-ai/database-runtime",
@@ -3567,7 +3764,7 @@
3567
3764
  "surfaces": [
3568
3765
  {
3569
3766
  "subpath": "./server",
3570
- "summary": "Exports UsersCoreServiceProvider, users/console repositories and services, account feature route registration modules, and action definitions."
3767
+ "summary": "Exports UsersCoreServiceProvider plus account feature route registration modules and action definitions."
3571
3768
  },
3572
3769
  {
3573
3770
  "subpath": "./shared",
@@ -3644,16 +3841,6 @@
3644
3841
  "method": "POST",
3645
3842
  "path": "/api/settings/security/logout-others",
3646
3843
  "summary": "Sign out from other active sessions."
3647
- },
3648
- {
3649
- "method": "GET",
3650
- "path": "/api/console/settings",
3651
- "summary": "Get console settings."
3652
- },
3653
- {
3654
- "method": "PATCH",
3655
- "path": "/api/console/settings",
3656
- "summary": "Update console settings."
3657
3844
  }
3658
3845
  ]
3659
3846
  }
@@ -3661,11 +3848,11 @@
3661
3848
  "mutations": {
3662
3849
  "dependencies": {
3663
3850
  "runtime": {
3664
- "@jskit-ai/auth-core": "0.1.36",
3665
- "@jskit-ai/database-runtime": "0.1.37",
3666
- "@jskit-ai/http-runtime": "0.1.36",
3667
- "@jskit-ai/kernel": "0.1.37",
3668
- "@jskit-ai/uploads-runtime": "0.1.15",
3851
+ "@jskit-ai/auth-core": "0.1.37",
3852
+ "@jskit-ai/database-runtime": "0.1.38",
3853
+ "@jskit-ai/http-runtime": "0.1.37",
3854
+ "@jskit-ai/kernel": "0.1.38",
3855
+ "@jskit-ai/uploads-runtime": "0.1.16",
3669
3856
  "@fastify/type-provider-typebox": "^6.1.0",
3670
3857
  "typebox": "^1.0.81"
3671
3858
  },
@@ -3694,23 +3881,6 @@
3694
3881
  "category": "migration",
3695
3882
  "id": "users-core-profile-username-schema"
3696
3883
  },
3697
- {
3698
- "op": "install-migration",
3699
- "from": "templates/migrations/users_core_console_owner.cjs",
3700
- "toDir": "migrations",
3701
- "extension": ".cjs",
3702
- "reason": "Install console owner migration.",
3703
- "category": "migration",
3704
- "id": "users-core-console-owner-schema"
3705
- },
3706
- {
3707
- "from": "templates/packages/main/src/shared/resources/consoleSettingsFields.js",
3708
- "to": "packages/main/src/shared/resources/consoleSettingsFields.js",
3709
- "preserveOnRemove": true,
3710
- "reason": "Install app-owned console settings field definitions.",
3711
- "category": "users-core",
3712
- "id": "users-core-app-owned-console-settings-fields"
3713
- },
3714
3884
  {
3715
3885
  "from": "templates/packages/main/src/shared/resources/userSettingsFields.js",
3716
3886
  "to": "packages/main/src/shared/resources/userSettingsFields.js",
@@ -3730,16 +3900,6 @@
3730
3900
  "category": "runtime-config",
3731
3901
  "id": "users-core-auth-profile-mode"
3732
3902
  },
3733
- {
3734
- "op": "append-text",
3735
- "file": "packages/main/src/shared/index.js",
3736
- "position": "top",
3737
- "skipIfContains": "import \"./resources/consoleSettingsFields.js\";",
3738
- "value": "import \"./resources/consoleSettingsFields.js\";\n",
3739
- "reason": "Load app-owned console settings field definitions inside the main shared module.",
3740
- "category": "users-core",
3741
- "id": "users-core-main-shared-console-settings-field-import"
3742
- },
3743
3903
  {
3744
3904
  "op": "append-text",
3745
3905
  "file": "packages/main/src/shared/index.js",
@@ -3776,16 +3936,15 @@
3776
3936
  },
3777
3937
  {
3778
3938
  "packageId": "@jskit-ai/users-web",
3779
- "version": "0.1.52",
3939
+ "version": "0.1.53",
3780
3940
  "descriptor": {
3781
3941
  "packageVersion": 1,
3782
3942
  "packageId": "@jskit-ai/users-web",
3783
- "version": "0.1.52",
3943
+ "version": "0.1.53",
3784
3944
  "kind": "runtime",
3785
3945
  "description": "Users web module: account/profile UI plus shared users web widgets.",
3786
3946
  "dependsOn": [
3787
3947
  "@jskit-ai/auth-web",
3788
- "@jskit-ai/console-web",
3789
3948
  "@jskit-ai/http-runtime",
3790
3949
  "@jskit-ai/shell-web",
3791
3950
  "@jskit-ai/uploads-image-web",
@@ -3893,14 +4052,6 @@
3893
4052
  "admin"
3894
4053
  ],
3895
4054
  "source": "src/client/components/UsersWorkspaceToolsWidget.vue"
3896
- },
3897
- {
3898
- "target": "console-settings:primary-menu",
3899
- "defaultLinkComponentToken": "local.main.ui.surface-aware-menu-link-item",
3900
- "surfaces": [
3901
- "console"
3902
- ],
3903
- "source": "templates/src/pages/console/settings.vue"
3904
4055
  }
3905
4056
  ],
3906
4057
  "contributions": [
@@ -3926,17 +4077,6 @@
3926
4077
  "when": "auth.authenticated === true",
3927
4078
  "source": "mutations.text#users-web-profile-settings-placement"
3928
4079
  },
3929
- {
3930
- "id": "users.console.menu.settings",
3931
- "target": "shell-layout:primary-menu",
3932
- "surfaces": [
3933
- "console"
3934
- ],
3935
- "order": 100,
3936
- "componentToken": "local.main.ui.menu-link-item",
3937
- "when": "auth.authenticated === true",
3938
- "source": "mutations.text#users-web-console-settings-placement"
3939
- },
3940
4080
  {
3941
4081
  "id": "users.home.tools.widget",
3942
4082
  "target": "shell-layout:top-right",
@@ -3968,13 +4108,12 @@
3968
4108
  "runtime": {
3969
4109
  "@tanstack/vue-query": "5.92.12",
3970
4110
  "@mdi/js": "^7.4.47",
3971
- "@jskit-ai/console-web": "0.1.4",
3972
- "@jskit-ai/http-runtime": "0.1.36",
3973
- "@jskit-ai/realtime": "0.1.36",
3974
- "@jskit-ai/kernel": "0.1.37",
3975
- "@jskit-ai/shell-web": "0.1.36",
3976
- "@jskit-ai/uploads-image-web": "0.1.15",
3977
- "@jskit-ai/users-core": "0.1.47",
4111
+ "@jskit-ai/http-runtime": "0.1.37",
4112
+ "@jskit-ai/realtime": "0.1.37",
4113
+ "@jskit-ai/kernel": "0.1.38",
4114
+ "@jskit-ai/shell-web": "0.1.37",
4115
+ "@jskit-ai/uploads-image-web": "0.1.16",
4116
+ "@jskit-ai/users-core": "0.1.48",
3978
4117
  "vuetify": "^4.0.0"
3979
4118
  },
3980
4119
  "dev": {}
@@ -4029,22 +4168,6 @@
4029
4168
  "reason": "Install app-owned account settings invites section scaffold.",
4030
4169
  "category": "users-web",
4031
4170
  "id": "users-web-component-account-settings-invites"
4032
- },
4033
- {
4034
- "from": "templates/src/pages/console/settings.vue",
4035
- "toSurface": "console",
4036
- "toSurfacePath": "settings.vue",
4037
- "reason": "Install console settings shell route scaffold for users-web console UI.",
4038
- "category": "users-web",
4039
- "id": "users-web-page-console-settings-shell"
4040
- },
4041
- {
4042
- "from": "templates/src/pages/console/settings/index.vue",
4043
- "toSurface": "console",
4044
- "toSurfacePath": "settings/index.vue",
4045
- "reason": "Install console settings index stub scaffold for app-owned landing or redirect behavior.",
4046
- "category": "users-web",
4047
- "id": "users-web-page-console-settings"
4048
4171
  }
4049
4172
  ],
4050
4173
  "text": [
@@ -4078,16 +4201,6 @@
4078
4201
  "category": "users-web",
4079
4202
  "id": "users-web-profile-settings-placement"
4080
4203
  },
4081
- {
4082
- "op": "append-text",
4083
- "file": "src/placement.js",
4084
- "position": "bottom",
4085
- "skipIfContains": "id: \"users.console.menu.settings\"",
4086
- "value": "\naddPlacement({\n id: \"users.console.menu.settings\",\n target: \"shell-layout:primary-menu\",\n surfaces: [\"console\"],\n order: 100,\n componentToken: \"local.main.ui.menu-link-item\",\n props: {\n label: \"Settings\",\n to: \"/console/settings\",\n icon: \"mdi-cog-outline\"\n },\n when: ({ auth }) => Boolean(auth?.authenticated)\n});\n",
4087
- "reason": "Append users-web console settings menu placement into app-owned placement registry.",
4088
- "category": "users-web",
4089
- "id": "users-web-console-settings-placement"
4090
- },
4091
4204
  {
4092
4205
  "op": "append-text",
4093
4206
  "file": "src/placement.js",
@@ -4104,11 +4217,11 @@
4104
4217
  },
4105
4218
  {
4106
4219
  "packageId": "@jskit-ai/workspaces-core",
4107
- "version": "0.1.13",
4220
+ "version": "0.1.14",
4108
4221
  "descriptor": {
4109
4222
  "packageVersion": 1,
4110
4223
  "packageId": "@jskit-ai/workspaces-core",
4111
- "version": "0.1.13",
4224
+ "version": "0.1.14",
4112
4225
  "kind": "runtime",
4113
4226
  "description": "Workspace tenancy runtime plus HTTP routes, role catalog, and workspace config scaffolding.",
4114
4227
  "dependsOn": [
@@ -4217,7 +4330,7 @@
4217
4330
  "mutations": {
4218
4331
  "dependencies": {
4219
4332
  "runtime": {
4220
- "@jskit-ai/users-core": "0.1.47"
4333
+ "@jskit-ai/users-core": "0.1.48"
4221
4334
  },
4222
4335
  "dev": {}
4223
4336
  },
@@ -4407,11 +4520,11 @@
4407
4520
  },
4408
4521
  {
4409
4522
  "packageId": "@jskit-ai/workspaces-web",
4410
- "version": "0.1.13",
4523
+ "version": "0.1.14",
4411
4524
  "descriptor": {
4412
4525
  "packageVersion": 1,
4413
4526
  "packageId": "@jskit-ai/workspaces-web",
4414
- "version": "0.1.13",
4527
+ "version": "0.1.14",
4415
4528
  "kind": "runtime",
4416
4529
  "description": "Workspace web module: workspace selector, tools widget, workspace surfaces, and members/settings UI.",
4417
4530
  "dependsOn": [
@@ -4531,8 +4644,8 @@
4531
4644
  "mutations": {
4532
4645
  "dependencies": {
4533
4646
  "runtime": {
4534
- "@jskit-ai/workspaces-core": "0.1.13",
4535
- "@jskit-ai/users-web": "0.1.52"
4647
+ "@jskit-ai/workspaces-core": "0.1.14",
4648
+ "@jskit-ai/users-web": "0.1.53"
4536
4649
  },
4537
4650
  "dev": {}
4538
4651
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/jskit-catalog",
3
- "version": "0.1.45",
3
+ "version": "0.1.46",
4
4
  "description": "Published metadata catalog for JSKIT package descriptors.",
5
5
  "type": "module",
6
6
  "files": [