@objectstack/platform-objects 8.0.1 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { Dashboard } from '@objectstack/spec/ui';
1
+ import { Dashboard, defineDataset } from '@objectstack/spec/ui';
2
2
 
3
3
  // src/apps/setup.app.ts
4
4
  var SETUP_APP = {
@@ -151,6 +151,7 @@ var SETUP_NAV_CONTRIBUTIONS = [
151
151
  items: [
152
152
  { id: "nav_settings_hub", type: "url", label: "All Settings", url: "/apps/setup/system/settings", icon: "settings-2", requiredPermissions: ["manage_platform_settings"] },
153
153
  { id: "nav_settings_branding", type: "url", label: "Branding", url: "/apps/setup/system/settings/branding", icon: "palette" },
154
+ { id: "nav_settings_auth", type: "url", label: "Authentication", url: "/apps/setup/system/settings/auth", icon: "lock-keyhole", requiredPermissions: ["manage_platform_settings"] },
154
155
  { id: "nav_settings_mail", type: "url", label: "Email", url: "/apps/setup/system/settings/mail", icon: "mail", requiredPermissions: ["manage_platform_settings"] },
155
156
  { id: "nav_settings_storage", type: "url", label: "File Storage", url: "/apps/setup/system/settings/storage", icon: "hard-drive", requiredPermissions: ["manage_platform_settings"] },
156
157
  { id: "nav_settings_ai", type: "url", label: "AI & Embedder", url: "/apps/setup/system/settings/ai", icon: "sparkles", requiredPermissions: ["manage_platform_settings"] },
@@ -177,7 +178,6 @@ var SETUP_NAV_CONTRIBUTIONS = [
177
178
  { id: "nav_oauth_apps", type: "object", label: "OAuth Applications", objectName: "sys_oauth_application", icon: "app-window" },
178
179
  { id: "nav_jwks", type: "object", label: "Signing Keys (JWKS)", objectName: "sys_jwks", icon: "key-round" },
179
180
  { id: "nav_verifications", type: "object", label: "Verifications", objectName: "sys_verification", icon: "mail-check" },
180
- { id: "nav_two_factor", type: "object", label: "Two-Factor", objectName: "sys_two_factor", icon: "smartphone" },
181
181
  { id: "nav_device_codes", type: "object", label: "Device Codes", objectName: "sys_device_code", icon: "qr-code" },
182
182
  { id: "nav_accounts", type: "object", label: "Identity Links", objectName: "sys_account", icon: "link-2" },
183
183
  { id: "nav_user_preferences", type: "object", label: "User Preferences", objectName: "sys_user_preference", icon: "sliders" }
@@ -489,8 +489,8 @@ var ACCOUNT_APP = {
489
489
  // sky-500 — distinct from Setup's slate
490
490
  },
491
491
  // No `requiredPermissions`: any authenticated user must be able to
492
- // manage their own 2FA / linked accounts / personal OAuth apps. RLS on
493
- // each object scopes rows to the caller.
492
+ // manage their own linked accounts / personal OAuth apps. RLS on each
493
+ // object scopes rows to the caller.
494
494
  navigation: [
495
495
  // Profile is the canonical landing — a hand-written React settings card
496
496
  // (Vercel/Linear style) registered in the Console SPA as
@@ -557,14 +557,6 @@ var ACCOUNT_APP = {
557
557
  icon: "shield",
558
558
  defaultOpen: true,
559
559
  children: [
560
- {
561
- id: "nav_account_two_factor",
562
- type: "object",
563
- label: "Two-Factor Authentication",
564
- objectName: "sys_two_factor",
565
- icon: "smartphone",
566
- requiresObject: "sys_two_factor"
567
- },
568
560
  {
569
561
  id: "nav_account_linked",
570
562
  type: "object",
@@ -632,45 +624,45 @@ var SystemOverviewDashboard = Dashboard.create({
632
624
  // ── Row 1: Platform KPIs ────────────────────────────────────────
633
625
  {
634
626
  id: "widget_total_users",
627
+ dataset: "sys_user_metrics",
628
+ values: ["user_count"],
635
629
  title: "Total Users",
636
630
  type: "metric",
637
- object: "sys_user",
638
631
  layout: { x: 0, y: 0, w: 3, h: 2 },
639
- aggregate: "count",
640
632
  colorVariant: "teal",
641
633
  description: "Total registered users in the system"
642
634
  },
643
635
  {
644
636
  id: "widget_organizations",
637
+ dataset: "sys_organization_metrics",
638
+ values: ["org_count"],
645
639
  title: "Organizations",
646
640
  type: "metric",
647
- object: "sys_organization",
648
641
  layout: { x: 3, y: 0, w: 3, h: 2 },
649
- aggregate: "count",
650
642
  colorVariant: "orange",
651
643
  description: "Total organizations on the platform"
652
644
  },
653
645
  {
654
646
  id: "widget_active_sessions",
647
+ dataset: "sys_session_metrics",
648
+ values: ["session_count"],
655
649
  title: "Active Sessions",
656
650
  type: "metric",
657
- object: "sys_session",
658
651
  layout: { x: 6, y: 0, w: 3, h: 2 },
659
- aggregate: "count",
660
652
  colorVariant: "blue",
661
653
  description: "Number of currently active user sessions"
662
654
  },
663
655
  {
664
656
  id: "widget_packages_installed",
657
+ dataset: "sys_package_installation_metrics",
658
+ values: ["package_count"],
665
659
  title: "Packages Installed",
666
660
  type: "metric",
667
- object: "sys_package_installation",
668
661
  // Cloud-only object — only registered when service-tenant is loaded.
669
662
  // Hide this widget gracefully in single-environment runtimes.
670
663
  requiresObject: "sys_package_installation",
671
664
  layout: { x: 9, y: 0, w: 3, h: 2 },
672
665
  filter: { status: "installed" },
673
- aggregate: "count",
674
666
  colorVariant: "success",
675
667
  description: "Active package installations across projects"
676
668
  },
@@ -681,34 +673,34 @@ var SystemOverviewDashboard = Dashboard.create({
681
673
  // need a richer enum or a separate detail field first.
682
674
  {
683
675
  id: "widget_login_events",
676
+ dataset: "sys_audit_log_metrics",
677
+ values: ["event_count"],
684
678
  title: "Login Events",
685
679
  type: "metric",
686
- object: "sys_audit_log",
687
680
  layout: { x: 0, y: 2, w: 4, h: 2 },
688
681
  filter: { action: "login" },
689
- aggregate: "count",
690
682
  colorVariant: "blue",
691
683
  description: "Authentication events recorded by the audit log"
692
684
  },
693
685
  {
694
686
  id: "widget_permission_changes",
687
+ dataset: "sys_audit_log_metrics",
688
+ values: ["event_count"],
695
689
  title: "Permission Changes",
696
690
  type: "metric",
697
- object: "sys_audit_log",
698
691
  layout: { x: 4, y: 2, w: 4, h: 2 },
699
692
  filter: { action: "permission_change" },
700
- aggregate: "count",
701
693
  colorVariant: "warning",
702
694
  description: "Recent permission and role modifications"
703
695
  },
704
696
  {
705
697
  id: "widget_config_changes",
698
+ dataset: "sys_audit_log_metrics",
699
+ values: ["event_count"],
706
700
  title: "Config Changes",
707
701
  type: "metric",
708
- object: "sys_audit_log",
709
702
  layout: { x: 8, y: 2, w: 4, h: 2 },
710
703
  filter: { action: "config_change" },
711
- aggregate: "count",
712
704
  colorVariant: "blue",
713
705
  description: "System configuration modifications"
714
706
  },
@@ -720,41 +712,37 @@ var SystemOverviewDashboard = Dashboard.create({
720
712
  // to scope these widgets.
721
713
  {
722
714
  id: "widget_events_by_type",
715
+ dataset: "sys_audit_log_metrics",
716
+ dimensions: ["action"],
717
+ values: ["event_count"],
723
718
  title: "Audit Events by Action",
724
719
  description: "Distribution of audit events by action type",
725
720
  type: "pie",
726
- object: "sys_audit_log",
727
- layout: { x: 0, y: 4, w: 6, h: 4 },
728
- categoryField: "action",
729
- aggregate: "count"
721
+ layout: { x: 0, y: 4, w: 6, h: 4 }
730
722
  },
731
723
  {
732
724
  id: "widget_events_by_user",
725
+ dataset: "sys_audit_log_metrics",
726
+ dimensions: ["user_id"],
727
+ values: ["event_count"],
733
728
  title: "Events by User",
734
729
  description: "Activity distribution across users",
735
730
  type: "bar",
736
- object: "sys_audit_log",
737
- layout: { x: 6, y: 4, w: 6, h: 4 },
738
- categoryField: "user_id",
739
- aggregate: "count"
740
- },
741
- // ── Row 4: Recent audit events table ────────────────────────────
742
- // `type: 'table'` renders the underlying rows directly, so this
743
- // panel actually shows the latest events instead of just repeating
744
- // the total-count metric. `valueField`/`aggregate` are intentionally
745
- // omitted — table widgets pull raw records.
731
+ layout: { x: 6, y: 4, w: 6, h: 4 }
732
+ },
733
+ // ── Row 4: Audit events by action ───────────────────────────────
734
+ // ADR-0021 single-form: a dataset-bound breakdown of events by action.
735
+ // (The raw recent-events record list belongs in a ListView on
736
+ // sys_audit_log a row-level lens, not a dashboard analytics widget.)
746
737
  {
747
738
  id: "widget_recent_events",
748
- title: "Recent Audit Events",
749
- description: "Latest platform events (login, permission, config, \u2026)",
739
+ title: "Audit Events by Action",
740
+ description: "Event volume grouped by action (login, permission, config, \u2026)",
750
741
  type: "table",
751
- object: "sys_audit_log",
752
- layout: { x: 0, y: 8, w: 12, h: 4 },
753
- options: {
754
- columns: ["created_at", "user_id", "action", "object_name", "record_id"],
755
- sort: [{ field: "created_at", order: "desc" }],
756
- pageSize: 20
757
- }
742
+ dataset: "sys_audit_log_metrics",
743
+ dimensions: ["action"],
744
+ values: ["event_count"],
745
+ layout: { x: 0, y: 8, w: 12, h: 4 }
758
746
  }
759
747
  ],
760
748
  globalFilters: [
@@ -767,6 +755,51 @@ var SystemOverviewDashboard = Dashboard.create({
767
755
  }
768
756
  ]
769
757
  });
758
+ var SysUserDataset = defineDataset({
759
+ name: "sys_user_metrics",
760
+ label: "User Metrics",
761
+ object: "sys_user",
762
+ dimensions: [],
763
+ measures: [{ name: "user_count", label: "Users", aggregate: "count" }]
764
+ });
765
+ var SysOrganizationDataset = defineDataset({
766
+ name: "sys_organization_metrics",
767
+ label: "Organization Metrics",
768
+ object: "sys_organization",
769
+ dimensions: [],
770
+ measures: [{ name: "org_count", label: "Organizations", aggregate: "count" }]
771
+ });
772
+ var SysSessionDataset = defineDataset({
773
+ name: "sys_session_metrics",
774
+ label: "Session Metrics",
775
+ object: "sys_session",
776
+ dimensions: [],
777
+ measures: [{ name: "session_count", label: "Sessions", aggregate: "count" }]
778
+ });
779
+ var SysPackageInstallationDataset = defineDataset({
780
+ name: "sys_package_installation_metrics",
781
+ label: "Package Installation Metrics",
782
+ object: "sys_package_installation",
783
+ dimensions: [],
784
+ measures: [{ name: "package_count", label: "Installations", aggregate: "count" }]
785
+ });
786
+ var SysAuditLogDataset = defineDataset({
787
+ name: "sys_audit_log_metrics",
788
+ label: "Audit Log Metrics",
789
+ object: "sys_audit_log",
790
+ dimensions: [
791
+ { name: "action", label: "Action", field: "action", type: "string" },
792
+ { name: "user_id", label: "User", field: "user_id", type: "lookup" }
793
+ ],
794
+ measures: [{ name: "event_count", label: "Events", aggregate: "count" }]
795
+ });
796
+ var SystemOverviewDatasets = [
797
+ SysUserDataset,
798
+ SysOrganizationDataset,
799
+ SysSessionDataset,
800
+ SysPackageInstallationDataset,
801
+ SysAuditLogDataset
802
+ ];
770
803
 
771
804
  // src/apps/translations/en.objects.generated.ts
772
805
  var enObjects = {
@@ -3355,7 +3388,6 @@ var en = {
3355
3388
  nav_account_notifications: { label: "Notifications" },
3356
3389
  nav_account_approvals: { label: "Approvals" },
3357
3390
  nav_account_memberships: { label: "My Organizations" },
3358
- nav_account_two_factor: { label: "Two-Factor Authentication" },
3359
3391
  nav_account_linked: { label: "Linked Accounts" },
3360
3392
  nav_account_sessions: { label: "Active Sessions" },
3361
3393
  nav_account_api_keys: { label: "API Keys" },
@@ -3373,6 +3405,7 @@ var en = {
3373
3405
  group_access_control: { label: "Access Control" },
3374
3406
  group_approvals: { label: "Approvals" },
3375
3407
  group_configuration: { label: "Configuration" },
3408
+ group_integrations: { label: "Integrations" },
3376
3409
  group_diagnostics: { label: "Diagnostics" },
3377
3410
  group_advanced: { label: "Advanced" },
3378
3411
  // Overview
@@ -3400,7 +3433,15 @@ var en = {
3400
3433
  nav_settings_hub: { label: "All Settings" },
3401
3434
  nav_settings_mail: { label: "Email" },
3402
3435
  nav_settings_branding: { label: "Branding" },
3436
+ nav_settings_auth: { label: "Authentication" },
3437
+ nav_settings_storage: { label: "File Storage" },
3438
+ nav_settings_ai: { label: "AI & Embedder" },
3439
+ nav_settings_knowledge: { label: "Knowledge" },
3403
3440
  nav_settings_feature_flags: { label: "Feature Flags" },
3441
+ // Notifications (contributed by @objectstack/service-messaging)
3442
+ nav_notification_preferences: { label: "Notification Preferences" },
3443
+ nav_notification_subscriptions: { label: "Notification Subscriptions" },
3444
+ nav_notification_templates: { label: "Notification Templates" },
3404
3445
  // Diagnostics
3405
3446
  nav_sessions: { label: "Sessions" },
3406
3447
  nav_audit_logs: { label: "Audit Logs" },
@@ -3409,7 +3450,6 @@ var en = {
3409
3450
  nav_oauth_apps: { label: "OAuth Applications" },
3410
3451
  nav_jwks: { label: "Signing Keys (JWKS)" },
3411
3452
  nav_verifications: { label: "Verifications" },
3412
- nav_two_factor: { label: "Two-Factor" },
3413
3453
  nav_device_codes: { label: "Device Codes" },
3414
3454
  nav_accounts: { label: "Identity Links" },
3415
3455
  nav_user_preferences: { label: "User Preferences" },
@@ -6089,7 +6129,6 @@ var zhCN = {
6089
6129
  nav_account_notifications: { label: "\u901A\u77E5" },
6090
6130
  nav_account_approvals: { label: "\u5F85\u6211\u5BA1\u6279" },
6091
6131
  nav_account_memberships: { label: "\u6211\u7684\u7EC4\u7EC7" },
6092
- nav_account_two_factor: { label: "\u53CC\u91CD\u8BA4\u8BC1" },
6093
6132
  nav_account_linked: { label: "\u5DF2\u5173\u8054\u8D26\u6237" },
6094
6133
  nav_account_sessions: { label: "\u6D3B\u52A8\u4F1A\u8BDD" },
6095
6134
  nav_account_api_keys: { label: "API \u5BC6\u94A5" },
@@ -6108,6 +6147,7 @@ var zhCN = {
6108
6147
  group_access_control: { label: "\u8BBF\u95EE\u63A7\u5236" },
6109
6148
  group_approvals: { label: "\u5BA1\u6279" },
6110
6149
  group_configuration: { label: "\u914D\u7F6E" },
6150
+ group_integrations: { label: "\u96C6\u6210" },
6111
6151
  group_diagnostics: { label: "\u8BCA\u65AD" },
6112
6152
  group_advanced: { label: "\u9AD8\u7EA7" },
6113
6153
  nav_system_overview: { label: "\u7CFB\u7EDF\u6982\u89C8" },
@@ -6127,14 +6167,20 @@ var zhCN = {
6127
6167
  nav_settings_hub: { label: "\u5168\u90E8\u8BBE\u7F6E" },
6128
6168
  nav_settings_mail: { label: "\u90AE\u4EF6" },
6129
6169
  nav_settings_branding: { label: "\u54C1\u724C" },
6170
+ nav_settings_auth: { label: "\u8BA4\u8BC1" },
6171
+ nav_settings_storage: { label: "\u6587\u4EF6\u5B58\u50A8" },
6172
+ nav_settings_ai: { label: "AI \u4E0E Embedder" },
6173
+ nav_settings_knowledge: { label: "\u77E5\u8BC6\u5E93" },
6130
6174
  nav_settings_feature_flags: { label: "\u529F\u80FD\u5F00\u5173" },
6175
+ nav_notification_preferences: { label: "\u901A\u77E5\u504F\u597D" },
6176
+ nav_notification_subscriptions: { label: "\u901A\u77E5\u8BA2\u9605" },
6177
+ nav_notification_templates: { label: "\u901A\u77E5\u6A21\u677F" },
6131
6178
  nav_sessions: { label: "\u4F1A\u8BDD" },
6132
6179
  nav_audit_logs: { label: "\u5BA1\u8BA1\u65E5\u5FD7" },
6133
6180
  nav_notifications: { label: "\u901A\u77E5" },
6134
6181
  nav_oauth_apps: { label: "OAuth \u5E94\u7528" },
6135
6182
  nav_jwks: { label: "\u7B7E\u540D\u5BC6\u94A5 (JWKS)" },
6136
6183
  nav_verifications: { label: "\u9A8C\u8BC1\u8BB0\u5F55" },
6137
- nav_two_factor: { label: "\u53CC\u91CD\u8BA4\u8BC1" },
6138
6184
  nav_device_codes: { label: "\u8BBE\u5907\u4EE3\u7801" },
6139
6185
  nav_accounts: { label: "\u8EAB\u4EFD\u94FE\u63A5" },
6140
6186
  nav_user_preferences: { label: "\u7528\u6237\u504F\u597D" },
@@ -8784,7 +8830,6 @@ var jaJP = {
8784
8830
  nav_account_notifications: { label: "\u901A\u77E5" },
8785
8831
  nav_account_approvals: { label: "\u627F\u8A8D\u5F85\u3061" },
8786
8832
  nav_account_memberships: { label: "\u6240\u5C5E\u7D44\u7E54" },
8787
- nav_account_two_factor: { label: "\u4E8C\u8981\u7D20\u8A8D\u8A3C" },
8788
8833
  nav_account_linked: { label: "\u9023\u643A\u30A2\u30AB\u30A6\u30F3\u30C8" },
8789
8834
  nav_account_sessions: { label: "\u30A2\u30AF\u30C6\u30A3\u30D6\u30BB\u30C3\u30B7\u30E7\u30F3" },
8790
8835
  nav_account_api_keys: { label: "API \u30AD\u30FC" },
@@ -8803,6 +8848,7 @@ var jaJP = {
8803
8848
  group_access_control: { label: "\u30A2\u30AF\u30BB\u30B9\u5236\u5FA1" },
8804
8849
  group_approvals: { label: "\u627F\u8A8D" },
8805
8850
  group_configuration: { label: "\u69CB\u6210" },
8851
+ group_integrations: { label: "\u7D71\u5408" },
8806
8852
  group_diagnostics: { label: "\u8A3A\u65AD" },
8807
8853
  group_advanced: { label: "\u8A73\u7D30" },
8808
8854
  nav_system_overview: { label: "\u30B7\u30B9\u30C6\u30E0\u6982\u8981" },
@@ -8822,14 +8868,20 @@ var jaJP = {
8822
8868
  nav_settings_hub: { label: "\u3059\u3079\u3066\u306E\u8A2D\u5B9A" },
8823
8869
  nav_settings_mail: { label: "\u30E1\u30FC\u30EB" },
8824
8870
  nav_settings_branding: { label: "\u30D6\u30E9\u30F3\u30C7\u30A3\u30F3\u30B0" },
8871
+ nav_settings_auth: { label: "\u8A8D\u8A3C" },
8872
+ nav_settings_storage: { label: "\u30D5\u30A1\u30A4\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8" },
8873
+ nav_settings_ai: { label: "AI \u3068 Embedder" },
8874
+ nav_settings_knowledge: { label: "\u30CA\u30EC\u30C3\u30B8" },
8825
8875
  nav_settings_feature_flags: { label: "\u6A5F\u80FD\u30D5\u30E9\u30B0" },
8876
+ nav_notification_preferences: { label: "\u901A\u77E5\u8A2D\u5B9A" },
8877
+ nav_notification_subscriptions: { label: "\u901A\u77E5\u8CFC\u8AAD" },
8878
+ nav_notification_templates: { label: "\u901A\u77E5\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8" },
8826
8879
  nav_sessions: { label: "\u30BB\u30C3\u30B7\u30E7\u30F3" },
8827
8880
  nav_audit_logs: { label: "\u76E3\u67FB\u30ED\u30B0" },
8828
8881
  nav_notifications: { label: "\u901A\u77E5" },
8829
8882
  nav_oauth_apps: { label: "OAuth \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3" },
8830
8883
  nav_jwks: { label: "\u7F72\u540D\u30AD\u30FC (JWKS)" },
8831
8884
  nav_verifications: { label: "\u691C\u8A3C" },
8832
- nav_two_factor: { label: "\u4E8C\u8981\u7D20\u8A8D\u8A3C" },
8833
8885
  nav_device_codes: { label: "\u30C7\u30D0\u30A4\u30B9\u30B3\u30FC\u30C9" },
8834
8886
  nav_accounts: { label: "ID \u9023\u643A" },
8835
8887
  nav_user_preferences: { label: "\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A" },
@@ -11479,7 +11531,6 @@ var esES = {
11479
11531
  nav_account_notifications: { label: "Notificaciones" },
11480
11532
  nav_account_approvals: { label: "Aprobaciones pendientes" },
11481
11533
  nav_account_memberships: { label: "Mis organizaciones" },
11482
- nav_account_two_factor: { label: "Autenticaci\xF3n de dos factores" },
11483
11534
  nav_account_linked: { label: "Cuentas vinculadas" },
11484
11535
  nav_account_sessions: { label: "Sesiones activas" },
11485
11536
  nav_account_api_keys: { label: "Claves API" },
@@ -11498,6 +11549,7 @@ var esES = {
11498
11549
  group_access_control: { label: "Control de Acceso" },
11499
11550
  group_approvals: { label: "Aprobaciones" },
11500
11551
  group_configuration: { label: "Configuraci\xF3n" },
11552
+ group_integrations: { label: "Integraciones" },
11501
11553
  group_diagnostics: { label: "Diagn\xF3stico" },
11502
11554
  group_advanced: { label: "Avanzado" },
11503
11555
  nav_system_overview: { label: "Resumen del Sistema" },
@@ -11517,14 +11569,20 @@ var esES = {
11517
11569
  nav_settings_hub: { label: "Todos los Ajustes" },
11518
11570
  nav_settings_mail: { label: "Correo" },
11519
11571
  nav_settings_branding: { label: "Marca" },
11572
+ nav_settings_auth: { label: "Autenticaci\xF3n" },
11573
+ nav_settings_storage: { label: "Almacenamiento de Archivos" },
11574
+ nav_settings_ai: { label: "IA y Embedder" },
11575
+ nav_settings_knowledge: { label: "Conocimiento" },
11520
11576
  nav_settings_feature_flags: { label: "Indicadores de Funcionalidad" },
11577
+ nav_notification_preferences: { label: "Preferencias de Notificaci\xF3n" },
11578
+ nav_notification_subscriptions: { label: "Suscripciones de Notificaci\xF3n" },
11579
+ nav_notification_templates: { label: "Plantillas de Notificaci\xF3n" },
11521
11580
  nav_sessions: { label: "Sesiones" },
11522
11581
  nav_audit_logs: { label: "Registros de Auditor\xEDa" },
11523
11582
  nav_notifications: { label: "Notificaciones" },
11524
11583
  nav_oauth_apps: { label: "Aplicaciones OAuth" },
11525
11584
  nav_jwks: { label: "Claves de Firma (JWKS)" },
11526
11585
  nav_verifications: { label: "Verificaciones" },
11527
- nav_two_factor: { label: "Doble Factor" },
11528
11586
  nav_device_codes: { label: "C\xF3digos de Dispositivo" },
11529
11587
  nav_accounts: { label: "Enlaces de Identidad" },
11530
11588
  nav_user_preferences: { label: "Preferencias de Usuario" },
@@ -11595,6 +11653,6 @@ var SetupAppTranslations = {
11595
11653
  "es-ES": esES
11596
11654
  };
11597
11655
 
11598
- export { ACCOUNT_APP, SETUP_APP, SETUP_NAV_CONTRIBUTIONS, STUDIO_APP, SetupAppTranslations, SystemOverviewDashboard, en, esES, jaJP, zhCN };
11656
+ export { ACCOUNT_APP, SETUP_APP, SETUP_NAV_CONTRIBUTIONS, STUDIO_APP, SetupAppTranslations, SystemOverviewDashboard, SystemOverviewDatasets, en, esES, jaJP, zhCN };
11599
11657
  //# sourceMappingURL=index.mjs.map
11600
11658
  //# sourceMappingURL=index.mjs.map