@objectstack/platform-objects 7.0.0 → 7.1.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.
package/dist/index.mjs CHANGED
@@ -2395,7 +2395,7 @@ var SysOauthApplication = ObjectSchema.create({
2395
2395
  locations: ["list_toolbar"],
2396
2396
  type: "api",
2397
2397
  method: "POST",
2398
- target: "/api/v1/auth/oauth2/register",
2398
+ target: "/api/v1/auth/sys-oauth-application/register",
2399
2399
  refreshAfter: true,
2400
2400
  params: [
2401
2401
  { name: "name", label: "Application Name", type: "text", required: true },
@@ -4204,6 +4204,16 @@ var defaultPermissionSets = [
4204
4204
  operation: "all",
4205
4205
  using: "user_id = current_user.id"
4206
4206
  },
4207
+ // OAuth applications a user has registered themselves (self-service
4208
+ // developer flow exposed in the Account app's Developer section).
4209
+ // `sys_oauth_application` has no `organization_id` so the wildcard
4210
+ // `tenant_isolation` policy would otherwise deny every row.
4211
+ {
4212
+ name: "sys_oauth_application_self",
4213
+ object: "sys_oauth_application",
4214
+ operation: "all",
4215
+ using: "user_id = current_user.id"
4216
+ },
4207
4217
  // Org-scoped visibility for organization-owned identity-adjacent
4208
4218
  // tables. Org admins may inspect their own org's invitations and
4209
4219
  // memberships (read; writes still flow through better-auth).
@@ -4356,6 +4366,16 @@ var defaultPermissionSets = [
4356
4366
  object: "sys_oauth_consent",
4357
4367
  operation: "all",
4358
4368
  using: "user_id = current_user.id"
4369
+ },
4370
+ // OAuth applications a user has registered themselves (Account →
4371
+ // Developer → OAuth Applications). `sys_oauth_application` has no
4372
+ // `organization_id`, so without this carve-out the wildcard
4373
+ // `tenant_isolation` policy returns zero rows even for the owner.
4374
+ {
4375
+ name: "sys_oauth_application_self",
4376
+ object: "sys_oauth_application",
4377
+ operation: "all",
4378
+ using: "user_id = current_user.id"
4359
4379
  }
4360
4380
  ]
4361
4381
  }),
@@ -7785,21 +7805,20 @@ var ACCOUNT_APP = {
7785
7805
  // manage their own 2FA / linked accounts / personal OAuth apps. RLS on
7786
7806
  // each object scopes rows to the caller.
7787
7807
  navigation: [
7788
- // Profile is the canonical landing — name, email, avatar, verification
7789
- // status. Uses `type: 'object' + recordId: '{current_user_id}'` so it
7790
- // resolves to the sys_user record page; the slotted SysUserDetailPage
7791
- // (kind: 'slotted', isDefault: true) tailors that page into a proper
7792
- // self-service profile (highlight chips, grouped detail sections, no
7793
- // Discussion thread) without losing the record-context features
7794
- // (related lists, header actions, RLS-aware edit).
7808
+ // Profile is the canonical landing — a hand-written React settings card
7809
+ // (Vercel/Linear style) registered in the Console SPA as
7810
+ // `account:profile_card`. The renderer reads the current user via
7811
+ // `useAuth()` and writes via `client.auth.updateUser`, so there is no
7812
+ // sys_user record context here this is intentional. The admin-facing
7813
+ // sys_user record page (see `pages/sys-user.page.ts`) stays focused on
7814
+ // record browsing (Identity/Audit fields, related lists, admin actions)
7815
+ // and is reached through Setup, never from the Account App.
7795
7816
  {
7796
7817
  id: "nav_account_profile",
7797
- type: "object",
7818
+ type: "component",
7798
7819
  label: "Profile",
7799
- objectName: "sys_user",
7800
- recordId: "{current_user_id}",
7801
- icon: "user-circle",
7802
- requiresObject: "sys_user"
7820
+ componentRef: "account:profile_card",
7821
+ icon: "user-circle"
7803
7822
  },
7804
7823
  // --- Inbox & work assigned to me -----------------------------------
7805
7824
  // Notifications, approvals waiting on me, and the orgs I belong to.
@@ -7903,16 +7922,14 @@ var ACCOUNT_APP = {
7903
7922
  requiresObject: "sys_oauth_application"
7904
7923
  }
7905
7924
  ]
7906
- },
7907
- {
7908
- id: "nav_account_preferences",
7909
- type: "object",
7910
- label: "Preferences",
7911
- objectName: "sys_user_preference",
7912
- viewName: "mine",
7913
- icon: "sliders-horizontal",
7914
- requiresObject: "sys_user_preference"
7915
7925
  }
