@objectstack/platform-objects 12.6.0 → 14.3.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.
Files changed (41) hide show
  1. package/dist/apps/index.d.mts +1 -1
  2. package/dist/apps/index.d.ts +1 -1
  3. package/dist/apps/index.js +38 -17
  4. package/dist/apps/index.js.map +1 -1
  5. package/dist/apps/index.mjs +38 -17
  6. package/dist/apps/index.mjs.map +1 -1
  7. package/dist/audit/index.d.mts +90 -30
  8. package/dist/audit/index.d.ts +90 -30
  9. package/dist/identity/index.d.mts +1057 -280
  10. package/dist/identity/index.d.ts +1057 -280
  11. package/dist/identity/index.js +184 -29
  12. package/dist/identity/index.js.map +1 -1
  13. package/dist/identity/index.mjs +184 -29
  14. package/dist/identity/index.mjs.map +1 -1
  15. package/dist/index.d.mts +1 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.js +362 -335
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +362 -336
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/metadata-translations/index.js +20 -288
  22. package/dist/metadata-translations/index.js.map +1 -1
  23. package/dist/metadata-translations/index.mjs +20 -288
  24. package/dist/metadata-translations/index.mjs.map +1 -1
  25. package/dist/pages/index.d.mts +35 -4
  26. package/dist/pages/index.d.ts +35 -4
  27. package/dist/pages/index.js +112 -1
  28. package/dist/pages/index.js.map +1 -1
  29. package/dist/pages/index.mjs +112 -2
  30. package/dist/pages/index.mjs.map +1 -1
  31. package/dist/plugin.js +37 -300
  32. package/dist/plugin.js.map +1 -1
  33. package/dist/plugin.mjs +37 -300
  34. package/dist/plugin.mjs.map +1 -1
  35. package/dist/system/index.d.mts +30 -9
  36. package/dist/system/index.d.ts +30 -9
  37. package/dist/system/index.js +8 -0
  38. package/dist/system/index.js.map +1 -1
  39. package/dist/system/index.mjs +8 -0
  40. package/dist/system/index.mjs.map +1 -1
  41. package/package.json +3 -3
@@ -125,21 +125,33 @@ var SETUP_NAV_CONTRIBUTIONS = [
125
125
  priority: BASE_PRIORITY,
126
126
  items: [
127
127
  { id: "nav_users", type: "object", label: "Users", objectName: "sys_user", icon: "user" },
128
+ // The ACTIVE organization's record page (Members / Invitations / Teams
129
+ // tabs with the better-auth row actions), rendered inside the app shell
130
+ // (ADR-0081). `{current_org_id}` resolves from the session's active
131
+ // organization; unresolved (e.g. org-less admin before bootstrap) it
132
+ // falls back to the sys_organization list — one row in single-org.
133
+ { id: "nav_organization", type: "object", label: "Organization", objectName: "sys_organization", recordId: "{current_org_id}", icon: "building-2" },
128
134
  { id: "nav_business_units", type: "object", label: "Business Units", objectName: "sys_business_unit", icon: "building", requiresObject: "sys_business_unit" },
129
- { id: "nav_teams", type: "object", label: "Teams", objectName: "sys_team", icon: "users-round", requiresService: "org-scoping" },
135
+ // Teams / Invitations no longer gate on `org-scoping` (ADR-0081 D1):
136
+ // the better-auth organization capability is always mounted, and
137
+ // plugin-auth's single-org default-org bootstrap guarantees an org to
138
+ // invite into — these are the OPEN member-management basics. Only the
139
+ // org LIST below keeps the gate: browsing organizations is meaningful
140
+ // only when more than one can exist (enterprise multi-org).
141
+ { id: "nav_teams", type: "object", label: "Teams", objectName: "sys_team", icon: "users-round" },
130
142
  { id: "nav_organizations", type: "object", label: "Organizations", objectName: "sys_organization", icon: "building-2", requiresService: "org-scoping" },
131
- { id: "nav_invitations", type: "object", label: "Invitations", objectName: "sys_invitation", icon: "mail", requiresService: "org-scoping" }
143
+ { id: "nav_invitations", type: "object", label: "Invitations", objectName: "sys_invitation", icon: "mail" }
132
144
  ]
133
145
  },
