@jskit-ai/jskit-catalog 0.1.292 → 0.1.293

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 +465 -222
  2. package/package.json +1 -1
@@ -5,49 +5,51 @@
5
5
  },
6
6
  "release": {
7
7
  "packages": {
8
- "@jskit-ai/agent-docs": "0.1.239",
9
- "@jskit-ai/assistant-core": "0.1.238",
10
- "@jskit-ai/assistant-runtime": "0.1.232",
11
- "@jskit-ai/assistant-voice": "0.1.39",
12
- "@jskit-ai/assistant-voice-sherpa": "0.1.39",
13
- "@jskit-ai/auth-core": "0.1.242",
14
- "@jskit-ai/auth-provider-local-core": "0.1.145",
15
- "@jskit-ai/auth-provider-local-db-core": "0.1.136",
16
- "@jskit-ai/auth-provider-supabase-core": "0.1.241",
17
- "@jskit-ai/auth-web": "0.1.245",
8
+ "@jskit-ai/agent-docs": "0.1.240",
9
+ "@jskit-ai/assistant-core": "0.1.239",
10
+ "@jskit-ai/assistant-runtime": "0.1.233",
11
+ "@jskit-ai/assistant-voice": "0.1.40",
12
+ "@jskit-ai/assistant-voice-sherpa": "0.1.40",
13
+ "@jskit-ai/auth-core": "0.1.243",
14
+ "@jskit-ai/auth-provider-local-core": "0.1.146",
15
+ "@jskit-ai/auth-provider-local-db-core": "0.1.137",
16
+ "@jskit-ai/auth-provider-oidc-core": "0.1.0",
17
+ "@jskit-ai/auth-provider-supabase-core": "0.1.242",
18
+ "@jskit-ai/auth-web": "0.1.246",
18
19
  "@jskit-ai/config-eslint": "0.1.241",
19
- "@jskit-ai/connector-google-calendar": "0.1.61",
20
- "@jskit-ai/connectors-catalog": "0.1.62",
21
- "@jskit-ai/connectors-core": "0.1.61",
22
- "@jskit-ai/connectors-web": "0.1.61",
23
- "@jskit-ai/console-core": "0.1.207",
24
- "@jskit-ai/console-web": "0.1.213",
25
- "@jskit-ai/crud-core": "0.1.255",
26
- "@jskit-ai/database-runtime": "0.1.244",
27
- "@jskit-ai/database-runtime-mysql": "0.1.242",
28
- "@jskit-ai/database-runtime-postgres": "0.1.241",
29
- "@jskit-ai/http-runtime": "0.1.242",
30
- "@jskit-ai/http-web": "0.1.90",
31
- "@jskit-ai/jskit-catalog": "0.1.292",
32
- "@jskit-ai/json-rest-api-core": "0.1.188",
33
- "@jskit-ai/kernel": "0.1.244",
34
- "@jskit-ai/mobile-capacitor": "0.1.180",
20
+ "@jskit-ai/connector-google-calendar": "0.1.62",
21
+ "@jskit-ai/connectors-catalog": "0.1.63",
22
+ "@jskit-ai/connectors-core": "0.1.62",
23
+ "@jskit-ai/connectors-web": "0.1.62",
24
+ "@jskit-ai/console-core": "0.1.208",
25
+ "@jskit-ai/console-web": "0.1.214",
26
+ "@jskit-ai/crud-core": "0.1.256",
27
+ "@jskit-ai/database-runtime": "0.1.245",
28
+ "@jskit-ai/database-runtime-mysql": "0.1.243",
29
+ "@jskit-ai/database-runtime-postgres": "0.1.242",
30
+ "@jskit-ai/http-runtime": "0.1.243",
31
+ "@jskit-ai/http-web": "0.1.91",
32
+ "@jskit-ai/jskit-catalog": "0.1.293",
33
+ "@jskit-ai/json-rest-api-core": "0.1.189",
34
+ "@jskit-ai/kernel": "0.1.245",
35
+ "@jskit-ai/mobile-capacitor": "0.1.181",
36
+ "@jskit-ai/oidc-issuer-core": "0.1.0",
35
37
  "@jskit-ai/payments-core": "0.1.61",
36
38
  "@jskit-ai/payments-web": "0.1.61",
37
- "@jskit-ai/realtime": "0.1.242",
39
+ "@jskit-ai/realtime": "0.1.243",
38
40
  "@jskit-ai/release": "0.1.4",
39
- "@jskit-ai/resource-core": "0.1.186",
40
- "@jskit-ai/resource-crud-core": "0.1.186",
41
- "@jskit-ai/rewarded-core": "0.1.180",
42
- "@jskit-ai/rewarded-web": "0.1.181",
43
- "@jskit-ai/shell-web": "0.1.249",
44
- "@jskit-ai/storage-runtime": "0.1.241",
45
- "@jskit-ai/uploads-image-web": "0.1.219",
46
- "@jskit-ai/uploads-runtime": "0.1.219",
47
- "@jskit-ai/users-core": "0.1.257",
48
- "@jskit-ai/users-web": "0.1.263",
49
- "@jskit-ai/workspaces-core": "0.1.222",
50
- "@jskit-ai/workspaces-web": "0.1.224"
41
+ "@jskit-ai/resource-core": "0.1.187",
42
+ "@jskit-ai/resource-crud-core": "0.1.187",
43
+ "@jskit-ai/rewarded-core": "0.1.181",
44
+ "@jskit-ai/rewarded-web": "0.1.182",
45
+ "@jskit-ai/shell-web": "0.1.250",
46
+ "@jskit-ai/storage-runtime": "0.1.242",
47
+ "@jskit-ai/uploads-image-web": "0.1.220",
48
+ "@jskit-ai/uploads-runtime": "0.1.220",
49
+ "@jskit-ai/users-core": "0.1.258",
50
+ "@jskit-ai/users-web": "0.1.264",
51
+ "@jskit-ai/workspaces-core": "0.1.223",
52
+ "@jskit-ai/workspaces-web": "0.1.225"
51
53
  },
52
54
  "singletonPackages": [
53
55
  "@jskit-ai/assistant-runtime",
@@ -67,7 +69,7 @@
67
69
  "packages": [
68
70
  {
69
71
  "packageId": "@jskit-ai/assistant-core",
70
- "version": "0.1.238",
72
+ "version": "0.1.239",
71
73
  "description": "Reusable assistant client/server/shared primitives without surface-specific routes or settings ownership.",
72
74
  "jskit": {
73
75
  "kind": "runtime",
@@ -221,8 +223,8 @@
221
223
  "@ai-sdk/perplexity": "^4.0.43",
222
224
  "@ai-sdk/togetherai": "^3.0.49",
223
225
  "@ai-sdk/xai": "^4.0.58",
224
- "@jskit-ai/resource-core": "0.1.186",
225
- "@jskit-ai/resource-crud-core": "0.1.186",
226
+ "@jskit-ai/resource-core": "0.1.187",
227
+ "@jskit-ai/resource-crud-core": "0.1.187",
226
228
  "@mdi/js": "^7.4.47",
227
229
  "@openrouter/ai-sdk-provider": "^3.0.0",
228
230
  "ai": "^7.0.101",
@@ -231,8 +233,8 @@
231
233
  "ws": "^8.20.1"
232
234
  },
233
235
  "peerDependencies": {
234
- "@jskit-ai/http-runtime": "0.1.242",
235
- "@jskit-ai/kernel": "0.1.244",
236
+ "@jskit-ai/http-runtime": "0.1.243",
237
+ "@jskit-ai/kernel": "0.1.245",
236
238
  "vue": "^3.5.13",
237
239
  "vuetify": "^4.0.0"
238
240
  }
@@ -240,7 +242,7 @@
240
242
  },
241
243
  {
242
244
  "packageId": "@jskit-ai/assistant-runtime",
243
- "version": "0.1.232",
245
+ "version": "0.1.233",
244
246
  "description": "Capability-based assistant runtime with per-surface chat, transcripts, settings, and action tools.",
245
247
  "jskit": {
246
248
  "kind": "runtime",
@@ -329,25 +331,25 @@
329
331
  },
330
332
  "packageJson": {
331
333
  "dependencies": {
332
- "@jskit-ai/assistant-core": "0.1.238",
334
+ "@jskit-ai/assistant-core": "0.1.239",
333
335
  "json-rest-schema": "^1.0.17"
334
336
  },
335
337
  "peerDependencies": {
336
- "@jskit-ai/http-runtime": "0.1.242",
337
- "@jskit-ai/http-web": "0.1.90",
338
- "@jskit-ai/kernel": "0.1.244",
339
- "@jskit-ai/realtime": "0.1.242",
340
- "@jskit-ai/shell-web": "0.1.249",
338
+ "@jskit-ai/http-runtime": "0.1.243",
339
+ "@jskit-ai/http-web": "0.1.91",
340
+ "@jskit-ai/kernel": "0.1.245",
341
+ "@jskit-ai/realtime": "0.1.243",
342
+ "@jskit-ai/shell-web": "0.1.250",
341
343
  "@tanstack/vue-query": "^5.90.5",
342
344
  "vue": "^3.5.13",
343
345
  "vuetify": "^4.0.0",
344
- "@jskit-ai/database-runtime": "0.1.244"
346
+ "@jskit-ai/database-runtime": "0.1.245"
345
347
  }
346
348
  }
347
349
  },
348
350
  {
349
351
  "packageId": "@jskit-ai/assistant-voice",
350
- "version": "0.1.39",
352
+ "version": "0.1.40",
351
353
  "description": "Duplex voice conversations with application-owned targets, authorization and speech services.",
352
354
  "jskit": {
353
355
  "kind": "runtime",
@@ -389,7 +391,7 @@
389
391
  },
390
392
  "packageJson": {
391
393
  "dependencies": {
392
- "@jskit-ai/assistant-core": "0.1.238",
394
+ "@jskit-ai/assistant-core": "0.1.239",
393
395
  "@mdi/js": "^7.4.47",
394
396
  "ws": "^8.20.1"
395
397
  },
@@ -401,7 +403,7 @@
401
403
  },
402
404
  {
403
405
  "packageId": "@jskit-ai/assistant-voice-sherpa",
404
- "version": "0.1.39",
406
+ "version": "0.1.40",
405
407
  "description": "Optional native Sherpa speech engine and explicit model preparation for assistant voice.",
406
408
  "jskit": {
407
409
  "kind": "runtime",
@@ -439,14 +441,14 @@
439
441
  },
440
442
  "packageJson": {
441
443
  "dependencies": {
442
- "@jskit-ai/assistant-voice": "0.1.39",
444
+ "@jskit-ai/assistant-voice": "0.1.40",
443
445
  "sherpa-onnx-node": "1.13.6"
444
446
  }
445
447
  }
446
448
  },
447
449
  {
448
450
  "packageId": "@jskit-ai/auth-core",
449
- "version": "0.1.242",
451
+ "version": "0.1.243",
450
452
  "jskit": {
451
453
  "kind": "runtime",
452
454
  "capabilities": {
@@ -526,13 +528,13 @@
526
528
  "json-rest-schema": "^1.0.17"
527
529
  },
528
530
  "peerDependencies": {
529
- "@jskit-ai/kernel": "0.1.244"
531
+ "@jskit-ai/kernel": "0.1.245"
530
532
  }
531
533
  }
532
534
  },
533
535
  {
534
536
  "packageId": "@jskit-ai/auth-provider-local-core",
535
- "version": "0.1.145",
537
+ "version": "0.1.146",
536
538
  "description": "Local auth provider with a file backend default and no database requirement.",
537
539
  "jskit": {
538
540
  "kind": "runtime",
@@ -582,14 +584,14 @@
582
584
  },
583
585
  "packageJson": {
584
586
  "peerDependencies": {
585
- "@jskit-ai/auth-core": "0.1.242",
586
- "@jskit-ai/kernel": "0.1.244"
587
+ "@jskit-ai/auth-core": "0.1.243",
588
+ "@jskit-ai/kernel": "0.1.245"
587
589
  }
588
590
  }
589
591
  },
590
592
  {
591
593
  "packageId": "@jskit-ai/auth-provider-local-db-core",
592
- "version": "0.1.136",
594
+ "version": "0.1.137",
593
595
  "description": "Database-backed local auth storage backend for JSKIT local auth.",
594
596
  "jskit": {
595
597
  "kind": "runtime",
@@ -652,14 +654,95 @@
652
654
  },
653
655
  "packageJson": {
654
656
  "dependencies": {
655
- "@jskit-ai/auth-provider-local-core": "0.1.145",
656
- "@jskit-ai/database-runtime": "0.1.244"
657
+ "@jskit-ai/auth-provider-local-core": "0.1.146",
658
+ "@jskit-ai/database-runtime": "0.1.245"
659
+ }
660
+ }
661
+ },
662
+ {
663
+ "packageId": "@jskit-ai/auth-provider-oidc-core",
664
+ "version": "0.1.0",
665
+ "description": "Sign in through any OpenID Connect issuer: self-registration or a static client, app-owned sessions, and back-channel logout.",
666
+ "jskit": {
667
+ "kind": "runtime",
668
+ "capabilities": {
669
+ "provides": [
670
+ "auth.service"
671
+ ],
672
+ "requires": [
673
+ "auth.extensions",
674
+ "runtime.app-root",
675
+ "runtime.database",
676
+ "runtime.env",
677
+ "runtime.fastify",
678
+ "runtime.logger"
679
+ ]
680
+ },
681
+ "runtime": {
682
+ "server": {
683
+ "providers": [
684
+ {
685
+ "entrypoint": "src/server/providers/AuthOidcProvider.js",
686
+ "export": "AuthOidcProvider"
687
+ }
688
+ ]
689
+ }
690
+ },
691
+ "metadata": {
692
+ "jskit": {
693
+ "tableOwnership": {
694
+ "tables": [
695
+ {
696
+ "tableName": "auth_oidc_clients"
697
+ },
698
+ {
699
+ "tableName": "auth_oidc_sessions"
700
+ },
701
+ {
702
+ "tableName": "auth_oidc_logout_tokens"
703
+ }
704
+ ]
705
+ }
706
+ },
707
+ "apiSummary": {
708
+ "surfaces": [
709
+ {
710
+ "subpath": "./server/providers/AuthOidcProvider",
711
+ "summary": "Provides the OpenID Connect sign-in service and its back-channel and everywhere-logout routes."
712
+ },
713
+ {
714
+ "subpath": "./server/lib/index",
715
+ "summary": "Exports the OIDC auth service factory, configuration reader, and the local-account export and adopt commands."
716
+ },
717
+ {
718
+ "subpath": "./shared",
719
+ "summary": "Exports the provider id, redirect path and route paths apps and issuers register."
720
+ }
721
+ ],
722
+ "capability": "auth.service"
723
+ }
724
+ },
725
+ "migrations": {
726
+ "directories": [
727
+ "migrations"
728
+ ]
729
+ }
730
+ },
731
+ "packageJson": {
732
+ "dependencies": {
733
+ "jose": "6.2.12",
734
+ "knex": "^3.1.0",
735
+ "openid-client": "6.8.8"
736
+ },
737
+ "peerDependencies": {
738
+ "@jskit-ai/auth-core": "0.1.243",
739
+ "@jskit-ai/kernel": "0.1.245"
657
740
  }
658
741
  }
659
742
  },
660
743
  {
661
744
  "packageId": "@jskit-ai/auth-provider-supabase-core",
662
- "version": "0.1.241",
745
+ "version": "0.1.242",
663
746
  "jskit": {
664
747
  "kind": "runtime",
665
748
  "capabilities": {
@@ -710,14 +793,14 @@
710
793
  "ws": "^8.21.1"
711
794
  },
712
795
  "peerDependencies": {
713
- "@jskit-ai/auth-core": "0.1.242",
714
- "@jskit-ai/kernel": "0.1.244"
796
+ "@jskit-ai/auth-core": "0.1.243",
797
+ "@jskit-ai/kernel": "0.1.245"
715
798
  }
716
799
  }
717
800
  },
718
801
  {
719
802
  "packageId": "@jskit-ai/auth-web",
720
- "version": "0.1.245",
803
+ "version": "0.1.246",
721
804
  "description": "Auth web module: Fastify auth routes plus web login/sign-out scaffolds.",
722
805
  "jskit": {
723
806
  "kind": "runtime",
@@ -984,10 +1067,10 @@
984
1067
  "@mdi/js": "^7.4.47"
985
1068
  },
986
1069
  "peerDependencies": {
987
- "@jskit-ai/auth-core": "0.1.242",
988
- "@jskit-ai/http-runtime": "0.1.242",
989
- "@jskit-ai/kernel": "0.1.244",
990
- "@jskit-ai/shell-web": "0.1.249",
1070
+ "@jskit-ai/auth-core": "0.1.243",
1071
+ "@jskit-ai/http-runtime": "0.1.243",
1072
+ "@jskit-ai/kernel": "0.1.245",
1073
+ "@jskit-ai/shell-web": "0.1.250",
991
1074
  "@tanstack/vue-query": "^5.90.5",
992
1075
  "pinia": "^4.0.3",
993
1076
  "vue": "^3.5.44",
@@ -998,7 +1081,7 @@
998
1081
  },
999
1082
  {
1000
1083
  "packageId": "@jskit-ai/connector-google-calendar",
1001
- "version": "0.1.61",
1084
+ "version": "0.1.62",
1002
1085
  "description": "Google Calendar account configuration and event operations for JSKIT connectors.",
1003
1086
  "jskit": {
1004
1087
  "kind": "runtime",
@@ -1017,17 +1100,17 @@
1017
1100
  },
1018
1101
  "packageJson": {
1019
1102
  "dependencies": {
1020
- "@jskit-ai/connectors-core": "0.1.61",
1103
+ "@jskit-ai/connectors-core": "0.1.62",
1021
1104
  "json-rest-schema": "^1.0.17"
1022
1105
  },
1023
1106
  "peerDependencies": {
1024
- "@jskit-ai/kernel": "0.1.244"
1107
+ "@jskit-ai/kernel": "0.1.245"
1025
1108
  }
1026
1109
  }
1027
1110
  },
1028
1111
  {
1029
1112
  "packageId": "@jskit-ai/connectors-catalog",
1030
- "version": "0.1.62",
1113
+ "version": "0.1.63",
1031
1114
  "description": "Provider definitions and focused API operations for JSKIT connectors.",
1032
1115
  "jskit": {
1033
1116
  "kind": "runtime",
@@ -1050,20 +1133,20 @@
1050
1133
  "@aws-sdk/client-redshift-data": "3.1128.0",
1051
1134
  "@aws-sdk/client-s3": "3.1128.0",
1052
1135
  "@aws-sdk/s3-request-presigner": "3.1128.0",
1053
- "@jskit-ai/connectors-core": "0.1.61",
1136
+ "@jskit-ai/connectors-core": "0.1.62",
1054
1137
  "@modelcontextprotocol/sdk": "1.32.1",
1055
1138
  "@smithy/fetch-http-handler": "5.8.0",
1056
1139
  "jose": "^6.1.3",
1057
1140
  "json-rest-schema": "^1.0.17"
1058
1141
  },
1059
1142
  "peerDependencies": {
1060
- "@jskit-ai/kernel": "0.1.244"
1143
+ "@jskit-ai/kernel": "0.1.245"
1061
1144
  }
1062
1145
  }
1063
1146
  },
1064
1147
  {
1065
1148
  "packageId": "@jskit-ai/connectors-core",
1066
- "version": "0.1.61",
1149
+ "version": "0.1.62",
1067
1150
  "description": "Portable integration configuration and server-side account connection runtime.",
1068
1151
  "jskit": {
1069
1152
  "kind": "runtime",
@@ -1107,15 +1190,15 @@
1107
1190
  "proper-lockfile": "4.1.2"
1108
1191
  },
1109
1192
  "peerDependencies": {
1110
- "@jskit-ai/database-runtime": "0.1.244",
1111
- "@jskit-ai/http-runtime": "0.1.242",
1112
- "@jskit-ai/kernel": "0.1.244"
1193
+ "@jskit-ai/database-runtime": "0.1.245",
1194
+ "@jskit-ai/http-runtime": "0.1.243",
1195
+ "@jskit-ai/kernel": "0.1.245"
1113
1196
  }
1114
1197
  }
1115
1198
  },
1116
1199
  {
1117
1200
  "packageId": "@jskit-ai/connectors-web",
1118
- "version": "0.1.61",
1201
+ "version": "0.1.62",
1119
1202
  "description": "Shared Vue fields for portable application integration configuration.",
1120
1203
  "jskit": {
1121
1204
  "kind": "runtime",
@@ -1134,7 +1217,7 @@
1134
1217
  },
1135
1218
  "packageJson": {
1136
1219
  "dependencies": {
1137
- "@jskit-ai/connectors-core": "0.1.61"
1220
+ "@jskit-ai/connectors-core": "0.1.62"
1138
1221
  },
1139
1222
  "peerDependencies": {
1140
1223
  "vue": "^3.5.13",
@@ -1144,7 +1227,7 @@
1144
1227
  },
1145
1228
  {
1146
1229
  "packageId": "@jskit-ai/console-core",
1147
- "version": "0.1.207",
1230
+ "version": "0.1.208",
1148
1231
  "description": "Console runtime: console settings schema, bootstrap flags, actions, and HTTP routes.",
1149
1232
  "jskit": {
1150
1233
  "kind": "runtime",
@@ -1225,21 +1308,21 @@
1225
1308
  },
1226
1309
  "packageJson": {
1227
1310
  "dependencies": {
1228
- "@jskit-ai/database-runtime": "0.1.244",
1229
- "@jskit-ai/resource-crud-core": "0.1.186",
1230
- "@jskit-ai/users-core": "0.1.257",
1311
+ "@jskit-ai/database-runtime": "0.1.245",
1312
+ "@jskit-ai/resource-crud-core": "0.1.187",
1313
+ "@jskit-ai/users-core": "0.1.258",
1231
1314
  "json-rest-schema": "^1.0.17"
1232
1315
  },
1233
1316
  "peerDependencies": {
1234
- "@jskit-ai/auth-core": "0.1.242",
1235
- "@jskit-ai/http-runtime": "0.1.242",
1236
- "@jskit-ai/kernel": "0.1.244"
1317
+ "@jskit-ai/auth-core": "0.1.243",
1318
+ "@jskit-ai/http-runtime": "0.1.243",
1319
+ "@jskit-ai/kernel": "0.1.245"
1237
1320
  }
1238
1321
  }
1239
1322
  },
1240
1323
  {
1241
1324
  "packageId": "@jskit-ai/console-web",
1242
- "version": "0.1.213",
1325
+ "version": "0.1.214",
1243
1326
  "description": "Authenticated console surface scaffold and surface policy wiring.",
1244
1327
  "jskit": {
1245
1328
  "kind": "runtime",
@@ -1341,17 +1424,17 @@
1341
1424
  },
1342
1425
  "packageJson": {
1343
1426
  "dependencies": {
1344
- "@jskit-ai/console-core": "0.1.207"
1427
+ "@jskit-ai/console-core": "0.1.208"
1345
1428
  },
1346
1429
  "peerDependencies": {
1347
- "@jskit-ai/auth-web": "0.1.245",
1348
- "@jskit-ai/shell-web": "0.1.249"
1430
+ "@jskit-ai/auth-web": "0.1.246",
1431
+ "@jskit-ai/shell-web": "0.1.250"
1349
1432
  }
1350
1433
  }
1351
1434
  },
1352
1435
  {
1353
1436
  "packageId": "@jskit-ai/crud-core",
1354
- "version": "0.1.255",
1437
+ "version": "0.1.256",
1355
1438
  "description": "Shared server-side CRUD service, repository, route, and query helpers.",
1356
1439
  "jskit": {
1357
1440
  "kind": "runtime",
@@ -1370,21 +1453,21 @@
1370
1453
  },
1371
1454
  "packageJson": {
1372
1455
  "dependencies": {
1373
- "@jskit-ai/database-runtime": "0.1.244",
1374
- "@jskit-ai/json-rest-api-core": "0.1.188",
1375
- "@jskit-ai/resource-crud-core": "0.1.186",
1456
+ "@jskit-ai/database-runtime": "0.1.245",
1457
+ "@jskit-ai/json-rest-api-core": "0.1.189",
1458
+ "@jskit-ai/resource-crud-core": "0.1.187",
1376
1459
  "json-rest-schema": "^1.0.17",
1377
1460
  "json-rest-api": "2.0.0"
1378
1461
  },
1379
1462
  "peerDependencies": {
1380
- "@jskit-ai/http-runtime": "0.1.242",
1381
- "@jskit-ai/kernel": "0.1.244"
1463
+ "@jskit-ai/http-runtime": "0.1.243",
1464
+ "@jskit-ai/kernel": "0.1.245"
1382
1465
  }
1383
1466
  }
1384
1467
  },
1385
1468
  {
1386
1469
  "packageId": "@jskit-ai/database-runtime",
1387
- "version": "0.1.244",
1470
+ "version": "0.1.245",
1388
1471
  "jskit": {
1389
1472
  "kind": "runtime",
1390
1473
  "capabilities": {
@@ -1440,13 +1523,13 @@
1440
1523
  "knex": "^3.1.0"
1441
1524
  },
1442
1525
  "peerDependencies": {
1443
- "@jskit-ai/kernel": "0.1.244"
1526
+ "@jskit-ai/kernel": "0.1.245"
1444
1527
  }
1445
1528
  }
1446
1529
  },
1447
1530
  {
1448
1531
  "packageId": "@jskit-ai/database-runtime-mysql",
1449
- "version": "0.1.242",
1532
+ "version": "0.1.243",
1450
1533
  "jskit": {
1451
1534
  "kind": "runtime",
1452
1535
  "capabilities": {
@@ -1489,17 +1572,17 @@
1489
1572
  },
1490
1573
  "packageJson": {
1491
1574
  "dependencies": {
1492
- "@jskit-ai/database-runtime": "0.1.244",
1575
+ "@jskit-ai/database-runtime": "0.1.245",
1493
1576
  "mysql2": "^3.11.2"
1494
1577
  },
1495
1578
  "peerDependencies": {
1496
- "@jskit-ai/kernel": "0.1.244"
1579
+ "@jskit-ai/kernel": "0.1.245"
1497
1580
  }
1498
1581
  }
1499
1582
  },
1500
1583
  {
1501
1584
  "packageId": "@jskit-ai/database-runtime-postgres",
1502
- "version": "0.1.241",
1585
+ "version": "0.1.242",
1503
1586
  "jskit": {
1504
1587
  "kind": "runtime",
1505
1588
  "capabilities": {
@@ -1542,14 +1625,14 @@
1542
1625
  },
1543
1626
  "packageJson": {
1544
1627
  "dependencies": {
1545
- "@jskit-ai/database-runtime": "0.1.244",
1628
+ "@jskit-ai/database-runtime": "0.1.245",
1546
1629
  "pg": "^8.13.1"
1547
1630
  }
1548
1631
  }
1549
1632
  },
1550
1633
  {
1551
1634
  "packageId": "@jskit-ai/http-runtime",
1552
- "version": "0.1.242",
1635
+ "version": "0.1.243",
1553
1636
  "jskit": {
1554
1637
  "kind": "runtime",
1555
1638
  "capabilities": {
@@ -1612,13 +1695,13 @@
1612
1695
  "json-rest-schema": "^1.0.17"
1613
1696
  },
1614
1697
  "peerDependencies": {
1615
- "@jskit-ai/kernel": "0.1.244"
1698
+ "@jskit-ai/kernel": "0.1.245"
1616
1699
  }
1617
1700
  }
1618
1701
  },
1619
1702
  {
1620
1703
  "packageId": "@jskit-ai/http-web",
1621
- "version": "0.1.90",
1704
+ "version": "0.1.91",
1622
1705
  "description": "Neutral Vue request, command, resource, and CRUD UI runtime for JSKIT web applications.",
1623
1706
  "jskit": {
1624
1707
  "kind": "runtime",
@@ -1688,14 +1771,14 @@
1688
1771
  },
1689
1772
  "packageJson": {
1690
1773
  "dependencies": {
1691
- "@jskit-ai/resource-crud-core": "0.1.186",
1774
+ "@jskit-ai/resource-crud-core": "0.1.187",
1692
1775
  "@mdi/js": "^7.4.47"
1693
1776
  },
1694
1777
  "peerDependencies": {
1695
- "@jskit-ai/http-runtime": "0.1.242",
1696
- "@jskit-ai/kernel": "0.1.244",
1697
- "@jskit-ai/realtime": "0.1.242",
1698
- "@jskit-ai/shell-web": "0.1.249",
1778
+ "@jskit-ai/http-runtime": "0.1.243",
1779
+ "@jskit-ai/kernel": "0.1.245",
1780
+ "@jskit-ai/realtime": "0.1.243",
1781
+ "@jskit-ai/shell-web": "0.1.250",
1699
1782
  "@tanstack/vue-query": "^5.90.5",
1700
1783
  "vue": "^3.5.13",
1701
1784
  "vue-router": "^5.0.4",
@@ -1705,7 +1788,7 @@
1705
1788
  },
1706
1789
  {
1707
1790
  "packageId": "@jskit-ai/json-rest-api-core",
1708
- "version": "0.1.188",
1791
+ "version": "0.1.189",
1709
1792
  "description": "Shared internal json-rest-api host runtime with autofilter, query-projection, and row-policy support.",
1710
1793
  "jskit": {
1711
1794
  "kind": "runtime",
@@ -1743,18 +1826,18 @@
1743
1826
  },
1744
1827
  "packageJson": {
1745
1828
  "dependencies": {
1746
- "@jskit-ai/database-runtime": "0.1.244",
1747
- "@jskit-ai/resource-crud-core": "0.1.186",
1829
+ "@jskit-ai/database-runtime": "0.1.245",
1830
+ "@jskit-ai/resource-crud-core": "0.1.187",
1748
1831
  "json-rest-api": "2.0.0"
1749
1832
  },
1750
1833
  "peerDependencies": {
1751
- "@jskit-ai/kernel": "0.1.244"
1834
+ "@jskit-ai/kernel": "0.1.245"
1752
1835
  }
1753
1836
  }
1754
1837
  },
1755
1838
  {
1756
1839
  "packageId": "@jskit-ai/mobile-capacitor",
1757
- "version": "0.1.180",
1840
+ "version": "0.1.181",
1758
1841
  "description": "Thin Capacitor client integration for JSKIT mobile-shell launch routing and auth callback completion.",
1759
1842
  "jskit": {
1760
1843
  "kind": "runtime",
@@ -1801,12 +1884,114 @@
1801
1884
  },
1802
1885
  "packageJson": {
1803
1886
  "dependencies": {
1804
- "@capacitor/browser": "^7.0.1",
1805
- "@capacitor/core": "^7.4.3"
1887
+ "@capacitor/browser": "^8.0.5",
1888
+ "@capacitor/core": "^8.5.3"
1806
1889
  },
1807
1890
  "peerDependencies": {
1808
- "@jskit-ai/kernel": "0.1.244",
1809
- "@jskit-ai/shell-web": "0.1.249"
1891
+ "@jskit-ai/kernel": "0.1.245",
1892
+ "@jskit-ai/shell-web": "0.1.250"
1893
+ }
1894
+ }
1895
+ },
1896
+ {
1897
+ "packageId": "@jskit-ai/oidc-issuer-core",
1898
+ "version": "0.1.0",
1899
+ "description": "OpenID Connect accounts hub: one sign-in for all of an owner's apps, with approval of every production app.",
1900
+ "jskit": {
1901
+ "kind": "runtime",
1902
+ "capabilities": {
1903
+ "provides": [
1904
+ "auth.oidc-issuer"
1905
+ ],
1906
+ "requires": [
1907
+ "runtime.app-root",
1908
+ "runtime.database",
1909
+ "runtime.env",
1910
+ "runtime.fastify",
1911
+ "runtime.logger"
1912
+ ]
1913
+ },
1914
+ "runtime": {
1915
+ "server": {
1916
+ "providers": [
1917
+ {
1918
+ "entrypoint": "src/server/providers/OidcIssuerProvider.js",
1919
+ "export": "OidcIssuerProvider"
1920
+ }
1921
+ ]
1922
+ },
1923
+ "client": {
1924
+ "providers": []
1925
+ }
1926
+ },
1927
+ "metadata": {
1928
+ "jskit": {
1929
+ "tableOwnership": {
1930
+ "tables": [
1931
+ {
1932
+ "tableName": "oidc_issuer_accounts"
1933
+ },
1934
+ {
1935
+ "tableName": "oidc_issuer_models"
1936
+ },
1937
+ {
1938
+ "tableName": "oidc_issuer_clients"
1939
+ },
1940
+ {
1941
+ "tableName": "oidc_issuer_signing_keys"
1942
+ },
1943
+ {
1944
+ "tableName": "oidc_issuer_email_tokens"
1945
+ },
1946
+ {
1947
+ "tableName": "oidc_issuer_rate_limits"
1948
+ }
1949
+ ]
1950
+ }
1951
+ },
1952
+ "apiSummary": {
1953
+ "surfaces": [
1954
+ {
1955
+ "subpath": "./server",
1956
+ "summary": "Exports createOidcIssuer, the account import and key rotation commands, and the shared scrypt password helpers."
1957
+ },
1958
+ {
1959
+ "subpath": "./server/providers/OidcIssuerProvider",
1960
+ "summary": "Mounts the accounts hub (OpenID Connect issuer, hub API and Google sign-in) on the application's Fastify server."
1961
+ }
1962
+ ],
1963
+ "capability": "auth.oidc-issuer"
1964
+ }
1965
+ },
1966
+ "migrations": {
1967
+ "directories": [
1968
+ "migrations"
1969
+ ]
1970
+ },
1971
+ "vite": {
1972
+ "proxy": {
1973
+ "/.well-known": {
1974
+ "changeOrigin": true
1975
+ },
1976
+ "/hub": {
1977
+ "changeOrigin": true
1978
+ },
1979
+ "/oidc": {
1980
+ "changeOrigin": true
1981
+ }
1982
+ }
1983
+ }
1984
+ },
1985
+ "packageJson": {
1986
+ "dependencies": {
1987
+ "@jskit-ai/database-runtime": "0.1.245",
1988
+ "jose": "6.2.12",
1989
+ "knex": "^3.1.0",
1990
+ "nodemailer": "10.0.2",
1991
+ "oidc-provider": "9.12.2"
1992
+ },
1993
+ "peerDependencies": {
1994
+ "@jskit-ai/kernel": "0.1.245"
1810
1995
  }
1811
1996
  }
1812
1997
  },
@@ -1890,7 +2075,7 @@
1890
2075
  },
1891
2076
  {
1892
2077
  "packageId": "@jskit-ai/realtime",
1893
- "version": "0.1.242",
2078
+ "version": "0.1.243",
1894
2079
  "description": "Thin, generic realtime runtime wrappers for socket.io server and client.",
1895
2080
  "jskit": {
1896
2081
  "kind": "runtime",
@@ -1995,15 +2180,15 @@
1995
2180
  "socket.io-client": "^4.8.3"
1996
2181
  },
1997
2182
  "peerDependencies": {
1998
- "@jskit-ai/kernel": "0.1.244",
1999
- "@jskit-ai/shell-web": "0.1.249",
2183
+ "@jskit-ai/kernel": "0.1.245",
2184
+ "@jskit-ai/shell-web": "0.1.250",
2000
2185
  "vue": "^3.5.13"
2001
2186
  }
2002
2187
  }
2003
2188
  },
2004
2189
  {
2005
2190
  "packageId": "@jskit-ai/resource-core",
2006
- "version": "0.1.186",
2191
+ "version": "0.1.187",
2007
2192
  "description": "Generic resource-definition helpers and schema-definition normalization.",
2008
2193
  "jskit": {
2009
2194
  "kind": "runtime",
@@ -2024,13 +2209,13 @@
2024
2209
  },
2025
2210
  "packageJson": {
2026
2211
  "peerDependencies": {
2027
- "@jskit-ai/kernel": "0.1.244"
2212
+ "@jskit-ai/kernel": "0.1.245"
2028
2213
  }
2029
2214
  }
2030
2215
  },
2031
2216
  {
2032
2217
  "packageId": "@jskit-ai/resource-crud-core",
2033
- "version": "0.1.186",
2218
+ "version": "0.1.187",
2034
2219
  "description": "Shared CRUD resource, field, lookup, filter, and namespace contracts.",
2035
2220
  "jskit": {
2036
2221
  "kind": "runtime",
@@ -2051,16 +2236,16 @@
2051
2236
  },
2052
2237
  "packageJson": {
2053
2238
  "dependencies": {
2054
- "@jskit-ai/resource-core": "0.1.186"
2239
+ "@jskit-ai/resource-core": "0.1.187"
2055
2240
  },
2056
2241
  "peerDependencies": {
2057
- "@jskit-ai/kernel": "0.1.244"
2242
+ "@jskit-ai/kernel": "0.1.245"
2058
2243
  }
2059
2244
  }
2060
2245
  },
2061
2246
  {
2062
2247
  "packageId": "@jskit-ai/rewarded-core",
2063
- "version": "0.1.180",
2248
+ "version": "0.1.181",
2064
2249
  "description": "Rewarded workflow runtime plus internal CRUD providers for rules, provider configs, watch sessions, and unlock receipts.",
2065
2250
  "jskit": {
2066
2251
  "kind": "runtime",
@@ -2171,22 +2356,22 @@
2171
2356
  },
2172
2357
  "packageJson": {
2173
2358
  "dependencies": {
2174
- "@jskit-ai/crud-core": "0.1.255",
2175
- "@jskit-ai/database-runtime": "0.1.244",
2176
- "@jskit-ai/json-rest-api-core": "0.1.188",
2177
- "@jskit-ai/resource-crud-core": "0.1.186",
2178
- "@jskit-ai/workspaces-core": "0.1.222"
2359
+ "@jskit-ai/crud-core": "0.1.256",
2360
+ "@jskit-ai/database-runtime": "0.1.245",
2361
+ "@jskit-ai/json-rest-api-core": "0.1.189",
2362
+ "@jskit-ai/resource-crud-core": "0.1.187",
2363
+ "@jskit-ai/workspaces-core": "0.1.223"
2179
2364
  },
2180
2365
  "peerDependencies": {
2181
- "@jskit-ai/auth-core": "0.1.242",
2182
- "@jskit-ai/http-runtime": "0.1.242",
2183
- "@jskit-ai/kernel": "0.1.244"
2366
+ "@jskit-ai/auth-core": "0.1.243",
2367
+ "@jskit-ai/http-runtime": "0.1.243",
2368
+ "@jskit-ai/kernel": "0.1.245"
2184
2369
  }
2185
2370
  }
2186
2371
  },
2187
2372
  {
2188
2373
  "packageId": "@jskit-ai/rewarded-web",
2189
- "version": "0.1.181",
2374
+ "version": "0.1.182",
2190
2375
  "description": "Rewarded gate client workflow with explicitly composed application delivery.",
2191
2376
  "jskit": {
2192
2377
  "kind": "runtime",
@@ -2231,18 +2416,18 @@
2231
2416
  },
2232
2417
  "packageJson": {
2233
2418
  "dependencies": {
2234
- "@jskit-ai/rewarded-core": "0.1.180"
2419
+ "@jskit-ai/rewarded-core": "0.1.181"
2235
2420
  },
2236
2421
  "peerDependencies": {
2237
- "@jskit-ai/http-runtime": "0.1.242",
2238
- "@jskit-ai/kernel": "0.1.244",
2239
- "@jskit-ai/shell-web": "0.1.249"
2422
+ "@jskit-ai/http-runtime": "0.1.243",
2423
+ "@jskit-ai/kernel": "0.1.245",
2424
+ "@jskit-ai/shell-web": "0.1.250"
2240
2425
  }
2241
2426
  }
2242
2427
  },
2243
2428
  {
2244
2429
  "packageId": "@jskit-ai/shell-web",
2245
- "version": "0.1.249",
2430
+ "version": "0.1.250",
2246
2431
  "description": "Web shell layout runtime with outlet-based placement contributions.",
2247
2432
  "jskit": {
2248
2433
  "kind": "runtime",
@@ -2593,7 +2778,7 @@
2593
2778
  "@vue/compiler-sfc": "3.5.44"
2594
2779
  },
2595
2780
  "peerDependencies": {
2596
- "@jskit-ai/kernel": "0.1.244",
2781
+ "@jskit-ai/kernel": "0.1.245",
2597
2782
  "pinia": "^4.0.3",
2598
2783
  "vue": "^3.5.44",
2599
2784
  "vue-router": "^5.3.1",
@@ -2603,7 +2788,7 @@
2603
2788
  },
2604
2789
  {
2605
2790
  "packageId": "@jskit-ai/storage-runtime",
2606
- "version": "0.1.241",
2791
+ "version": "0.1.242",
2607
2792
  "jskit": {
2608
2793
  "kind": "runtime",
2609
2794
  "capabilities": {
@@ -2647,13 +2832,13 @@
2647
2832
  "unstorage": "^1.17.5"
2648
2833
  },
2649
2834
  "peerDependencies": {
2650
- "@jskit-ai/kernel": "0.1.244"
2835
+ "@jskit-ai/kernel": "0.1.245"
2651
2836
  }
2652
2837
  }
2653
2838
  },
2654
2839
  {
2655
2840
  "packageId": "@jskit-ai/uploads-image-web",
2656
- "version": "0.1.219",
2841
+ "version": "0.1.220",
2657
2842
  "description": "Reusable client-side image upload runtime with pre-upload image editing.",
2658
2843
  "jskit": {
2659
2844
  "kind": "runtime",
@@ -2711,7 +2896,7 @@
2711
2896
  },
2712
2897
  "packageJson": {
2713
2898
  "dependencies": {
2714
- "@jskit-ai/uploads-runtime": "0.1.219",
2899
+ "@jskit-ai/uploads-runtime": "0.1.220",
2715
2900
  "@uppy/compressor": "^3.1.0",
2716
2901
  "@uppy/core": "^5.2.0",
2717
2902
  "@uppy/dashboard": "^5.1.1",
@@ -2725,7 +2910,7 @@
2725
2910
  },
2726
2911
  {
2727
2912
  "packageId": "@jskit-ai/uploads-runtime",
2728
- "version": "0.1.219",
2913
+ "version": "0.1.220",
2729
2914
  "description": "Reusable upload runtime primitives for multipart parsing, policy validation, and blob storage.",
2730
2915
  "jskit": {
2731
2916
  "kind": "runtime",
@@ -2790,13 +2975,13 @@
2790
2975
  "@fastify/multipart": "^10.1.1"
2791
2976
  },
2792
2977
  "peerDependencies": {
2793
- "@jskit-ai/kernel": "0.1.244"
2978
+ "@jskit-ai/kernel": "0.1.245"
2794
2979
  }
2795
2980
  }
2796
2981
  },
2797
2982
  {
2798
2983
  "packageId": "@jskit-ai/users-core",
2799
- "version": "0.1.257",
2984
+ "version": "0.1.258",
2800
2985
  "description": "Users/account runtime plus HTTP routes for account features.",
2801
2986
  "jskit": {
2802
2987
  "kind": "runtime",
@@ -2943,24 +3128,24 @@
2943
3128
  },
2944
3129
  "packageJson": {
2945
3130
  "dependencies": {
2946
- "@jskit-ai/database-runtime": "0.1.244",
2947
- "@jskit-ai/json-rest-api-core": "0.1.188",
2948
- "@jskit-ai/resource-core": "0.1.186",
2949
- "@jskit-ai/resource-crud-core": "0.1.186",
2950
- "@jskit-ai/storage-runtime": "0.1.241",
2951
- "@jskit-ai/uploads-runtime": "0.1.219",
3131
+ "@jskit-ai/database-runtime": "0.1.245",
3132
+ "@jskit-ai/json-rest-api-core": "0.1.189",
3133
+ "@jskit-ai/resource-core": "0.1.187",
3134
+ "@jskit-ai/resource-crud-core": "0.1.187",
3135
+ "@jskit-ai/storage-runtime": "0.1.242",
3136
+ "@jskit-ai/uploads-runtime": "0.1.220",
2952
3137
  "json-rest-schema": "^1.0.17"
2953
3138
  },
2954
3139
  "peerDependencies": {
2955
- "@jskit-ai/auth-core": "0.1.242",
2956
- "@jskit-ai/http-runtime": "0.1.242",
2957
- "@jskit-ai/kernel": "0.1.244"
3140
+ "@jskit-ai/auth-core": "0.1.243",
3141
+ "@jskit-ai/http-runtime": "0.1.243",
3142
+ "@jskit-ai/kernel": "0.1.245"
2958
3143
  }
2959
3144
  }
2960
3145
  },
2961
3146
  {
2962
3147
  "packageId": "@jskit-ai/users-web",
2963
- "version": "0.1.263",
3148
+ "version": "0.1.264",
2964
3149
  "description": "Users web module with account, profile, and user-specific shell UI.",
2965
3150
  "jskit": {
2966
3151
  "kind": "runtime",
@@ -3153,15 +3338,15 @@
3153
3338
  },
3154
3339
  "packageJson": {
3155
3340
  "dependencies": {
3156
- "@jskit-ai/uploads-image-web": "0.1.219",
3157
- "@jskit-ai/users-core": "0.1.257"
3341
+ "@jskit-ai/uploads-image-web": "0.1.220",
3342
+ "@jskit-ai/users-core": "0.1.258"
3158
3343
  },
3159
3344
  "peerDependencies": {
3160
- "@jskit-ai/auth-web": "0.1.245",
3161
- "@jskit-ai/http-runtime": "0.1.242",
3162
- "@jskit-ai/http-web": "0.1.90",
3163
- "@jskit-ai/kernel": "0.1.244",
3164
- "@jskit-ai/shell-web": "0.1.249",
3345
+ "@jskit-ai/auth-web": "0.1.246",
3346
+ "@jskit-ai/http-runtime": "0.1.243",
3347
+ "@jskit-ai/http-web": "0.1.91",
3348
+ "@jskit-ai/kernel": "0.1.245",
3349
+ "@jskit-ai/shell-web": "0.1.250",
3165
3350
  "@tanstack/vue-query": "^5.90.5",
3166
3351
  "vue": "^3.5.13",
3167
3352
  "vue-router": "^5.0.4",
@@ -3171,7 +3356,7 @@
3171
3356
  },
3172
3357
  {
3173
3358
  "packageId": "@jskit-ai/workspaces-core",
3174
- "version": "0.1.222",
3359
+ "version": "0.1.223",
3175
3360
  "description": "Workspace tenancy runtime plus HTTP routes, role catalog, and workspace config scaffolding.",
3176
3361
  "jskit": {
3177
3362
  "kind": "runtime",
@@ -3317,23 +3502,23 @@
3317
3502
  },
3318
3503
  "packageJson": {
3319
3504
  "dependencies": {
3320
- "@jskit-ai/database-runtime": "0.1.244",
3321
- "@jskit-ai/json-rest-api-core": "0.1.188",
3322
- "@jskit-ai/resource-core": "0.1.186",
3323
- "@jskit-ai/resource-crud-core": "0.1.186",
3324
- "@jskit-ai/users-core": "0.1.257",
3505
+ "@jskit-ai/database-runtime": "0.1.245",
3506
+ "@jskit-ai/json-rest-api-core": "0.1.189",
3507
+ "@jskit-ai/resource-core": "0.1.187",
3508
+ "@jskit-ai/resource-crud-core": "0.1.187",
3509
+ "@jskit-ai/users-core": "0.1.258",
3325
3510
  "json-rest-schema": "^1.0.17"
3326
3511
  },
3327
3512
  "peerDependencies": {
3328
- "@jskit-ai/auth-core": "0.1.242",
3329
- "@jskit-ai/http-runtime": "0.1.242",
3330
- "@jskit-ai/kernel": "0.1.244"
3513
+ "@jskit-ai/auth-core": "0.1.243",
3514
+ "@jskit-ai/http-runtime": "0.1.243",
3515
+ "@jskit-ai/kernel": "0.1.245"
3331
3516
  }
3332
3517
  }
3333
3518
  },
3334
3519
  {
3335
3520
  "packageId": "@jskit-ai/workspaces-web",
3336
- "version": "0.1.224",
3521
+ "version": "0.1.225",
3337
3522
  "description": "Workspace web module: workspace selector, tools widget, workspace surfaces, members UI, and settings hosts.",
3338
3523
  "jskit": {
3339
3524
  "kind": "runtime",
@@ -3577,16 +3762,16 @@
3577
3762
  },
3578
3763
  "packageJson": {
3579
3764
  "dependencies": {
3580
- "@jskit-ai/users-core": "0.1.257",
3581
- "@jskit-ai/workspaces-core": "0.1.222",
3765
+ "@jskit-ai/users-core": "0.1.258",
3766
+ "@jskit-ai/workspaces-core": "0.1.223",
3582
3767
  "@mdi/js": "^7.4.47"
3583
3768
  },
3584
3769
  "peerDependencies": {
3585
- "@jskit-ai/auth-web": "0.1.245",
3586
- "@jskit-ai/http-web": "0.1.90",
3587
- "@jskit-ai/kernel": "0.1.244",
3588
- "@jskit-ai/shell-web": "0.1.249",
3589
- "@jskit-ai/users-web": "0.1.263",
3770
+ "@jskit-ai/auth-web": "0.1.246",
3771
+ "@jskit-ai/http-web": "0.1.91",
3772
+ "@jskit-ai/kernel": "0.1.245",
3773
+ "@jskit-ai/shell-web": "0.1.250",
3774
+ "@jskit-ai/users-web": "0.1.264",
3590
3775
  "@tanstack/vue-query": "^5.90.5",
3591
3776
  "vue": "^3.5.13",
3592
3777
  "vue-router": "^5.0.4",
@@ -3618,7 +3803,7 @@
3618
3803
  "@jskit-ai/shell-web"
3619
3804
  ],
3620
3805
  "packageId": "@jskit-ai/assistant-runtime",
3621
- "packageVersion": "0.1.232",
3806
+ "packageVersion": "0.1.233",
3622
3807
  "documentPath": "patterns/assistant-surface/PATTERN.md",
3623
3808
  "examplePath": "patterns/assistant-surface/example",
3624
3809
  "files": [
@@ -3631,6 +3816,34 @@
3631
3816
  "src/placement.js"
3632
3817
  ]
3633
3818
  },
3819
+ {
3820
+ "id": "auth/accounts-hub",
3821
+ "title": "Accounts hub",
3822
+ "summary": "Run one OpenID Connect sign-in for all of an owner's apps as its own JSKIT project, with production apps approved by the owner.",
3823
+ "keywords": [
3824
+ "accounts hub",
3825
+ "auth",
3826
+ "authentication",
3827
+ "issuer",
3828
+ "master login",
3829
+ "oidc",
3830
+ "openid connect",
3831
+ "single sign-on",
3832
+ "sso"
3833
+ ],
3834
+ "requires": [
3835
+ "@jskit-ai/oidc-issuer-core"
3836
+ ],
3837
+ "packageId": "@jskit-ai/oidc-issuer-core",
3838
+ "packageVersion": "0.1.0",
3839
+ "documentPath": "patterns/accounts-hub/PATTERN.md",
3840
+ "examplePath": "patterns/accounts-hub/example",
3841
+ "files": [
3842
+ ".env.example",
3843
+ "package.json",
3844
+ "server/hubPaths.js"
3845
+ ]
3846
+ },
3634
3847
  {
3635
3848
  "id": "auth/auth-surface",
3636
3849
  "title": "Authentication surface",
@@ -3652,7 +3865,7 @@
3652
3865
  "@jskit-ai/shell-web"
3653
3866
  ],
3654
3867
  "packageId": "@jskit-ai/auth-web",
3655
- "packageVersion": "0.1.245",
3868
+ "packageVersion": "0.1.246",
3656
3869
  "documentPath": "patterns/auth-surface/PATTERN.md",
3657
3870
  "examplePath": "patterns/auth-surface/example",
3658
3871
  "files": [
@@ -3668,6 +3881,36 @@
3668
3881
  "tools/preview-identity"
3669
3882
  ]
3670
3883
  },
3884
+ {
3885
+ "id": "auth/oidc-sign-in",
3886
+ "title": "Sign in through an OIDC issuer",
3887
+ "summary": "Let people sign in with the accounts they already have in an accounts hub or another OpenID Connect issuer, instead of app-local passwords.",
3888
+ "keywords": [
3889
+ "accounts hub",
3890
+ "auth",
3891
+ "authentication",
3892
+ "back-channel logout",
3893
+ "dynamic client registration",
3894
+ "issuer",
3895
+ "master login",
3896
+ "oidc",
3897
+ "openid connect",
3898
+ "single sign-on",
3899
+ "sso"
3900
+ ],
3901
+ "requires": [
3902
+ "@jskit-ai/auth-provider-oidc-core",
3903
+ "@jskit-ai/auth-web"
3904
+ ],
3905
+ "packageId": "@jskit-ai/auth-provider-oidc-core",
3906
+ "packageVersion": "0.1.0",
3907
+ "documentPath": "patterns/oidc-sign-in/PATTERN.md",
3908
+ "examplePath": "patterns/oidc-sign-in/example",
3909
+ "files": [
3910
+ ".env.example",
3911
+ "package.json"
3912
+ ]
3913
+ },
3671
3914
  {
3672
3915
  "id": "auth/supabase-auth",
3673
3916
  "title": "Supabase authentication",
@@ -3683,7 +3926,7 @@
3683
3926
  "@jskit-ai/auth-provider-supabase-core"
3684
3927
  ],
3685
3928
  "packageId": "@jskit-ai/auth-provider-supabase-core",
3686
- "packageVersion": "0.1.241",
3929
+ "packageVersion": "0.1.242",
3687
3930
  "documentPath": "patterns/supabase-auth/PATTERN.md",
3688
3931
  "examplePath": "patterns/supabase-auth/example",
3689
3932
  "files": [
@@ -3712,7 +3955,7 @@
3712
3955
  "@jskit-ai/connectors-core"
3713
3956
  ],
3714
3957
  "packageId": "@jskit-ai/connectors-catalog",
3715
- "packageVersion": "0.1.62",
3958
+ "packageVersion": "0.1.63",
3716
3959
  "documentPath": "patterns/ai-connections/PATTERN.md",
3717
3960
  "examplePath": "patterns/ai-connections/example",
3718
3961
  "files": [
@@ -3747,7 +3990,7 @@
3747
3990
  "@jskit-ai/connectors-core"
3748
3991
  ],
3749
3992
  "packageId": "@jskit-ai/connectors-catalog",
3750
- "packageVersion": "0.1.62",
3993
+ "packageVersion": "0.1.63",
3751
3994
  "documentPath": "patterns/api-key-connection/PATTERN.md",
3752
3995
  "examplePath": "patterns/api-key-connection/example",
3753
3996
  "files": [
@@ -3774,7 +4017,7 @@
3774
4017
  "@jskit-ai/connectors-core"
3775
4018
  ],
3776
4019
  "packageId": "@jskit-ai/connectors-catalog",
3777
- "packageVersion": "0.1.62",
4020
+ "packageVersion": "0.1.63",
3778
4021
  "documentPath": "patterns/assistant-mcp/PATTERN.md",
3779
4022
  "examplePath": "patterns/assistant-mcp/example",
3780
4023
  "files": [
@@ -3807,7 +4050,7 @@
3807
4050
  "@jskit-ai/connectors-core"
3808
4051
  ],
3809
4052
  "packageId": "@jskit-ai/connectors-catalog",
3810
- "packageVersion": "0.1.62",
4053
+ "packageVersion": "0.1.63",
3811
4054
  "documentPath": "patterns/assistant-mcp-oauth/PATTERN.md",
3812
4055
  "examplePath": "patterns/assistant-mcp-oauth/example",
3813
4056
  "files": [
@@ -3835,7 +4078,7 @@
3835
4078
  "@jskit-ai/connectors-core"
3836
4079
  ],
3837
4080
  "packageId": "@jskit-ai/connectors-catalog",
3838
- "packageVersion": "0.1.62",
4081
+ "packageVersion": "0.1.63",
3839
4082
  "documentPath": "patterns/aws-storage-queries/PATTERN.md",
3840
4083
  "examplePath": "patterns/aws-storage-queries/example",
3841
4084
  "files": [
@@ -3866,7 +4109,7 @@
3866
4109
  "@jskit-ai/database-runtime-mysql"
3867
4110
  ],
3868
4111
  "packageId": "@jskit-ai/connector-google-calendar",
3869
- "packageVersion": "0.1.61",
4112
+ "packageVersion": "0.1.62",
3870
4113
  "documentPath": "patterns/calendar-cli/PATTERN.md",
3871
4114
  "examplePath": "patterns/calendar-cli/example",
3872
4115
  "files": [
@@ -3896,7 +4139,7 @@
3896
4139
  "@jskit-ai/connectors-core"
3897
4140
  ],
3898
4141
  "packageId": "@jskit-ai/connectors-catalog",
3899
- "packageVersion": "0.1.62",
4142
+ "packageVersion": "0.1.63",
3900
4143
  "documentPath": "patterns/event-delivery/PATTERN.md",
3901
4144
  "examplePath": "patterns/event-delivery/example",
3902
4145
  "files": [
@@ -3925,7 +4168,7 @@
3925
4168
  "@jskit-ai/connectors-core"
3926
4169
  ],
3927
4170
  "packageId": "@jskit-ai/connectors-catalog",
3928
- "packageVersion": "0.1.62",
4171
+ "packageVersion": "0.1.63",
3929
4172
  "documentPath": "patterns/firebase-messaging/PATTERN.md",
3930
4173
  "examplePath": "patterns/firebase-messaging/example",
3931
4174
  "files": [
@@ -3950,7 +4193,7 @@
3950
4193
  "@jskit-ai/connectors-core"
3951
4194
  ],
3952
4195
  "packageId": "@jskit-ai/connectors-catalog",
3953
- "packageVersion": "0.1.62",
4196
+ "packageVersion": "0.1.63",
3954
4197
  "documentPath": "patterns/google-ads-search/PATTERN.md",
3955
4198
  "examplePath": "patterns/google-ads-search/example",
3956
4199
  "files": [
@@ -4001,7 +4244,7 @@
4001
4244
  "@jskit-ai/connectors-core"
4002
4245
  ],
4003
4246
  "packageId": "@jskit-ai/connectors-catalog",
4004
- "packageVersion": "0.1.62",
4247
+ "packageVersion": "0.1.63",
4005
4248
  "documentPath": "patterns/oauth-connection/PATTERN.md",
4006
4249
  "examplePath": "patterns/oauth-connection/example",
4007
4250
  "files": [
@@ -4024,7 +4267,7 @@
4024
4267
  "@jskit-ai/connectors-core"
4025
4268
  ],
4026
4269
  "packageId": "@jskit-ai/connectors-catalog",
4027
- "packageVersion": "0.1.62",
4270
+ "packageVersion": "0.1.63",
4028
4271
  "documentPath": "patterns/paddle-catalogue/PATTERN.md",
4029
4272
  "examplePath": "patterns/paddle-catalogue/example",
4030
4273
  "files": [
@@ -4049,7 +4292,7 @@
4049
4292
  "@jskit-ai/connectors-core"
4050
4293
  ],
4051
4294
  "packageId": "@jskit-ai/connectors-catalog",
4052
- "packageVersion": "0.1.62",
4295
+ "packageVersion": "0.1.63",
4053
4296
  "documentPath": "patterns/public-image/PATTERN.md",
4054
4297
  "examplePath": "patterns/public-image/example",
4055
4298
  "files": [
@@ -4078,7 +4321,7 @@
4078
4321
  "@jskit-ai/connectors-core"
4079
4322
  ],
4080
4323
  "packageId": "@jskit-ai/connectors-catalog",
4081
- "packageVersion": "0.1.62",
4324
+ "packageVersion": "0.1.63",
4082
4325
  "documentPath": "patterns/redshift-queries/PATTERN.md",
4083
4326
  "examplePath": "patterns/redshift-queries/example",
4084
4327
  "files": [
@@ -4105,7 +4348,7 @@
4105
4348
  "@jskit-ai/connectors-core"
4106
4349
  ],
4107
4350
  "packageId": "@jskit-ai/connectors-catalog",
4108
- "packageVersion": "0.1.62",
4351
+ "packageVersion": "0.1.63",
4109
4352
  "documentPath": "patterns/source-scanning/PATTERN.md",
4110
4353
  "examplePath": "patterns/source-scanning/example",
4111
4354
  "files": [
@@ -4131,7 +4374,7 @@
4131
4374
  "@jskit-ai/shell-web"
4132
4375
  ],
4133
4376
  "packageId": "@jskit-ai/console-web",
4134
- "packageVersion": "0.1.213",
4377
+ "packageVersion": "0.1.214",
4135
4378
  "documentPath": "patterns/console-surface/PATTERN.md",
4136
4379
  "examplePath": "patterns/console-surface/example",
4137
4380
  "files": [
@@ -4163,7 +4406,7 @@
4163
4406
  "@jskit-ai/resource-crud-core"
4164
4407
  ],
4165
4408
  "packageId": "@jskit-ai/http-web",
4166
- "packageVersion": "0.1.90",
4409
+ "packageVersion": "0.1.91",
4167
4410
  "documentPath": "patterns/crud-screen-set/PATTERN.md",
4168
4411
  "examplePath": "patterns/crud-screen-set/example",
4169
4412
  "files": [
@@ -4197,7 +4440,7 @@
4197
4440
  "@jskit-ai/resource-crud-core"
4198
4441
  ],
4199
4442
  "packageId": "@jskit-ai/crud-core",
4200
- "packageVersion": "0.1.255",
4443
+ "packageVersion": "0.1.256",
4201
4444
  "documentPath": "patterns/json-api-resource-package/PATTERN.md",
4202
4445
  "examplePath": "patterns/json-api-resource-package/example",
4203
4446
  "files": [
@@ -4224,7 +4467,7 @@
4224
4467
  "@jskit-ai/resource-crud-core"
4225
4468
  ],
4226
4469
  "packageId": "@jskit-ai/resource-crud-core",
4227
- "packageVersion": "0.1.186",
4470
+ "packageVersion": "0.1.187",
4228
4471
  "documentPath": "patterns/resource-contract/PATTERN.md",
4229
4472
  "examplePath": "patterns/resource-contract/example",
4230
4473
  "files": [
@@ -4247,7 +4490,7 @@
4247
4490
  "@jskit-ai/database-runtime-mysql"
4248
4491
  ],
4249
4492
  "packageId": "@jskit-ai/database-runtime-mysql",
4250
- "packageVersion": "0.1.242",
4493
+ "packageVersion": "0.1.243",
4251
4494
  "documentPath": "patterns/mysql-application/PATTERN.md",
4252
4495
  "examplePath": "patterns/mysql-application/example",
4253
4496
  "files": [
@@ -4275,7 +4518,7 @@
4275
4518
  "@jskit-ai/database-runtime-postgres"
4276
4519
  ],
4277
4520
  "packageId": "@jskit-ai/database-runtime-postgres",
4278
- "packageVersion": "0.1.241",
4521
+ "packageVersion": "0.1.242",
4279
4522
  "documentPath": "patterns/postgres-application/PATTERN.md",
4280
4523
  "examplePath": "patterns/postgres-application/example",
4281
4524
  "files": [
@@ -4306,7 +4549,7 @@
4306
4549
  "@jskit-ai/mobile-capacitor"
4307
4550
  ],
4308
4551
  "packageId": "@jskit-ai/mobile-capacitor",
4309
- "packageVersion": "0.1.180",
4552
+ "packageVersion": "0.1.181",
4310
4553
  "documentPath": "patterns/android-application/PATTERN.md",
4311
4554
  "examplePath": "patterns/android-application/example",
4312
4555
  "files": [
@@ -4330,7 +4573,7 @@
4330
4573
  "@jskit-ai/shell-web"
4331
4574
  ],
4332
4575
  "packageId": "@jskit-ai/realtime",
4333
- "packageVersion": "0.1.242",
4576
+ "packageVersion": "0.1.243",
4334
4577
  "documentPath": "patterns/realtime-application/PATTERN.md",
4335
4578
  "examplePath": "patterns/realtime-application/example",
4336
4579
  "files": [
@@ -4354,7 +4597,7 @@
4354
4597
  "@jskit-ai/rewarded-web"
4355
4598
  ],
4356
4599
  "packageId": "@jskit-ai/rewarded-web",
4357
- "packageVersion": "0.1.181",
4600
+ "packageVersion": "0.1.182",
4358
4601
  "documentPath": "patterns/google-rewarded/PATTERN.md",
4359
4602
  "examplePath": "patterns/google-rewarded/example",
4360
4603
  "files": [
@@ -4381,7 +4624,7 @@
4381
4624
  "@jskit-ai/shell-web"
4382
4625
  ],
4383
4626
  "packageId": "@jskit-ai/shell-web",
4384
- "packageVersion": "0.1.249",
4627
+ "packageVersion": "0.1.250",
4385
4628
  "documentPath": "patterns/application-shell/PATTERN.md",
4386
4629
  "examplePath": "patterns/application-shell/example",
4387
4630
  "files": [
@@ -4425,7 +4668,7 @@
4425
4668
  "@jskit-ai/shell-web"
4426
4669
  ],
4427
4670
  "packageId": "@jskit-ai/shell-web",
4428
- "packageVersion": "0.1.249",
4671
+ "packageVersion": "0.1.250",
4429
4672
  "documentPath": "patterns/page-and-placement/PATTERN.md",
4430
4673
  "examplePath": "patterns/page-and-placement/example",
4431
4674
  "files": [
@@ -4458,7 +4701,7 @@
4458
4701
  "@jskit-ai/users-web"
4459
4702
  ],
4460
4703
  "packageId": "@jskit-ai/users-web",
4461
- "packageVersion": "0.1.263",
4704
+ "packageVersion": "0.1.264",
4462
4705
  "documentPath": "patterns/account-settings/PATTERN.md",
4463
4706
  "examplePath": "patterns/account-settings/example",
4464
4707
  "files": [
@@ -4488,7 +4731,7 @@
4488
4731
  "@jskit-ai/users-core"
4489
4732
  ],
4490
4733
  "packageId": "@jskit-ai/users-core",
4491
- "packageVersion": "0.1.257",
4734
+ "packageVersion": "0.1.258",
4492
4735
  "documentPath": "patterns/user-administration-server/PATTERN.md",
4493
4736
  "examplePath": "patterns/user-administration-server/example",
4494
4737
  "files": [
@@ -4521,7 +4764,7 @@
4521
4764
  "@jskit-ai/workspaces-core"
4522
4765
  ],
4523
4766
  "packageId": "@jskit-ai/workspaces-core",
4524
- "packageVersion": "0.1.222",
4767
+ "packageVersion": "0.1.223",
4525
4768
  "documentPath": "patterns/workspace-server/PATTERN.md",
4526
4769
  "examplePath": "patterns/workspace-server/example",
4527
4770
  "files": [
@@ -4549,7 +4792,7 @@
4549
4792
  "@jskit-ai/workspaces-web"
4550
4793
  ],
4551
4794
  "packageId": "@jskit-ai/workspaces-web",
4552
- "packageVersion": "0.1.224",
4795
+ "packageVersion": "0.1.225",
4553
4796
  "documentPath": "patterns/workspace-surfaces/PATTERN.md",
4554
4797
  "examplePath": "patterns/workspace-surfaces/example",
4555
4798
  "files": [