@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
@@ -42,7 +42,7 @@ declare const SETUP_APP: App;
42
42
  * that owns the underlying objects rather than living here (ADR-0029 K2):
43
43
  * - `group_integrations` → `@objectstack/plugin-webhooks` (K2.a)
44
44
  * - `group_approvals` → `@objectstack/plugin-approvals` (K2.b)
45
- * - `group_access_control` Roles / Permission Sets → `@objectstack/plugin-security`
45
+ * - `group_access_control` Positions / Permission Sets → `@objectstack/plugin-security`
46
46
  * - `group_access_control` Sharing Rules / Record Shares → `@objectstack/plugin-sharing`
47
47
  * As each remaining domain moves to its capability plugin, its entries move out
48
48
  * of this file into that plugin the same way.
@@ -42,7 +42,7 @@ declare const SETUP_APP: App;
42
42
  * that owns the underlying objects rather than living here (ADR-0029 K2):
43
43
  * - `group_integrations` → `@objectstack/plugin-webhooks` (K2.a)
44
44
  * - `group_approvals` → `@objectstack/plugin-approvals` (K2.b)
45
- * - `group_access_control` Roles / Permission Sets → `@objectstack/plugin-security`
45
+ * - `group_access_control` Positions / Permission Sets → `@objectstack/plugin-security`
46
46
  * - `group_access_control` Sharing Rules / Record Shares → `@objectstack/plugin-sharing`
47
47
  * As each remaining domain moves to its capability plugin, its entries move out
48
48
  * of this file into that plugin the same way.
@@ -127,21 +127,33 @@ var SETUP_NAV_CONTRIBUTIONS = [
127
127
  priority: BASE_PRIORITY,
128
128
  items: [
129
129
  { id: "nav_users", type: "object", label: "Users", objectName: "sys_user", icon: "user" },
130
+ // The ACTIVE organization's record page (Members / Invitations / Teams
131
+ // tabs with the better-auth row actions), rendered inside the app shell
132
+ // (ADR-0081). `{current_org_id}` resolves from the session's active
133
+ // organization; unresolved (e.g. org-less admin before bootstrap) it
134
+ // falls back to the sys_organization list — one row in single-org.
135
+ { id: "nav_organization", type: "object", label: "Organization", objectName: "sys_organization", recordId: "{current_org_id}", icon: "building-2" },
130
136
  { id: "nav_business_units", type: "object", label: "Business Units", objectName: "sys_business_unit", icon: "building", requiresObject: "sys_business_unit" },
131
- { id: "nav_teams", type: "object", label: "Teams", objectName: "sys_team", icon: "users-round", requiresService: "org-scoping" },
137
+ // Teams / Invitations no longer gate on `org-scoping` (ADR-0081 D1):
138
+ // the better-auth organization capability is always mounted, and
139
+ // plugin-auth's single-org default-org bootstrap guarantees an org to
140
+ // invite into — these are the OPEN member-management basics. Only the
141
+ // org LIST below keeps the gate: browsing organizations is meaningful
142
+ // only when more than one can exist (enterprise multi-org).
143
+ { id: "nav_teams", type: "object", label: "Teams", objectName: "sys_team", icon: "users-round" },
132
144
  { id: "nav_organizations", type: "object", label: "Organizations", objectName: "sys_organization", icon: "building-2", requiresService: "org-scoping" },
133
- { id: "nav_invitations", type: "object", label: "Invitations", objectName: "sys_invitation", icon: "mail", requiresService: "org-scoping" }
145
+ { id: "nav_invitations", type: "object", label: "Invitations", objectName: "sys_invitation", icon: "mail" }
134
146
  ]
135
147
  },