134
146
  {
135
147
  app: "setup",
136
148
  group: "group_access_control",
137
- // Priority 300 keeps API Keys after plugin-security's Roles / Permission
149
+ // Priority 300 keeps API Keys after plugin-security's Positions / Permission
138
150
  // Sets (100) and plugin-sharing's Sharing Rules / Record Shares (200),
139
151
  // preserving the original menu order.
140
152
  priority: 300,
141
153
  items: [
142
- // Roles / Permission Sets are contributed by @objectstack/plugin-security
154
+ // Positions / Permission Sets are contributed by @objectstack/plugin-security
143
155
  // and Sharing Rules / Record Shares by @objectstack/plugin-sharing
144
156
  // (ADR-0029 K2). Only API Keys (sys_api_key, an identity object owned by
145
157
  // plugin-auth) remains a platform-objects base entry here.
@@ -190,7 +202,11 @@ var SETUP_NAV_CONTRIBUTIONS = [
190
202
  priority: BASE_PRIORITY,
191
203
  items: [
192
204
  { id: "nav_oauth_apps", type: "object", label: "OAuth Applications", objectName: "sys_oauth_application", icon: "app-window" },
193
- { id: "nav_jwks", type: "object", label: "Signing Keys (JWKS)", objectName: "sys_jwks", icon: "key-round" },
205
+ // nav_jwks is capability-gated (like nav_api_keys): sys_jwks is
206
+ // `access.default:'private'` (ADR-0066 ④ — signing keys), so a
207
+ // non-admin's list request 403s server-side; gating the nav item keeps
208
+ // the menu honest instead of showing an entry that can only error.
209
+ { id: "nav_jwks", type: "object", label: "Signing Keys (JWKS)", objectName: "sys_jwks", icon: "key-round", requiredPermissions: ["manage_platform_settings"] },
194
210
  // `sys_verification` (email/phone tokens) and `sys_device_code` (OAuth
195
211
  // device-grant codes) deliberately omit `list` from their `apiMethods`
196
212
  // (sensitive, ephemeral secrets — not browsable), so an object/list-view
@@ -1529,8 +1545,8 @@ var enObjects = {
1529
1545
  user_id: {
1530
1546
  label: "User"
1531
1547
  },
1532
- role_in_business_unit: {
1533
- label: "Role in Business Unit",
1548
+ function_in_business_unit: {
1549
+ label: "Function in Business Unit",
1534
1550
  help: "`lead` is the day-to-day head; `deputy` may stand in for the lead in approval routing.",
1535
1551
  options: {
1536
1552
  member: "member",
@@ -3482,12 +3498,13 @@ var en = {
3482
3498
  nav_marketplace_installed: { label: "Installed Apps" },
3483
3499
  // People & Organization
3484
3500
  nav_users: { label: "Users" },
3501
+ nav_organization: { label: "Organization" },
3485
3502
  nav_business_units: { label: "Business Units" },
3486
3503
  nav_teams: { label: "Teams" },
3487
3504
  nav_organizations: { label: "Organizations" },
3488
3505
  nav_invitations: { label: "Invitations" },
3489
3506
  // Access Control
3490
- nav_roles: { label: "Roles" },
3507
+ nav_positions: { label: "Positions" },
3491
3508
  nav_permission_sets: { label: "Permission Sets" },
3492
3509
  nav_sharing_rules: { label: "Sharing Rules" },
3493
3510
  nav_record_shares: { label: "Record Shares" },
@@ -4275,8 +4292,8 @@ var zhCNObjects = {
4275
4292
  user_id: {
4276
4293
  label: "\u7528\u6237"
4277
4294
  },
4278
- role_in_business_unit: {
4279
- label: "\u4E1A\u52A1\u5355\u5143\u5185\u89D2\u8272",
4295
+ function_in_business_unit: {
4296
+ label: "\u4E1A\u52A1\u5355\u5143\u5185\u804C\u80FD",
4280
4297
  help: "`lead` \u8868\u793A\u65E5\u5E38\u8D1F\u8D23\u4EBA\uFF1B`deputy` \u53EF\u5728\u5BA1\u6279\u8DEF\u7531\u4E2D\u4EE3\u66FF\u8D1F\u8D23\u4EBA\u3002",
4281
4298
  options: {
4282
4299
  member: "\u6210\u5458",
@@ -6225,16 +6242,18 @@ var zhCN = {
6225
6242
  group_advanced: { label: "\u9AD8\u7EA7" },
6226
6243
  nav_system_overview: { label: "\u7CFB\u7EDF\u6982\u89C8" },
6227
6244
  nav_users: { label: "\u7528\u6237" },
6245
+ nav_organization: { label: "\u7EC4\u7EC7" },
6228
6246
  nav_business_units: { label: "\u4E1A\u52A1\u5355\u5143" },
6229
6247
  nav_teams: { label: "\u56E2\u961F" },
6230
6248
  nav_organizations: { label: "\u7EC4\u7EC7" },
6231
6249
  nav_invitations: { label: "\u9080\u8BF7" },
6232
- nav_roles: { label: "\u89D2\u8272" },
6250
+ nav_positions: { label: "\u5C97\u4F4D" },
6233
6251
  nav_capabilities: { label: "\u80FD\u529B" },
6234
6252
  nav_permission_sets: { label: "\u6743\u9650\u96C6" },
6235
6253
  nav_sharing_rules: { label: "\u5171\u4EAB\u89C4\u5219" },
6236
6254
  nav_record_shares: { label: "\u8BB0\u5F55\u5171\u4EAB" },
6237
6255
  nav_api_keys: { label: "API \u5BC6\u94A5" },
6256
+ nav_connect_agent: { label: "\u8FDE\u63A5\u667A\u80FD\u4F53" },
6238
6257
  nav_approval_processes: { label: "\u5BA1\u6279\u6D41\u7A0B" },
6239
6258
  nav_approval_requests: { label: "\u5BA1\u6279\u7533\u8BF7" },
6240
6259
  nav_approval_actions: { label: "\u5BA1\u6279\u5386\u53F2" },
@@ -6984,8 +7003,8 @@ var jaJPObjects = {
6984
7003
  user_id: {
6985
7004
  label: "\u30E6\u30FC\u30B6\u30FC"
6986
7005
  },
6987
- role_in_business_unit: {
6988
- label: "\u30D3\u30B8\u30CD\u30B9\u30E6\u30CB\u30C3\u30C8\u5185\u30ED\u30FC\u30EB",
7006
+ function_in_business_unit: {
7007
+ label: "\u30D3\u30B8\u30CD\u30B9\u30E6\u30CB\u30C3\u30C8\u5185\u306E\u8077\u80FD",
6989
7008
  help: "`lead` \u306F\u65E5\u5E38\u306E\u8CAC\u4EFB\u8005\u3001`deputy` \u306F\u627F\u8A8D\u30EB\u30FC\u30C6\u30A3\u30F3\u30B0\u3067\u30EA\u30FC\u30C9\u306E\u4EE3\u7406\u3092\u52D9\u3081\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002",
6990
7009
  options: {
6991
7010
  member: "\u30E1\u30F3\u30D0\u30FC",
@@ -8933,11 +8952,12 @@ var jaJP = {
8933
8952
  group_advanced: { label: "\u8A73\u7D30" },
8934
8953
  nav_system_overview: { label: "\u30B7\u30B9\u30C6\u30E0\u6982\u8981" },
8935
8954
  nav_users: { label: "\u30E6\u30FC\u30B6\u30FC" },
8955
+ nav_organization: { label: "\u7D44\u7E54" },
8936
8956
  nav_business_units: { label: "\u30D3\u30B8\u30CD\u30B9\u30E6\u30CB\u30C3\u30C8" },
8937
8957
  nav_teams: { label: "\u30C1\u30FC\u30E0" },
8938
8958
  nav_organizations: { label: "\u7D44\u7E54" },
8939
8959
  nav_invitations: { label: "\u62DB\u5F85" },
8940
- nav_roles: { label: "\u30ED\u30FC\u30EB" },
8960
+ nav_positions: { label: "\u30DD\u30B8\u30B7\u30E7\u30F3" },
8941
8961
  nav_permission_sets: { label: "\u6A29\u9650\u30BB\u30C3\u30C8" },
8942
8962
  nav_sharing_rules: { label: "\u5171\u6709\u30EB\u30FC\u30EB" },
8943
8963
  nav_record_shares: { label: "\u30EC\u30B3\u30FC\u30C9\u5171\u6709" },
@@ -9690,8 +9710,8 @@ var esESObjects = {
9690
9710
  user_id: {
9691
9711
  label: "Usuario"
9692
9712
  },
9693
- role_in_business_unit: {
9694
- label: "Rol en el departamento",
9713
+ function_in_business_unit: {
9714
+ label: "Funci\xF3n en la unidad de negocio",
9695
9715
  help: "`lead` es el responsable del d\xEDa a d\xEDa; `deputy` puede sustituir al responsable en el enrutamiento de aprobaciones.",
9696
9716
  options: {
9697
9717
  member: "Miembro",
@@ -11639,11 +11659,12 @@ var esES = {
11639
11659
  group_advanced: { label: "Avanzado" },
11640
11660
  nav_system_overview: { label: "Resumen del Sistema" },
11641
11661
  nav_users: { label: "Usuarios" },
11662
+ nav_organization: { label: "Organizaci\xF3n" },
11642
11663
  nav_business_units: { label: "Unidades de negocio" },
11643
11664
  nav_teams: { label: "Equipos" },
11644
11665
  nav_organizations: { label: "Organizaciones" },
11645
11666
  nav_invitations: { label: "Invitaciones" },
11646
- nav_roles: { label: "Roles" },
11667
+ nav_positions: { label: "Posiciones" },
11647
11668
  nav_permission_sets: { label: "Conjuntos de Permisos" },
11648
11669
  nav_sharing_rules: { label: "Reglas de Compartici\xF3n" },
11649
11670
  nav_record_shares: { label: "Registros Compartidos" },