7926
+ // Note: `sys_user_preference` is intentionally NOT exposed in the
7927
+ // Account App. It's an internal key-value store the UI uses for state
7928
+ // like `ui.recent`, `ui.favorites`, theme, sidebar collapse — not
7929
+ // a user-curatable settings surface. A future
7930
+ // `account:preferences_card` React component should provide the
7931
+ // curated theme / locale / timezone / notifications toggles when we
7932
+ // need them; until then there is no nav entry.
7916
7933
  ]
7917
7934
  };
7918
7935
  var SystemOverviewDashboard = Dashboard.create({
@@ -11131,8 +11148,7 @@ var en = {
11131
11148
  nav_account_linked: { label: "Linked Accounts" },
11132
11149
  nav_account_sessions: { label: "Active Sessions" },
11133
11150
  nav_account_api_keys: { label: "API Keys" },
11134
- nav_account_oauth_apps: { label: "OAuth Applications" },
11135
- nav_account_preferences: { label: "Preferences" }
11151
+ nav_account_oauth_apps: { label: "OAuth Applications" }
11136
11152
  }
11137
11153
  },
11138
11154
  setup: {
@@ -14343,8 +14359,7 @@ var zhCN = {
14343
14359
  nav_account_linked: { label: "\u5DF2\u5173\u8054\u8D26\u6237" },
14344
14360
  nav_account_sessions: { label: "\u6D3B\u52A8\u4F1A\u8BDD" },
14345
14361
  nav_account_api_keys: { label: "API \u5BC6\u94A5" },
14346
- nav_account_oauth_apps: { label: "OAuth \u5E94\u7528" },
14347
- nav_account_preferences: { label: "\u504F\u597D\u8BBE\u7F6E" }
14362
+ nav_account_oauth_apps: { label: "OAuth \u5E94\u7528" }
14348
14363
  }
14349
14364
  },
14350
14365
  setup: {
@@ -17516,8 +17531,7 @@ var jaJP = {
17516
17531
  nav_account_linked: { label: "\u9023\u643A\u30A2\u30AB\u30A6\u30F3\u30C8" },
17517
17532
  nav_account_sessions: { label: "\u30A2\u30AF\u30C6\u30A3\u30D6\u30BB\u30C3\u30B7\u30E7\u30F3" },
17518
17533
  nav_account_api_keys: { label: "API \u30AD\u30FC" },
17519
- nav_account_oauth_apps: { label: "OAuth \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3" },
17520
- nav_account_preferences: { label: "\u74B0\u5883\u8A2D\u5B9A" }
17534
+ nav_account_oauth_apps: { label: "OAuth \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3" }
17521
17535
  }
17522
17536
  },
17523
17537
  setup: {
@@ -20689,8 +20703,7 @@ var esES = {
20689
20703
  nav_account_linked: { label: "Cuentas vinculadas" },
20690
20704
  nav_account_sessions: { label: "Sesiones activas" },
20691
20705
  nav_account_api_keys: { label: "Claves API" },
20692
- nav_account_oauth_apps: { label: "Aplicaciones OAuth" },
20693
- nav_account_preferences: { label: "Preferencias" }
20706
+ nav_account_oauth_apps: { label: "Aplicaciones OAuth" }
20694
20707
  }
20695
20708
  },
20696
20709
  setup: {