136
148
  {
137
149
  app: "setup",
138
150
  group: "group_access_control",
139
- // Priority 300 keeps API Keys after plugin-security's Roles / Permission
151
+ // Priority 300 keeps API Keys after plugin-security's Positions / Permission
140
152
  // Sets (100) and plugin-sharing's Sharing Rules / Record Shares (200),
141
153
  // preserving the original menu order.
142
154
  priority: 300,
143
155
  items: [
144
- // Roles / Permission Sets are contributed by @objectstack/plugin-security
156
+ // Positions / Permission Sets are contributed by @objectstack/plugin-security
145
157
  // and Sharing Rules / Record Shares by @objectstack/plugin-sharing
146
158
  // (ADR-0029 K2). Only API Keys (sys_api_key, an identity object owned by
147
159
  // plugin-auth) remains a platform-objects base entry here.
@@ -192,7 +204,11 @@ var SETUP_NAV_CONTRIBUTIONS = [
192
204
  priority: BASE_PRIORITY,
193
205
  items: [
194
206
  { id: "nav_oauth_apps", type: "object", label: "OAuth Applications", objectName: "sys_oauth_application", icon: "app-window" },
195
- { id: "nav_jwks", type: "object", label: "Signing Keys (JWKS)", objectName: "sys_jwks", icon: "key-round" },
207
+ // nav_jwks is capability-gated (like nav_api_keys): sys_jwks is
208
+ // `access.default:'private'` (ADR-0066 ④ — signing keys), so a
209
+ // non-admin's list request 403s server-side; gating the nav item keeps
210
+ // the menu honest instead of showing an entry that can only error.
211
+ { id: "nav_jwks", type: "object", label: "Signing Keys (JWKS)", objectName: "sys_jwks", icon: "key-round", requiredPermissions: ["manage_platform_settings"] },
196
212
  // `sys_verification` (email/phone tokens) and `sys_device_code` (OAuth
197
213
  // device-grant codes) deliberately omit `list` from their `apiMethods`
198
214
  // (sensitive, ephemeral secrets — not browsable), so an object/list-view
@@ -1531,8 +1547,8 @@ var enObjects = {
1531
1547
  user_id: {
1532
1548
  label: "User"
1533
1549
  },
1534
- role_in_business_unit: {
1535
- label: "Role in Business Unit",
1550
+ function_in_business_unit: {
1551
+ label: "Function in Business Unit",
1536
1552
  help: "`lead` is the day-to-day head; `deputy` may stand in for the lead in approval routing.",
1537
1553
  options: {
1538
1554
  member: "member",
@@ -3484,12 +3500,13 @@ var en = {
3484
3500
  nav_marketplace_installed: { label: "Installed Apps" },
3485
3501
  // People & Organization
3486
3502
  nav_users: { label: "Users" },
3503
+ nav_organization: { label: "Organization" },
3487
3504
  nav_business_units: { label: "Business Units" },
3488
3505
  nav_teams: { label: "Teams" },
3489
3506
  nav_organizations: { label: "Organizations" },
3490
3507
  nav_invitations: { label: "Invitations" },
3491
3508
  // Access Control
3492
- nav_roles: { label: "Roles" },
3509
+ nav_positions: { label: "Positions" },
3493
3510
  nav_permission_sets: { label: "Permission Sets" },
3494
3511
  nav_sharing_rules: { label: "Sharing Rules" },
3495
3512
  nav_record_shares: { label: "Record Shares" },
@@ -4277,8 +4294,8 @@ var zhCNObjects = {
4277
4294
  user_id: {
4278
4295
  label: "\u7528\u6237"
4279
4296
  },
4280
- role_in_business_unit: {
4281
- label: "\u4E1A\u52A1\u5355\u5143\u5185\u89D2\u8272",
4297
+ function_in_business_unit: {
4298
+ label: "\u4E1A\u52A1\u5355\u5143\u5185\u804C\u80FD",
4282
4299
  help: "`lead` \u8868\u793A\u65E5\u5E38\u8D1F\u8D23\u4EBA\uFF1B`deputy` \u53EF\u5728\u5BA1\u6279\u8DEF\u7531\u4E2D\u4EE3\u66FF\u8D1F\u8D23\u4EBA\u3002",
4283
4300
  options: {
4284
4301
  member: "\u6210\u5458",
@@ -6227,16 +6244,18 @@ var zhCN = {
6227
6244
  group_advanced: { label: "\u9AD8\u7EA7" },
6228
6245
  nav_system_overview: { label: "\u7CFB\u7EDF\u6982\u89C8" },
6229
6246
  nav_users: { label: "\u7528\u6237" },
6247
+ nav_organization: { label: "\u7EC4\u7EC7" },
6230
6248
  nav_business_units: { label: "\u4E1A\u52A1\u5355\u5143" },
6231
6249
  nav_teams: { label: "\u56E2\u961F" },
6232
6250
  nav_organizations: { label: "\u7EC4\u7EC7" },
6233
6251
  nav_invitations: { label: "\u9080\u8BF7" },
6234
- nav_roles: { label: "\u89D2\u8272" },
6252
+ nav_positions: { label: "\u5C97\u4F4D" },
6235
6253
  nav_capabilities: { label: "\u80FD\u529B" },
6236
6254
  nav_permission_sets: { label: "\u6743\u9650\u96C6" },
6237
6255
  nav_sharing_rules: { label: "\u5171\u4EAB\u89C4\u5219" },
6238
6256
  nav_record_shares: { label: "\u8BB0\u5F55\u5171\u4EAB" },
6239
6257
  nav_api_keys: { label: "API \u5BC6\u94A5" },
6258
+ nav_connect_agent: { label: "\u8FDE\u63A5\u667A\u80FD\u4F53" },
6240
6259
  nav_approval_processes: { label: "\u5BA1\u6279\u6D41\u7A0B" },
6241
6260
  nav_approval_requests: { label: "\u5BA1\u6279\u7533\u8BF7" },
6242
6261
  nav_approval_actions: { label: "\u5BA1\u6279\u5386\u53F2" },
@@ -6986,8 +7005,8 @@ var jaJPObjects = {
6986
7005
  user_id: {
6987
7006
  label: "\u30E6\u30FC\u30B6\u30FC"
6988
7007
  },
6989
- role_in_business_unit: {
6990
- label: "\u30D3\u30B8\u30CD\u30B9\u30E6\u30CB\u30C3\u30C8\u5185\u30ED\u30FC\u30EB",
7008
+ function_in_business_unit: {
7009
+ label: "\u30D3\u30B8\u30CD\u30B9\u30E6\u30CB\u30C3\u30C8\u5185\u306E\u8077\u80FD",
6991
7010
  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",
6992
7011
  options: {
6993
7012
  member: "\u30E1\u30F3\u30D0\u30FC",
@@ -8935,11 +8954,12 @@ var jaJP = {
8935
8954
  group_advanced: { label: "\u8A73\u7D30" },
8936
8955
  nav_system_overview: { label: "\u30B7\u30B9\u30C6\u30E0\u6982\u8981" },
8937
8956
  nav_users: { label: "\u30E6\u30FC\u30B6\u30FC" },
8957
+ nav_organization: { label: "\u7D44\u7E54" },
8938
8958
  nav_business_units: { label: "\u30D3\u30B8\u30CD\u30B9\u30E6\u30CB\u30C3\u30C8" },
8939
8959
  nav_teams: { label: "\u30C1\u30FC\u30E0" },
8940
8960
  nav_organizations: { label: "\u7D44\u7E54" },
8941
8961
  nav_invitations: { label: "\u62DB\u5F85" },
8942
- nav_roles: { label: "\u30ED\u30FC\u30EB" },
8962
+ nav_positions: { label: "\u30DD\u30B8\u30B7\u30E7\u30F3" },
8943
8963
  nav_permission_sets: { label: "\u6A29\u9650\u30BB\u30C3\u30C8" },
8944
8964
  nav_sharing_rules: { label: "\u5171\u6709\u30EB\u30FC\u30EB" },
8945
8965
  nav_record_shares: { label: "\u30EC\u30B3\u30FC\u30C9\u5171\u6709" },
@@ -9692,8 +9712,8 @@ var esESObjects = {
9692
9712
  user_id: {
9693
9713
  label: "Usuario"
9694
9714
  },
9695
- role_in_business_unit: {
9696
- label: "Rol en el departamento",
9715
+ function_in_business_unit: {
9716
+ label: "Funci\xF3n en la unidad de negocio",
9697
9717
  help: "`lead` es el responsable del d\xEDa a d\xEDa; `deputy` puede sustituir al responsable en el enrutamiento de aprobaciones.",
9698
9718
  options: {
9699
9719
  member: "Miembro",
@@ -11641,11 +11661,12 @@ var esES = {
11641
11661
  group_advanced: { label: "Avanzado" },
11642
11662
  nav_system_overview: { label: "Resumen del Sistema" },
11643
11663
  nav_users: { label: "Usuarios" },
11664
+ nav_organization: { label: "Organizaci\xF3n" },
11644
11665
  nav_business_units: { label: "Unidades de negocio" },
11645
11666
  nav_teams: { label: "Equipos" },
11646
11667
  nav_organizations: { label: "Organizaciones" },
11647
11668
  nav_invitations: { label: "Invitaciones" },
11648
- nav_roles: { label: "Roles" },
11669
+ nav_positions: { label: "Posiciones" },
11649
11670
  nav_permission_sets: { label: "Conjuntos de Permisos" },
11650
11671
  nav_sharing_rules: { label: "Reglas de Compartici\xF3n" },
11651
11672
  nav_record_shares: { label: "Registros Compartidos" },