@objectstack/platform-objects 4.0.5 → 4.1.1
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/apps/index.d.mts +66 -48
- package/dist/apps/index.d.ts +66 -48
- package/dist/apps/index.js +12158 -217
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/index.mjs +12154 -212
- package/dist/apps/index.mjs.map +1 -1
- package/dist/audit/index.d.mts +39010 -55
- package/dist/audit/index.d.ts +39010 -55
- package/dist/audit/index.js +1428 -0
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/index.mjs +1417 -1
- package/dist/audit/index.mjs.map +1 -1
- package/dist/identity/index.d.mts +14904 -2817
- package/dist/identity/index.d.ts +14904 -2817
- package/dist/identity/index.js +1090 -6
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/index.mjs +1089 -7
- package/dist/identity/index.mjs.map +1 -1
- package/dist/index.d.mts +9 -7
- package/dist/index.d.ts +9 -7
- package/dist/index.js +15839 -1650
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15815 -1633
- package/dist/index.mjs.map +1 -1
- package/dist/integration/index.d.mts +2906 -0
- package/dist/integration/index.d.ts +2906 -0
- package/dist/integration/index.js +140 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/index.mjs +138 -0
- package/dist/integration/index.mjs.map +1 -0
- package/dist/metadata/index.d.mts +581 -21183
- package/dist/metadata/index.d.ts +581 -21183
- package/dist/metadata/index.js +29 -619
- package/dist/metadata/index.js.map +1 -1
- package/dist/metadata/index.mjs +30 -615
- package/dist/metadata/index.mjs.map +1 -1
- package/dist/security/index.d.mts +7288 -50
- package/dist/security/index.d.ts +7288 -50
- package/dist/security/index.js +540 -0
- package/dist/security/index.js.map +1 -1
- package/dist/security/index.mjs +539 -1
- package/dist/security/index.mjs.map +1 -1
- package/dist/system/index.d.mts +8412 -0
- package/dist/system/index.d.ts +8412 -0
- package/dist/system/index.js +395 -0
- package/dist/system/index.js.map +1 -0
- package/dist/system/index.mjs +391 -0
- package/dist/system/index.mjs.map +1 -0
- package/package.json +13 -8
- package/dist/tenant/index.d.mts +0 -18464
- package/dist/tenant/index.d.ts +0 -18464
- package/dist/tenant/index.js +0 -741
- package/dist/tenant/index.js.map +0 -1
- package/dist/tenant/index.mjs +0 -733
- package/dist/tenant/index.mjs.map +0 -1
- /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.mts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.mts} +0 -0
- /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.ts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.ts} +0 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/identity/sys-user.object.ts","../src/identity/sys-session.object.ts","../src/identity/sys-account.object.ts","../src/identity/sys-verification.object.ts","../src/identity/sys-organization.object.ts","../src/identity/sys-member.object.ts","../src/identity/sys-invitation.object.ts","../src/identity/sys-team.object.ts","../src/identity/sys-team-member.object.ts","../src/identity/sys-api-key.object.ts","../src/identity/sys-two-factor.object.ts","../src/identity/sys-device-code.object.ts","../src/identity/sys-user-preference.object.ts","../src/identity/sys-oauth-application.object.ts","../src/identity/sys-oauth-access-token.object.ts","../src/identity/sys-oauth-refresh-token.object.ts","../src/identity/sys-oauth-consent.object.ts","../src/identity/sys-jwks.object.ts","../src/security/sys-role.object.ts","../src/security/sys-permission-set.object.ts","../src/security/sys-user-permission-set.object.ts","../src/security/sys-role-permission-set.object.ts","../src/security/default-permission-sets.ts","../src/audit/sys-audit-log.object.ts","../src/audit/sys-presence.object.ts","../src/audit/sys-activity.object.ts","../src/audit/sys-comment.object.ts","../src/tenant/sys-project.object.ts","../src/tenant/sys-project-member.object.ts","../src/tenant/sys-project-credential.object.ts","../src/tenant/sys-app.object.ts","../src/tenant/sys-package.object.ts","../src/tenant/sys-package-version.object.ts","../src/tenant/sys-package-installation.object.ts","../src/metadata/sys-metadata.object.ts","../src/metadata/sys-metadata-history.object.ts","../src/metadata/sys-object.object.ts","../src/metadata/sys-view.object.ts","../src/metadata/sys-agent.object.ts","../src/metadata/sys-tool.object.ts","../src/metadata/sys-flow.object.ts","../src/apps/setup.app.ts","../src/apps/views/users.view.ts","../src/apps/views/organizations.view.ts","../src/apps/views/roles.view.ts","../src/apps/views/sessions.view.ts","../src/apps/views/audit_logs.view.ts","../src/apps/views/package_installations.view.ts","../src/apps/dashboards/system_overview.dashboard.ts","../src/apps/dashboards/security_overview.dashboard.ts"],"names":["ObjectSchema","Field","PermissionSetSchema","Dashboard"],"mappings":"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","file":"index.js","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_user — System User Object\n *\n * Canonical user identity record for the ObjectStack platform.\n * Backed by better-auth's `user` model with ObjectStack field conventions.\n *\n * Field order drives default list/form layout: identity first, then profile,\n * then system-managed audit fields (hidden from create/edit forms).\n *\n * @namespace sys\n */\nexport const SysUser = ObjectSchema.create({\n name: 'sys_user',\n label: 'User',\n pluralLabel: 'Users',\n icon: 'user',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'User accounts for authentication',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'email', 'email_verified'],\n\n fields: {\n // ── Identity (primary business fields) ───────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n email: Field.email({\n label: 'Email',\n required: true,\n searchable: true,\n group: 'Identity',\n }),\n\n email_verified: Field.boolean({\n label: 'Email Verified',\n defaultValue: false,\n group: 'Identity',\n }),\n\n two_factor_enabled: Field.boolean({\n label: 'Two-Factor Enabled',\n defaultValue: false,\n group: 'Identity',\n description: 'Whether two-factor authentication is enabled for this user. Maintained by the better-auth `twoFactor` plugin.',\n }),\n\n // ── Profile ──────────────────────────────────────────────────\n image: Field.url({\n label: 'Profile Image',\n required: false,\n group: 'Profile',\n }),\n\n // ── System (auto-managed, hidden from create/edit forms) ─────\n id: Field.text({\n label: 'User ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['email'], unique: true },\n { fields: ['created_at'], unique: false },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n\n validations: [\n {\n name: 'email_unique',\n type: 'unique',\n severity: 'error',\n message: 'Email must be unique',\n fields: ['email'],\n caseSensitive: false,\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_session — System Session Object\n *\n * Active user session record for the ObjectStack platform.\n * Backed by better-auth's `session` model with ObjectStack field conventions.\n *\n * The `token` field is hidden by default — sessions are managed by the\n * auth plugin, not edited manually. Admins see session metadata\n * (user, expiry, IP, active context) without exposing the token value.\n *\n * @namespace sys\n */\nexport const SysSession = ObjectSchema.create({\n name: 'sys_session',\n label: 'Session',\n pluralLabel: 'Sessions',\n icon: 'key',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Active user sessions',\n displayNameField: 'user_id',\n titleFormat: 'Session — {user_id}',\n compactLayout: ['user_id', 'ip_address', 'expires_at'],\n\n fields: {\n // ── Session owner & expiry ──────────────────────────────────\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n searchable: true,\n group: 'Session',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n group: 'Session',\n }),\n\n // ── Active context (multi-org/team) ──────────────────────────\n active_organization_id: Field.lookup('sys_organization', {\n label: 'Active Organization',\n required: false,\n group: 'Context',\n }),\n\n active_team_id: Field.lookup('sys_team', {\n label: 'Active Team',\n required: false,\n group: 'Context',\n }),\n\n // ── Client fingerprint ───────────────────────────────────────\n ip_address: Field.text({\n label: 'IP Address',\n required: false,\n maxLength: 45, // Support IPv6\n group: 'Client',\n }),\n\n user_agent: Field.textarea({\n label: 'User Agent',\n required: false,\n group: 'Client',\n }),\n\n // ── Secret (hidden by default) ──────────────────────────────\n token: Field.text({\n label: 'Session Token',\n required: true,\n hidden: true,\n readonly: true,\n description: 'Opaque session token — never exposed in UI',\n group: 'Secret',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Session ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['token'], unique: true },\n { fields: ['user_id'], unique: false },\n { fields: ['expires_at'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'delete'],\n trash: false,\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_account — System Account Object\n *\n * OAuth / credential provider account record.\n * Backed by better-auth's `account` model with ObjectStack field conventions.\n *\n * @namespace sys\n */\nexport const SysAccount = ObjectSchema.create({\n name: 'sys_account',\n label: 'Account',\n pluralLabel: 'Accounts',\n icon: 'link',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'OAuth and authentication provider accounts',\n titleFormat: '{provider_id} - {account_id}',\n compactLayout: ['provider_id', 'user_id', 'account_id'],\n \n fields: {\n id: Field.text({\n label: 'Account ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n provider_id: Field.text({\n label: 'Provider ID',\n required: true,\n description: 'OAuth provider identifier (google, github, etc.)',\n }),\n \n account_id: Field.text({\n label: 'Provider Account ID',\n required: true,\n description: \"User's ID in the provider's system\",\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Link to user table',\n }),\n \n access_token: Field.textarea({\n label: 'Access Token',\n required: false,\n }),\n \n refresh_token: Field.textarea({\n label: 'Refresh Token',\n required: false,\n }),\n \n id_token: Field.textarea({\n label: 'ID Token',\n required: false,\n }),\n \n access_token_expires_at: Field.datetime({\n label: 'Access Token Expires At',\n required: false,\n }),\n \n refresh_token_expires_at: Field.datetime({\n label: 'Refresh Token Expires At',\n required: false,\n }),\n \n scope: Field.text({\n label: 'OAuth Scope',\n required: false,\n }),\n \n password: Field.text({\n label: 'Password Hash',\n required: false,\n description: 'Hashed password for email/password provider',\n }),\n },\n \n indexes: [\n { fields: ['user_id'], unique: false },\n { fields: ['provider_id', 'account_id'], unique: true },\n ],\n \n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_verification — System Verification Object\n *\n * Email and phone verification token record.\n * Backed by better-auth's `verification` model with ObjectStack field conventions.\n *\n * @namespace sys\n */\nexport const SysVerification = ObjectSchema.create({\n name: 'sys_verification',\n label: 'Verification',\n pluralLabel: 'Verifications',\n icon: 'shield-check',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Email and phone verification tokens',\n titleFormat: 'Verification for {identifier}',\n compactLayout: ['identifier', 'expires_at', 'created_at'],\n \n fields: {\n id: Field.text({\n label: 'Verification ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n value: Field.text({\n label: 'Verification Token',\n required: true,\n description: 'Token or code for verification',\n }),\n \n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n \n identifier: Field.text({\n label: 'Identifier',\n required: true,\n description: 'Email address or phone number',\n }),\n },\n \n indexes: [\n { fields: ['value'], unique: true },\n { fields: ['identifier'], unique: false },\n { fields: ['expires_at'], unique: false },\n ],\n \n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'create', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_organization — System Organization Object\n *\n * Multi-organization support for the ObjectStack platform.\n * Backed by better-auth's organization plugin.\n *\n * @namespace sys\n */\nexport const SysOrganization = ObjectSchema.create({\n name: 'sys_organization',\n label: 'Organization',\n pluralLabel: 'Organizations',\n icon: 'building-2',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Organizations for multi-tenant grouping',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'slug'],\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n slug: Field.text({\n label: 'Slug',\n required: false,\n searchable: true,\n maxLength: 255,\n description: 'URL-friendly identifier',\n group: 'Identity',\n }),\n\n // ── Branding ─────────────────────────────────────────────────\n logo: Field.url({\n label: 'Logo',\n required: false,\n group: 'Branding',\n }),\n\n // ── Configuration ────────────────────────────────────────────\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n description: 'JSON-serialized organization metadata',\n group: 'Configuration',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Organization ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['slug'], unique: true },\n { fields: ['name'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_member — System Member Object\n *\n * Organization membership linking users to organizations with roles.\n * Backed by better-auth's organization plugin.\n *\n * @namespace sys\n */\nexport const SysMember = ObjectSchema.create({\n name: 'sys_member',\n label: 'Member',\n pluralLabel: 'Members',\n icon: 'user-check',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Organization membership records',\n titleFormat: '{user_id} in {organization_id}',\n compactLayout: ['user_id', 'organization_id', 'role'],\n \n fields: {\n id: Field.text({\n label: 'Member ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n }),\n \n role: Field.text({\n label: 'Role',\n required: false,\n description: 'Member role within the organization (e.g. admin, member)',\n maxLength: 100,\n }),\n },\n \n indexes: [\n { fields: ['organization_id', 'user_id'], unique: true },\n { fields: ['user_id'] },\n ],\n \n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_invitation — System Invitation Object\n *\n * Organization invitation tokens for inviting users.\n * Backed by better-auth's organization plugin.\n *\n * @namespace sys\n */\nexport const SysInvitation = ObjectSchema.create({\n name: 'sys_invitation',\n label: 'Invitation',\n pluralLabel: 'Invitations',\n icon: 'mail',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Organization invitations for user onboarding',\n titleFormat: 'Invitation to {organization_id}',\n compactLayout: ['email', 'organization_id', 'status'],\n \n fields: {\n id: Field.text({\n label: 'Invitation ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n }),\n \n email: Field.email({\n label: 'Email',\n required: true,\n description: 'Email address of the invited user',\n }),\n \n role: Field.text({\n label: 'Role',\n required: false,\n maxLength: 100,\n description: 'Role to assign upon acceptance',\n }),\n \n status: Field.select(['pending', 'accepted', 'rejected', 'expired', 'canceled'], {\n label: 'Status',\n required: true,\n defaultValue: 'pending',\n }),\n \n inviter_id: Field.lookup('sys_user', {\n label: 'Inviter',\n required: true,\n description: 'User who sent the invitation',\n }),\n \n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n \n team_id: Field.lookup('sys_team', {\n label: 'Team',\n required: false,\n description: 'Optional team to assign upon acceptance',\n }),\n },\n \n indexes: [\n { fields: ['organization_id'] },\n { fields: ['email'] },\n { fields: ['expires_at'] },\n ],\n \n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_team — System Team Object\n *\n * Teams within an organization for fine-grained grouping.\n * Backed by better-auth's organization plugin (teams feature).\n *\n * @namespace sys\n */\nexport const SysTeam = ObjectSchema.create({\n name: 'sys_team',\n label: 'Team',\n pluralLabel: 'Teams',\n icon: 'users',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Teams within organizations for fine-grained grouping',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'organization_id'],\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n description: 'Parent organization for this team',\n group: 'Identity',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Team ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['organization_id'] },\n { fields: ['name', 'organization_id'], unique: true },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_team_member — System Team Member Object\n *\n * Links users to teams within organizations.\n * Backed by better-auth's organization plugin (teams feature).\n *\n * @namespace sys\n */\nexport const SysTeamMember = ObjectSchema.create({\n name: 'sys_team_member',\n label: 'Team Member',\n pluralLabel: 'Team Members',\n icon: 'user-plus',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Team membership records linking users to teams',\n titleFormat: '{user_id} in {team_id}',\n compactLayout: ['user_id', 'team_id', 'created_at'],\n \n fields: {\n id: Field.text({\n label: 'Team Member ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n team_id: Field.lookup('sys_team', {\n label: 'Team',\n required: true,\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n }),\n },\n \n indexes: [\n { fields: ['team_id', 'user_id'], unique: true },\n { fields: ['user_id'] },\n ],\n \n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_api_key — System API Key Object\n *\n * API keys for programmatic/machine access to the platform.\n *\n * Field `key` stores a hashed value and is marked hidden so it never\n * leaks into default list/form rendering; the raw token is only\n * returned once on creation via the auth plugin API.\n *\n * @namespace sys\n */\nexport const SysApiKey = ObjectSchema.create({\n name: 'sys_api_key',\n label: 'API Key',\n pluralLabel: 'API Keys',\n icon: 'key-round',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'API keys for programmatic access',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'prefix', 'user_id', 'expires_at', 'revoked'],\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n description: 'Human-readable label for the API key',\n group: 'Identity',\n }),\n\n prefix: Field.text({\n label: 'Prefix',\n required: false,\n maxLength: 16,\n description: 'Visible prefix for identifying the key (e.g., \"osk_\")',\n group: 'Identity',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'Owner',\n required: true,\n description: 'User who owns this API key',\n group: 'Identity',\n }),\n\n // ── Access ───────────────────────────────────────────────────\n scopes: Field.textarea({\n label: 'Scopes',\n required: false,\n description: 'JSON array of permission scopes',\n group: 'Access',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n expires_at: Field.datetime({\n label: 'Expires At',\n required: false,\n group: 'Lifecycle',\n }),\n\n last_used_at: Field.datetime({\n label: 'Last Used At',\n required: false,\n readonly: true,\n description: 'Automatically updated on each API call',\n group: 'Lifecycle',\n }),\n\n revoked: Field.boolean({\n label: 'Revoked',\n defaultValue: false,\n group: 'Lifecycle',\n }),\n\n // ── Secret (hidden by default) ──────────────────────────────\n key: Field.text({\n label: 'Hashed Key',\n required: true,\n hidden: true,\n readonly: true,\n description: 'Hashed API key value — never exposed to clients',\n group: 'Secret',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'API Key ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['key'], unique: true },\n { fields: ['user_id'] },\n { fields: ['prefix'] },\n { fields: ['revoked'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_two_factor — System Two-Factor Object\n *\n * Two-factor authentication credentials (TOTP, backup codes).\n * Backed by better-auth's two-factor plugin.\n *\n * @namespace sys\n */\nexport const SysTwoFactor = ObjectSchema.create({\n name: 'sys_two_factor',\n label: 'Two Factor',\n pluralLabel: 'Two Factor Credentials',\n icon: 'smartphone',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Two-factor authentication credentials',\n titleFormat: 'Two-factor for {user_id}',\n compactLayout: ['user_id', 'created_at'],\n \n fields: {\n id: Field.text({\n label: 'Two Factor ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n }),\n \n secret: Field.text({\n label: 'Secret',\n required: true,\n description: 'TOTP secret key',\n }),\n \n backup_codes: Field.textarea({\n label: 'Backup Codes',\n required: false,\n description: 'JSON-serialized backup recovery codes',\n }),\n },\n \n indexes: [\n { fields: ['user_id'], unique: true },\n ],\n \n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_device_code — System Device Authorization Code Object\n *\n * Stores pending RFC 8628 OAuth Device Authorization Grant requests.\n * Backed by better-auth's `device-authorization` plugin (`deviceCode` model).\n *\n * Lifecycle:\n * 1. CLI calls `POST /device/code` → row inserted with status='pending'\n * 2. Browser visits `verification_uri_complete` and the signed-in user\n * calls `POST /device/approve` (or `/device/deny`) → status flips\n * 3. CLI's next `POST /device/token` poll either receives a session token\n * (status=approved) or one of the standard error codes\n * (`authorization_pending`, `slow_down`, `expired_token`,\n * `access_denied`). Approved rows are deleted on token issuance.\n *\n * @namespace sys\n */\nexport const SysDeviceCode = ObjectSchema.create({\n name: 'sys_device_code',\n label: 'Device Code',\n pluralLabel: 'Device Codes',\n icon: 'key-round',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'OAuth 2.0 Device Authorization Grant (RFC 8628) pending requests',\n titleFormat: '{user_code}',\n compactLayout: ['user_code', 'status', 'client_id', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'Device Code ID',\n required: true,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n /** High-entropy token returned to the device (CLI). Polled at /device/token. */\n device_code: Field.text({\n label: 'Device Code',\n required: true,\n description: 'High-entropy token returned to the polling device',\n }),\n\n /** Human-readable short code displayed to the user (e.g. ABCD-EFGH). */\n user_code: Field.text({\n label: 'User Code',\n required: true,\n description: 'Short user-facing code (e.g. ABCD-EFGH)',\n }),\n\n /** Owning user — populated when the request is approved. */\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: false,\n description: 'User who approved the device authorization',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n description: 'When the device & user codes are no longer valid',\n }),\n\n /** 'pending' | 'approved' | 'denied' */\n status: Field.text({\n label: 'Status',\n required: true,\n description: \"Current status: 'pending' | 'approved' | 'denied'\",\n }),\n\n last_polled_at: Field.datetime({\n label: 'Last Polled At',\n required: false,\n description: 'Timestamp of the most recent /device/token poll',\n }),\n\n polling_interval: Field.number({\n label: 'Polling Interval (ms)',\n required: false,\n description: 'Server-recommended minimum polling interval, in ms',\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: false,\n description: 'OAuth client identifier of the requesting device',\n }),\n\n scope: Field.text({\n label: 'Scope',\n required: false,\n description: 'Space-separated OAuth scopes requested by the device',\n }),\n },\n\n indexes: [\n { fields: ['device_code'], unique: true },\n { fields: ['user_code'], unique: true },\n { fields: ['status'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_user_preference — System User Preference Object\n *\n * Per-user key-value preferences for storing UI state, settings, and personalization.\n * Supports the User Preferences layer in the Config Resolution hierarchy\n * (Runtime > User Preferences > Tenant > Env).\n *\n * Common use cases:\n * - UI preferences: theme, locale, timezone, sidebar state\n * - Feature flags: plugin.ai.auto_save, plugin.dev.debug_mode\n * - User-specific settings: default_view, notifications_enabled\n *\n * @namespace sys\n */\nexport const SysUserPreference = ObjectSchema.create({\n name: 'sys_user_preference',\n label: 'User Preference',\n pluralLabel: 'User Preferences',\n icon: 'settings',\n isSystem: true,\n description: 'Per-user key-value preferences (theme, locale, etc.)',\n titleFormat: '{key}',\n compactLayout: ['user_id', 'key'],\n\n fields: {\n id: Field.text({\n label: 'Preference ID',\n required: true,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Owner user of this preference',\n }),\n\n key: Field.text({\n label: 'Key',\n required: true,\n maxLength: 255,\n description: 'Preference key (e.g., theme, locale, plugin.ai.auto_save)',\n }),\n\n value: Field.json({\n label: 'Value',\n description: 'Preference value (any JSON-serializable type)',\n }),\n },\n\n indexes: [\n { fields: ['user_id', 'key'], unique: true },\n { fields: ['user_id'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_application — Registered OAuth/OIDC client application\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthClient` model. Each row\n * represents an external application that has been registered to authenticate\n * users against this ObjectStack server (acting as an OpenID Connect IdP).\n *\n * The table name is preserved from the deprecated `oidc-provider` plugin\n * (which used the `oauthApplication` model name) so existing data remains\n * accessible. The new model exposes a richer set of OAuth 2.1 / OIDC\n * registration fields — see RFC 7591 (Dynamic Client Registration) and\n * RFC 8414 (Authorization Server Metadata).\n *\n * @namespace sys\n */\nexport const SysOauthApplication = ObjectSchema.create({\n name: 'sys_oauth_application',\n label: 'OAuth Application',\n pluralLabel: 'OAuth Applications',\n icon: 'key-round',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Registered OAuth/OIDC client applications',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'client_id', 'type', 'disabled'],\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n name: Field.text({\n label: 'Name',\n required: false,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n icon: Field.url({\n label: 'Icon',\n required: false,\n description: 'Logo URL shown on the consent screen',\n group: 'Identity',\n }),\n\n uri: Field.url({\n label: 'Home URI',\n required: false,\n description: 'Public homepage of the registered client',\n group: 'Identity',\n }),\n\n contacts: Field.textarea({\n label: 'Contacts',\n required: false,\n description: 'JSON-serialized list of contact email addresses',\n group: 'Identity',\n }),\n\n tos: Field.url({\n label: 'Terms of Service',\n required: false,\n group: 'Identity',\n }),\n\n policy: Field.url({\n label: 'Privacy Policy',\n required: false,\n group: 'Identity',\n }),\n\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n description: 'JSON-serialized application metadata',\n group: 'Identity',\n }),\n\n // ── OAuth Credentials ────────────────────────────────────────\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n readonly: true,\n maxLength: 255,\n description: 'Public OAuth client identifier',\n group: 'Credentials',\n }),\n\n client_secret: Field.text({\n label: 'Client Secret',\n required: false,\n maxLength: 1024,\n description: 'OAuth client secret (hashed/encrypted at rest)',\n group: 'Credentials',\n }),\n\n redirect_uris: Field.textarea({\n label: 'Redirect URIs',\n required: true,\n description: 'JSON-serialized list of allowed redirect URIs',\n group: 'Credentials',\n }),\n\n post_logout_redirect_uris: Field.textarea({\n label: 'Post-logout Redirect URIs',\n required: false,\n description: 'JSON-serialized list of allowed post-logout redirect URIs',\n group: 'Credentials',\n }),\n\n type: Field.select(['web', 'native', 'user-agent-based', 'public'], {\n label: 'Client Type',\n required: false,\n defaultValue: 'web',\n group: 'Credentials',\n }),\n\n public: Field.boolean({\n label: 'Public Client',\n required: false,\n description: 'Marks the client as a public (non-confidential) OAuth client',\n group: 'Credentials',\n }),\n\n require_pkce: Field.boolean({\n label: 'Require PKCE',\n required: false,\n group: 'Credentials',\n }),\n\n token_endpoint_auth_method: Field.text({\n label: 'Token Endpoint Auth Method',\n required: false,\n maxLength: 64,\n description: 'e.g. client_secret_basic, client_secret_post, none',\n group: 'Credentials',\n }),\n\n grant_types: Field.textarea({\n label: 'Grant Types',\n required: false,\n description: 'JSON-serialized list of allowed grant types',\n group: 'Credentials',\n }),\n\n response_types: Field.textarea({\n label: 'Response Types',\n required: false,\n description: 'JSON-serialized list of allowed response types',\n group: 'Credentials',\n }),\n\n scopes: Field.textarea({\n label: 'Allowed Scopes',\n required: false,\n description: 'JSON-serialized list of scopes the client may request',\n group: 'Credentials',\n }),\n\n subject_type: Field.text({\n label: 'Subject Type',\n required: false,\n maxLength: 32,\n description: 'OIDC subject type (e.g. public, pairwise)',\n group: 'Credentials',\n }),\n\n // ── Behaviour flags ──────────────────────────────────────────\n disabled: Field.boolean({\n label: 'Disabled',\n required: false,\n defaultValue: false,\n group: 'Behaviour',\n }),\n\n skip_consent: Field.boolean({\n label: 'Skip Consent',\n required: false,\n description: 'Treat as a trusted client and bypass the consent screen',\n group: 'Behaviour',\n }),\n\n enable_end_session: Field.boolean({\n label: 'Enable End Session',\n required: false,\n description: 'Allow the client to call the OIDC end-session endpoint',\n group: 'Behaviour',\n }),\n\n // ── Software statement (RFC 7591 §2.3) ───────────────────────\n software_id: Field.text({\n label: 'Software ID',\n required: false,\n maxLength: 255,\n group: 'Software',\n }),\n\n software_version: Field.text({\n label: 'Software Version',\n required: false,\n maxLength: 64,\n group: 'Software',\n }),\n\n software_statement: Field.textarea({\n label: 'Software Statement',\n required: false,\n description: 'Signed JWT asserting the client metadata (RFC 7591 §2.3)',\n group: 'Software',\n }),\n\n // ── Ownership / system ───────────────────────────────────────\n user_id: Field.lookup('sys_user', {\n label: 'Owner User',\n required: false,\n description: 'User who registered this application',\n group: 'System',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['client_id'], unique: true },\n { fields: ['user_id'] },\n { fields: ['reference_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_access_token — Issued OAuth/OIDC opaque access token\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthAccessToken` model. One\n * row per opaque access token issuance. Tokens are short-lived; expired\n * rows can be safely pruned.\n *\n * Refresh tokens have been split into a sibling table — see\n * {@link SysOauthRefreshToken}. The optional `refresh_id` column links an\n * access token back to the refresh-token row that minted it.\n *\n * @namespace sys\n */\nexport const SysOauthAccessToken = ObjectSchema.create({\n name: 'sys_oauth_access_token',\n label: 'OAuth Access Token',\n pluralLabel: 'OAuth Access Tokens',\n icon: 'ticket',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Opaque OAuth access tokens issued to client applications',\n compactLayout: ['client_id', 'user_id', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n token: Field.text({\n label: 'Token',\n required: true,\n maxLength: 1024,\n description: 'Opaque access token value',\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n description: 'Foreign key to sys_oauth_application.client_id',\n }),\n\n session_id: Field.lookup('sys_session', {\n label: 'Session',\n required: false,\n description: 'Foreign key to sys_session.id',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: false,\n description: 'Foreign key to sys_user.id',\n }),\n\n refresh_id: Field.lookup('sys_oauth_refresh_token', {\n label: 'Refresh Token',\n required: false,\n description: 'Foreign key to sys_oauth_refresh_token.id',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n }),\n\n scopes: Field.textarea({\n label: 'Scopes',\n required: true,\n description: 'JSON-serialized list of scopes granted to this token',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['token'], unique: true },\n { fields: ['client_id'] },\n { fields: ['session_id'] },\n { fields: ['user_id'] },\n { fields: ['refresh_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_refresh_token — Issued OAuth/OIDC refresh token\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthRefreshToken` model.\n * Refresh tokens are issued for the `offline_access` scope and are bound\n * to a specific session (`session_id`) and client (`client_id`).\n *\n * Each access-token rotation produces a new refresh-token row; revoked\n * tokens are kept (with `revoked` set) for audit purposes until pruned.\n *\n * @namespace sys\n */\nexport const SysOauthRefreshToken = ObjectSchema.create({\n name: 'sys_oauth_refresh_token',\n label: 'OAuth Refresh Token',\n pluralLabel: 'OAuth Refresh Tokens',\n icon: 'refresh-cw',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Opaque OAuth refresh tokens (linked to a session)',\n compactLayout: ['client_id', 'user_id', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n token: Field.text({\n label: 'Token',\n required: true,\n maxLength: 1024,\n description: 'Opaque refresh token value',\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n description: 'Foreign key to sys_oauth_application.client_id',\n }),\n\n session_id: Field.lookup('sys_session', {\n label: 'Session',\n required: false,\n description: 'Foreign key to sys_session.id',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Foreign key to sys_user.id',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n }),\n\n scopes: Field.textarea({\n label: 'Scopes',\n required: true,\n description: 'JSON-serialized list of scopes granted to this token',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n revoked: Field.datetime({\n label: 'Revoked At',\n required: false,\n description: 'Timestamp at which this refresh token was revoked',\n }),\n\n auth_time: Field.datetime({\n label: 'Auth Time',\n required: false,\n description: 'When the user originally authenticated for this token chain',\n }),\n },\n\n indexes: [\n { fields: ['token'], unique: true },\n { fields: ['client_id'] },\n { fields: ['session_id'] },\n { fields: ['user_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_consent — Recorded user consent for an OAuth client + scopes\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthConsent` model. When a\n * user consents to a client requesting a particular set of scopes, the\n * decision is persisted here so future authorization requests for the same\n * client+scopes can skip the consent screen.\n *\n * The presence of a row implies consent was given for the listed scopes —\n * the previous boolean `consent_given` flag was removed in the migration\n * from `better-auth/plugins/oidc-provider` to `@better-auth/oauth-provider`.\n *\n * @namespace sys\n */\nexport const SysOauthConsent = ObjectSchema.create({\n name: 'sys_oauth_consent',\n label: 'OAuth Consent',\n pluralLabel: 'OAuth Consents',\n icon: 'shield-check',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'User consent records for OAuth client applications',\n compactLayout: ['client_id', 'user_id', 'scopes'],\n\n fields: {\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n description: 'Foreign key to sys_oauth_application.client_id',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: false,\n description: 'Foreign key to sys_user.id',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n }),\n\n scopes: Field.textarea({\n label: 'Scopes',\n required: true,\n description: 'JSON-serialized list of scopes the user consented to',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['client_id'] },\n { fields: ['user_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_jwks — JWKS (JSON Web Key Set) key pair store\n *\n * Backed by better-auth's `jwt` plugin. Each row is a single asymmetric\n * key pair used to sign and verify JWTs (id_tokens, JWT access tokens)\n * issued by this ObjectStack server when it acts as an OAuth/OIDC IdP.\n *\n * The plugin rotates keys automatically — older rows are kept until\n * `expires_at` so existing tokens can still be verified.\n *\n * @namespace sys\n */\nexport const SysJwks = ObjectSchema.create({\n name: 'sys_jwks',\n label: 'JWKS Key',\n pluralLabel: 'JWKS Keys',\n icon: 'key',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Asymmetric key pairs used to sign and verify issued JWTs',\n compactLayout: ['id', 'created_at', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'Key ID',\n required: true,\n readonly: true,\n description: 'JWK `kid` value',\n }),\n\n public_key: Field.textarea({\n label: 'Public Key',\n required: true,\n description: 'JSON-serialized JWK public key',\n }),\n\n private_key: Field.textarea({\n label: 'Private Key',\n required: true,\n description: 'JSON-serialized JWK private key (encrypted at rest)',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: false,\n description: 'When the key may no longer be used to verify tokens',\n }),\n },\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_role — System Role Object\n *\n * RBAC role definition for the ObjectStack platform.\n * Roles group permissions and are assigned to users or members.\n *\n * @namespace sys\n */\nexport const SysRole = ObjectSchema.create({\n name: 'sys_role',\n label: 'Role',\n pluralLabel: 'Roles',\n icon: 'shield',\n isSystem: true,\n description: 'Role definitions for RBAC access control',\n displayNameField: 'label',\n titleFormat: '{label}',\n compactLayout: ['label', 'name', 'active', 'is_default'],\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n label: Field.text({\n label: 'Display Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n name: Field.text({\n label: 'API Name',\n required: true,\n searchable: true,\n maxLength: 100,\n description: 'Unique machine name for the role (e.g. admin, editor, viewer)',\n group: 'Identity',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n group: 'Identity',\n }),\n\n // ── Configuration ────────────────────────────────────────────\n permissions: Field.textarea({\n label: 'Permissions',\n required: false,\n description: 'JSON-serialized array of permission strings',\n group: 'Configuration',\n }),\n\n // ── Status ───────────────────────────────────────────────────\n active: Field.boolean({\n label: 'Active',\n defaultValue: true,\n group: 'Status',\n }),\n\n is_default: Field.boolean({\n label: 'Default Role',\n defaultValue: false,\n description: 'Automatically assigned to new users',\n group: 'Status',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Role ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['name'], unique: true },\n { fields: ['active'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_permission_set — System Permission Set Object\n *\n * Named groupings of fine-grained permissions.\n * Permission sets can be assigned to roles or directly to users\n * for granular access control.\n *\n * @namespace sys\n */\nexport const SysPermissionSet = ObjectSchema.create({\n name: 'sys_permission_set',\n label: 'Permission Set',\n pluralLabel: 'Permission Sets',\n icon: 'lock',\n isSystem: true,\n description: 'Named permission groupings for fine-grained access control',\n displayNameField: 'label',\n titleFormat: '{label}',\n compactLayout: ['label', 'name', 'active'],\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n label: Field.text({\n label: 'Display Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n name: Field.text({\n label: 'API Name',\n required: true,\n searchable: true,\n maxLength: 100,\n description: 'Unique machine name for the permission set',\n group: 'Identity',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n group: 'Identity',\n }),\n\n // ── Permissions ──────────────────────────────────────────────\n object_permissions: Field.textarea({\n label: 'Object Permissions',\n required: false,\n description: 'JSON-serialized object-level CRUD permissions',\n group: 'Permissions',\n }),\n\n field_permissions: Field.textarea({\n label: 'Field Permissions',\n required: false,\n description: 'JSON-serialized field-level read/write permissions',\n group: 'Permissions',\n }),\n\n // ── Status ───────────────────────────────────────────────────\n active: Field.boolean({\n label: 'Active',\n defaultValue: true,\n group: 'Status',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Permission Set ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['name'], unique: true },\n { fields: ['active'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_user_permission_set — User ↔ PermissionSet assignment.\n *\n * Salesforce-style additive permission grant: a user may be assigned any\n * number of `sys_permission_set` rows, optionally scoped to a specific\n * organization. The runtime resolver (`resolveExecutionContext` in\n * `@objectstack/runtime`) reads this table when building the per-request\n * `ExecutionContext.permissions[]`.\n *\n * Uniqueness is `(user_id, permission_set_id, organization_id)` so the\n * same permission set can be granted independently in each org context\n * the user belongs to.\n *\n * @namespace sys\n */\nexport const SysUserPermissionSet = ObjectSchema.create({\n name: 'sys_user_permission_set',\n label: 'User Permission Set',\n pluralLabel: 'User Permission Sets',\n icon: 'user-check',\n isSystem: true,\n description: 'Direct assignment of a permission set to a user (optionally scoped to an organization).',\n titleFormat: '{user_id} → {permission_set_id}',\n compactLayout: ['user_id', 'permission_set_id', 'organization_id'],\n\n fields: {\n id: Field.text({\n label: 'Assignment ID',\n required: true,\n readonly: true,\n description: 'UUID of the assignment.',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Foreign key to sys_user.',\n }),\n\n permission_set_id: Field.lookup('sys_permission_set', {\n label: 'Permission Set',\n required: true,\n description: 'Foreign key to sys_permission_set.',\n }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n description: 'Optional organization scope. NULL = applies in every org context.',\n }),\n\n granted_by: Field.lookup('sys_user', {\n label: 'Granted By',\n required: false,\n description: 'User who granted this permission set.',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['user_id', 'permission_set_id', 'organization_id'], unique: true },\n { fields: ['user_id'] },\n { fields: ['organization_id'] },\n { fields: ['permission_set_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_role_permission_set — Role ↔ PermissionSet binding.\n *\n * Allows administrators to compose a `sys_role` from one or more\n * `sys_permission_set` rows. At request time, the runtime resolver\n * (`resolveExecutionContext`) collects every permission set bound to\n * the user's roles via this table and injects their names into\n * `ExecutionContext.permissions[]` for downstream RBAC evaluation.\n *\n * @namespace sys\n */\nexport const SysRolePermissionSet = ObjectSchema.create({\n name: 'sys_role_permission_set',\n label: 'Role Permission Set',\n pluralLabel: 'Role Permission Sets',\n icon: 'shield-plus',\n isSystem: true,\n description: 'Binds a permission set to a role.',\n titleFormat: '{role_id} → {permission_set_id}',\n compactLayout: ['role_id', 'permission_set_id'],\n\n fields: {\n id: Field.text({\n label: 'Binding ID',\n required: true,\n readonly: true,\n description: 'UUID of the role-permission-set binding.',\n }),\n\n role_id: Field.lookup('sys_role', {\n label: 'Role',\n required: true,\n description: 'Foreign key to sys_role.',\n }),\n\n permission_set_id: Field.lookup('sys_permission_set', {\n label: 'Permission Set',\n required: true,\n description: 'Foreign key to sys_permission_set.',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['role_id', 'permission_set_id'], unique: true },\n { fields: ['role_id'] },\n { fields: ['permission_set_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { PermissionSetSchema, type PermissionSet } from '@objectstack/spec/security';\n\n/**\n * Identity tables managed by the better-auth plugin (see\n * `packages/platform-objects/src/identity/`). Mutations to these tables\n * MUST flow through the better-auth API endpoints (sign-up, password\n * reset, organization invite/remove-member, api-key/create, …) rather\n * than the generic CRUD pipeline so that password hashing, token\n * signing, email verification, invitation flows and scope hashing all\n * fire correctly.\n *\n * The default member/viewer permission sets therefore explicitly DENY\n * `allowCreate / allowEdit / allowDelete` on these objects while still\n * permitting reads (subject to the rest of the RLS chain). Admin\n * permission sets keep their `*` wildcard so they can rescue data\n * directly when needed.\n *\n * Each entry mirrors the `managedBy: 'better-auth'` flag declared on\n * the corresponding object schema in `packages/platform-objects/src/identity/`.\n */\nconst BETTER_AUTH_MANAGED_OBJECTS = [\n 'sys_user',\n 'sys_account',\n 'sys_session',\n 'sys_organization',\n 'sys_member',\n 'sys_invitation',\n 'sys_team',\n 'sys_team_member',\n 'sys_api_key',\n 'sys_two_factor',\n 'sys_verification',\n 'sys_jwks',\n 'sys_device_code',\n 'sys_oauth_application',\n 'sys_oauth_access_token',\n 'sys_oauth_refresh_token',\n 'sys_oauth_consent',\n] as const;\n\nconst denyWritesOnManagedObjects = (): Record<string, {\n allowRead: boolean;\n allowCreate: boolean;\n allowEdit: boolean;\n allowDelete: boolean;\n}> => Object.fromEntries(\n BETTER_AUTH_MANAGED_OBJECTS.map((name) => [\n name,\n { allowRead: true, allowCreate: false, allowEdit: false, allowDelete: false },\n ]),\n);\n\n/**\n * Default permission sets seeded by the platform.\n *\n * These are referenced by name (`admin_full_access`, `member_default`,\n * `viewer_readonly`) from `sys_role_permission_set` rows or assigned\n * directly to users via `sys_user_permission_set`.\n *\n * The runtime SecurityPlugin reads these via the metadata service when a\n * permission set name appears in the request `ExecutionContext.permissions[]`.\n *\n * Each entry is run through `PermissionSetSchema.parse(...)` so Zod fills\n * in the boolean/`priority`/`enabled` defaults — keeping the literal\n * source readable while still satisfying the strict output type.\n *\n * `objects: { '*': … }` uses the wildcard sentinel honoured by\n * `PermissionEvaluator` — admins do not need an explicit row per object.\n * Per-object entries fully override the wildcard for that object (see\n * `PermissionEvaluator.checkObjectPermission` — lookup, not merge).\n *\n * RLS policies use the canonical `current_user.*` placeholders compiled\n * by `RLSCompiler`. The active organization is exposed under\n * `current_user.organization_id` (sourced from\n * `ExecutionContext.tenantId` at request time) — there is no rewrite\n * step or `tenantField` indirection in SecurityPlugin. Schemas with a\n * different physical tenant column should fork these defaults.\n */\nexport const defaultPermissionSets: PermissionSet[] = [\n PermissionSetSchema.parse({\n name: 'admin_full_access',\n label: 'Administrator — Full Access',\n isProfile: true,\n objects: {\n '*': {\n allowRead: true,\n allowCreate: true,\n allowEdit: true,\n allowDelete: true,\n viewAllRecords: true,\n modifyAllRecords: true,\n },\n },\n systemPermissions: ['manage_users', 'manage_metadata', 'setup.access'],\n }),\n PermissionSetSchema.parse({\n name: 'member_default',\n label: 'Member — Standard Access',\n isProfile: true,\n objects: {\n '*': {\n allowRead: true,\n allowCreate: true,\n allowEdit: true,\n allowDelete: true,\n },\n // Identity tables are managed by better-auth — no direct writes.\n ...denyWritesOnManagedObjects(),\n },\n rowLevelSecurity: [\n {\n name: 'tenant_isolation',\n object: '*',\n operation: 'all',\n using: 'organization_id = current_user.organization_id',\n },\n {\n name: 'owner_only_writes',\n object: '*',\n operation: 'update',\n using: 'owner_id = current_user.id',\n },\n {\n name: 'owner_only_deletes',\n object: '*',\n operation: 'delete',\n using: 'owner_id = current_user.id',\n },\n // ── better-auth system tables that lack `organization_id` and would\n // otherwise be left unprotected by the wildcard rule above. ────\n {\n name: 'sys_organization_self',\n object: 'sys_organization',\n operation: 'all',\n using: 'id = current_user.organization_id',\n },\n {\n name: 'sys_user_self',\n object: 'sys_user',\n operation: 'select',\n using: 'id = current_user.id',\n },\n ],\n }),\n PermissionSetSchema.parse({\n name: 'viewer_readonly',\n label: 'Viewer — Read-Only',\n isProfile: true,\n objects: {\n '*': {\n allowRead: true,\n allowCreate: false,\n allowEdit: false,\n allowDelete: false,\n },\n // Belt-and-suspenders: explicit deny on managed objects even though\n // the wildcard already denies — keeps the policy readable when\n // future relaxations might widen the wildcard.\n ...denyWritesOnManagedObjects(),\n },\n rowLevelSecurity: [\n {\n name: 'tenant_isolation',\n object: '*',\n operation: 'select',\n using: 'organization_id = current_user.organization_id',\n },\n {\n name: 'sys_organization_self',\n object: 'sys_organization',\n operation: 'select',\n using: 'id = current_user.organization_id',\n },\n {\n name: 'sys_user_self',\n object: 'sys_user',\n operation: 'select',\n using: 'id = current_user.id',\n },\n ],\n }),\n];\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_audit_log — System Audit Log Object\n *\n * Immutable audit trail for all significant platform events.\n * Records who did what, when, and the before/after state.\n *\n * Every field is `readonly: true` — audit logs are written only by\n * internal system hooks, never via UI forms. API exposes only `get` + `list`.\n *\n * @namespace sys\n */\nexport const SysAuditLog = ObjectSchema.create({\n name: 'sys_audit_log',\n label: 'Audit Log',\n pluralLabel: 'Audit Logs',\n icon: 'scroll-text',\n isSystem: true,\n description: 'Immutable audit trail for platform events',\n displayNameField: 'action',\n titleFormat: '{action} · {object_name}',\n compactLayout: ['created_at', 'action', 'object_name', 'record_id', 'user_id'],\n\n fields: {\n // ── Event ────────────────────────────────────────────────────\n created_at: Field.datetime({\n label: 'Timestamp',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'Event',\n }),\n\n action: Field.select(\n ['create', 'update', 'delete', 'restore', 'login', 'logout', 'permission_change', 'config_change', 'export', 'import'],\n {\n label: 'Action',\n required: true,\n readonly: true,\n searchable: true,\n description: 'Action type (snake_case)',\n group: 'Event',\n },\n ),\n\n user_id: Field.lookup('sys_user', {\n label: 'Actor',\n required: false,\n readonly: true,\n searchable: true,\n description: 'User who performed the action (null for system actions)',\n group: 'Event',\n }),\n\n // ── Target record ────────────────────────────────────────────\n object_name: Field.text({\n label: 'Object',\n required: false,\n readonly: true,\n searchable: true,\n maxLength: 255,\n description: 'Target object (e.g. sys_user, project_task)',\n group: 'Target',\n }),\n\n record_id: Field.text({\n label: 'Record ID',\n required: false,\n readonly: true,\n searchable: true,\n description: 'ID of the affected record',\n group: 'Target',\n }),\n\n // ── Change payload ───────────────────────────────────────────\n old_value: Field.textarea({\n label: 'Old Value',\n required: false,\n readonly: true,\n description: 'JSON-serialized previous state',\n group: 'Changes',\n }),\n\n new_value: Field.textarea({\n label: 'New Value',\n required: false,\n readonly: true,\n description: 'JSON-serialized new state',\n group: 'Changes',\n }),\n\n // ── Client fingerprint ───────────────────────────────────────\n ip_address: Field.text({\n label: 'IP Address',\n required: false,\n readonly: true,\n maxLength: 45,\n group: 'Client',\n }),\n\n user_agent: Field.textarea({\n label: 'User Agent',\n required: false,\n readonly: true,\n group: 'Client',\n }),\n\n // ── Context ──────────────────────────────────────────────────\n tenant_id: Field.lookup('sys_organization', {\n label: 'Tenant',\n required: false,\n readonly: true,\n description: 'Tenant context for multi-tenant isolation',\n group: 'Context',\n }),\n\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n readonly: true,\n description: 'JSON-serialized additional context',\n group: 'Context',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Audit Log ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['created_at'] },\n { fields: ['user_id'] },\n { fields: ['object_name', 'record_id'] },\n { fields: ['action'] },\n { fields: ['tenant_id'] },\n ],\n\n enable: {\n trackHistory: false, // Audit logs are themselves the audit trail\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list'], // Read-only — creation happens via internal system hooks only\n trash: false, // Never soft-delete audit logs\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_presence — System Presence Object\n *\n * Tracks real-time user presence and activity across the platform.\n * Fields align with the PresenceStateSchema protocol definition\n * from `@objectstack/spec/api` (websocket.zod.ts).\n *\n * Owned by `service-realtime` as the canonical Presence domain object.\n *\n * @namespace sys\n * @see PresenceStateSchema in packages/spec/src/api/websocket.zod.ts\n */\nexport const SysPresence = ObjectSchema.create({\n name: 'sys_presence',\n label: 'Presence',\n pluralLabel: 'Presences',\n icon: 'wifi',\n isSystem: true,\n description: 'Real-time user presence and activity tracking',\n titleFormat: '{user_id} ({status})',\n compactLayout: ['user_id', 'status', 'last_seen'],\n\n fields: {\n id: Field.text({\n label: 'Presence ID',\n required: true,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n searchable: true,\n }),\n\n session_id: Field.lookup('sys_session', {\n label: 'Session',\n required: true,\n }),\n\n status: Field.select({\n label: 'Status',\n required: true,\n defaultValue: 'online',\n options: [\n { value: 'online', label: 'Online' },\n { value: 'away', label: 'Away' },\n { value: 'busy', label: 'Busy' },\n { value: 'offline', label: 'Offline' },\n ],\n }),\n\n last_seen: Field.datetime({\n label: 'Last Seen',\n required: true,\n defaultValue: 'NOW()',\n }),\n\n current_location: Field.text({\n label: 'Current Location',\n required: false,\n maxLength: 500,\n }),\n\n device: Field.select({\n label: 'Device',\n required: false,\n options: [\n { value: 'desktop', label: 'Desktop' },\n { value: 'mobile', label: 'Mobile' },\n { value: 'tablet', label: 'Tablet' },\n { value: 'other', label: 'Other' },\n ],\n }),\n\n custom_status: Field.text({\n label: 'Custom Status',\n required: false,\n maxLength: 255,\n }),\n\n metadata: Field.json({\n label: 'Metadata',\n required: false,\n description: 'Arbitrary JSON metadata associated with the presence state (matches PresenceStateSchema.metadata).',\n }),\n },\n\n indexes: [\n { fields: ['user_id'], unique: false },\n { fields: ['session_id'], unique: true },\n { fields: ['status'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_activity — Lightweight Activity Stream\n *\n * Append-only \"recent activity\" feed shown on dashboards / overview\n * pages. Distinct from `sys_audit_log` (compliance-grade, structured\n * before/after diffs) and `feed_item` (record-scoped Chatter timeline\n * with comments/reactions/threads). Activity entries are denormalized\n * snapshots optimized for chronological \"what happened lately\" reads.\n *\n * Typical write sources: data triggers, plugin events, UI actions.\n * Typical readers: Studio dashboard, mobile inbox, notification jobs.\n *\n * @namespace sys\n */\nexport const SysActivity = ObjectSchema.create({\n name: 'sys_activity',\n label: 'Activity',\n pluralLabel: 'Activities',\n icon: 'activity',\n isSystem: true,\n description: 'Recent activity stream entries (lightweight, denormalized)',\n displayNameField: 'summary',\n titleFormat: '{type} · {summary}',\n compactLayout: ['timestamp', 'type', 'actor_name', 'summary'],\n\n fields: {\n id: Field.text({\n label: 'Activity ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n timestamp: Field.datetime({\n label: 'Timestamp',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'Event',\n }),\n\n type: Field.select(\n [\n 'created',\n 'updated',\n 'deleted',\n 'commented',\n 'mentioned',\n 'shared',\n 'assigned',\n 'completed',\n 'login',\n 'logout',\n 'system',\n ],\n {\n label: 'Type',\n required: true,\n readonly: true,\n searchable: true,\n group: 'Event',\n },\n ),\n\n summary: Field.text({\n label: 'Summary',\n required: true,\n readonly: true,\n maxLength: 500,\n searchable: true,\n description: 'Human-readable one-line summary',\n group: 'Event',\n }),\n\n // ── Actor ───────────────────────────────────────────────────\n actor_id: Field.lookup('sys_user', {\n label: 'Actor',\n required: false,\n readonly: true,\n searchable: true,\n group: 'Actor',\n }),\n\n actor_name: Field.text({\n label: 'Actor Name',\n required: false,\n readonly: true,\n group: 'Actor',\n }),\n\n actor_avatar_url: Field.url({\n label: 'Actor Avatar',\n required: false,\n readonly: true,\n group: 'Actor',\n }),\n\n // ── Target ───────────────────────────────────────────────────\n object_name: Field.text({\n label: 'Object',\n required: false,\n readonly: true,\n searchable: true,\n maxLength: 255,\n description: 'Target object short name (e.g. account, sys_user)',\n group: 'Target',\n }),\n\n record_id: Field.text({\n label: 'Record ID',\n required: false,\n readonly: true,\n searchable: true,\n group: 'Target',\n }),\n\n record_label: Field.text({\n label: 'Record Label',\n required: false,\n readonly: true,\n maxLength: 255,\n description: 'Display label of the target record at write time',\n group: 'Target',\n }),\n\n url: Field.url({\n label: 'URL',\n required: false,\n readonly: true,\n description: 'Optional deep-link to the activity target',\n group: 'Target',\n }),\n\n // ── Context ──────────────────────────────────────────────────\n project_id: Field.lookup('sys_project', {\n label: 'Project',\n required: false,\n readonly: true,\n searchable: true,\n description: 'Project context (multi-project deployments)',\n group: 'Context',\n }),\n\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n readonly: true,\n description: 'JSON-serialized additional context',\n group: 'Context',\n }),\n },\n\n indexes: [\n { fields: ['timestamp'] },\n { fields: ['actor_id'] },\n { fields: ['object_name', 'record_id'] },\n { fields: ['type'] },\n { fields: ['project_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list'],\n trash: false,\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_comment — Threaded Record Comments\n *\n * Generic threaded discussion attached to any record via `thread_id`.\n * `thread_id` is conventionally formatted as `{object}:{record_id}`\n * (e.g. `sys_user:abc123`, `account:9001`) so a single index covers\n * \"all comments on this record\" lookups across every object.\n *\n * Distinct from `feed_item` (Salesforce-style Chatter timeline that\n * mixes comments with field changes / events / approvals). Use\n * `sys_comment` when you want a focused threaded discussion surface\n * without the heavier Chatter envelope.\n *\n * @namespace sys\n */\nexport const SysComment = ObjectSchema.create({\n name: 'sys_comment',\n label: 'Comment',\n pluralLabel: 'Comments',\n icon: 'message-square',\n isSystem: true,\n description: 'Threaded comments attached to records via thread_id',\n displayNameField: 'body',\n titleFormat: '{author_name}: {body}',\n compactLayout: ['created_at', 'author_name', 'body'],\n\n fields: {\n id: Field.text({\n label: 'Comment ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n // ── Thread ───────────────────────────────────────────────────\n thread_id: Field.text({\n label: 'Thread',\n required: true,\n searchable: true,\n maxLength: 255,\n description:\n 'Thread identifier — conventionally `{object}:{record_id}` (e.g. `sys_user:abc123`)',\n group: 'Thread',\n }),\n\n parent_id: Field.lookup('sys_comment', {\n label: 'Parent Comment',\n required: false,\n description: 'Optional parent comment for nested replies',\n group: 'Thread',\n }),\n\n reply_count: Field.number({\n label: 'Reply Count',\n defaultValue: 0,\n readonly: true,\n group: 'Thread',\n }),\n\n // ── Author ───────────────────────────────────────────────────\n author_id: Field.lookup('sys_user', {\n label: 'Author',\n required: true,\n searchable: true,\n group: 'Author',\n }),\n\n author_name: Field.text({\n label: 'Author Name',\n required: false,\n group: 'Author',\n }),\n\n author_avatar_url: Field.url({\n label: 'Author Avatar',\n required: false,\n group: 'Author',\n }),\n\n // ── Body ─────────────────────────────────────────────────────\n body: Field.textarea({\n label: 'Body',\n required: true,\n searchable: true,\n description: 'Comment text (Markdown supported)',\n group: 'Body',\n }),\n\n mentions: Field.textarea({\n label: 'Mentions',\n required: false,\n description: 'JSON array of @mention objects',\n group: 'Body',\n }),\n\n reactions: Field.textarea({\n label: 'Reactions',\n required: false,\n description: 'JSON array of emoji reaction objects',\n group: 'Body',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n is_edited: Field.boolean({\n label: 'Edited',\n defaultValue: false,\n group: 'Lifecycle',\n }),\n\n edited_at: Field.datetime({\n label: 'Edited At',\n required: false,\n group: 'Lifecycle',\n }),\n\n visibility: Field.select(\n ['public', 'internal', 'private'],\n {\n label: 'Visibility',\n defaultValue: 'public',\n group: 'Lifecycle',\n },\n ),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['thread_id', 'created_at'] },\n { fields: ['parent_id'] },\n { fields: ['author_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_project — Control Plane Project Registry\n *\n * One row per project. An organization owns N projects\n * (dev/test/prod/sandbox/preview/…). Physical database connection info\n * is stored directly on this row (database_url, database_driver, etc.)\n * so a single JOIN-free lookup gives both logical and physical addressing.\n *\n * **This table lives in the Control Plane only.** Project DBs contain\n * only business data rows — zero system tables.\n *\n * @namespace sys\n */\nexport const SysProject = ObjectSchema.create({\n name: 'sys_project',\n label: 'Project',\n pluralLabel: 'Projects',\n icon: 'layers',\n isSystem: true,\n description: 'Control-plane registry of tenant projects (prod/test/dev/sandbox).',\n titleFormat: '{display_name}',\n compactLayout: ['display_name', 'status', 'is_default'],\n\n fields: {\n id: Field.text({\n label: 'Project ID',\n required: true,\n readonly: true,\n description: 'UUID of the project (stable, never reused).',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Creation timestamp.',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Last update timestamp.',\n }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n description: 'Foreign key to sys_organization.',\n }),\n\n display_name: Field.text({\n label: 'Display Name',\n required: true,\n maxLength: 255,\n description: 'Display name shown in Studio and APIs.',\n }),\n\n is_default: Field.boolean({\n label: 'Is Default',\n required: true,\n defaultValue: false,\n description: 'Whether this is the default project for the organization. Exactly one per org.',\n }),\n\n is_system: Field.boolean({\n label: 'Is System',\n required: true,\n defaultValue: false,\n description: 'Whether this is a system project (platform infrastructure, not user data).',\n }),\n\n plan: Field.select({\n label: 'Plan',\n required: true,\n defaultValue: 'free',\n description: 'Plan tier applied to this project for quota and billing.',\n options: [\n { value: 'free', label: 'Free' },\n { value: 'starter', label: 'Starter' },\n { value: 'pro', label: 'Pro' },\n { value: 'enterprise', label: 'Enterprise' },\n { value: 'custom', label: 'Custom' },\n ],\n }),\n\n status: Field.select({\n label: 'Status',\n required: true,\n defaultValue: 'provisioning',\n description: 'Project lifecycle status.',\n options: [\n { value: 'provisioning', label: 'Provisioning' },\n { value: 'active', label: 'Active' },\n { value: 'suspended', label: 'Suspended' },\n { value: 'archived', label: 'Archived' },\n { value: 'failed', label: 'Failed' },\n { value: 'migrating', label: 'Migrating' },\n ],\n }),\n\n created_by: Field.lookup('sys_user', {\n label: 'Created By',\n required: true,\n description: 'User that created the project.',\n }),\n\n database_url: Field.url({\n label: 'Database URL',\n required: false,\n description: 'Connection URL for the project database (e.g. libsql://proj-uuid.turso.io). Set after provisioning.',\n }),\n\n database_driver: Field.text({\n label: 'Database Driver',\n required: false,\n maxLength: 50,\n description: 'Data-plane driver key (turso, libsql, sqlite, memory, postgres).',\n }),\n\n storage_limit_mb: Field.number({\n label: 'Storage Limit (MB)',\n required: false,\n defaultValue: 1024,\n description: 'Storage quota in megabytes.',\n }),\n\n provisioned_at: Field.datetime({\n label: 'Provisioned At',\n required: false,\n description: 'When the physical database was provisioned.',\n }),\n\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n description: 'JSON-serialized free-form metadata (feature flags, tags, …).',\n }),\n\n hostname: Field.text({\n label: 'Hostname',\n required: false,\n maxLength: 255,\n unique: true,\n description: 'Canonical hostname for this project (e.g. acme-dev.objectstack.app or api.acme.com). UNIQUE. Auto-set on creation; can be overridden for custom domains.',\n }),\n },\n\n indexes: [\n { fields: ['organization_id'] },\n { fields: ['organization_id', 'is_default'] },\n { fields: ['status'] },\n { fields: ['database_driver'] },\n { fields: ['hostname'], unique: true },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_project_member — Per-Project RBAC\n *\n * Grants a user access to a specific project with a specific role.\n * Scoped narrowly to project boundaries so that `prod` can have a\n * different cast of admins than `dev`.\n *\n * A user may be a member of multiple projects within the same\n * organization with different roles. Uniqueness is `(project_id, user_id)`.\n *\n * @namespace sys\n */\nexport const SysProjectMember = ObjectSchema.create({\n name: 'sys_project_member',\n label: 'Project Member',\n pluralLabel: 'Project Members',\n icon: 'users',\n isSystem: true,\n description: 'Per-project user/role assignments.',\n titleFormat: '{user_id} @ {project_id}',\n compactLayout: ['user_id', 'project_id', 'role'],\n\n fields: {\n id: Field.text({\n label: 'Membership ID',\n required: true,\n readonly: true,\n description: 'UUID of the membership.',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Creation timestamp.',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Last update timestamp.',\n }),\n\n project_id: Field.lookup('sys_project', {\n label: 'Project',\n required: true,\n description: 'Foreign key to sys_project.',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Foreign key to sys_user.',\n }),\n\n role: Field.select({\n label: 'Role',\n required: true,\n description: 'Per-project role (owner/admin/maker/reader/guest).',\n options: [\n { value: 'owner', label: 'Owner' },\n { value: 'admin', label: 'Administrator' },\n { value: 'maker', label: 'Maker / Developer' },\n { value: 'reader', label: 'Reader' },\n { value: 'guest', label: 'Guest' },\n ],\n }),\n\n invited_by: Field.lookup('sys_user', {\n label: 'Invited By',\n required: true,\n description: 'User that granted this membership.',\n }),\n },\n\n indexes: [\n { fields: ['project_id', 'user_id'], unique: true },\n { fields: ['project_id'] },\n { fields: ['user_id'] },\n { fields: ['role'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_project_credential — Rotatable Project Database Credentials\n *\n * Stores encrypted credentials for project databases separately from\n * the project record (`sys_project`) so that secrets can\n * be rotated, revoked, and audited independently.\n *\n * During rotation, multiple rows can exist per `project_id`:\n * the previous credential stays `active` until the new one has been\n * propagated to all runtimes, then flips to `revoked`.\n *\n * @namespace sys\n */\nexport const SysProjectCredential = ObjectSchema.create({\n name: 'sys_project_credential',\n label: 'Project Credential',\n pluralLabel: 'Project Credentials',\n icon: 'key',\n isSystem: true,\n description: 'Rotatable encrypted credentials for project databases.',\n titleFormat: '{id}',\n compactLayout: ['project_id', 'status', 'authorization', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'Credential ID',\n required: true,\n readonly: true,\n description: 'UUID of the credential.',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Creation timestamp.',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Last update timestamp.',\n }),\n\n project_id: Field.lookup('sys_project', {\n label: 'Project',\n required: true,\n description: 'Foreign key to sys_project.',\n }),\n\n secret_ciphertext: Field.textarea({\n label: 'Secret Ciphertext',\n required: true,\n description: 'Encrypted auth token or secret (never store plaintext).',\n }),\n\n encryption_key_id: Field.text({\n label: 'Encryption Key ID',\n required: true,\n maxLength: 255,\n description: 'KMS/encryption key ID that produced the ciphertext.',\n }),\n\n authorization: Field.select({\n label: 'Authorization',\n required: true,\n defaultValue: 'full_access',\n description: 'Authorization scope for this credential.',\n options: [\n { value: 'full_access', label: 'Full Access' },\n { value: 'read_only', label: 'Read Only' },\n ],\n }),\n\n status: Field.select({\n label: 'Status',\n required: true,\n defaultValue: 'active',\n description: 'Credential lifecycle status.',\n options: [\n { value: 'active', label: 'Active' },\n { value: 'rotating', label: 'Rotating' },\n { value: 'revoked', label: 'Revoked' },\n ],\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: false,\n description: 'Optional expiry — after this timestamp the credential must be rotated.',\n }),\n\n revoked_at: Field.datetime({\n label: 'Revoked At',\n required: false,\n description: 'Timestamp when the credential was revoked (null while active).',\n }),\n },\n\n indexes: [\n { fields: ['project_id'] },\n { fields: ['project_id', 'status'] },\n { fields: ['status'] },\n { fields: ['expires_at'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_app — Org-scoped catalog of apps across all projects in an organization.\n *\n * Mirrors per-project app metadata into the control-plane DB so the Studio\n * frontend can render a workspace-style \"all apps in this org\" view with a\n * single org-filtered query, without fanning out to every project DB.\n *\n * Kept thin on purpose: only the card-level fields (name, label, icon,\n * project_name, …) needed to render the catalog. The full app definition\n * remains authoritative in the project DB and is fetched on demand when the\n * user enters an app.\n *\n * Sync source: `AppCatalogService` listens for `app:registered` /\n * `app:unregistered` kernel hooks fired from project kernels (both\n * package-installed and user-created apps).\n *\n * **Stored in the Control Plane DB (not in project DBs).**\n *\n * @namespace sys\n */\nexport const SysApp = ObjectSchema.create({\n name: 'sys_app',\n label: 'App',\n pluralLabel: 'Apps',\n icon: 'layout-grid',\n isSystem: true,\n description: 'Org-scoped catalog of apps across all projects (sys_app).',\n titleFormat: '{label}',\n compactLayout: ['label', 'project_name', 'source', 'active'],\n\n fields: {\n id: Field.text({\n label: 'App Catalog ID',\n required: true,\n readonly: true,\n description: 'UUID of this catalog entry (stable, never reused).',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Creation timestamp (ISO-8601).',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Last update timestamp (ISO-8601).',\n }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n description:\n 'Foreign key to sys_organization. Drives tenant isolation — ' +\n 'ControlPlaneProxyDriver auto-injects this filter on all reads.',\n }),\n\n project_id: Field.lookup('sys_project', {\n label: 'Project',\n required: true,\n description: 'Foreign key to sys_project. The project this app lives in.',\n }),\n\n project_name: Field.text({\n label: 'Project Name',\n required: false,\n description:\n 'Denormalized project display name. Cached here so the catalog list ' +\n 'avoids a JOIN against sys_project for card rendering.',\n }),\n\n name: Field.text({\n label: 'App Name',\n required: true,\n description: 'Short, machine name of the app (snake_case). Unique within a project.',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: false,\n description: 'Human-readable display label shown on the catalog card.',\n }),\n\n icon: Field.text({\n label: 'Icon',\n required: false,\n description: 'Icon identifier (e.g. lucide name, emoji, or URL).',\n }),\n\n branding: Field.textarea({\n label: 'Branding',\n required: false,\n description:\n 'JSON-serialized branding subset (color, logo, …) used for catalog rendering.',\n }),\n\n is_default: Field.boolean({\n label: 'Is Default',\n required: false,\n defaultValue: false,\n description: 'Whether this is the default app for its project.',\n }),\n\n active: Field.boolean({\n label: 'Active',\n required: true,\n defaultValue: true,\n description: 'Whether the app is currently enabled in its project kernel.',\n }),\n\n source: Field.select({\n label: 'Source',\n required: true,\n defaultValue: 'package',\n description: 'Where this app originates from.',\n options: [\n { value: 'package', label: 'Package' },\n { value: 'user', label: 'User' },\n ],\n }),\n\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n required: false,\n description:\n 'Foreign key to sys_package when source = package. Null for user-created apps.',\n }),\n },\n\n indexes: [\n { fields: ['project_id', 'name'], unique: true },\n { fields: ['organization_id'] },\n { fields: ['project_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_package — Control Plane Package Registry\n *\n * One row per logical package (also called Solution in Power Platform,\n * Unlocked Package in Salesforce, Application in ServiceNow).\n * The package itself carries only identity and publishing metadata.\n * Actual content (objects, views, flows…) lives in sys_package_version.\n *\n * Addressable by the globally unique `manifest_id` (reverse-domain string).\n * The `manifest_id` is immutable once set — renaming a package requires\n * creating a new package entry.\n *\n * **This table lives in the Control Plane only.**\n *\n * See `docs/adr/0003-package-as-first-class-citizen.md` for the full rationale.\n *\n * @namespace sys\n */\nexport const SysPackage = ObjectSchema.create({\n name: 'sys_package',\n label: 'Package',\n pluralLabel: 'Packages',\n icon: 'package',\n isSystem: true,\n description: 'Control-plane registry of installable packages / solutions (sys_package).',\n titleFormat: '{display_name}',\n compactLayout: ['display_name', 'manifest_id', 'visibility', 'created_at'],\n\n fields: {\n id: Field.text({\n label: 'Package ID',\n required: true,\n readonly: true,\n description: 'UUID of the package (stable, never reused).',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Creation timestamp (ISO-8601).',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Last update timestamp (ISO-8601).',\n }),\n\n manifest_id: Field.text({\n label: 'Manifest ID',\n required: true,\n readonly: true,\n maxLength: 255,\n description:\n 'Globally unique reverse-domain package identifier (e.g. com.acme.crm). ' +\n 'Immutable once set. Used as the stable public key for dependency declarations.',\n }),\n\n owner_org_id: Field.lookup('sys_organization', {\n label: 'Owner Organization',\n required: true,\n description: 'Organization that owns and publishes this package.',\n }),\n\n display_name: Field.text({\n label: 'Display Name',\n required: true,\n maxLength: 128,\n description: 'Human-readable name shown in Studio and Marketplace.',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n description: 'Short package description shown in search results and install dialogs (max 512 chars).',\n }),\n\n readme: Field.textarea({\n label: 'Readme',\n required: false,\n description: 'Long-form package documentation (markdown). Displayed on the Marketplace detail page.',\n }),\n\n visibility: Field.select({\n label: 'Visibility',\n required: true,\n defaultValue: 'private',\n description:\n 'Controls who can discover and install the package. ' +\n 'private = owner org only; org = all envs in owner org; marketplace = public registry.',\n options: [\n { value: 'private', label: 'Private' },\n { value: 'org', label: 'Organization' },\n { value: 'marketplace', label: 'Marketplace' },\n ],\n }),\n\n category: Field.text({\n label: 'Category',\n required: false,\n maxLength: 100,\n description: 'Primary category for Marketplace filtering (e.g. crm, hr, finance, devtools).',\n }),\n\n tags: Field.textarea({\n label: 'Tags',\n required: false,\n description: 'JSON-serialized array of search/filter tags (e.g. [\"salesforce\",\"sync\",\"crm\"]).',\n }),\n\n icon_url: Field.url({\n label: 'Icon URL',\n required: false,\n description: 'URL to the package icon image displayed in Studio and Marketplace.',\n }),\n\n homepage_url: Field.url({\n label: 'Homepage URL',\n required: false,\n description: 'URL to the package homepage or external documentation site.',\n }),\n\n license: Field.text({\n label: 'License',\n required: false,\n maxLength: 64,\n description: 'SPDX license identifier (e.g. MIT, Apache-2.0, proprietary).',\n }),\n\n created_by: Field.lookup('sys_user', {\n label: 'Created By',\n required: true,\n description: 'User that registered this package in the Control Plane.',\n }),\n },\n\n indexes: [\n { fields: ['manifest_id'], unique: true },\n { fields: ['owner_org_id'] },\n { fields: ['visibility'] },\n { fields: ['owner_org_id', 'visibility'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_package_version — Immutable Package Release Snapshot\n *\n * One row per versioned release of a package. Once `status` transitions\n * from `draft` to `published`, the `manifest_json` and `checksum` fields\n * are sealed and MUST NOT change.\n *\n * The triple `(package_id, version)` is UNIQUE — a package can only publish\n * each semver string once.\n *\n * Installing a package means pointing a `sys_package_installation` row at a\n * specific `sys_package_version` UUID. Upgrading swaps that pointer atomically.\n *\n * **This table lives in the Control Plane only.**\n *\n * See `docs/adr/0003-package-as-first-class-citizen.md` for the full rationale.\n *\n * @namespace sys\n */\nexport const SysPackageVersion = ObjectSchema.create({\n name: 'sys_package_version',\n label: 'Package Version',\n pluralLabel: 'Package Versions',\n icon: 'tag',\n isSystem: true,\n description: 'Immutable release snapshot of a package (sys_package_version).',\n titleFormat: '{package_id} v{version}',\n compactLayout: ['package_id', 'version', 'status', 'published_at'],\n\n fields: {\n id: Field.text({\n label: 'Version ID',\n required: true,\n readonly: true,\n description: 'UUID of this package version row (stable, never reused).',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Creation timestamp (ISO-8601).',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Last update timestamp (ISO-8601). Only modified while status is draft.',\n }),\n\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n required: true,\n description: 'Foreign key to sys_package (the parent package).',\n }),\n\n version: Field.text({\n label: 'Version',\n required: true,\n maxLength: 64,\n description: 'Semantic version string (e.g. 1.2.3, 2.0.0-beta.1). Follows semver spec.',\n }),\n\n status: Field.select({\n label: 'Status',\n required: true,\n defaultValue: 'draft',\n description:\n 'Lifecycle status. draft = being authored, may be mutated. ' +\n 'published = immutable snapshot, installable in any environment. ' +\n 'deprecated = published but superseded; new installs blocked.',\n options: [\n { value: 'draft', label: 'Draft' },\n { value: 'published', label: 'Published' },\n { value: 'deprecated', label: 'Deprecated' },\n ],\n }),\n\n manifest_json: Field.textarea({\n label: 'Manifest JSON',\n required: false,\n description:\n 'Full package manifest serialized as JSON. Frozen on publish — ' +\n 'writing to this field after status = published is rejected by the service layer.',\n }),\n\n checksum: Field.text({\n label: 'Checksum',\n required: false,\n maxLength: 64,\n readonly: true,\n description: 'SHA-256 hex digest of manifest_json. Computed and set on publish. Used for tamper detection.',\n }),\n\n release_notes: Field.textarea({\n label: 'Release Notes',\n required: false,\n description: 'Human-readable changelog for this version (markdown). Optional.',\n }),\n\n min_platform_version: Field.text({\n label: 'Min Platform Version',\n required: false,\n maxLength: 32,\n description:\n 'Minimum ObjectStack platform version required to run this version ' +\n '(semver, e.g. 4.0.0). Denormalized from manifest_json for fast validation.',\n }),\n\n is_pre_release: Field.boolean({\n label: 'Pre-release',\n required: true,\n defaultValue: false,\n description:\n 'Whether this is a pre-release version (alpha, beta, rc). ' +\n 'Pre-release versions are not installed by default when resolving \"latest\".',\n }),\n\n published_at: Field.datetime({\n label: 'Published At',\n required: false,\n description: 'Timestamp when this version was published. Null while status is draft.',\n }),\n\n published_by: Field.lookup('sys_user', {\n label: 'Published By',\n required: false,\n description: 'User who published this version. Set on the draft → published transition.',\n }),\n\n created_by: Field.lookup('sys_user', {\n label: 'Created By',\n required: true,\n description: 'User that created this version row.',\n }),\n },\n\n indexes: [\n { fields: ['package_id', 'version'], unique: true },\n { fields: ['package_id'] },\n { fields: ['status'] },\n { fields: ['package_id', 'status'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_package_installation — Per-project package installation record.\n *\n * Models the pairing between a project and a specific, immutable package\n * version snapshot (`sys_package_version`). Only one version of a given package\n * may be active per project at a time (enforced by UNIQUE on\n * `(project_id, package_id)`).\n *\n * **Upgrade** = atomic UPDATE of `package_version_id` to a newer version UUID.\n * **Rollback** = atomic UPDATE of `package_version_id` to an older version UUID.\n * Version history is tracked via the sequence of `package_version_id` changes\n * on this row (and an optional sys_package_installation_history audit table).\n *\n * **Stored in the Control Plane DB (not in project DBs).**\n * Project DBs contain only business data rows — zero system tables.\n *\n * See `docs/adr/0003-package-as-first-class-citizen.md` for the full rationale.\n *\n * @namespace sys\n */\nexport const SysPackageInstallation = ObjectSchema.create({\n name: 'sys_package_installation',\n label: 'Package Installation',\n pluralLabel: 'Package Installations',\n icon: 'package',\n isSystem: true,\n description: 'Per-project package installation registry (sys_package_installation).',\n titleFormat: '{package_id} @ {project_id}',\n compactLayout: ['package_version_id', 'project_id', 'status', 'installed_at'],\n\n fields: {\n id: Field.text({\n label: 'Installation ID',\n required: true,\n readonly: true,\n description: 'UUID of this installation record (stable, never reused).',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Creation timestamp (ISO-8601).',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n description: 'Last update timestamp — changes on upgrade, rollback, enable/disable (ISO-8601).',\n }),\n\n project_id: Field.lookup('sys_project', {\n label: 'Project',\n required: true,\n description: 'Foreign key to sys_project. The project that owns this installation.',\n }),\n\n package_version_id: Field.lookup('sys_package_version', {\n label: 'Package Version',\n required: true,\n description:\n 'Foreign key to sys_package_version. The specific, immutable release snapshot ' +\n 'currently installed in this project. Upgrading = swapping this field to a newer ' +\n 'version. Rollback = swapping to an older version.',\n }),\n\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n required: true,\n description:\n 'Foreign key to sys_package. Denormalized from the linked package_version row ' +\n 'at install time to enforce the UNIQUE (project_id, package_id) constraint without a JOIN.',\n }),\n\n status: Field.select({\n label: 'Status',\n required: true,\n defaultValue: 'installed',\n description: 'Current lifecycle status of this installation within the project.',\n options: [\n { value: 'installed', label: 'Installed' },\n { value: 'installing', label: 'Installing' },\n { value: 'upgrading', label: 'Upgrading' },\n { value: 'disabled', label: 'Disabled' },\n { value: 'error', label: 'Error' },\n ],\n }),\n\n enabled: Field.boolean({\n label: 'Enabled',\n required: true,\n defaultValue: true,\n description:\n 'Whether the package metadata is actively loaded into this project. ' +\n 'Disabled packages are installed but their schema is not visible to the runtime.',\n }),\n\n settings: Field.textarea({\n label: 'Settings',\n required: false,\n description:\n 'JSON-serialized per-installation configuration overrides. ' +\n 'Keys mirror the package manifest configurationSchema.properties.',\n }),\n\n installed_at: Field.datetime({\n label: 'Installed At',\n required: true,\n defaultValue: 'NOW()',\n description: 'Timestamp when this installation was first created (ISO-8601).',\n }),\n\n installed_by: Field.lookup('sys_user', {\n label: 'Installed By',\n required: false,\n description: 'User who performed the initial install. Null for system-automated installs.',\n }),\n\n error_message: Field.textarea({\n label: 'Error Message',\n required: false,\n description: 'Error details when status is error. Cleared on next successful install/upgrade.',\n }),\n },\n\n indexes: [\n { fields: ['project_id', 'package_id'], unique: true },\n { fields: ['project_id'] },\n { fields: ['package_id'] },\n { fields: ['package_version_id'] },\n { fields: ['status'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_metadata — System Metadata Object\n *\n * Canonical ObjectStack object definition for the metadata persistence table.\n * Stores all platform-scope and user-scope metadata records (Objects, Views,\n * Flows, etc.) using the MetadataRecordSchema envelope.\n *\n * This is a system object (isSystem: true) — protected from deletion and\n * automatically provisioned by the DatabaseLoader on first use.\n *\n * @see MetadataRecordSchema in metadata-persistence.zod.ts\n */\nexport const SysMetadataObject = ObjectSchema.create({\n name: 'sys_metadata',\n label: 'System Metadata',\n pluralLabel: 'System Metadata',\n icon: 'settings',\n isSystem: true,\n description: 'Stores platform and user-scope metadata records (objects, views, flows, etc.)',\n\n fields: {\n /** Primary Key (UUID) */\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n /** Machine name — unique identifier used in code references */\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n }),\n\n /** Metadata type (e.g. \"object\", \"view\", \"flow\") */\n type: Field.text({\n label: 'Metadata Type',\n required: true,\n searchable: true,\n maxLength: 100,\n }),\n\n /** Namespace / module grouping (e.g. \"crm\", \"core\") */\n namespace: Field.text({\n label: 'Namespace',\n required: false,\n defaultValue: 'default',\n maxLength: 100,\n }),\n\n /** Package that owns/delivered this metadata (legacy string identifier, kept for compat) */\n package_id: Field.text({\n label: 'Package ID',\n required: false,\n maxLength: 255,\n description: 'Legacy package manifest ID string. Use package_version_id for new records.',\n }),\n\n /**\n * FK → sys_package_version (UUID). Set for metadata that belongs to a specific\n * package release snapshot. NULL = platform-built-in or environment override.\n */\n package_version_id: Field.lookup('sys_package_version', {\n label: 'Package Version',\n required: false,\n description:\n 'Foreign key to sys_package_version (UUID). Null = platform-built-in or env-level override.',\n }),\n\n /** Who manages this record: package, platform, or user */\n managed_by: Field.select(['package', 'platform', 'user'], {\n label: 'Managed By',\n required: false,\n }),\n\n /** Scope: system (code), platform (admin DB), user (personal DB) */\n scope: Field.select(['system', 'platform', 'user'], {\n label: 'Scope',\n required: true,\n defaultValue: 'platform',\n }),\n\n /** JSON payload — the actual metadata configuration */\n metadata: Field.textarea({\n label: 'Metadata',\n required: true,\n description: 'JSON-serialized metadata payload',\n }),\n\n /** Parent metadata name for extension/override */\n extends: Field.text({\n label: 'Extends',\n required: false,\n maxLength: 255,\n }),\n\n /** Merge strategy when extending parent metadata */\n strategy: Field.select(['merge', 'replace'], {\n label: 'Strategy',\n required: false,\n defaultValue: 'merge',\n }),\n\n /** Owner user ID (for user-scope items) */\n owner: Field.text({\n label: 'Owner',\n required: false,\n maxLength: 255,\n }),\n\n /** Lifecycle state */\n state: Field.select(['draft', 'active', 'archived', 'deprecated'], {\n label: 'State',\n required: false,\n defaultValue: 'active',\n }),\n\n /** Organization ID for multi-tenant isolation */\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n description: 'Organization for multi-tenant isolation.',\n }),\n\n /** Project ID — null = platform-global, set = project-scoped */\n project_id: Field.lookup('sys_project', {\n label: 'Project',\n required: false,\n description: 'Foreign key to sys_project (UUID). Null = platform-global.',\n }),\n\n /** Version number for optimistic concurrency */\n version: Field.number({\n label: 'Version',\n required: false,\n defaultValue: 1,\n }),\n\n /** Content checksum for change detection */\n checksum: Field.text({\n label: 'Checksum',\n required: false,\n maxLength: 64,\n }),\n\n /** Origin of this metadata record */\n source: Field.select(['filesystem', 'database', 'api', 'migration'], {\n label: 'Source',\n required: false,\n }),\n\n /** Classification tags (JSON array) */\n tags: Field.textarea({\n label: 'Tags',\n required: false,\n description: 'JSON-serialized array of classification tags',\n }),\n\n /** Audit fields */\n created_by: Field.lookup('sys_user', {\n label: 'Created By',\n required: false,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: false,\n readonly: true,\n }),\n\n updated_by: Field.lookup('sys_user', {\n label: 'Updated By',\n required: false,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n }),\n },\n\n indexes: [\n { fields: ['type', 'name', 'project_id'], unique: true },\n { fields: ['type', 'scope'] },\n { fields: ['organization_id'] },\n { fields: ['project_id'] },\n { fields: ['package_version_id'] },\n { fields: ['state'] },\n { fields: ['namespace'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_metadata_history — Metadata Version History Object\n *\n * Stores historical snapshots of metadata changes for version tracking,\n * audit trail, and rollback capabilities.\n *\n * This is a system object (isSystem: true) — protected from deletion and\n * automatically provisioned when metadata history is enabled.\n *\n * Each record represents a single version snapshot of a metadata item,\n * created whenever the metadata is modified, published, or reverted.\n *\n * @see MetadataHistoryRecordSchema in metadata-persistence.zod.ts\n */\nexport const SysMetadataHistoryObject = ObjectSchema.create({\n name: 'sys_metadata_history',\n label: 'Metadata History',\n pluralLabel: 'Metadata History',\n icon: 'history',\n isSystem: true,\n description: 'Version history and audit trail for metadata changes',\n\n fields: {\n /** Primary Key (UUID) */\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n /** Foreign key to sys_metadata.id */\n metadata_id: Field.lookup('sys_metadata', {\n label: 'Metadata',\n required: true,\n readonly: true,\n }),\n\n /** Machine name (denormalized for easier querying) */\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n readonly: true,\n maxLength: 255,\n }),\n\n /** Metadata type (denormalized for easier querying) */\n type: Field.text({\n label: 'Metadata Type',\n required: true,\n searchable: true,\n readonly: true,\n maxLength: 100,\n }),\n\n /** Version number at this snapshot */\n version: Field.number({\n label: 'Version',\n required: true,\n readonly: true,\n }),\n\n /** Type of operation that created this history entry */\n operation_type: Field.select(['create', 'update', 'publish', 'revert', 'delete'], {\n label: 'Operation Type',\n required: true,\n readonly: true,\n }),\n\n /** Historical metadata snapshot (JSON payload) */\n metadata: Field.textarea({\n label: 'Metadata',\n required: true,\n readonly: true,\n description: 'JSON-serialized metadata snapshot at this version',\n }),\n\n /** SHA-256 checksum of metadata content */\n checksum: Field.text({\n label: 'Checksum',\n required: true,\n readonly: true,\n maxLength: 64,\n }),\n\n /** Checksum of the previous version */\n previous_checksum: Field.text({\n label: 'Previous Checksum',\n required: false,\n readonly: true,\n maxLength: 64,\n }),\n\n /** Human-readable description of changes */\n change_note: Field.textarea({\n label: 'Change Note',\n required: false,\n readonly: true,\n description: 'Description of what changed in this version',\n }),\n\n /** Organization ID for multi-tenant isolation */\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n readonly: true,\n description: 'Organization for multi-tenant isolation.',\n }),\n\n /** Environment ID — null = platform-global, set = env-scoped */\n project_id: Field.text({\n label: 'Environment ID',\n required: false,\n readonly: true,\n maxLength: 255,\n description: 'Scopes this history entry to a specific environment.',\n }),\n\n /** User who made this change */\n recorded_by: Field.lookup('sys_user', {\n label: 'Recorded By',\n required: false,\n readonly: true,\n }),\n\n /** When was this version recorded */\n recorded_at: Field.datetime({\n label: 'Recorded At',\n required: true,\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['metadata_id', 'version'], unique: true },\n { fields: ['metadata_id', 'recorded_at'] },\n { fields: ['type', 'name'] },\n { fields: ['recorded_at'] },\n { fields: ['operation_type'] },\n { fields: ['organization_id'] },\n { fields: ['project_id'] },\n ],\n\n enable: {\n trackHistory: false, // Don't track history of history records\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list'], // Read-only via API\n trash: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_object Object Definition\n *\n * Represents object metadata as queryable data.\n * Allows Studio to browse/filter/search object definitions using the Object Protocol.\n * Registered without a namespace, so FQN = `sys_object` and table = `sys_object`.\n */\nexport const SysObject = ObjectSchema.create({\n name: 'sys_object',\n label: 'Object Definition',\n pluralLabel: 'Object Definitions',\n description: 'Metadata for business objects',\n icon: 'database',\n isSystem: true,\n\n fields: {\n // Core Identity\n name: Field.text({\n label: 'Object Name',\n required: true,\n maxLength: 255,\n description: 'Machine name (snake_case)',\n }),\n\n project_id: Field.text({\n label: 'Environment ID',\n maxLength: 255,\n description: 'Project/environment scope — null = control-plane global',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: true,\n maxLength: 255,\n }),\n\n plural_label: Field.text({\n label: 'Plural Label',\n maxLength: 255,\n }),\n\n description: Field.textarea({\n label: 'Description',\n }),\n\n icon: Field.text({\n label: 'Icon',\n maxLength: 100,\n }),\n\n // Classification\n namespace: Field.text({\n label: 'Namespace',\n maxLength: 100,\n description: 'Logical domain namespace',\n }),\n\n tags: Field.text({\n label: 'Tags',\n description: 'Comma-separated categorization tags',\n }),\n\n active: Field.boolean({\n label: 'Active',\n defaultValue: true,\n }),\n\n is_system: Field.boolean({\n label: 'System Object',\n defaultValue: false,\n description: 'Protected from deletion',\n }),\n\n abstract: Field.boolean({\n label: 'Abstract',\n defaultValue: false,\n description: 'Cannot be instantiated',\n }),\n\n // Storage\n datasource: Field.text({\n label: 'Datasource',\n maxLength: 100,\n defaultValue: 'default',\n }),\n\n table_name: Field.text({\n label: 'Table Name',\n maxLength: 255,\n description: 'Physical table/collection name',\n }),\n\n // Complex Data (stored as JSON)\n fields_json: Field.textarea({\n label: 'Fields (JSON)',\n description: 'Field definitions as JSON',\n }),\n\n indexes_json: Field.textarea({\n label: 'Indexes (JSON)',\n description: 'Index definitions as JSON',\n }),\n\n validations_json: Field.textarea({\n label: 'Validations (JSON)',\n description: 'Validation rules as JSON',\n }),\n\n state_machines_json: Field.textarea({\n label: 'State Machines (JSON)',\n description: 'State machine definitions as JSON',\n }),\n\n capabilities_json: Field.textarea({\n label: 'Capabilities (JSON)',\n description: 'Enabled system features as JSON',\n }),\n\n // Denormalized Fields\n field_count: Field.number({\n label: 'Field Count',\n description: 'Number of fields defined',\n }),\n\n // Display\n display_name_field: Field.text({\n label: 'Display Name Field',\n maxLength: 100,\n description: 'Field to use as record display name',\n }),\n\n title_format: Field.text({\n label: 'Title Format',\n maxLength: 255,\n description: 'Title expression template',\n }),\n\n compact_layout: Field.text({\n label: 'Compact Layout',\n description: 'Comma-separated field names for cards',\n }),\n\n // Capabilities\n track_history: Field.boolean({\n label: 'Track History',\n defaultValue: false,\n }),\n\n searchable: Field.boolean({\n label: 'Searchable',\n defaultValue: true,\n }),\n\n api_enabled: Field.boolean({\n label: 'API Enabled',\n defaultValue: true,\n }),\n\n files: Field.boolean({\n label: 'Files',\n defaultValue: false,\n }),\n\n feeds: Field.boolean({\n label: 'Feeds',\n defaultValue: false,\n }),\n\n activities: Field.boolean({\n label: 'Activities',\n defaultValue: false,\n }),\n\n trash: Field.boolean({\n label: 'Trash',\n defaultValue: true,\n }),\n\n mru: Field.boolean({\n label: 'MRU',\n defaultValue: true,\n }),\n\n clone: Field.boolean({\n label: 'Clone',\n defaultValue: true,\n }),\n\n // Package Management\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n }),\n\n managed_by: Field.select({\n label: 'Managed By',\n options: [\n { value: 'package', label: 'Package' },\n { value: 'platform', label: 'Platform' },\n { value: 'user', label: 'User' },\n ],\n }),\n\n // Audit\n created_by: Field.lookup('sys_user', { label: 'Created By' }),\n created_at: Field.datetime({ label: 'Created At' }),\n updated_by: Field.lookup('sys_user', { label: 'Updated By' }),\n updated_at: Field.datetime({ label: 'Updated At' }),\n },\n\n indexes: [\n { fields: ['name', 'project_id'], unique: true },\n { fields: ['project_id'] },\n { fields: ['namespace'] },\n { fields: ['package_id'] },\n { fields: ['active'] },\n { fields: ['is_system'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_view Object Definition\n *\n * Represents view metadata as queryable data.\n * Registered without a namespace, so FQN = `sys_view` and table = `sys_view`.\n */\nexport const SysView = ObjectSchema.create({\n name: 'sys_view',\n label: 'View Definition',\n pluralLabel: 'View Definitions',\n description: 'Metadata for UI views (grid, kanban, calendar, etc.)',\n icon: 'layout-grid',\n isSystem: true,\n\n fields: {\n // Core Identity\n name: Field.text({\n label: 'View Name',\n required: true,\n maxLength: 255,\n }),\n\n project_id: Field.text({\n label: 'Environment ID',\n maxLength: 255,\n description: 'Project/environment scope — null = control-plane global',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: true,\n maxLength: 255,\n }),\n\n description: Field.textarea({\n label: 'Description',\n }),\n\n // Reference to Object\n object_name: Field.text({\n label: 'Object Name',\n required: true,\n maxLength: 255,\n description: 'The object this view displays',\n }),\n\n // View Type\n view_type: Field.select({\n label: 'View Type',\n required: true,\n options: [\n { value: 'grid', label: 'Grid' },\n { value: 'kanban', label: 'Kanban' },\n { value: 'calendar', label: 'Calendar' },\n { value: 'gantt', label: 'Gantt' },\n { value: 'form', label: 'Form' },\n { value: 'timeline', label: 'Timeline' },\n ],\n }),\n\n // Complex Configuration\n columns_json: Field.textarea({\n label: 'Columns (JSON)',\n description: 'Column definitions as JSON',\n }),\n\n filters_json: Field.textarea({\n label: 'Filters (JSON)',\n description: 'Filter definitions as JSON',\n }),\n\n sort_json: Field.textarea({\n label: 'Sort (JSON)',\n description: 'Sort configuration as JSON',\n }),\n\n config_json: Field.textarea({\n label: 'Configuration (JSON)',\n description: 'View-specific configuration as JSON',\n }),\n\n // Display Options\n page_size: Field.number({\n label: 'Page Size',\n defaultValue: 25,\n min: 1,\n max: 200,\n }),\n\n show_search: Field.boolean({\n label: 'Show Search',\n defaultValue: true,\n }),\n\n show_filters: Field.boolean({\n label: 'Show Filters',\n defaultValue: true,\n }),\n\n // Classification\n namespace: Field.text({\n label: 'Namespace',\n maxLength: 100,\n }),\n\n // Package Management\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n }),\n\n managed_by: Field.select({\n label: 'Managed By',\n options: [\n { value: 'package', label: 'Package' },\n { value: 'platform', label: 'Platform' },\n { value: 'user', label: 'User' },\n ],\n }),\n\n // Audit\n created_by: Field.lookup('sys_user', { label: 'Created By' }),\n created_at: Field.datetime({ label: 'Created At' }),\n updated_by: Field.lookup('sys_user', { label: 'Updated By' }),\n updated_at: Field.datetime({ label: 'Updated At' }),\n },\n\n indexes: [\n { fields: ['name', 'project_id'], unique: true },\n { fields: ['project_id'] },\n { fields: ['object_name'] },\n { fields: ['view_type'] },\n { fields: ['namespace'] },\n { fields: ['package_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_agent Object Definition\n *\n * Represents AI agent metadata as queryable data.\n * Registered without a namespace, so FQN = `sys_agent` and table = `sys_agent`.\n */\nexport const SysAgent = ObjectSchema.create({\n name: 'sys_agent',\n label: 'AI Agent',\n pluralLabel: 'AI Agents',\n description: 'AI agent definitions',\n icon: 'bot',\n isSystem: true,\n\n fields: {\n // Core Identity\n name: Field.text({\n label: 'Agent Name',\n required: true,\n maxLength: 255,\n }),\n\n project_id: Field.text({\n label: 'Environment ID',\n maxLength: 255,\n description: 'Project/environment scope — null = control-plane global',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: true,\n maxLength: 255,\n }),\n\n description: Field.textarea({\n label: 'Description',\n }),\n\n // Agent Type\n agent_type: Field.select({\n label: 'Agent Type',\n options: [\n { value: 'conversational', label: 'Conversational' },\n { value: 'task', label: 'Task-Based' },\n { value: 'analytical', label: 'Analytical' },\n { value: 'workflow', label: 'Workflow' },\n ],\n }),\n\n // Model Configuration\n model: Field.text({\n label: 'Model ID',\n maxLength: 255,\n description: 'AI model identifier',\n }),\n\n temperature: Field.number({\n label: 'Temperature',\n min: 0,\n max: 2,\n defaultValue: 0.7,\n }),\n\n max_tokens: Field.number({\n label: 'Max Tokens',\n min: 1,\n max: 100000,\n }),\n\n top_p: Field.number({\n label: 'Top P',\n min: 0,\n max: 1,\n }),\n\n // System Prompt\n system_prompt: Field.textarea({\n label: 'System Prompt',\n description: 'Instructions for the AI agent',\n }),\n\n // Tools Configuration\n tools_json: Field.textarea({\n label: 'Tools (JSON)',\n description: 'Available tools as JSON array',\n }),\n\n // Skills Configuration\n skills_json: Field.textarea({\n label: 'Skills (JSON)',\n description: 'Available skills as JSON array',\n }),\n\n // Memory Configuration\n memory_enabled: Field.boolean({\n label: 'Memory Enabled',\n defaultValue: false,\n }),\n\n memory_window: Field.number({\n label: 'Memory Window',\n description: 'Number of conversation turns to remember',\n defaultValue: 10,\n }),\n\n // Classification\n namespace: Field.text({\n label: 'Namespace',\n maxLength: 100,\n }),\n\n // Package Management\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n }),\n\n managed_by: Field.select({\n label: 'Managed By',\n options: [\n { value: 'package', label: 'Package' },\n { value: 'platform', label: 'Platform' },\n { value: 'user', label: 'User' },\n ],\n }),\n\n // Audit\n created_by: Field.lookup('sys_user', { label: 'Created By' }),\n created_at: Field.datetime({ label: 'Created At' }),\n updated_by: Field.lookup('sys_user', { label: 'Updated By' }),\n updated_at: Field.datetime({ label: 'Updated At' }),\n },\n\n indexes: [\n { fields: ['name', 'project_id'], unique: true },\n { fields: ['project_id'] },\n { fields: ['agent_type'] },\n { fields: ['namespace'] },\n { fields: ['package_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_tool Object Definition\n *\n * Represents AI tool metadata as queryable data.\n * Registered without a namespace, so FQN = `sys_tool` and table = `sys_tool`.\n */\nexport const SysTool = ObjectSchema.create({\n name: 'sys_tool',\n label: 'AI Tool',\n pluralLabel: 'AI Tools',\n description: 'AI tool definitions',\n icon: 'wrench',\n isSystem: true,\n\n fields: {\n // Core Identity\n name: Field.text({\n label: 'Tool Name',\n required: true,\n maxLength: 255,\n }),\n\n project_id: Field.text({\n label: 'Environment ID',\n maxLength: 255,\n description: 'Project/environment scope — null = control-plane global',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: true,\n maxLength: 255,\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: true,\n }),\n\n // Parameters\n parameters_json: Field.textarea({\n label: 'Parameters (JSON)',\n description: 'Tool parameter schema as JSON',\n }),\n\n // Implementation\n handler_code: Field.textarea({\n label: 'Handler Code',\n description: 'Tool implementation code',\n }),\n\n // Classification\n namespace: Field.text({\n label: 'Namespace',\n maxLength: 100,\n }),\n\n // Package Management\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n }),\n\n managed_by: Field.select({\n label: 'Managed By',\n options: [\n { value: 'package', label: 'Package' },\n { value: 'platform', label: 'Platform' },\n { value: 'user', label: 'User' },\n ],\n }),\n\n // Audit\n created_by: Field.lookup('sys_user', { label: 'Created By' }),\n created_at: Field.datetime({ label: 'Created At' }),\n updated_by: Field.lookup('sys_user', { label: 'Updated By' }),\n updated_at: Field.datetime({ label: 'Updated At' }),\n },\n\n indexes: [\n { fields: ['name', 'project_id'], unique: true },\n { fields: ['project_id'] },\n { fields: ['namespace'] },\n { fields: ['package_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_flow Object Definition\n *\n * Represents flow metadata as queryable data.\n * Registered without a namespace, so FQN = `sys_flow` and table = `sys_flow`.\n */\nexport const SysFlow = ObjectSchema.create({\n name: 'sys_flow',\n label: 'Flow',\n pluralLabel: 'Flows',\n description: 'Visual logic flow definitions',\n icon: 'workflow',\n isSystem: true,\n\n fields: {\n // Core Identity\n name: Field.text({\n label: 'Flow Name',\n required: true,\n maxLength: 255,\n }),\n\n project_id: Field.text({\n label: 'Environment ID',\n maxLength: 255,\n description: 'Project/environment scope — null = control-plane global',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: true,\n maxLength: 255,\n }),\n\n description: Field.textarea({\n label: 'Description',\n }),\n\n // Flow Type\n flow_type: Field.select({\n label: 'Flow Type',\n required: true,\n options: [\n { value: 'autolaunched', label: 'Autolaunched' },\n { value: 'screen', label: 'Screen Flow' },\n { value: 'schedule', label: 'Scheduled' },\n { value: 'trigger', label: 'Trigger-Based' },\n ],\n }),\n\n // Flow Definition\n nodes_json: Field.textarea({\n label: 'Nodes (JSON)',\n description: 'Flow nodes as JSON',\n }),\n\n edges_json: Field.textarea({\n label: 'Edges (JSON)',\n description: 'Flow edges as JSON',\n }),\n\n variables_json: Field.textarea({\n label: 'Variables (JSON)',\n description: 'Flow variables as JSON',\n }),\n\n // Trigger Configuration\n trigger_type: Field.select({\n label: 'Trigger Type',\n options: [\n { value: 'record_created', label: 'Record Created' },\n { value: 'record_updated', label: 'Record Updated' },\n { value: 'record_deleted', label: 'Record Deleted' },\n { value: 'schedule', label: 'Schedule' },\n { value: 'platform_event', label: 'Platform Event' },\n ],\n }),\n\n trigger_object: Field.text({\n label: 'Trigger Object',\n maxLength: 255,\n }),\n\n // Status\n active: Field.boolean({\n label: 'Active',\n defaultValue: false,\n }),\n\n // Classification\n namespace: Field.text({\n label: 'Namespace',\n maxLength: 100,\n }),\n\n // Package Management\n package_id: Field.lookup('sys_package', {\n label: 'Package',\n }),\n\n managed_by: Field.select({\n label: 'Managed By',\n options: [\n { value: 'package', label: 'Package' },\n { value: 'platform', label: 'Platform' },\n { value: 'user', label: 'User' },\n ],\n }),\n\n // Audit\n created_by: Field.lookup('sys_user', { label: 'Created By' }),\n created_at: Field.datetime({ label: 'Created At' }),\n updated_by: Field.lookup('sys_user', { label: 'Updated By' }),\n updated_at: Field.datetime({ label: 'Updated At' }),\n },\n\n indexes: [\n { fields: ['name', 'project_id'], unique: true },\n { fields: ['project_id'] },\n { fields: ['flow_type'] },\n { fields: ['active'] },\n { fields: ['namespace'] },\n { fields: ['package_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Platform Setup App — static definition.\n *\n * Lists every `sys_*` administrative object as a left-hand navigation\n * entry in ObjectUI's \"Setup\" area. Lives here (alongside the object\n * schemas it references) instead of being assembled at runtime by\n * `@objectstack/plugin-setup` — that plugin existed only because the\n * referenced objects used to live in three different runtime plugins\n * (auth/security/audit). Now that all `sys_*` objects are centralized\n * in `@objectstack/platform-objects`, the Setup App is a fixed metadata\n * artifact too and can be exported as plain data.\n *\n * The runtime registration happens in `plugin-auth` (which is always\n * loaded alongside security + audit and already calls\n * `manifest.register({...})`).\n *\n * Menu shape: flat `navigation[]` with `type: 'group'` category nodes,\n * matching the convention used by the CRM example app\n * (`examples/app-crm/src/apps/crm.app.ts`). The legacy `areas[]` shape\n * was abandoned because it rendered poorly compared to the category\n * style ObjectUI is built around.\n */\n\nimport type { App } from '@objectstack/spec/ui';\n\nexport const SETUP_APP: App = {\n name: 'setup',\n label: 'Setup',\n description: 'Platform settings and administration',\n icon: 'settings',\n active: true,\n isDefault: false,\n branding: {\n primaryColor: '#475569', // Slate-600 — neutral admin palette\n },\n requiredPermissions: ['setup.access'],\n navigation: [\n {\n id: 'group_overview',\n type: 'group',\n label: 'Overview',\n icon: 'layout-dashboard',\n children: [\n { id: 'nav_system_overview', type: 'dashboard', label: 'System Overview', dashboardName: 'system_overview', icon: 'activity' },\n { id: 'nav_security_overview', type: 'dashboard', label: 'Security Overview', dashboardName: 'security_overview', icon: 'shield' },\n ],\n },\n {\n id: 'group_administration',\n type: 'group',\n label: 'Administration',\n icon: 'shield',\n children: [\n { id: 'nav_users', type: 'object', label: 'Users', objectName: 'sys_user', icon: 'users' },\n { id: 'nav_organizations', type: 'object', label: 'Organizations', objectName: 'sys_organization', icon: 'building-2' },\n { id: 'nav_teams', type: 'object', label: 'Teams', objectName: 'sys_team', icon: 'users-round' },\n { id: 'nav_api_keys', type: 'object', label: 'API Keys', objectName: 'sys_api_key', icon: 'key' },\n { id: 'nav_roles', type: 'object', label: 'Roles', objectName: 'sys_role', icon: 'shield-check' },\n { id: 'nav_permission_sets', type: 'object', label: 'Permission Sets', objectName: 'sys_permission_set', icon: 'lock' },\n { id: 'nav_user_permission_sets', type: 'object', label: 'User Permission Sets', objectName: 'sys_user_permission_set', icon: 'user-check' },\n { id: 'nav_role_permission_sets', type: 'object', label: 'Role Permission Sets', objectName: 'sys_role_permission_set', icon: 'shield-plus' },\n { id: 'nav_oauth_apps', type: 'object', label: 'OAuth Apps', objectName: 'sys_oauth_application', icon: 'app-window' },\n { id: 'nav_jwks', type: 'object', label: 'Signing Keys', objectName: 'sys_jwks', icon: 'key-round' },\n ],\n },\n {\n id: 'group_platform',\n type: 'group',\n label: 'Platform',\n icon: 'layers',\n children: [\n { id: 'nav_objects', type: 'object', label: 'Objects', objectName: 'sys_object', icon: 'database' },\n { id: 'nav_views', type: 'object', label: 'Views', objectName: 'sys_view', icon: 'table' },\n { id: 'nav_flows', type: 'object', label: 'Flows', objectName: 'sys_flow', icon: 'workflow' },\n { id: 'nav_agents', type: 'object', label: 'AI Agents', objectName: 'sys_agent', icon: 'bot' },\n { id: 'nav_tools', type: 'object', label: 'AI Tools', objectName: 'sys_tool', icon: 'wrench' },\n { id: 'nav_apps', type: 'object', label: 'Apps', objectName: 'sys_app', icon: 'layout-grid' },\n { id: 'nav_packages', type: 'object', label: 'Packages', objectName: 'sys_package', icon: 'package' },\n { id: 'nav_package_installations', type: 'object', label: 'Installations', objectName: 'sys_package_installation', icon: 'package-check' },\n { id: 'nav_metadata', type: 'object', label: 'All Metadata', objectName: 'sys_metadata', icon: 'file-cog' },\n ],\n },\n {\n id: 'group_system',\n type: 'group',\n label: 'System',\n icon: 'settings',\n children: [\n { id: 'nav_sessions', type: 'object', label: 'Sessions', objectName: 'sys_session', icon: 'monitor' },\n { id: 'nav_audit_logs', type: 'object', label: 'Audit Logs', objectName: 'sys_audit_log', icon: 'scroll-text' },\n { id: 'nav_activity', type: 'object', label: 'Activity', objectName: 'sys_activity', icon: 'activity' },\n { id: 'nav_comments', type: 'object', label: 'Comments', objectName: 'sys_comment', icon: 'message-square' },\n ],\n },\n ],\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_user administration.\n * Displays all users with key identity fields.\n */\nexport const UsersView: ListView = {\n name: 'users',\n label: 'Users',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_user',\n },\n columns: [\n { field: 'name', label: 'Name', sortable: true },\n { field: 'email', label: 'Email', sortable: true },\n { field: 'phone', label: 'Phone' },\n { field: 'status', label: 'Status', sortable: true },\n { field: 'active', label: 'Active', sortable: true },\n { field: 'created_at', label: 'Created', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['name', 'email'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_organization administration.\n * Displays all organizations with key metadata.\n */\nexport const OrganizationsView: ListView = {\n name: 'organizations',\n label: 'Organizations',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_organization',\n },\n columns: [\n { field: 'name', label: 'Name', sortable: true },\n { field: 'status', label: 'Status', sortable: true },\n { field: 'plan_tier', label: 'Plan Tier' },\n { field: 'member_count', label: 'Members' },\n { field: 'created_at', label: 'Created', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['name'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_role administration.\n * Displays all platform roles with permission summary.\n */\nexport const RolesView: ListView = {\n name: 'roles',\n label: 'Roles',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_role',\n },\n columns: [\n { field: 'name', label: 'Name', sortable: true },\n { field: 'description', label: 'Description' },\n { field: 'is_system', label: 'System Role' },\n { field: 'created_at', label: 'Created', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['name', 'description'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_session administration.\n * Displays all active user sessions with metadata.\n */\nexport const SessionsView: ListView = {\n name: 'sessions',\n label: 'Sessions',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_session',\n },\n columns: [\n { field: 'user_id', label: 'User', sortable: true },\n { field: 'ip_address', label: 'IP Address' },\n { field: 'created_at', label: 'Created', sortable: true },\n { field: 'expires_at', label: 'Expires', sortable: true },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['user_id'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_audit_log administration.\n * Displays platform audit trail with action and target information.\n */\nexport const AuditLogsView: ListView = {\n name: 'audit_logs',\n label: 'Audit Logs',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_audit_log',\n },\n columns: [\n { field: 'created_at', label: 'Timestamp', sortable: true },\n { field: 'action', label: 'Action', sortable: true },\n { field: 'user_id', label: 'Actor' },\n { field: 'object_name', label: 'Object' },\n { field: 'record_id', label: 'Record ID' },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n filter: [],\n searchableFields: ['action', 'object_name', 'record_id'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { ListView } from '@objectstack/spec/ui';\n\n/**\n * Default list view for sys_package_installation administration.\n * Displays package installations with version and status information.\n */\nexport const PackageInstallationsView: ListView = {\n name: 'package_installations',\n label: 'Package Installations',\n type: 'grid',\n data: {\n provider: 'object',\n object: 'sys_package_installation',\n },\n columns: [\n { field: 'package_id', label: 'Package', sortable: true },\n { field: 'project_id', label: 'Project', sortable: true },\n { field: 'package_version_id', label: 'Version' },\n { field: 'status', label: 'Status', sortable: true },\n { field: 'installed_at', label: 'Installed', sortable: true },\n ],\n sort: [{ field: 'installed_at', order: 'desc' }],\n filter: [],\n searchableFields: ['package_id', 'project_id'],\n pagination: {\n pageSize: 20,\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * System Overview Dashboard\n * \n * Provides at-a-glance monitoring of platform health and key metrics:\n * - Active user sessions\n * - Audit activity (recent events)\n * - Package installation status\n * - Platform configuration\n */\nexport const SystemOverviewDashboard = Dashboard.create({\n name: 'system_overview',\n label: 'System Overview',\n description: 'Platform health, sessions, and audit activity',\n\n // 12-column grid matches the widget `w` values below (3, 6, 12). Without\n // this, the renderer falls back to a 4-column grid and `w: 3` becomes 75%\n // width per metric — so KPI cards stack vertically instead of forming a\n // 4-up row.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'Number of currently active user sessions',\n },\n\n // ── Total Users Widget ──────────────────────────────────────────\n {\n id: 'widget_total_users',\n title: 'Total Users',\n type: 'metric',\n object: 'sys_user',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'teal',\n description: 'Total registered users in the system',\n },\n\n // ── Organizations Widget ────────────────────────────────────────\n {\n id: 'widget_organizations',\n title: 'Organizations',\n type: 'metric',\n object: 'sys_organization',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'orange',\n description: 'Total organizations on the platform',\n },\n\n // ── Packages Installed Widget ───────────────────────────────────\n {\n id: 'widget_packages_installed',\n title: 'Packages Installed',\n type: 'metric',\n object: 'sys_package_installation',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'status',\n operator: 'equals',\n value: 'installed',\n },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Active package installations across projects',\n },\n\n // ── Audit Actions by Type (last 7 days) ─────────────────────────\n {\n id: 'widget_audit_actions',\n title: 'Audit Actions (7d)',\n description: 'Distribution of audit events by action type',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n filter: {\n field: 'created_at',\n operator: 'gte',\n value: 'NOW() - INTERVAL 7 DAY',\n },\n },\n\n // ── Session Status Overview ─────────────────────────────────────\n {\n id: 'widget_active_orgs',\n title: 'Sessions by Organization',\n description: 'Active sessions grouped by organization',\n type: 'bar',\n object: 'sys_session',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'active_organization_id',\n aggregate: 'count',\n },\n\n // ── Recent Audit Log (Table) ────────────────────────────────────\n {\n id: 'widget_recent_events',\n title: 'Recent Audit Events',\n description: 'Latest platform events',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 3,\n },\n aggregate: 'count',\n colorVariant: 'default',\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * Security Overview Dashboard\n * \n * Provides security and compliance monitoring:\n * - User authentication events\n * - Permission changes\n * - System configuration audits\n * - Active user sessions\n */\nexport const SecurityOverviewDashboard = Dashboard.create({\n name: 'security_overview',\n label: 'Security Overview',\n description: 'Security events, authentication, and audit trails',\n\n // 12-column grid matches the widget `w` values below.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Failed Login Attempts Widget ────────────────────────────────\n {\n id: 'widget_failed_logins',\n title: 'Failed Login Attempts',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'action',\n operator: 'equals',\n value: 'login',\n },\n aggregate: 'count',\n colorVariant: 'danger',\n description: 'Failed authentication attempts (24h)',\n },\n\n // ── Permission Changes Widget ───────────────────────────────────\n {\n id: 'widget_permission_changes',\n title: 'Permission Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'action',\n operator: 'equals',\n value: 'permission_change',\n },\n aggregate: 'count',\n colorVariant: 'warning',\n description: 'Recent permission and role modifications',\n },\n\n // ── System Config Changes Widget ────────────────────────────────\n {\n id: 'widget_config_changes',\n title: 'Config Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: {\n field: 'action',\n operator: 'equals',\n value: 'config_change',\n },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'System configuration modifications',\n },\n\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Currently active user sessions',\n },\n\n // ── Audit Events by Type ────────────────────────────────────────\n {\n id: 'widget_events_by_type',\n title: 'Audit Events by Type',\n description: 'Distribution of security and audit events',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n },\n\n // ── Audit Events by User ────────────────────────────────────────\n {\n id: 'widget_events_by_user',\n title: 'Events by User',\n description: 'Activity distribution across users',\n type: 'bar',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'user_id',\n aggregate: 'count',\n },\n\n // ── Recent Security Events (Table) ──────────────────────────────\n {\n id: 'widget_recent_security_events',\n title: 'Recent Security Events',\n description: 'Latest permission and config changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 3,\n },\n aggregate: 'count',\n colorVariant: 'default',\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/identity/sys-user.object.ts","../src/identity/sys-session.object.ts","../src/identity/sys-account.object.ts","../src/identity/sys-verification.object.ts","../src/identity/sys-organization.object.ts","../src/identity/sys-member.object.ts","../src/identity/sys-invitation.object.ts","../src/identity/sys-team.object.ts","../src/identity/sys-team-member.object.ts","../src/identity/sys-department.object.ts","../src/identity/sys-department-member.object.ts","../src/identity/sys-api-key.object.ts","../src/identity/sys-two-factor.object.ts","../src/identity/sys-device-code.object.ts","../src/identity/sys-user-preference.object.ts","../src/identity/sys-oauth-application.object.ts","../src/identity/sys-oauth-access-token.object.ts","../src/identity/sys-oauth-refresh-token.object.ts","../src/identity/sys-oauth-consent.object.ts","../src/identity/sys-jwks.object.ts","../src/security/sys-role.object.ts","../src/security/sys-permission-set.object.ts","../src/security/sys-user-permission-set.object.ts","../src/security/sys-role-permission-set.object.ts","../src/security/sys-record-share.object.ts","../src/security/sys-sharing-rule.object.ts","../src/security/default-permission-sets.ts","../src/audit/sys-audit-log.object.ts","../src/audit/sys-presence.object.ts","../src/audit/sys-activity.object.ts","../src/audit/sys-comment.object.ts","../src/audit/sys-attachment.object.ts","../src/audit/sys-notification.object.ts","../src/audit/sys-email.object.ts","../src/audit/sys-email-template.object.ts","../src/audit/sys-saved-report.object.ts","../src/audit/sys-report-schedule.object.ts","../src/audit/sys-approval-process.object.ts","../src/audit/sys-approval-request.object.ts","../src/audit/sys-approval-action.object.ts","../src/audit/sys-job.object.ts","../src/audit/sys-job-run.object.ts","../src/audit/sys-job-queue.object.ts","../src/integration/sys-webhook.object.ts","../src/metadata/sys-metadata.object.ts","../src/metadata/sys-metadata-history.object.ts","../src/system/sys-setting.object.ts","../src/system/sys-secret.object.ts","../src/system/sys-setting-audit.object.ts","../src/apps/setup.app.ts","../src/apps/dashboards/system_overview.dashboard.ts","../src/apps/dashboards/security_overview.dashboard.ts","../src/apps/translations/en.objects.generated.ts","../src/apps/translations/en.ts","../src/apps/translations/zh-CN.objects.generated.ts","../src/apps/translations/zh-CN.ts","../src/apps/translations/ja-JP.objects.generated.ts","../src/apps/translations/ja-JP.ts","../src/apps/translations/es-ES.objects.generated.ts","../src/apps/translations/es-ES.ts","../src/apps/translations/setup.translation.ts"],"names":["ObjectSchema","Field","PermissionSetSchema","Dashboard"],"mappings":"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","file":"index.js","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_user — System User Object\n *\n * Canonical user identity record for the ObjectStack platform.\n * Backed by better-auth's `user` model with ObjectStack field conventions.\n *\n * Field order drives default list/form layout: identity first, then profile,\n * then system-managed audit fields (hidden from create/edit forms).\n *\n * @namespace sys\n */\nexport const SysUser = ObjectSchema.create({\n name: 'sys_user',\n label: 'User',\n pluralLabel: 'Users',\n icon: 'user',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'User accounts for authentication',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'email', 'email_verified'],\n\n // Custom actions — generic CRUD is suppressed because user accounts are\n // managed by better-auth, but we still need first-class affordances for\n // common operations. Each action delegates to a Console-side named script\n // registered on the ActionRunner (see objectui `AppContent.tsx`). Adding\n // new affordances (reset password, revoke session, …) is now a pure\n // schema + script-registration change — no per-view code.\n actions: [\n {\n name: 'invite_user',\n label: 'Invite User',\n icon: 'user-plus',\n variant: 'primary',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/organization/invite-member',\n successMessage: 'Invitation sent',\n refreshAfter: true,\n params: [\n { field: 'email', required: true },\n { field: 'role', objectOverride: 'sys_member', required: true },\n ],\n },\n\n // ── Platform admin operations (require better-auth `admin` plugin) ─\n //\n // These actions hit /api/v1/auth/admin/* endpoints that are only\n // wired when `auth.plugins.admin` is enabled. When the plugin is\n // disabled the actions still render (schema is static) but server\n // returns 404. UI surfaces them under the row menu so platform\n // admins can manage accounts without dropping to SQL or\n // a custom Setup wizard.\n {\n name: 'ban_user',\n label: 'Ban User',\n icon: 'ban',\n variant: 'danger',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/admin/ban-user',\n recordIdParam: 'userId',\n successMessage: 'User banned',\n refreshAfter: true,\n confirmText: 'Ban this user? They will be signed out and unable to sign in until unbanned.',\n params: [\n { name: 'banReason', label: 'Ban Reason', type: 'text', required: false },\n ],\n },\n {\n name: 'unban_user',\n label: 'Unban User',\n icon: 'check-circle-2',\n variant: 'secondary',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/admin/unban-user',\n recordIdParam: 'userId',\n successMessage: 'User unbanned',\n refreshAfter: true,\n },\n {\n name: 'set_user_password',\n label: 'Set Password',\n icon: 'key-round',\n variant: 'secondary',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/admin/set-user-password',\n recordIdParam: 'userId',\n successMessage: 'Password updated',\n refreshAfter: false,\n params: [\n { name: 'newPassword', label: 'New Password', type: 'text', required: true },\n ],\n },\n {\n name: 'set_user_role',\n label: 'Set Platform Role',\n icon: 'shield-check',\n variant: 'secondary',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/admin/set-role',\n recordIdParam: 'userId',\n successMessage: 'Role updated',\n refreshAfter: true,\n params: [\n { name: 'role', label: 'Platform Role', type: 'text', required: true },\n ],\n },\n {\n name: 'impersonate_user',\n label: 'Impersonate User',\n icon: 'user-cog',\n variant: 'secondary',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/admin/impersonate-user',\n recordIdParam: 'userId',\n successMessage: 'Now impersonating user',\n refreshAfter: true,\n confirmText: 'Start an impersonation session for this user? Use only for legitimate support cases — actions will be logged.',\n },\n ],\n\n listViews: {\n all_users: {\n type: 'grid',\n name: 'all_users',\n label: 'All Users',\n data: { provider: 'object', object: 'sys_user' },\n columns: ['name', 'email', 'email_verified', 'two_factor_enabled', 'created_at'],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n unverified: {\n type: 'grid',\n name: 'unverified',\n label: 'Unverified',\n data: { provider: 'object', object: 'sys_user' },\n columns: ['name', 'email', 'created_at'],\n filter: [{ field: 'email_verified', operator: 'equals', value: false }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n two_factor: {\n type: 'grid',\n name: 'two_factor',\n label: '2FA Enabled',\n data: { provider: 'object', object: 'sys_user' },\n columns: ['name', 'email', 'two_factor_enabled', 'updated_at'],\n filter: [{ field: 'two_factor_enabled', operator: 'equals', value: true }],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n banned: {\n type: 'grid',\n name: 'banned',\n label: 'Banned',\n data: { provider: 'object', object: 'sys_user' },\n columns: ['name', 'email', 'banned', 'ban_reason', 'ban_expires'],\n filter: [{ field: 'banned', operator: 'equals', value: true }],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Identity (primary business fields) ───────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n email: Field.email({\n label: 'Email',\n required: true,\n searchable: true,\n group: 'Identity',\n }),\n\n email_verified: Field.boolean({\n label: 'Email Verified',\n defaultValue: false,\n group: 'Identity',\n }),\n\n two_factor_enabled: Field.boolean({\n label: 'Two-Factor Enabled',\n defaultValue: false,\n group: 'Identity',\n description: 'Whether two-factor authentication is enabled for this user. Maintained by the better-auth `twoFactor` plugin.',\n }),\n\n // ── Admin (managed by better-auth `admin` plugin when enabled) ───\n role: Field.text({\n label: 'Platform Role',\n required: false,\n maxLength: 64,\n group: 'Admin',\n description: 'Platform-level role (admin, user, …). Set via the Set Platform Role action.',\n }),\n\n banned: Field.boolean({\n label: 'Banned',\n defaultValue: false,\n group: 'Admin',\n description: 'When true, the user cannot sign in. Toggle via Ban User / Unban User actions.',\n }),\n\n ban_reason: Field.text({\n label: 'Ban Reason',\n required: false,\n maxLength: 255,\n group: 'Admin',\n }),\n\n ban_expires: Field.datetime({\n label: 'Ban Expires',\n required: false,\n group: 'Admin',\n description: 'When set, the ban auto-clears at this time.',\n }),\n\n // ── Profile ──────────────────────────────────────────────────\n image: Field.url({\n label: 'Profile Image',\n required: false,\n group: 'Profile',\n }),\n\n // ── System (auto-managed, hidden from create/edit forms) ─────\n id: Field.text({\n label: 'User ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['email'], unique: true },\n { fields: ['created_at'], unique: false },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n\n validations: [\n {\n name: 'email_unique',\n type: 'unique',\n severity: 'error',\n message: 'Email must be unique',\n fields: ['email'],\n caseSensitive: false,\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_session — System Session Object\n *\n * Active user session record for the ObjectStack platform.\n * Backed by better-auth's `session` model with ObjectStack field conventions.\n *\n * The `token` field is hidden by default — sessions are managed by the\n * auth plugin, not edited manually. Admins see session metadata\n * (user, expiry, IP, active context) without exposing the token value.\n *\n * @namespace sys\n */\nexport const SysSession = ObjectSchema.create({\n name: 'sys_session',\n label: 'Session',\n pluralLabel: 'Sessions',\n icon: 'key',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Active user sessions',\n displayNameField: 'user_id',\n titleFormat: 'Session — {user_id}',\n compactLayout: ['user_id', 'ip_address', 'expires_at'],\n\n // Custom actions — sessions are managed by better-auth (generic CRUD\n // suppressed). \"Sign out other devices\" is the high-value self-service\n // affordance every IdP exposes. Maps to better-auth's\n // `revoke-other-sessions` endpoint which terminates every session for\n // the current user except the one making the request.\n actions: [\n {\n name: 'revoke_my_other_sessions',\n label: 'Sign out other devices',\n icon: 'log-out',\n variant: 'danger',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/revoke-other-sessions',\n confirmText: 'Sign out of every other device where you\\'re currently logged in? Your current session will remain active.',\n successMessage: 'All other sessions revoked',\n refreshAfter: true,\n },\n {\n name: 'revoke_session',\n label: 'Revoke Session',\n icon: 'log-out',\n variant: 'danger',\n mode: 'delete',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/revoke-session',\n // better-auth `revoke-session` keys off the session token, not the id.\n recordIdParam: 'token',\n recordIdField: 'token',\n confirmText: 'Revoke this session? The user will be signed out from that device.',\n successMessage: 'Session revoked',\n refreshAfter: true,\n },\n ],\n\n listViews: {\n mine: {\n type: 'grid',\n name: 'mine',\n label: 'My Sessions',\n data: { provider: 'object', object: 'sys_session' },\n columns: ['ip_address', 'active_organization_id', 'created_at', 'expires_at'],\n filter: [{ field: 'user_id', operator: 'equals', value: '{current_user_id}' }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_sessions: {\n type: 'grid',\n name: 'all_sessions',\n label: 'All',\n data: { provider: 'object', object: 'sys_session' },\n columns: ['user_id', 'ip_address', 'active_organization_id', 'created_at', 'expires_at'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Session owner & expiry ──────────────────────────────────\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n searchable: true,\n group: 'Session',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n group: 'Session',\n }),\n\n // ── Active context (multi-org/team) ──────────────────────────\n active_organization_id: Field.lookup('sys_organization', {\n label: 'Active Organization',\n required: false,\n group: 'Context',\n }),\n\n active_team_id: Field.lookup('sys_team', {\n label: 'Active Team',\n required: false,\n group: 'Context',\n }),\n\n // ── Client fingerprint ───────────────────────────────────────\n ip_address: Field.text({\n label: 'IP Address',\n required: false,\n maxLength: 45, // Support IPv6\n group: 'Client',\n }),\n\n user_agent: Field.textarea({\n label: 'User Agent',\n required: false,\n group: 'Client',\n }),\n\n // ── Admin (managed by better-auth `admin` plugin) ────────────\n impersonated_by: Field.lookup('sys_user', {\n label: 'Impersonated By',\n required: false,\n group: 'Admin',\n description: 'User id of the admin that started this impersonation session, if any.',\n }),\n\n // ── Secret (hidden by default) ──────────────────────────────\n token: Field.text({\n label: 'Session Token',\n required: true,\n hidden: true,\n readonly: true,\n description: 'Opaque session token — never exposed in UI',\n group: 'Secret',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Session ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['token'], unique: true },\n { fields: ['user_id'], unique: false },\n { fields: ['expires_at'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'delete'],\n trash: false,\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_account — System Account Object\n *\n * OAuth / credential provider account record.\n * Backed by better-auth's `account` model with ObjectStack field conventions.\n *\n * @namespace sys\n */\nexport const SysAccount = ObjectSchema.create({\n name: 'sys_account',\n label: 'Account',\n pluralLabel: 'Accounts',\n icon: 'link',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'OAuth and authentication provider accounts',\n titleFormat: '{provider_id} - {account_id}',\n compactLayout: ['provider_id', 'user_id', 'account_id'],\n\n listViews: {\n mine: {\n type: 'grid',\n name: 'mine',\n label: 'My Links',\n data: { provider: 'object', object: 'sys_account' },\n columns: ['provider_id', 'account_id', 'created_at', 'updated_at'],\n filter: [{ field: 'user_id', operator: 'equals', value: '{current_user_id}' }],\n sort: [{ field: 'provider_id', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n by_provider: {\n type: 'grid',\n name: 'by_provider',\n label: 'By Provider',\n data: { provider: 'object', object: 'sys_account' },\n columns: ['provider_id', 'user_id', 'account_id', 'created_at'],\n sort: [{ field: 'provider_id', order: 'asc' }, { field: 'created_at', order: 'desc' }],\n grouping: { fields: [{ field: 'provider_id', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n all_links: {\n type: 'grid',\n name: 'all_links',\n label: 'All',\n data: { provider: 'object', object: 'sys_account' },\n columns: ['provider_id', 'user_id', 'account_id', 'created_at', 'updated_at'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 100 },\n },\n },\n \n fields: {\n id: Field.text({\n label: 'Account ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n provider_id: Field.text({\n label: 'Provider ID',\n required: true,\n description: 'OAuth provider identifier (google, github, etc.)',\n }),\n \n account_id: Field.text({\n label: 'Provider Account ID',\n required: true,\n description: \"User's ID in the provider's system\",\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Link to user table',\n }),\n \n access_token: Field.textarea({\n label: 'Access Token',\n required: false,\n }),\n \n refresh_token: Field.textarea({\n label: 'Refresh Token',\n required: false,\n }),\n \n id_token: Field.textarea({\n label: 'ID Token',\n required: false,\n }),\n \n access_token_expires_at: Field.datetime({\n label: 'Access Token Expires At',\n required: false,\n }),\n \n refresh_token_expires_at: Field.datetime({\n label: 'Refresh Token Expires At',\n required: false,\n }),\n \n scope: Field.text({\n label: 'OAuth Scope',\n required: false,\n }),\n \n password: Field.text({\n label: 'Password Hash',\n required: false,\n description: 'Hashed password for email/password provider',\n }),\n },\n \n indexes: [\n { fields: ['user_id'], unique: false },\n { fields: ['provider_id', 'account_id'], unique: true },\n ],\n \n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_verification — System Verification Object\n *\n * Email and phone verification token record.\n * Backed by better-auth's `verification` model with ObjectStack field conventions.\n *\n * @namespace sys\n */\nexport const SysVerification = ObjectSchema.create({\n name: 'sys_verification',\n label: 'Verification',\n pluralLabel: 'Verifications',\n icon: 'shield-check',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Email and phone verification tokens',\n titleFormat: 'Verification for {identifier}',\n compactLayout: ['identifier', 'expires_at', 'created_at'],\n \n fields: {\n id: Field.text({\n label: 'Verification ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n value: Field.text({\n label: 'Verification Token',\n required: true,\n description: 'Token or code for verification',\n }),\n \n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n \n identifier: Field.text({\n label: 'Identifier',\n required: true,\n description: 'Email address or phone number',\n }),\n },\n \n indexes: [\n { fields: ['value'], unique: true },\n { fields: ['identifier'], unique: false },\n { fields: ['expires_at'], unique: false },\n ],\n \n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'create', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_organization — System Organization Object\n *\n * Multi-organization support for the ObjectStack platform.\n * Backed by better-auth's organization plugin.\n *\n * @namespace sys\n */\nexport const SysOrganization = ObjectSchema.create({\n name: 'sys_organization',\n label: 'Organization',\n pluralLabel: 'Organizations',\n icon: 'building-2',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Organizations for multi-tenant grouping',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'slug'],\n\n // Custom actions — generic CRUD is suppressed (better-auth-managed),\n // but admins still need to create new orgs from the Setup app.\n actions: [\n {\n name: 'create_organization',\n label: 'Create Organization',\n icon: 'plus',\n variant: 'primary',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/organization/create',\n successMessage: 'Organization created',\n refreshAfter: true,\n params: [\n { field: 'name', required: true },\n { field: 'slug', required: true },\n { field: 'logo' },\n ],\n },\n {\n name: 'update_organization',\n label: 'Edit Organization',\n icon: 'pencil',\n mode: 'edit',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/update',\n recordIdParam: 'organizationId',\n // better-auth `organization/update` nests editable fields under `data`.\n bodyShape: { wrap: 'data' },\n successMessage: 'Organization updated',\n refreshAfter: true,\n params: [\n { field: 'name', required: true, defaultFromRow: true },\n { field: 'slug', required: true, defaultFromRow: true },\n { field: 'logo', defaultFromRow: true },\n ],\n },\n {\n name: 'delete_organization',\n label: 'Delete Organization',\n icon: 'trash-2',\n variant: 'danger',\n mode: 'delete',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/delete',\n recordIdParam: 'organizationId',\n confirmText: 'Delete this organization? All members will lose access immediately. This cannot be undone.',\n successMessage: 'Organization deleted',\n refreshAfter: true,\n },\n {\n // Switch the caller's active organization context. Standard\n // better-auth endpoint; no extra params needed (org id ships as\n // the row id). Used from the Setup list and the record header so\n // admins can context-switch without leaving the page.\n name: 'set_active_organization',\n label: 'Set Active',\n icon: 'check-circle-2',\n variant: 'secondary',\n mode: 'custom',\n locations: ['list_item', 'record_header'],\n type: 'api',\n target: '/api/v1/auth/organization/set-active',\n recordIdParam: 'organizationId',\n successMessage: 'Active organization switched',\n refreshAfter: true,\n },\n {\n // Current user leaves the org. Distinct from `delete_organization`\n // (admin-only, destroys the org) — `leave` only removes the caller's\n // own membership. Better-auth: `organization/leave { organizationId }`.\n name: 'leave_organization',\n label: 'Leave Organization',\n icon: 'log-out',\n variant: 'danger',\n mode: 'custom',\n locations: ['list_item', 'record_header'],\n type: 'api',\n target: '/api/v1/auth/organization/leave',\n recordIdParam: 'organizationId',\n confirmText: 'Leave this organization? You will lose access to all of its resources.',\n successMessage: 'You have left the organization',\n refreshAfter: true,\n },\n ],\n\n listViews: {\n all_orgs: {\n type: 'grid',\n name: 'all_orgs',\n label: 'All',\n data: { provider: 'object', object: 'sys_organization' },\n columns: ['name', 'slug', 'created_at', 'updated_at'],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n slug: Field.text({\n label: 'Slug',\n required: false,\n searchable: true,\n maxLength: 255,\n description: 'URL-friendly identifier',\n group: 'Identity',\n }),\n\n // ── Branding ─────────────────────────────────────────────────\n logo: Field.url({\n label: 'Logo',\n required: false,\n group: 'Branding',\n }),\n\n // ── Configuration ────────────────────────────────────────────\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n description: 'JSON-serialized organization metadata',\n group: 'Configuration',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Organization ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['slug'], unique: true },\n { fields: ['name'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_member — System Member Object\n *\n * Organization membership linking users to organizations with roles.\n * Backed by better-auth's organization plugin.\n *\n * @namespace sys\n */\nexport const SysMember = ObjectSchema.create({\n name: 'sys_member',\n label: 'Member',\n pluralLabel: 'Members',\n icon: 'user-check',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Organization membership records',\n titleFormat: '{user_id} in {organization_id}',\n compactLayout: ['user_id', 'organization_id', 'role'],\n\n // Row-level actions: better-auth `organization/update-member-role` and\n // `organization/remove-member`. Generic CRUD is suppressed on better-auth\n // managed tables, so these are the canonical edit/delete entry points.\n // The `add_member` toolbar action covers the admin \"attach an existing\n // user directly without sending an invitation\" flow.\n actions: [\n {\n // Admin-only: directly attach an existing user to the active org,\n // bypassing the invite-accept flow. Better-auth:\n // `organization/add-member { userId, role, organizationId?, teamId? }`.\n // organizationId/teamId default to the caller's active org/team when\n // omitted, so we leave them as optional params.\n name: 'add_member',\n label: 'Add Member',\n icon: 'user-plus',\n variant: 'primary',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/organization/add-member',\n successMessage: 'Member added',\n refreshAfter: true,\n params: [\n { name: 'userId', field: 'user_id', required: true },\n { field: 'role', required: true },\n { name: 'organizationId', field: 'organization_id' },\n ],\n },\n {\n name: 'update_member_role',\n label: 'Change Role',\n icon: 'shield',\n mode: 'edit',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/update-member-role',\n recordIdParam: 'memberId',\n successMessage: 'Member role updated',\n refreshAfter: true,\n params: [\n { field: 'role', required: true, defaultFromRow: true },\n ],\n },\n {\n name: 'remove_member',\n label: 'Remove Member',\n icon: 'user-minus',\n variant: 'danger',\n mode: 'delete',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/remove-member',\n recordIdParam: 'memberIdOrEmail',\n confirmText: 'Remove this member from the organization? They will lose access to all org resources.',\n successMessage: 'Member removed',\n refreshAfter: true,\n },\n ],\n\n fields: {\n id: Field.text({\n label: 'Member ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n }),\n \n role: Field.select({\n label: 'Role',\n required: false,\n description: 'Member role within the organization',\n options: [\n { label: 'Owner', value: 'owner' },\n { label: 'Admin', value: 'admin' },\n { label: 'Member', value: 'member' },\n ],\n defaultValue: 'member',\n }),\n },\n \n indexes: [\n { fields: ['organization_id', 'user_id'], unique: true },\n { fields: ['user_id'] },\n ],\n \n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_invitation — System Invitation Object\n *\n * Organization invitation tokens for inviting users.\n * Backed by better-auth's organization plugin.\n *\n * @namespace sys\n */\nexport const SysInvitation = ObjectSchema.create({\n name: 'sys_invitation',\n label: 'Invitation',\n pluralLabel: 'Invitations',\n icon: 'mail',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Organization invitations for user onboarding',\n titleFormat: 'Invitation to {organization_id}',\n compactLayout: ['email', 'organization_id', 'status'],\n\n // Custom actions — generic CRUD is suppressed (better-auth-managed).\n // Mirror the `invite_user` toolbar action from sys_user here so admins\n // landing on the Invitations page get an obvious entry point.\n actions: [\n {\n name: 'invite_user',\n label: 'Invite User',\n icon: 'user-plus',\n variant: 'primary',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/organization/invite-member',\n successMessage: 'Invitation sent',\n refreshAfter: true,\n params: [\n { field: 'email', required: true },\n { field: 'role', required: true },\n ],\n },\n {\n name: 'cancel_invitation',\n label: 'Cancel Invitation',\n icon: 'x-circle',\n variant: 'danger',\n mode: 'delete',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/cancel-invitation',\n recordIdParam: 'invitationId',\n confirmText: 'Cancel this invitation? The recipient will no longer be able to accept it.',\n successMessage: 'Invitation canceled',\n refreshAfter: true,\n },\n {\n name: 'resend_invitation',\n label: 'Resend Invitation',\n icon: 'send',\n variant: 'secondary',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/invite-member',\n bodyExtra: { resend: true },\n successMessage: 'Invitation resent',\n refreshAfter: true,\n params: [\n { field: 'email', required: true, defaultFromRow: true },\n { field: 'role', required: true, defaultFromRow: true },\n ],\n },\n ],\n\n listViews: {\n pending: {\n type: 'grid',\n name: 'pending',\n label: 'Pending',\n data: { provider: 'object', object: 'sys_invitation' },\n columns: ['email', 'role', 'organization_id', 'inviter_id', 'expires_at'],\n filter: [{ field: 'status', operator: 'equals', value: 'pending' }],\n sort: [{ field: 'expires_at', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n accepted: {\n type: 'grid',\n name: 'accepted',\n label: 'Accepted',\n data: { provider: 'object', object: 'sys_invitation' },\n columns: ['email', 'role', 'organization_id', 'inviter_id', 'created_at'],\n filter: [{ field: 'status', operator: 'equals', value: 'accepted' }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n expired: {\n type: 'grid',\n name: 'expired',\n label: 'Expired / Canceled',\n data: { provider: 'object', object: 'sys_invitation' },\n columns: ['email', 'status', 'organization_id', 'expires_at'],\n filter: [{ field: 'status', operator: 'in', value: ['expired', 'rejected', 'canceled'] }],\n sort: [{ field: 'expires_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_invitations: {\n type: 'grid',\n name: 'all_invitations',\n label: 'All',\n data: { provider: 'object', object: 'sys_invitation' },\n columns: ['email', 'status', 'role', 'organization_id', 'inviter_id', 'created_at'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n },\n \n fields: {\n id: Field.text({\n label: 'Invitation ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n }),\n \n email: Field.email({\n label: 'Email',\n required: true,\n description: 'Email address of the invited user',\n }),\n \n role: Field.select({\n label: 'Role',\n required: false,\n description: 'Role to assign upon acceptance',\n options: [\n { label: 'Owner', value: 'owner' },\n { label: 'Admin', value: 'admin' },\n { label: 'Member', value: 'member' },\n ],\n defaultValue: 'member',\n }),\n \n status: Field.select(['pending', 'accepted', 'rejected', 'expired', 'canceled'], {\n label: 'Status',\n required: true,\n defaultValue: 'pending',\n }),\n \n inviter_id: Field.lookup('sys_user', {\n label: 'Inviter',\n required: true,\n description: 'User who sent the invitation',\n }),\n \n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n \n team_id: Field.lookup('sys_team', {\n label: 'Team',\n required: false,\n description: 'Optional team to assign upon acceptance',\n }),\n },\n \n indexes: [\n { fields: ['organization_id'] },\n { fields: ['email'] },\n { fields: ['expires_at'] },\n ],\n \n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_team — System Team Object\n *\n * Teams within an organization for fine-grained grouping.\n * Backed by better-auth's organization plugin (teams feature).\n *\n * @namespace sys\n */\nexport const SysTeam = ObjectSchema.create({\n name: 'sys_team',\n label: 'Team',\n pluralLabel: 'Teams',\n icon: 'users',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Teams within organizations for fine-grained grouping',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'organization_id'],\n\n // Custom actions calling better-auth's team endpoints. Generic CRUD is\n // suppressed (managedBy: 'better-auth'), so these are the canonical\n // entry points for create/update/delete.\n actions: [\n {\n // Better-auth: `organization/create-team { name, organizationId? }`.\n // organizationId defaults to the caller's active org when omitted.\n name: 'create_team',\n label: 'Create Team',\n icon: 'plus',\n variant: 'primary',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/organization/create-team',\n successMessage: 'Team created',\n refreshAfter: true,\n params: [\n { field: 'name', required: true },\n { name: 'organizationId', field: 'organization_id' },\n ],\n },\n {\n // Better-auth: `organization/update-team { teamId, data: { name } }`.\n // teamId stays flat (top-level); the user-editable params nest under\n // `data` via bodyShape.\n name: 'update_team',\n label: 'Edit Team',\n icon: 'pencil',\n mode: 'edit',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/update-team',\n recordIdParam: 'teamId',\n bodyShape: { wrap: 'data' },\n successMessage: 'Team updated',\n refreshAfter: true,\n params: [\n { field: 'name', required: true, defaultFromRow: true },\n ],\n },\n {\n // Better-auth: `organization/remove-team { teamId, organizationId? }`.\n // organizationId defaults to the caller's active org when omitted.\n name: 'remove_team',\n label: 'Delete Team',\n icon: 'trash-2',\n variant: 'danger',\n mode: 'delete',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/remove-team',\n recordIdParam: 'teamId',\n confirmText: 'Delete this team? Members will lose any team-scoped access. This cannot be undone.',\n successMessage: 'Team deleted',\n refreshAfter: true,\n },\n ],\n\n listViews: {\n by_org: {\n type: 'grid',\n name: 'by_org',\n label: 'By Organization',\n data: { provider: 'object', object: 'sys_team' },\n columns: ['organization_id', 'name', 'created_at', 'updated_at'],\n sort: [{ field: 'organization_id', order: 'asc' }, { field: 'name', order: 'asc' }],\n grouping: { fields: [{ field: 'organization_id', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n all_teams: {\n type: 'grid',\n name: 'all_teams',\n label: 'All',\n data: { provider: 'object', object: 'sys_team' },\n columns: ['name', 'organization_id', 'created_at', 'updated_at'],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n description: 'Parent organization for this team',\n group: 'Identity',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Team ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['organization_id'] },\n { fields: ['name', 'organization_id'], unique: true },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_team_member — System Team Member Object\n *\n * Links users to teams within organizations.\n * Backed by better-auth's organization plugin (teams feature).\n *\n * @namespace sys\n */\nexport const SysTeamMember = ObjectSchema.create({\n name: 'sys_team_member',\n label: 'Team Member',\n pluralLabel: 'Team Members',\n icon: 'user-plus',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Team membership records linking users to teams',\n titleFormat: '{user_id} in {team_id}',\n compactLayout: ['user_id', 'team_id', 'created_at'],\n\n // Custom actions calling better-auth's team-member endpoints. Generic\n // CRUD is suppressed (managedBy: 'better-auth') so these are the\n // canonical add/remove entry points.\n actions: [\n {\n // Better-auth: `organization/add-team-member { teamId, userId }`.\n name: 'add_team_member',\n label: 'Add Member',\n icon: 'user-plus',\n variant: 'primary',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/organization/add-team-member',\n successMessage: 'Team member added',\n refreshAfter: true,\n params: [\n { name: 'teamId', field: 'team_id', required: true },\n { name: 'userId', field: 'user_id', required: true },\n ],\n },\n {\n // Better-auth: `organization/remove-team-member { teamId, userId }`.\n // The endpoint identifies the membership by the (teamId, userId)\n // pair rather than the join-row id, so we pull both from the row\n // via `defaultFromRow` instead of using `recordIdParam`.\n name: 'remove_team_member',\n label: 'Remove from Team',\n icon: 'user-minus',\n variant: 'danger',\n mode: 'delete',\n locations: ['list_item'],\n type: 'api',\n target: '/api/v1/auth/organization/remove-team-member',\n confirmText: 'Remove this user from the team? They will lose any team-scoped access.',\n successMessage: 'Team member removed',\n refreshAfter: true,\n params: [\n { name: 'teamId', field: 'team_id', required: true, defaultFromRow: true },\n { name: 'userId', field: 'user_id', required: true, defaultFromRow: true },\n ],\n },\n ],\n\n fields: {\n id: Field.text({\n label: 'Team Member ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n team_id: Field.lookup('sys_team', {\n label: 'Team',\n required: true,\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n }),\n },\n \n indexes: [\n { fields: ['team_id', 'user_id'], unique: true },\n { fields: ['user_id'] },\n ],\n \n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_department — Enterprise Org-Skeleton Node\n *\n * The persistent, hierarchical org chart node. **This is distinct from\n * `sys_team`** (which is the flat better-auth collaboration grouping).\n *\n * A single tenant typically has one `kind='company'` root, then nested\n * `division` / `department` / `team` / `office` nodes underneath. The\n * `kind` enum is purely a display/categorisation hint — the recursive\n * structure works identically regardless of value.\n *\n * Drives:\n * - `recipient_type='department'` sharing rules\n * - `dept:` approver prefix in the approval engine\n * - Report rollups and manager chains in CRM/PM apps\n *\n * @namespace sys\n */\nexport const SysDepartment = ObjectSchema.create({\n name: 'sys_department',\n label: 'Department',\n pluralLabel: 'Departments',\n icon: 'building',\n isSystem: true,\n managedBy: 'platform',\n description: 'Hierarchical org-skeleton node (department / division / business unit / office).',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'kind', 'parent_department_id', 'manager_user_id'],\n\n listViews: {\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_department' },\n columns: ['name', 'code', 'kind', 'parent_department_id', 'manager_user_id', 'effective_from'],\n filter: [{ field: 'active', operator: 'equals', value: true }],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 100 },\n },\n inactive: {\n type: 'grid',\n name: 'inactive',\n label: 'Inactive',\n data: { provider: 'object', object: 'sys_department' },\n columns: ['name', 'code', 'kind', 'effective_to'],\n filter: [{ field: 'active', operator: 'equals', value: false }],\n sort: [{ field: 'effective_to', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n by_kind: {\n type: 'grid',\n name: 'by_kind',\n label: 'By Kind',\n data: { provider: 'object', object: 'sys_department' },\n columns: ['kind', 'name', 'code', 'parent_department_id', 'manager_user_id', 'active'],\n sort: [{ field: 'kind', order: 'asc' }, { field: 'name', order: 'asc' }],\n grouping: { fields: [{ field: 'kind', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n all_departments: {\n type: 'grid',\n name: 'all_departments',\n label: 'All',\n data: { provider: 'object', object: 'sys_department' },\n columns: ['name', 'code', 'kind', 'parent_department_id', 'manager_user_id', 'active'],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 100 },\n },\n },\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n code: Field.text({\n label: 'Code',\n required: false,\n searchable: true,\n maxLength: 64,\n description: 'Short stable code (e.g. EMEA-SALES). Unique within tenant.',\n group: 'Identity',\n }),\n\n kind: Field.select(\n ['company', 'division', 'department', 'team', 'office', 'cost_center'],\n {\n label: 'Kind',\n required: true,\n defaultValue: 'department',\n description: 'Categorisation hint — does not change graph semantics.',\n group: 'Identity',\n },\n ),\n\n // ── Hierarchy ────────────────────────────────────────────────\n parent_department_id: Field.lookup('sys_department', {\n label: 'Parent Department',\n required: false,\n description: 'Self-reference for the org tree. Null = root of tenant.',\n group: 'Hierarchy',\n }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: true,\n description: 'Tenant scope.',\n group: 'Hierarchy',\n }),\n\n // ── Leadership ───────────────────────────────────────────────\n manager_user_id: Field.lookup('sys_user', {\n label: 'Department Head',\n required: false,\n description: 'User responsible for this org unit (department head / lead).',\n group: 'Leadership',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n active: Field.boolean({\n label: 'Active',\n required: false,\n defaultValue: true,\n description: 'When false, members are not expanded by graph queries.',\n group: 'Lifecycle',\n }),\n\n effective_from: Field.datetime({\n label: 'Effective From',\n required: false,\n description: 'When this department came into existence (HRIS sync).',\n group: 'Lifecycle',\n }),\n\n effective_to: Field.datetime({\n label: 'Effective To',\n required: false,\n description: 'When this department was retired (HRIS sync).',\n group: 'Lifecycle',\n }),\n\n external_ref: Field.text({\n label: 'External Reference',\n required: false,\n maxLength: 200,\n description: 'ID in upstream HRIS (Workday / SAP HR / 北森).',\n group: 'Lifecycle',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Department ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['organization_id'] },\n { fields: ['parent_department_id'] },\n { fields: ['code', 'organization_id'], unique: true },\n { fields: ['active'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_department_member — User ↔ Department Assignment\n *\n * Many-to-many between `sys_user` and `sys_department`. A user can belong\n * to multiple departments (matrix orgs) but exactly one is marked\n * `is_primary` to drive the default reporting view.\n *\n * Effective-dated so that historical reports & audits can reconstruct\n * who reported to which unit at any point in time.\n *\n * @namespace sys\n */\nexport const SysDepartmentMember = ObjectSchema.create({\n name: 'sys_department_member',\n label: 'Department Member',\n pluralLabel: 'Department Members',\n icon: 'user-cog',\n isSystem: true,\n managedBy: 'platform',\n description: 'User assignment to a department (matrix-org friendly, effective-dated).',\n titleFormat: '{user_id} in {department_id}',\n compactLayout: ['user_id', 'department_id', 'role_in_department', 'is_primary'],\n\n fields: {\n id: Field.text({\n label: 'Member ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n department_id: Field.lookup('sys_department', {\n label: 'Department',\n required: true,\n group: 'Assignment',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n group: 'Assignment',\n }),\n\n role_in_department: Field.select(\n ['member', 'lead', 'deputy'],\n {\n label: 'Role in Department',\n required: false,\n defaultValue: 'member',\n description: '`lead` is the day-to-day head; `deputy` may stand in for the lead in approval routing.',\n group: 'Assignment',\n },\n ),\n\n is_primary: Field.boolean({\n label: 'Primary Assignment',\n required: false,\n defaultValue: true,\n description: 'When the user is in multiple departments, this marks the canonical one for reporting.',\n group: 'Assignment',\n }),\n\n effective_from: Field.datetime({\n label: 'Effective From',\n required: false,\n group: 'Lifecycle',\n }),\n\n effective_to: Field.datetime({\n label: 'Effective To',\n required: false,\n group: 'Lifecycle',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['department_id', 'user_id'], unique: true },\n { fields: ['user_id'] },\n { fields: ['is_primary'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_api_key — System API Key Object\n *\n * API keys for programmatic/machine access to the platform.\n *\n * Field `key` stores a hashed value and is marked hidden so it never\n * leaks into default list/form rendering; the raw token is only\n * returned once on creation via the auth plugin API.\n *\n * @namespace sys\n */\nexport const SysApiKey = ObjectSchema.create({\n name: 'sys_api_key',\n label: 'API Key',\n pluralLabel: 'API Keys',\n icon: 'key-round',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'API keys for programmatic access',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'prefix', 'user_id', 'expires_at', 'revoked'],\n\n // Custom actions — sys_api_key is managed-by 'better-auth' but the\n // `revoked` boolean is a column we control via the data API. These row\n // actions use the generic PATCH /api/v1/sys_api_key/{id} endpoint with\n // `bodyExtra` to set the `revoked` flag explicitly.\n actions: [\n {\n name: 'revoke_api_key',\n label: 'Revoke API Key',\n icon: 'shield-off',\n variant: 'danger',\n mode: 'custom',\n locations: ['list_item'],\n type: 'api',\n method: 'PATCH',\n target: '/api/v1/data/sys_api_key/{id}',\n bodyExtra: { revoked: true },\n confirmText: 'Revoke this API key? Any clients using it will immediately lose access.',\n successMessage: 'API key revoked',\n refreshAfter: true,\n },\n {\n name: 'restore_api_key',\n label: 'Restore API Key',\n icon: 'shield-check',\n variant: 'secondary',\n mode: 'custom',\n locations: ['list_item'],\n type: 'api',\n method: 'PATCH',\n target: '/api/v1/data/sys_api_key/{id}',\n bodyExtra: { revoked: false },\n confirmText: 'Restore this revoked API key? Existing clients holding the key will regain access.',\n successMessage: 'API key restored',\n refreshAfter: true,\n },\n ],\n\n listViews: {\n mine: {\n type: 'grid',\n name: 'mine',\n label: 'My Keys',\n data: { provider: 'object', object: 'sys_api_key' },\n columns: ['name', 'prefix', 'expires_at', 'last_used_at', 'revoked'],\n filter: [\n { field: 'user_id', operator: 'equals', value: '{current_user_id}' },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_api_key' },\n columns: ['name', 'prefix', 'user_id', 'expires_at', 'last_used_at'],\n filter: [{ field: 'revoked', operator: 'equals', value: false }],\n sort: [{ field: 'last_used_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n revoked: {\n type: 'grid',\n name: 'revoked',\n label: 'Revoked',\n data: { provider: 'object', object: 'sys_api_key' },\n columns: ['name', 'prefix', 'user_id', 'expires_at', 'updated_at'],\n filter: [{ field: 'revoked', operator: 'equals', value: true }],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_keys: {\n type: 'grid',\n name: 'all_keys',\n label: 'All',\n data: { provider: 'object', object: 'sys_api_key' },\n columns: ['name', 'prefix', 'user_id', 'expires_at', 'last_used_at', 'revoked'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n description: 'Human-readable label for the API key',\n group: 'Identity',\n }),\n\n prefix: Field.text({\n label: 'Prefix',\n required: false,\n maxLength: 16,\n description: 'Visible prefix for identifying the key (e.g., \"osk_\")',\n group: 'Identity',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'Owner',\n required: true,\n description: 'User who owns this API key',\n group: 'Identity',\n }),\n\n // ── Access ───────────────────────────────────────────────────\n scopes: Field.textarea({\n label: 'Scopes',\n required: false,\n description: 'JSON array of permission scopes',\n group: 'Access',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n expires_at: Field.datetime({\n label: 'Expires At',\n required: false,\n group: 'Lifecycle',\n }),\n\n last_used_at: Field.datetime({\n label: 'Last Used At',\n required: false,\n readonly: true,\n description: 'Automatically updated on each API call',\n group: 'Lifecycle',\n }),\n\n revoked: Field.boolean({\n label: 'Revoked',\n defaultValue: false,\n group: 'Lifecycle',\n }),\n\n // ── Secret (hidden by default) ──────────────────────────────\n key: Field.text({\n label: 'Hashed Key',\n required: true,\n hidden: true,\n readonly: true,\n description: 'Hashed API key value — never exposed to clients',\n group: 'Secret',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'API Key ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['key'], unique: true },\n { fields: ['user_id'] },\n { fields: ['prefix'] },\n { fields: ['revoked'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_two_factor — System Two-Factor Object\n *\n * Two-factor authentication credentials (TOTP, backup codes).\n * Backed by better-auth's two-factor plugin.\n *\n * @namespace sys\n */\nexport const SysTwoFactor = ObjectSchema.create({\n name: 'sys_two_factor',\n label: 'Two Factor',\n pluralLabel: 'Two Factor Credentials',\n icon: 'smartphone',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Two-factor authentication credentials',\n titleFormat: 'Two-factor for {user_id}',\n compactLayout: ['user_id', 'created_at'],\n\n listViews: {\n mine: {\n type: 'grid',\n name: 'mine',\n label: 'My Enrollment',\n data: { provider: 'object', object: 'sys_two_factor' },\n columns: ['created_at', 'updated_at'],\n filter: [{ field: 'user_id', operator: 'equals', value: '{current_user_id}' }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_enrollments: {\n type: 'grid',\n name: 'all_enrollments',\n label: 'All',\n data: { provider: 'object', object: 'sys_two_factor' },\n columns: ['user_id', 'created_at', 'updated_at'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n // Toolbar actions for self-service 2FA enrollment. The actual TOTP secret\n // and backup codes returned by better-auth must be shown in the response\n // toast / dialog — the action runner surfaces successMessage; the raw\n // payload is logged client-side for now (TODO: dedicated 2FA setup wizard).\n actions: [\n {\n name: 'enable_two_factor',\n label: 'Enable 2FA',\n icon: 'shield-check',\n variant: 'primary',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/two-factor/enable',\n successMessage: '2FA enrollment started — check response for TOTP URI and backup codes',\n refreshAfter: true,\n params: [\n { name: 'password', label: 'Current Password', type: 'text', required: true },\n ],\n },\n {\n name: 'disable_two_factor',\n label: 'Disable 2FA',\n icon: 'shield-off',\n variant: 'danger',\n locations: ['list_toolbar'],\n type: 'api',\n target: '/api/v1/auth/two-factor/disable',\n confirmText: 'Disable two-factor authentication on your account?',\n successMessage: '2FA disabled',\n refreshAfter: true,\n params: [\n { name: 'password', label: 'Current Password', type: 'text', required: true },\n ],\n },\n ],\n\n \n fields: {\n id: Field.text({\n label: 'Two Factor ID',\n required: true,\n readonly: true,\n }),\n \n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n \n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n }),\n \n secret: Field.text({\n label: 'Secret',\n required: true,\n description: 'TOTP secret key',\n }),\n \n backup_codes: Field.textarea({\n label: 'Backup Codes',\n required: false,\n description: 'JSON-serialized backup recovery codes',\n }),\n },\n \n indexes: [\n { fields: ['user_id'], unique: true },\n ],\n \n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_device_code — System Device Authorization Code Object\n *\n * Stores pending RFC 8628 OAuth Device Authorization Grant requests.\n * Backed by better-auth's `device-authorization` plugin (`deviceCode` model).\n *\n * Lifecycle:\n * 1. CLI calls `POST /device/code` → row inserted with status='pending'\n * 2. Browser visits `verification_uri_complete` and the signed-in user\n * calls `POST /device/approve` (or `/device/deny`) → status flips\n * 3. CLI's next `POST /device/token` poll either receives a session token\n * (status=approved) or one of the standard error codes\n * (`authorization_pending`, `slow_down`, `expired_token`,\n * `access_denied`). Approved rows are deleted on token issuance.\n *\n * @namespace sys\n */\nexport const SysDeviceCode = ObjectSchema.create({\n name: 'sys_device_code',\n label: 'Device Code',\n pluralLabel: 'Device Codes',\n icon: 'key-round',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'OAuth 2.0 Device Authorization Grant (RFC 8628) pending requests',\n titleFormat: '{user_code}',\n compactLayout: ['user_code', 'status', 'client_id', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'Device Code ID',\n required: true,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n /** High-entropy token returned to the device (CLI). Polled at /device/token. */\n device_code: Field.text({\n label: 'Device Code',\n required: true,\n description: 'High-entropy token returned to the polling device',\n }),\n\n /** Human-readable short code displayed to the user (e.g. ABCD-EFGH). */\n user_code: Field.text({\n label: 'User Code',\n required: true,\n description: 'Short user-facing code (e.g. ABCD-EFGH)',\n }),\n\n /** Owning user — populated when the request is approved. */\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: false,\n description: 'User who approved the device authorization',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n description: 'When the device & user codes are no longer valid',\n }),\n\n /** 'pending' | 'approved' | 'denied' */\n status: Field.text({\n label: 'Status',\n required: true,\n description: \"Current status: 'pending' | 'approved' | 'denied'\",\n }),\n\n last_polled_at: Field.datetime({\n label: 'Last Polled At',\n required: false,\n description: 'Timestamp of the most recent /device/token poll',\n }),\n\n polling_interval: Field.number({\n label: 'Polling Interval (ms)',\n required: false,\n description: 'Server-recommended minimum polling interval, in ms',\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: false,\n description: 'OAuth client identifier of the requesting device',\n }),\n\n scope: Field.text({\n label: 'Scope',\n required: false,\n description: 'Space-separated OAuth scopes requested by the device',\n }),\n },\n\n indexes: [\n { fields: ['device_code'], unique: true },\n { fields: ['user_code'], unique: true },\n { fields: ['status'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_user_preference — System User Preference Object\n *\n * Per-user key-value preferences for storing UI state, settings, and personalization.\n * Supports the User Preferences layer in the Config Resolution hierarchy\n * (Runtime > User Preferences > Tenant > Env).\n *\n * Common use cases:\n * - UI preferences: theme, locale, timezone, sidebar state\n * - Feature flags: plugin.ai.auto_save, plugin.dev.debug_mode\n * - User-specific settings: default_view, notifications_enabled\n *\n * @namespace sys\n */\nexport const SysUserPreference = ObjectSchema.create({\n name: 'sys_user_preference',\n label: 'User Preference',\n pluralLabel: 'User Preferences',\n icon: 'settings',\n isSystem: true,\n // managedBy: 'system' — preferences are per-user state authored from\n // the user's own settings page, never created by an admin. The list\n // surface in Setup is a support/diagnostic view only.\n managedBy: 'system',\n description: 'Per-user key-value preferences (theme, locale, etc.)',\n titleFormat: '{key}',\n compactLayout: ['user_id', 'key'],\n\n listViews: {\n mine: {\n type: 'grid',\n name: 'mine',\n label: 'My Preferences',\n data: { provider: 'object', object: 'sys_user_preference' },\n columns: ['key', 'updated_at'],\n filter: [{ field: 'user_id', operator: 'equals', value: '{current_user_id}' }],\n sort: [{ field: 'key', order: 'asc' }],\n pagination: { pageSize: 100 },\n },\n by_user: {\n type: 'grid',\n name: 'by_user',\n label: 'By User',\n data: { provider: 'object', object: 'sys_user_preference' },\n columns: ['user_id', 'key', 'updated_at'],\n sort: [{ field: 'user_id', order: 'asc' }, { field: 'key', order: 'asc' }],\n grouping: { fields: [{ field: 'user_id', order: 'asc', collapsed: true }] },\n pagination: { pageSize: 200 },\n },\n all_preferences: {\n type: 'grid',\n name: 'all_preferences',\n label: 'All',\n data: { provider: 'object', object: 'sys_user_preference' },\n columns: ['user_id', 'key', 'created_at', 'updated_at'],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 100 },\n },\n },\n\n fields: {\n id: Field.text({\n label: 'Preference ID',\n required: true,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Owner user of this preference',\n }),\n\n key: Field.text({\n label: 'Key',\n required: true,\n maxLength: 255,\n description: 'Preference key (e.g., theme, locale, plugin.ai.auto_save)',\n }),\n\n value: Field.json({\n label: 'Value',\n description: 'Preference value (any JSON-serializable type)',\n }),\n },\n\n indexes: [\n { fields: ['user_id', 'key'], unique: true },\n { fields: ['user_id'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_application — Registered OAuth/OIDC client application\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthClient` model. Each row\n * represents an external application that has been registered to authenticate\n * users against this ObjectStack server (acting as an OpenID Connect IdP).\n *\n * The table name is preserved from the deprecated `oidc-provider` plugin\n * (which used the `oauthApplication` model name) so existing data remains\n * accessible. The new model exposes a richer set of OAuth 2.1 / OIDC\n * registration fields — see RFC 7591 (Dynamic Client Registration) and\n * RFC 8414 (Authorization Server Metadata).\n *\n * @namespace sys\n */\nexport const SysOauthApplication = ObjectSchema.create({\n name: 'sys_oauth_application',\n label: 'OAuth Application',\n pluralLabel: 'OAuth Applications',\n icon: 'key-round',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Registered OAuth/OIDC client applications',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'client_id', 'type', 'disabled'],\n\n listViews: {\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_oauth_application' },\n columns: ['name', 'client_id', 'type', 'updated_at'],\n filter: [{ field: 'disabled', operator: 'equals', value: false }],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n disabled_apps: {\n type: 'grid',\n name: 'disabled_apps',\n label: 'Disabled',\n data: { provider: 'object', object: 'sys_oauth_application' },\n columns: ['name', 'client_id', 'type', 'updated_at'],\n filter: [{ field: 'disabled', operator: 'equals', value: true }],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_apps: {\n type: 'grid',\n name: 'all_apps',\n label: 'All',\n data: { provider: 'object', object: 'sys_oauth_application' },\n columns: ['name', 'client_id', 'type', 'disabled', 'created_at'],\n sort: [{ field: 'name', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n name: Field.text({\n label: 'Name',\n required: false,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n icon: Field.url({\n label: 'Icon',\n required: false,\n description: 'Logo URL shown on the consent screen',\n group: 'Identity',\n }),\n\n uri: Field.url({\n label: 'Home URI',\n required: false,\n description: 'Public homepage of the registered client',\n group: 'Identity',\n }),\n\n contacts: Field.textarea({\n label: 'Contacts',\n required: false,\n description: 'JSON-serialized list of contact email addresses',\n group: 'Identity',\n }),\n\n tos: Field.url({\n label: 'Terms of Service',\n required: false,\n group: 'Identity',\n }),\n\n policy: Field.url({\n label: 'Privacy Policy',\n required: false,\n group: 'Identity',\n }),\n\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n description: 'JSON-serialized application metadata',\n group: 'Identity',\n }),\n\n // ── OAuth Credentials ────────────────────────────────────────\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n readonly: true,\n maxLength: 255,\n description: 'Public OAuth client identifier',\n group: 'Credentials',\n }),\n\n client_secret: Field.text({\n label: 'Client Secret',\n required: false,\n maxLength: 1024,\n description: 'OAuth client secret (hashed/encrypted at rest)',\n group: 'Credentials',\n }),\n\n redirect_uris: Field.textarea({\n label: 'Redirect URIs',\n required: true,\n description: 'JSON-serialized list of allowed redirect URIs',\n group: 'Credentials',\n }),\n\n post_logout_redirect_uris: Field.textarea({\n label: 'Post-logout Redirect URIs',\n required: false,\n description: 'JSON-serialized list of allowed post-logout redirect URIs',\n group: 'Credentials',\n }),\n\n type: Field.select(['web', 'native', 'user-agent-based', 'public'], {\n label: 'Client Type',\n required: false,\n defaultValue: 'web',\n group: 'Credentials',\n }),\n\n public: Field.boolean({\n label: 'Public Client',\n required: false,\n description: 'Marks the client as a public (non-confidential) OAuth client',\n group: 'Credentials',\n }),\n\n require_pkce: Field.boolean({\n label: 'Require PKCE',\n required: false,\n group: 'Credentials',\n }),\n\n token_endpoint_auth_method: Field.text({\n label: 'Token Endpoint Auth Method',\n required: false,\n maxLength: 64,\n description: 'e.g. client_secret_basic, client_secret_post, none',\n group: 'Credentials',\n }),\n\n grant_types: Field.textarea({\n label: 'Grant Types',\n required: false,\n description: 'JSON-serialized list of allowed grant types',\n group: 'Credentials',\n }),\n\n response_types: Field.textarea({\n label: 'Response Types',\n required: false,\n description: 'JSON-serialized list of allowed response types',\n group: 'Credentials',\n }),\n\n scopes: Field.textarea({\n label: 'Allowed Scopes',\n required: false,\n description: 'JSON-serialized list of scopes the client may request',\n group: 'Credentials',\n }),\n\n subject_type: Field.text({\n label: 'Subject Type',\n required: false,\n maxLength: 32,\n description: 'OIDC subject type (e.g. public, pairwise)',\n group: 'Credentials',\n }),\n\n // ── Behaviour flags ──────────────────────────────────────────\n disabled: Field.boolean({\n label: 'Disabled',\n required: false,\n defaultValue: false,\n group: 'Behaviour',\n }),\n\n skip_consent: Field.boolean({\n label: 'Skip Consent',\n required: false,\n description: 'Treat as a trusted client and bypass the consent screen',\n group: 'Behaviour',\n }),\n\n enable_end_session: Field.boolean({\n label: 'Enable End Session',\n required: false,\n description: 'Allow the client to call the OIDC end-session endpoint',\n group: 'Behaviour',\n }),\n\n // ── Software statement (RFC 7591 §2.3) ───────────────────────\n software_id: Field.text({\n label: 'Software ID',\n required: false,\n maxLength: 255,\n group: 'Software',\n }),\n\n software_version: Field.text({\n label: 'Software Version',\n required: false,\n maxLength: 64,\n group: 'Software',\n }),\n\n software_statement: Field.textarea({\n label: 'Software Statement',\n required: false,\n description: 'Signed JWT asserting the client metadata (RFC 7591 §2.3)',\n group: 'Software',\n }),\n\n // ── Ownership / system ───────────────────────────────────────\n user_id: Field.lookup('sys_user', {\n label: 'Owner User',\n required: false,\n description: 'User who registered this application',\n group: 'System',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['client_id'], unique: true },\n { fields: ['user_id'] },\n { fields: ['reference_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_access_token — Issued OAuth/OIDC opaque access token\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthAccessToken` model. One\n * row per opaque access token issuance. Tokens are short-lived; expired\n * rows can be safely pruned.\n *\n * Refresh tokens have been split into a sibling table — see\n * {@link SysOauthRefreshToken}. The optional `refresh_id` column links an\n * access token back to the refresh-token row that minted it.\n *\n * @namespace sys\n */\nexport const SysOauthAccessToken = ObjectSchema.create({\n name: 'sys_oauth_access_token',\n label: 'OAuth Access Token',\n pluralLabel: 'OAuth Access Tokens',\n icon: 'ticket',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Opaque OAuth access tokens issued to client applications',\n compactLayout: ['client_id', 'user_id', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n token: Field.text({\n label: 'Token',\n required: true,\n maxLength: 1024,\n description: 'Opaque access token value',\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n description: 'Foreign key to sys_oauth_application.client_id',\n }),\n\n session_id: Field.lookup('sys_session', {\n label: 'Session',\n required: false,\n description: 'Foreign key to sys_session.id',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: false,\n description: 'Foreign key to sys_user.id',\n }),\n\n refresh_id: Field.lookup('sys_oauth_refresh_token', {\n label: 'Refresh Token',\n required: false,\n description: 'Foreign key to sys_oauth_refresh_token.id',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n }),\n\n scopes: Field.textarea({\n label: 'Scopes',\n required: true,\n description: 'JSON-serialized list of scopes granted to this token',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['token'], unique: true },\n { fields: ['client_id'] },\n { fields: ['session_id'] },\n { fields: ['user_id'] },\n { fields: ['refresh_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_refresh_token — Issued OAuth/OIDC refresh token\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthRefreshToken` model.\n * Refresh tokens are issued for the `offline_access` scope and are bound\n * to a specific session (`session_id`) and client (`client_id`).\n *\n * Each access-token rotation produces a new refresh-token row; revoked\n * tokens are kept (with `revoked` set) for audit purposes until pruned.\n *\n * @namespace sys\n */\nexport const SysOauthRefreshToken = ObjectSchema.create({\n name: 'sys_oauth_refresh_token',\n label: 'OAuth Refresh Token',\n pluralLabel: 'OAuth Refresh Tokens',\n icon: 'refresh-cw',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Opaque OAuth refresh tokens (linked to a session)',\n compactLayout: ['client_id', 'user_id', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n token: Field.text({\n label: 'Token',\n required: true,\n maxLength: 1024,\n description: 'Opaque refresh token value',\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n description: 'Foreign key to sys_oauth_application.client_id',\n }),\n\n session_id: Field.lookup('sys_session', {\n label: 'Session',\n required: false,\n description: 'Foreign key to sys_session.id',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Foreign key to sys_user.id',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n }),\n\n scopes: Field.textarea({\n label: 'Scopes',\n required: true,\n description: 'JSON-serialized list of scopes granted to this token',\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n revoked: Field.datetime({\n label: 'Revoked At',\n required: false,\n description: 'Timestamp at which this refresh token was revoked',\n }),\n\n auth_time: Field.datetime({\n label: 'Auth Time',\n required: false,\n description: 'When the user originally authenticated for this token chain',\n }),\n },\n\n indexes: [\n { fields: ['token'], unique: true },\n { fields: ['client_id'] },\n { fields: ['session_id'] },\n { fields: ['user_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_oauth_consent — Recorded user consent for an OAuth client + scopes\n *\n * Backed by `@better-auth/oauth-provider`'s `oauthConsent` model. When a\n * user consents to a client requesting a particular set of scopes, the\n * decision is persisted here so future authorization requests for the same\n * client+scopes can skip the consent screen.\n *\n * The presence of a row implies consent was given for the listed scopes —\n * the previous boolean `consent_given` flag was removed in the migration\n * from `better-auth/plugins/oidc-provider` to `@better-auth/oauth-provider`.\n *\n * @namespace sys\n */\nexport const SysOauthConsent = ObjectSchema.create({\n name: 'sys_oauth_consent',\n label: 'OAuth Consent',\n pluralLabel: 'OAuth Consents',\n icon: 'shield-check',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'User consent records for OAuth client applications',\n compactLayout: ['client_id', 'user_id', 'scopes'],\n\n fields: {\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n client_id: Field.text({\n label: 'Client ID',\n required: true,\n description: 'Foreign key to sys_oauth_application.client_id',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: false,\n description: 'Foreign key to sys_user.id',\n }),\n\n reference_id: Field.text({\n label: 'Reference ID',\n required: false,\n maxLength: 255,\n description: 'Caller-supplied correlation identifier',\n }),\n\n scopes: Field.textarea({\n label: 'Scopes',\n required: true,\n description: 'JSON-serialized list of scopes the user consented to',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['client_id'] },\n { fields: ['user_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_jwks — JWKS (JSON Web Key Set) key pair store\n *\n * Backed by better-auth's `jwt` plugin. Each row is a single asymmetric\n * key pair used to sign and verify JWTs (id_tokens, JWT access tokens)\n * issued by this ObjectStack server when it acts as an OAuth/OIDC IdP.\n *\n * The plugin rotates keys automatically — older rows are kept until\n * `expires_at` so existing tokens can still be verified.\n *\n * @namespace sys\n */\nexport const SysJwks = ObjectSchema.create({\n name: 'sys_jwks',\n label: 'JWKS Key',\n pluralLabel: 'JWKS Keys',\n icon: 'key',\n isSystem: true,\n managedBy: 'better-auth',\n description: 'Asymmetric key pairs used to sign and verify issued JWTs',\n compactLayout: ['id', 'created_at', 'expires_at'],\n\n fields: {\n id: Field.text({\n label: 'Key ID',\n required: true,\n readonly: true,\n description: 'JWK `kid` value',\n }),\n\n public_key: Field.textarea({\n label: 'Public Key',\n required: true,\n description: 'JSON-serialized JWK public key',\n }),\n\n private_key: Field.textarea({\n label: 'Private Key',\n required: true,\n description: 'JSON-serialized JWK private key (encrypted at rest)',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n expires_at: Field.datetime({\n label: 'Expires At',\n required: false,\n description: 'When the key may no longer be used to verify tokens',\n }),\n },\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: false,\n apiMethods: [],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_role — System Role Object\n *\n * RBAC role definition for the ObjectStack platform.\n * Roles group permissions and are assigned to users or members.\n *\n * @namespace sys\n */\nexport const SysRole = ObjectSchema.create({\n name: 'sys_role',\n label: 'Role',\n pluralLabel: 'Roles',\n icon: 'shield',\n isSystem: true,\n managedBy: 'config',\n description: 'Role definitions for RBAC access control',\n displayNameField: 'label',\n titleFormat: '{label}',\n compactLayout: ['label', 'name', 'active', 'is_default'],\n\n listViews: {\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_role' },\n columns: ['label', 'name', 'is_default', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: true }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n default_roles: {\n type: 'grid',\n name: 'default_roles',\n label: 'Default',\n data: { provider: 'object', object: 'sys_role' },\n columns: ['label', 'name', 'description', 'active'],\n filter: [{ field: 'is_default', operator: 'equals', value: true }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n custom: {\n type: 'grid',\n name: 'custom',\n label: 'Custom',\n data: { provider: 'object', object: 'sys_role' },\n columns: ['label', 'name', 'active', 'updated_at'],\n filter: [{ field: 'is_default', operator: 'equals', value: false }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n all_roles: {\n type: 'grid',\n name: 'all_roles',\n label: 'All',\n data: { provider: 'object', object: 'sys_role' },\n columns: ['label', 'name', 'active', 'is_default', 'updated_at'],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n label: Field.text({\n label: 'Display Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n name: Field.text({\n label: 'API Name',\n required: true,\n searchable: true,\n maxLength: 100,\n description: 'Unique machine name for the role (e.g. admin, editor, viewer)',\n group: 'Identity',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n group: 'Identity',\n }),\n\n // ── Configuration ────────────────────────────────────────────\n permissions: Field.textarea({\n label: 'Permissions',\n required: false,\n description: 'JSON-serialized array of permission strings',\n group: 'Configuration',\n }),\n\n // ── Status ───────────────────────────────────────────────────\n active: Field.boolean({\n label: 'Active',\n defaultValue: true,\n group: 'Status',\n }),\n\n is_default: Field.boolean({\n label: 'Default Role',\n defaultValue: false,\n description: 'Automatically assigned to new users',\n group: 'Status',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Role ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['name'], unique: true },\n { fields: ['active'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_permission_set — System Permission Set Object\n *\n * Named groupings of fine-grained permissions.\n * Permission sets can be assigned to roles or directly to users\n * for granular access control.\n *\n * @namespace sys\n */\nexport const SysPermissionSet = ObjectSchema.create({\n name: 'sys_permission_set',\n label: 'Permission Set',\n pluralLabel: 'Permission Sets',\n icon: 'lock',\n isSystem: true,\n managedBy: 'config',\n description: 'Named permission groupings for fine-grained access control',\n displayNameField: 'label',\n titleFormat: '{label}',\n compactLayout: ['label', 'name', 'active'],\n\n listViews: {\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_permission_set' },\n columns: ['label', 'name', 'description', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: true }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n inactive: {\n type: 'grid',\n name: 'inactive',\n label: 'Inactive',\n data: { provider: 'object', object: 'sys_permission_set' },\n columns: ['label', 'name', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: false }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n all_permsets: {\n type: 'grid',\n name: 'all_permsets',\n label: 'All',\n data: { provider: 'object', object: 'sys_permission_set' },\n columns: ['label', 'name', 'active', 'updated_at'],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n // ── Identity ─────────────────────────────────────────────────\n label: Field.text({\n label: 'Display Name',\n required: true,\n searchable: true,\n maxLength: 255,\n group: 'Identity',\n }),\n\n name: Field.text({\n label: 'API Name',\n required: true,\n searchable: true,\n maxLength: 100,\n description: 'Unique machine name for the permission set',\n group: 'Identity',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n group: 'Identity',\n }),\n\n // ── Permissions ──────────────────────────────────────────────\n object_permissions: Field.textarea({\n label: 'Object Permissions',\n required: false,\n description: 'JSON-serialized object-level CRUD permissions',\n group: 'Permissions',\n }),\n\n field_permissions: Field.textarea({\n label: 'Field Permissions',\n required: false,\n description: 'JSON-serialized field-level read/write permissions',\n group: 'Permissions',\n }),\n\n // ── Status ───────────────────────────────────────────────────\n active: Field.boolean({\n label: 'Active',\n defaultValue: true,\n group: 'Status',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Permission Set ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['name'], unique: true },\n { fields: ['active'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_user_permission_set — User ↔ PermissionSet assignment.\n *\n * Salesforce-style additive permission grant: a user may be assigned any\n * number of `sys_permission_set` rows, optionally scoped to a specific\n * organization. The runtime resolver (`resolveExecutionContext` in\n * `@objectstack/runtime`) reads this table when building the per-request\n * `ExecutionContext.permissions[]`.\n *\n * Uniqueness is `(user_id, permission_set_id, organization_id)` so the\n * same permission set can be granted independently in each org context\n * the user belongs to.\n *\n * @namespace sys\n */\nexport const SysUserPermissionSet = ObjectSchema.create({\n name: 'sys_user_permission_set',\n label: 'User Permission Set',\n pluralLabel: 'User Permission Sets',\n icon: 'user-check',\n isSystem: true,\n managedBy: 'system',\n description: 'Direct assignment of a permission set to a user (optionally scoped to an organization).',\n titleFormat: '{user_id} → {permission_set_id}',\n compactLayout: ['user_id', 'permission_set_id', 'organization_id'],\n\n fields: {\n id: Field.text({\n label: 'Assignment ID',\n required: true,\n readonly: true,\n description: 'UUID of the assignment.',\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n description: 'Foreign key to sys_user.',\n }),\n\n permission_set_id: Field.lookup('sys_permission_set', {\n label: 'Permission Set',\n required: true,\n description: 'Foreign key to sys_permission_set.',\n }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n description: 'Optional organization scope. NULL = applies in every org context.',\n }),\n\n granted_by: Field.lookup('sys_user', {\n label: 'Granted By',\n required: false,\n description: 'User who granted this permission set.',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['user_id', 'permission_set_id', 'organization_id'], unique: true },\n { fields: ['user_id'] },\n { fields: ['organization_id'] },\n { fields: ['permission_set_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_role_permission_set — Role ↔ PermissionSet binding.\n *\n * Allows administrators to compose a `sys_role` from one or more\n * `sys_permission_set` rows. At request time, the runtime resolver\n * (`resolveExecutionContext`) collects every permission set bound to\n * the user's roles via this table and injects their names into\n * `ExecutionContext.permissions[]` for downstream RBAC evaluation.\n *\n * @namespace sys\n */\nexport const SysRolePermissionSet = ObjectSchema.create({\n name: 'sys_role_permission_set',\n label: 'Role Permission Set',\n pluralLabel: 'Role Permission Sets',\n icon: 'shield-plus',\n isSystem: true,\n managedBy: 'system',\n description: 'Binds a permission set to a role.',\n titleFormat: '{role_id} → {permission_set_id}',\n compactLayout: ['role_id', 'permission_set_id'],\n\n fields: {\n id: Field.text({\n label: 'Binding ID',\n required: true,\n readonly: true,\n description: 'UUID of the role-permission-set binding.',\n }),\n\n role_id: Field.lookup('sys_role', {\n label: 'Role',\n required: true,\n description: 'Foreign key to sys_role.',\n }),\n\n permission_set_id: Field.lookup('sys_permission_set', {\n label: 'Permission Set',\n required: true,\n description: 'Foreign key to sys_permission_set.',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['role_id', 'permission_set_id'], unique: true },\n { fields: ['role_id'] },\n { fields: ['permission_set_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: true,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_record_share — Per-Record Sharing Grant\n *\n * Bridges the ownership-only baseline established by `object.sharingModel`\n * with the real-world need to delegate access to a single record. Each\n * row says: \"principal P has access level L on (object O, record R),\n * because of source S (manual grant or rule).\"\n *\n * Enforcement lives in `@objectstack/plugin-sharing`:\n * - For objects with `sharingModel: 'private'`, the engine middleware\n * AND-s `{$or:[{owner_id:userId},{id:{$in:[grantedRecordIds]}}]}`\n * into every `find` against that object.\n * - For objects with `sharingModel: 'private' | 'read'`, the same\n * middleware enforces edit/delete by checking ownership OR a share\n * row with `access_level in ('edit','full')`.\n *\n * Conventions:\n * - `object_name` is the short object name (e.g. `account`, `lead`).\n * - `recipient_type` mirrors `ShareRecipientType` from the spec\n * (`user` is enforced today; `group`/`role` are persisted for\n * forward-compatibility).\n * - `source = 'manual'` rows are created by a user via the REST\n * `POST /data/:object/:id/shares` endpoint. `source = 'rule'` rows\n * are materialised by the sharing-rule evaluator (future); the\n * `source_id` lets the evaluator reconcile stale grants.\n *\n * @namespace sys\n */\nexport const SysRecordShare = ObjectSchema.create({\n name: 'sys_record_share',\n label: 'Record Share',\n pluralLabel: 'Record Shares',\n icon: 'share',\n isSystem: true,\n managedBy: 'system',\n description: 'Per-record sharing grant — extends OWD with explicit access',\n titleFormat: '{object_name}/{record_id} → {recipient_id} ({access_level})',\n compactLayout: ['object_name', 'record_id', 'recipient_id', 'access_level', 'source'],\n\n listViews: {\n granted_to_me: {\n type: 'grid',\n name: 'granted_to_me',\n label: 'Granted to Me',\n data: { provider: 'object', object: 'sys_record_share' },\n columns: ['object_name', 'record_id', 'access_level', 'source', 'granted_by', 'created_at'],\n filter: [\n { field: 'recipient_type', operator: 'equals', value: 'user' },\n { field: 'recipient_id', operator: 'equals', value: '{current_user_id}' },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n granted_by_me: {\n type: 'grid',\n name: 'granted_by_me',\n label: 'Granted by Me',\n data: { provider: 'object', object: 'sys_record_share' },\n columns: ['object_name', 'record_id', 'recipient_id', 'access_level', 'source', 'created_at'],\n filter: [\n { field: 'granted_by', operator: 'equals', value: '{current_user_id}' },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n by_object: {\n type: 'grid',\n name: 'by_object',\n label: 'By Object',\n data: { provider: 'object', object: 'sys_record_share' },\n columns: ['object_name', 'record_id', 'recipient_id', 'access_level', 'source', 'created_at'],\n sort: [{ field: 'object_name', order: 'asc' }, { field: 'created_at', order: 'desc' }],\n grouping: { fields: [{ field: 'object_name', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n manual_grants: {\n type: 'grid',\n name: 'manual_grants',\n label: 'Manual Grants',\n data: { provider: 'object', object: 'sys_record_share' },\n columns: ['object_name', 'record_id', 'recipient_id', 'access_level', 'granted_by', 'reason', 'created_at'],\n filter: [{ field: 'source', operator: 'equals', value: 'manual' }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n rule_grants: {\n type: 'grid',\n name: 'rule_grants',\n label: 'Rule Grants',\n data: { provider: 'object', object: 'sys_record_share' },\n columns: ['object_name', 'record_id', 'recipient_id', 'access_level', 'source_id', 'created_at'],\n filter: [{ field: 'source', operator: 'in', value: ['rule', 'team', 'inherited'] }],\n sort: [{ field: 'source_id', order: 'asc' }, { field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_shares: {\n type: 'grid',\n name: 'all_shares',\n label: 'All',\n data: { provider: 'object', object: 'sys_record_share' },\n columns: ['object_name', 'record_id', 'recipient_type', 'recipient_id', 'access_level', 'source', 'created_at'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 100 },\n },\n },\n\n fields: {\n id: Field.text({\n label: 'Share ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n // ── Target (which record is being shared) ────────────────────\n object_name: Field.text({\n label: 'Object',\n required: true,\n maxLength: 100,\n description: 'Short object name of the shared record',\n group: 'Target',\n }),\n\n record_id: Field.text({\n label: 'Record',\n required: true,\n maxLength: 100,\n description: 'Primary key of the shared record within object_name',\n group: 'Target',\n }),\n\n // ── Recipient (who receives access) ──────────────────────────\n recipient_type: Field.select(\n ['user', 'group', 'role', 'role_and_subordinates', 'guest'],\n {\n label: 'Recipient Type',\n required: true,\n defaultValue: 'user',\n description: 'Kind of principal that holds the grant',\n group: 'Recipient',\n },\n ),\n\n recipient_id: Field.text({\n label: 'Recipient',\n required: true,\n maxLength: 100,\n description: 'ID of the user/group/role that receives access',\n group: 'Recipient',\n }),\n\n access_level: Field.select(\n ['read', 'edit', 'full'],\n {\n label: 'Access Level',\n required: true,\n defaultValue: 'read',\n description: 'What the recipient can do — read | edit | full (transfer/share/delete)',\n group: 'Recipient',\n },\n ),\n\n // ── Provenance ───────────────────────────────────────────────\n source: Field.select(\n ['manual', 'rule', 'team', 'inherited'],\n {\n label: 'Source',\n required: true,\n defaultValue: 'manual',\n description: 'Why this grant exists — used by the rule evaluator to reconcile',\n group: 'Provenance',\n },\n ),\n\n source_id: Field.text({\n label: 'Source ID',\n required: false,\n maxLength: 200,\n description: 'Rule name / team id when source != manual',\n group: 'Provenance',\n }),\n\n granted_by: Field.lookup('sys_user', {\n label: 'Granted By',\n required: false,\n description: 'User that created the grant (manual only)',\n group: 'Provenance',\n }),\n\n reason: Field.text({\n label: 'Reason',\n required: false,\n maxLength: 500,\n description: 'Optional free-text explanation surfaced to the recipient',\n group: 'Provenance',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n // Hot path: \"all records visible to user U on object O\" — the\n // middleware reads (object_name, recipient_type, recipient_id) to\n // build the `id IN (...)` predicate on every find.\n { fields: ['object_name', 'recipient_type', 'recipient_id'] },\n // \"all grants on this record\" — used by the share-management UI\n // and by canEdit() to look up explicit grants.\n { fields: ['object_name', 'record_id'] },\n // Reconciliation key for rule-driven shares.\n { fields: ['source', 'source_id'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_sharing_rule — Declarative record-sharing rule.\n *\n * Salesforce-style criteria-based sharing: \"any record on object O that\n * matches criteria C is granted access level A to recipient R\". Rules\n * are evaluated by `@objectstack/plugin-sharing` and materialise their\n * grants as rows in `sys_record_share` with `source='rule'` and\n * `source_id={rule.id}` so the evaluator can reconcile (delete + re-\n * insert) on rule updates without touching manual grants.\n *\n * Evaluation triggers:\n * - `afterInsert` / `afterUpdate` on the target object (per-record,\n * incremental — the hot path).\n * - REST `POST /sharing/rules/:id/evaluate` (admin-initiated\n * bulk reconcile — used after rule edits).\n *\n * Criteria are stored as JSON (a normal `FilterCondition`) so the\n * existing engine `find()` can do the matching natively. v1 supports\n * simple `{field, op, value}` style filters; CEL predicates are a\n * follow-up.\n *\n * @namespace sys\n */\nexport const SysSharingRule = ObjectSchema.create({\n name: 'sys_sharing_rule',\n label: 'Sharing Rule',\n pluralLabel: 'Sharing Rules',\n icon: 'shield-check',\n isSystem: true,\n managedBy: 'config',\n // Sharing rules can now be authored visually via the Studio criteria\n // builder (apps/studio/src/components/SharingCriteriaBuilder.tsx).\n // We still recommend `defineSharingRule({...})` for repo-controlled\n // baselines, but admins can safely create/edit/delete from the UI.\n userActions: { create: true, edit: true, delete: true, import: false },\n description: 'Declarative sharing rule that auto-materialises sys_record_share grants. Authored via defineSharingRule() in code or the Studio criteria builder.',\n displayNameField: 'name',\n titleFormat: '{label}',\n compactLayout: ['name', 'object_name', 'recipient_type', 'recipient_id', 'access_level', 'active'],\n\n listViews: {\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_sharing_rule' },\n columns: ['label', 'object_name', 'recipient_type', 'recipient_id', 'access_level', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: true }],\n sort: [{ field: 'object_name', order: 'asc' }, { field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n inactive: {\n type: 'grid',\n name: 'inactive',\n label: 'Inactive',\n data: { provider: 'object', object: 'sys_sharing_rule' },\n columns: ['label', 'object_name', 'recipient_type', 'recipient_id', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: false }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n by_object: {\n type: 'grid',\n name: 'by_object',\n label: 'By Object',\n data: { provider: 'object', object: 'sys_sharing_rule' },\n columns: ['object_name', 'label', 'recipient_type', 'access_level', 'active'],\n sort: [{ field: 'object_name', order: 'asc' }, { field: 'label', order: 'asc' }],\n grouping: { fields: [{ field: 'object_name', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n all_rules: {\n type: 'grid',\n name: 'all_rules',\n label: 'All',\n data: { provider: 'object', object: 'sys_sharing_rule' },\n columns: ['label', 'object_name', 'recipient_type', 'recipient_id', 'access_level', 'active', 'updated_at'],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n id: Field.text({ label: 'Rule ID', required: true, readonly: true, group: 'System' }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n group: 'System',\n description: 'Tenant that owns this rule; null = global',\n }),\n\n name: Field.text({\n label: 'Name',\n required: true,\n maxLength: 100,\n description: 'Unique snake_case rule name',\n group: 'Identity',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: true,\n maxLength: 200,\n group: 'Identity',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n group: 'Identity',\n }),\n\n object_name: Field.text({\n label: 'Object',\n required: true,\n maxLength: 100,\n description: 'Short object name (e.g. opportunity, account)',\n group: 'Target',\n }),\n\n criteria_json: Field.textarea({\n label: 'Criteria (FilterCondition JSON)',\n required: false,\n description: 'JSON FilterCondition matched against records of object_name. Empty = match all.',\n group: 'Target',\n }),\n\n recipient_type: Field.select(\n ['user', 'team', 'department', 'role', 'queue'],\n {\n label: 'Recipient Type',\n required: true,\n defaultValue: 'department',\n description: 'Kind of principal that receives access — expanded to user grants at evaluation time. `department` walks the parent_department_id tree; `team` is flat (better-auth).',\n group: 'Recipient',\n },\n ),\n\n recipient_id: Field.text({\n label: 'Recipient',\n required: true,\n maxLength: 200,\n description: 'department id / team id / role name / queue name / user id depending on recipient_type',\n group: 'Recipient',\n }),\n\n access_level: Field.select(\n ['read', 'edit', 'full'],\n {\n label: 'Access Level',\n required: true,\n defaultValue: 'read',\n group: 'Recipient',\n },\n ),\n\n active: Field.boolean({\n label: 'Active',\n required: false,\n defaultValue: true,\n description: 'Only active rules participate in lifecycle evaluation',\n group: 'Lifecycle',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['object_name', 'active'] },\n { fields: ['name'], unique: true },\n { fields: ['organization_id'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { PermissionSetSchema, type PermissionSet } from '@objectstack/spec/security';\n\n/**\n * Identity tables managed by the better-auth plugin (see\n * `packages/platform-objects/src/identity/`). Mutations to these tables\n * MUST flow through the better-auth API endpoints (sign-up, password\n * reset, organization invite/remove-member, api-key/create, …) rather\n * than the generic CRUD pipeline so that password hashing, token\n * signing, email verification, invitation flows and scope hashing all\n * fire correctly.\n *\n * The default member/viewer permission sets therefore explicitly DENY\n * `allowCreate / allowEdit / allowDelete` on these objects while still\n * permitting reads (subject to the rest of the RLS chain). Admin\n * permission sets keep their `*` wildcard so they can rescue data\n * directly when needed.\n *\n * Each entry mirrors the `managedBy: 'better-auth'` flag declared on\n * the corresponding object schema in `packages/platform-objects/src/identity/`.\n */\nconst BETTER_AUTH_MANAGED_OBJECTS = [\n 'sys_user',\n 'sys_account',\n 'sys_session',\n 'sys_organization',\n 'sys_member',\n 'sys_invitation',\n 'sys_team',\n 'sys_team_member',\n 'sys_api_key',\n 'sys_two_factor',\n 'sys_verification',\n 'sys_jwks',\n 'sys_device_code',\n 'sys_oauth_application',\n 'sys_oauth_access_token',\n 'sys_oauth_refresh_token',\n 'sys_oauth_consent',\n] as const;\n\nconst denyWritesOnManagedObjects = (): Record<string, {\n allowRead: boolean;\n allowCreate: boolean;\n allowEdit: boolean;\n allowDelete: boolean;\n}> => Object.fromEntries(\n BETTER_AUTH_MANAGED_OBJECTS.map((name) => [\n name,\n { allowRead: true, allowCreate: false, allowEdit: false, allowDelete: false },\n ]),\n);\n\n/**\n * Default permission sets seeded by the platform.\n *\n * These are referenced by name (`admin_full_access`, `member_default`,\n * `viewer_readonly`) from `sys_role_permission_set` rows or assigned\n * directly to users via `sys_user_permission_set`.\n *\n * The runtime SecurityPlugin reads these via the metadata service when a\n * permission set name appears in the request `ExecutionContext.permissions[]`.\n *\n * Each entry is run through `PermissionSetSchema.parse(...)` so Zod fills\n * in the boolean/`priority`/`enabled` defaults — keeping the literal\n * source readable while still satisfying the strict output type.\n *\n * `objects: { '*': … }` uses the wildcard sentinel honoured by\n * `PermissionEvaluator` — admins do not need an explicit row per object.\n * Per-object entries fully override the wildcard for that object (see\n * `PermissionEvaluator.checkObjectPermission` — lookup, not merge).\n *\n * RLS policies use the canonical `current_user.*` placeholders compiled\n * by `RLSCompiler`. The active organization is exposed under\n * `current_user.organization_id` (sourced from\n * `ExecutionContext.tenantId` at request time) — there is no rewrite\n * step or `tenantField` indirection in SecurityPlugin. Schemas with a\n * different physical tenant column should fork these defaults.\n */\nexport const defaultPermissionSets: PermissionSet[] = [\n PermissionSetSchema.parse({\n name: 'admin_full_access',\n label: 'Administrator — Full Access',\n isProfile: true,\n objects: {\n '*': {\n allowRead: true,\n allowCreate: true,\n allowEdit: true,\n allowDelete: true,\n viewAllRecords: true,\n modifyAllRecords: true,\n },\n },\n systemPermissions: ['manage_users', 'manage_metadata', 'setup.access'],\n }),\n PermissionSetSchema.parse({\n name: 'member_default',\n label: 'Member — Standard Access',\n isProfile: true,\n objects: {\n '*': {\n allowRead: true,\n allowCreate: true,\n allowEdit: true,\n allowDelete: true,\n },\n // Identity tables are managed by better-auth — no direct writes.\n ...denyWritesOnManagedObjects(),\n },\n rowLevelSecurity: [\n {\n name: 'tenant_isolation',\n object: '*',\n operation: 'all',\n using: 'organization_id = current_user.organization_id',\n },\n {\n name: 'owner_only_writes',\n object: '*',\n operation: 'update',\n using: 'owner_id = current_user.id',\n },\n {\n name: 'owner_only_deletes',\n object: '*',\n operation: 'delete',\n using: 'owner_id = current_user.id',\n },\n // ── better-auth system tables that lack `organization_id` and would\n // otherwise be left unprotected by the wildcard rule above. ────\n //\n // The security plugin's RLS injector treats wildcard policies that\n // target a missing field as `RLS_DENY_FILTER` (zero rows) unless a\n // per-object policy contributes an alternate match. Each `*_self`\n // policy below restores per-user visibility on a better-auth table\n // that has `user_id` but no `organization_id`. Tables without\n // `user_id` (`sys_verification`, `sys_jwks`, empty `sys_passkey`)\n // stay DENY for non-admins by design — only platform admins (via\n // `admin_full_access`, which has no RLS) should inspect them.\n {\n name: 'sys_organization_self',\n object: 'sys_organization',\n operation: 'all',\n using: 'id = current_user.organization_id',\n },\n {\n name: 'sys_user_self',\n object: 'sys_user',\n operation: 'select',\n using: 'id = current_user.id',\n },\n {\n name: 'sys_session_self',\n object: 'sys_session',\n operation: 'all',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_account_self',\n object: 'sys_account',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_team_member_self',\n object: 'sys_team_member',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_two_factor_self',\n object: 'sys_two_factor',\n operation: 'all',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_user_preference_self',\n object: 'sys_user_preference',\n operation: 'all',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_api_key_self',\n object: 'sys_api_key',\n operation: 'all',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_device_code_self',\n object: 'sys_device_code',\n operation: 'all',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_oauth_access_token_self',\n object: 'sys_oauth_access_token',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_oauth_refresh_token_self',\n object: 'sys_oauth_refresh_token',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_oauth_consent_self',\n object: 'sys_oauth_consent',\n operation: 'all',\n using: 'user_id = current_user.id',\n },\n ],\n }),\n PermissionSetSchema.parse({\n name: 'viewer_readonly',\n label: 'Viewer — Read-Only',\n isProfile: true,\n objects: {\n '*': {\n allowRead: true,\n allowCreate: false,\n allowEdit: false,\n allowDelete: false,\n },\n // Belt-and-suspenders: explicit deny on managed objects even though\n // the wildcard already denies — keeps the policy readable when\n // future relaxations might widen the wildcard.\n ...denyWritesOnManagedObjects(),\n },\n rowLevelSecurity: [\n {\n name: 'tenant_isolation',\n object: '*',\n operation: 'select',\n using: 'organization_id = current_user.organization_id',\n },\n {\n name: 'sys_organization_self',\n object: 'sys_organization',\n operation: 'select',\n using: 'id = current_user.organization_id',\n },\n {\n name: 'sys_user_self',\n object: 'sys_user',\n operation: 'select',\n using: 'id = current_user.id',\n },\n // ── Per-user visibility on better-auth tables that lack\n // `organization_id` (matches the `member_default` carve-outs).\n {\n name: 'sys_session_self',\n object: 'sys_session',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_account_self',\n object: 'sys_account',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_team_member_self',\n object: 'sys_team_member',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_two_factor_self',\n object: 'sys_two_factor',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_user_preference_self',\n object: 'sys_user_preference',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_api_key_self',\n object: 'sys_api_key',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_device_code_self',\n object: 'sys_device_code',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_oauth_access_token_self',\n object: 'sys_oauth_access_token',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_oauth_refresh_token_self',\n object: 'sys_oauth_refresh_token',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n {\n name: 'sys_oauth_consent_self',\n object: 'sys_oauth_consent',\n operation: 'select',\n using: 'user_id = current_user.id',\n },\n ],\n }),\n];\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_audit_log — System Audit Log Object\n *\n * Immutable audit trail for all significant platform events.\n * Records who did what, when, and the before/after state.\n *\n * Every field is `readonly: true` — audit logs are written only by\n * internal system hooks, never via UI forms. API exposes only `get` + `list`.\n *\n * @namespace sys\n */\nexport const SysAuditLog = ObjectSchema.create({\n name: 'sys_audit_log',\n label: 'Audit Log',\n pluralLabel: 'Audit Logs',\n icon: 'scroll-text',\n isSystem: true,\n managedBy: 'append-only',\n description: 'Immutable audit trail for platform events',\n displayNameField: 'action',\n titleFormat: '{action} · {object_name}',\n compactLayout: ['created_at', 'action', 'object_name', 'record_id', 'user_id'],\n\n listViews: {\n recent: {\n type: 'grid',\n name: 'recent',\n label: 'Recent',\n data: { provider: 'object', object: 'sys_audit_log' },\n columns: ['created_at', 'action', 'object_name', 'record_id', 'user_id'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n emptyState: { title: 'No audit events', message: 'Activity will appear here as users interact with the platform.' },\n },\n writes_only: {\n type: 'grid',\n name: 'writes_only',\n label: 'Writes',\n data: { provider: 'object', object: 'sys_audit_log' },\n columns: ['created_at', 'action', 'object_name', 'record_id', 'user_id'],\n filter: [{ field: 'action', operator: 'in', value: ['create', 'update', 'delete', 'restore'] }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n auth_events: {\n type: 'grid',\n name: 'auth_events',\n label: 'Auth',\n data: { provider: 'object', object: 'sys_audit_log' },\n columns: ['created_at', 'action', 'user_id'],\n filter: [{ field: 'action', operator: 'in', value: ['login', 'logout', 'permission_change'] }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n config_changes: {\n type: 'grid',\n name: 'config_changes',\n label: 'Config',\n data: { provider: 'object', object: 'sys_audit_log' },\n columns: ['created_at', 'action', 'object_name', 'user_id'],\n filter: [{ field: 'action', operator: 'in', value: ['config_change', 'export', 'import'] }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_events: {\n type: 'grid',\n name: 'all_events',\n label: 'All',\n data: { provider: 'object', object: 'sys_audit_log' },\n columns: ['created_at', 'action', 'object_name', 'record_id', 'user_id'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 100 },\n },\n },\n\n fields: {\n // ── Event ────────────────────────────────────────────────────\n created_at: Field.datetime({\n label: 'Timestamp',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'Event',\n }),\n\n action: Field.select(\n ['create', 'update', 'delete', 'restore', 'login', 'logout', 'permission_change', 'config_change', 'export', 'import'],\n {\n label: 'Action',\n required: true,\n readonly: true,\n searchable: true,\n description: 'Action type (snake_case)',\n group: 'Event',\n },\n ),\n\n user_id: Field.lookup('sys_user', {\n label: 'Actor',\n required: false,\n readonly: true,\n searchable: true,\n description: 'User who performed the action (null for system actions)',\n group: 'Event',\n }),\n\n // ── Target record ────────────────────────────────────────────\n object_name: Field.text({\n label: 'Object',\n required: false,\n readonly: true,\n searchable: true,\n maxLength: 255,\n description: 'Target object (e.g. sys_user, project_task)',\n group: 'Target',\n }),\n\n record_id: Field.text({\n label: 'Record ID',\n required: false,\n readonly: true,\n searchable: true,\n description: 'ID of the affected record',\n group: 'Target',\n }),\n\n // ── Change payload ───────────────────────────────────────────\n old_value: Field.textarea({\n label: 'Old Value',\n required: false,\n readonly: true,\n description: 'JSON-serialized previous state',\n group: 'Changes',\n }),\n\n new_value: Field.textarea({\n label: 'New Value',\n required: false,\n readonly: true,\n description: 'JSON-serialized new state',\n group: 'Changes',\n }),\n\n // ── Client fingerprint ───────────────────────────────────────\n ip_address: Field.text({\n label: 'IP Address',\n required: false,\n readonly: true,\n maxLength: 45,\n group: 'Client',\n }),\n\n user_agent: Field.textarea({\n label: 'User Agent',\n required: false,\n readonly: true,\n group: 'Client',\n }),\n\n // ── Context ──────────────────────────────────────────────────\n tenant_id: Field.lookup('sys_organization', {\n label: 'Tenant',\n required: false,\n readonly: true,\n description: 'Tenant context for multi-tenant isolation',\n group: 'Context',\n }),\n\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n readonly: true,\n description: 'JSON-serialized additional context',\n group: 'Context',\n }),\n\n // ── System ───────────────────────────────────────────────────\n id: Field.text({\n label: 'Audit Log ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['created_at'] },\n { fields: ['user_id'] },\n { fields: ['object_name', 'record_id'] },\n { fields: ['action'] },\n { fields: ['tenant_id'] },\n ],\n\n enable: {\n trackHistory: false, // Audit logs are themselves the audit trail\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list'], // Read-only — creation happens via internal system hooks only\n trash: false, // Never soft-delete audit logs\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_presence — System Presence Object\n *\n * Tracks real-time user presence and activity across the platform.\n * Fields align with the PresenceStateSchema protocol definition\n * from `@objectstack/spec/api` (websocket.zod.ts).\n *\n * Owned by `service-realtime` as the canonical Presence domain object.\n *\n * @namespace sys\n * @see PresenceStateSchema in packages/spec/src/api/websocket.zod.ts\n */\nexport const SysPresence = ObjectSchema.create({\n name: 'sys_presence',\n label: 'Presence',\n pluralLabel: 'Presences',\n icon: 'wifi',\n isSystem: true,\n managedBy: 'append-only',\n description: 'Real-time user presence and activity tracking',\n titleFormat: '{user_id} ({status})',\n compactLayout: ['user_id', 'status', 'last_seen'],\n\n fields: {\n id: Field.text({\n label: 'Presence ID',\n required: true,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n required: true,\n searchable: true,\n }),\n\n session_id: Field.lookup('sys_session', {\n label: 'Session',\n required: true,\n }),\n\n status: Field.select({\n label: 'Status',\n required: true,\n defaultValue: 'online',\n options: [\n { value: 'online', label: 'Online' },\n { value: 'away', label: 'Away' },\n { value: 'busy', label: 'Busy' },\n { value: 'offline', label: 'Offline' },\n ],\n }),\n\n last_seen: Field.datetime({\n label: 'Last Seen',\n required: true,\n defaultValue: 'NOW()',\n }),\n\n current_location: Field.text({\n label: 'Current Location',\n required: false,\n maxLength: 500,\n }),\n\n device: Field.select({\n label: 'Device',\n required: false,\n options: [\n { value: 'desktop', label: 'Desktop' },\n { value: 'mobile', label: 'Mobile' },\n { value: 'tablet', label: 'Tablet' },\n { value: 'other', label: 'Other' },\n ],\n }),\n\n custom_status: Field.text({\n label: 'Custom Status',\n required: false,\n maxLength: 255,\n }),\n\n metadata: Field.json({\n label: 'Metadata',\n required: false,\n description: 'Arbitrary JSON metadata associated with the presence state (matches PresenceStateSchema.metadata).',\n }),\n },\n\n indexes: [\n { fields: ['user_id'], unique: false },\n { fields: ['session_id'], unique: true },\n { fields: ['status'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_activity — Lightweight Activity Stream\n *\n * Append-only \"recent activity\" feed shown on dashboards / overview\n * pages. Distinct from `sys_audit_log` (compliance-grade, structured\n * before/after diffs) and `feed_item` (record-scoped Chatter timeline\n * with comments/reactions/threads). Activity entries are denormalized\n * snapshots optimized for chronological \"what happened lately\" reads.\n *\n * Typical write sources: data triggers, plugin events, UI actions.\n * Typical readers: Studio dashboard, mobile inbox, notification jobs.\n *\n * @namespace sys\n */\nexport const SysActivity = ObjectSchema.create({\n name: 'sys_activity',\n label: 'Activity',\n pluralLabel: 'Activities',\n icon: 'activity',\n isSystem: true,\n managedBy: 'append-only',\n description: 'Recent activity stream entries (lightweight, denormalized)',\n displayNameField: 'summary',\n titleFormat: '{type} · {summary}',\n compactLayout: ['timestamp', 'type', 'actor_name', 'summary'],\n\n fields: {\n id: Field.text({\n label: 'Activity ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n timestamp: Field.datetime({\n label: 'Timestamp',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'Event',\n }),\n\n type: Field.select(\n [\n 'created',\n 'updated',\n 'deleted',\n 'commented',\n 'mentioned',\n 'shared',\n 'assigned',\n 'completed',\n 'login',\n 'logout',\n 'system',\n ],\n {\n label: 'Type',\n required: true,\n readonly: true,\n searchable: true,\n group: 'Event',\n },\n ),\n\n summary: Field.text({\n label: 'Summary',\n required: true,\n readonly: true,\n maxLength: 500,\n searchable: true,\n description: 'Human-readable one-line summary',\n group: 'Event',\n }),\n\n // ── Actor ───────────────────────────────────────────────────\n actor_id: Field.lookup('sys_user', {\n label: 'Actor',\n required: false,\n readonly: true,\n searchable: true,\n group: 'Actor',\n }),\n\n actor_name: Field.text({\n label: 'Actor Name',\n required: false,\n readonly: true,\n group: 'Actor',\n }),\n\n actor_avatar_url: Field.url({\n label: 'Actor Avatar',\n required: false,\n readonly: true,\n group: 'Actor',\n }),\n\n // ── Target ───────────────────────────────────────────────────\n object_name: Field.text({\n label: 'Object',\n required: false,\n readonly: true,\n searchable: true,\n maxLength: 255,\n description: 'Target object short name (e.g. account, sys_user)',\n group: 'Target',\n }),\n\n record_id: Field.text({\n label: 'Record ID',\n required: false,\n readonly: true,\n searchable: true,\n group: 'Target',\n }),\n\n record_label: Field.text({\n label: 'Record Label',\n required: false,\n readonly: true,\n maxLength: 255,\n description: 'Display label of the target record at write time',\n group: 'Target',\n }),\n\n url: Field.url({\n label: 'URL',\n required: false,\n readonly: true,\n description: 'Optional deep-link to the activity target',\n group: 'Target',\n }),\n\n // ── Context ──────────────────────────────────────────────────\n project_id: Field.lookup('sys_project', {\n label: 'Project',\n required: false,\n readonly: true,\n searchable: true,\n description: 'Project context (multi-project deployments)',\n group: 'Context',\n }),\n\n metadata: Field.textarea({\n label: 'Metadata',\n required: false,\n readonly: true,\n description: 'JSON-serialized additional context',\n group: 'Context',\n }),\n },\n\n indexes: [\n { fields: ['timestamp'] },\n { fields: ['actor_id'] },\n { fields: ['object_name', 'record_id'] },\n { fields: ['type'] },\n { fields: ['project_id'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: true,\n apiEnabled: true,\n apiMethods: ['get', 'list'],\n trash: false,\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_comment — Threaded Record Comments\n *\n * Generic threaded discussion attached to any record via `thread_id`.\n * `thread_id` is conventionally formatted as `{object}:{record_id}`\n * (e.g. `sys_user:abc123`, `account:9001`) so a single index covers\n * \"all comments on this record\" lookups across every object.\n *\n * Distinct from `feed_item` (Salesforce-style Chatter timeline that\n * mixes comments with field changes / events / approvals). Use\n * `sys_comment` when you want a focused threaded discussion surface\n * without the heavier Chatter envelope.\n *\n * @namespace sys\n */\nexport const SysComment = ObjectSchema.create({\n name: 'sys_comment',\n label: 'Comment',\n pluralLabel: 'Comments',\n icon: 'message-square',\n isSystem: true,\n managedBy: 'platform',\n description: 'Threaded comments attached to records via thread_id',\n displayNameField: 'body',\n titleFormat: '{author_name}: {body}',\n compactLayout: ['created_at', 'author_name', 'body'],\n\n fields: {\n id: Field.text({\n label: 'Comment ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n // ── Thread ───────────────────────────────────────────────────\n thread_id: Field.text({\n label: 'Thread',\n required: true,\n searchable: true,\n maxLength: 255,\n description:\n 'Thread identifier — conventionally `{object}:{record_id}` (e.g. `sys_user:abc123`)',\n group: 'Thread',\n }),\n\n parent_id: Field.lookup('sys_comment', {\n label: 'Parent Comment',\n required: false,\n description: 'Optional parent comment for nested replies',\n group: 'Thread',\n }),\n\n reply_count: Field.number({\n label: 'Reply Count',\n defaultValue: 0,\n readonly: true,\n group: 'Thread',\n }),\n\n // ── Author ───────────────────────────────────────────────────\n author_id: Field.lookup('sys_user', {\n label: 'Author',\n required: true,\n searchable: true,\n group: 'Author',\n }),\n\n author_name: Field.text({\n label: 'Author Name',\n required: false,\n group: 'Author',\n }),\n\n author_avatar_url: Field.url({\n label: 'Author Avatar',\n required: false,\n group: 'Author',\n }),\n\n // ── Body ─────────────────────────────────────────────────────\n body: Field.textarea({\n label: 'Body',\n required: true,\n searchable: true,\n description: 'Comment text (Markdown supported)',\n group: 'Body',\n }),\n\n mentions: Field.textarea({\n label: 'Mentions',\n required: false,\n description: 'JSON array of @mention objects',\n group: 'Body',\n }),\n\n reactions: Field.textarea({\n label: 'Reactions',\n required: false,\n description: 'JSON array of emoji reaction objects',\n group: 'Body',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n is_edited: Field.boolean({\n label: 'Edited',\n defaultValue: false,\n group: 'Lifecycle',\n }),\n\n edited_at: Field.datetime({\n label: 'Edited At',\n required: false,\n group: 'Lifecycle',\n }),\n\n visibility: Field.select(\n ['public', 'internal', 'private'],\n {\n label: 'Visibility',\n defaultValue: 'public',\n group: 'Lifecycle',\n },\n ),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['thread_id', 'created_at'] },\n { fields: ['parent_id'] },\n { fields: ['author_id'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_attachment — Polymorphic File ↔ Record Link\n *\n * Generic join row that attaches a previously-uploaded `sys_file` to\n * any other record. Mirrors the Salesforce \"ContentDocumentLink\" /\n * ServiceNow \"sys_attachment\" pattern: file storage and \"where this\n * file is attached\" are separated, so the same `sys_file` row can be\n * surfaced on multiple records, an org-wide library, or a thread.\n *\n * Conventions:\n * - `parent_object` is the short object name (e.g. `account`, `lead`,\n * `opportunity`, `case`, `sys_comment`).\n * - `parent_id` is the parent record's primary key.\n * - `(parent_object, parent_id)` is the natural index for the\n * \"files on this record\" lookup.\n * - `share_type` follows the Salesforce convention: V = Viewer,\n * C = Collaborator, I = Inferred (inherited from parent record).\n *\n * @namespace sys\n */\nexport const SysAttachment = ObjectSchema.create({\n name: 'sys_attachment',\n label: 'Attachment',\n pluralLabel: 'Attachments',\n icon: 'paperclip',\n isSystem: true,\n managedBy: 'platform',\n description: 'Polymorphic link between a sys_file and any other record',\n titleFormat: '{file_name} → {parent_object}/{parent_id}',\n compactLayout: ['created_at', 'parent_object', 'file_name', 'mime_type', 'size'],\n\n fields: {\n id: Field.text({\n label: 'Attachment ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n // ── Parent (polymorphic) ────────────────────────────────────\n parent_object: Field.text({\n label: 'Parent Object',\n required: true,\n searchable: true,\n maxLength: 128,\n description: 'Short object name of the attached-to record (e.g. account, lead)',\n group: 'Parent',\n }),\n\n parent_id: Field.text({\n label: 'Parent Record',\n required: true,\n searchable: true,\n maxLength: 64,\n description: 'Primary key of the attached-to record',\n group: 'Parent',\n }),\n\n // ── File reference ──────────────────────────────────────────\n file_id: Field.lookup('sys_file', {\n label: 'File',\n required: true,\n description: 'The sys_file storage entry being attached',\n group: 'File',\n }),\n\n file_name: Field.text({\n label: 'File Name',\n required: false,\n searchable: true,\n maxLength: 255,\n description: 'Denormalised copy of sys_file.name for fast list rendering',\n group: 'File',\n }),\n\n mime_type: Field.text({\n label: 'MIME Type',\n required: false,\n maxLength: 128,\n group: 'File',\n }),\n\n size: Field.number({\n label: 'Size (bytes)',\n required: false,\n group: 'File',\n }),\n\n // ── Sharing ────────────────────────────────────────────────\n share_type: Field.select(\n ['viewer', 'collaborator', 'inferred'],\n {\n label: 'Share Type',\n defaultValue: 'viewer',\n description: 'viewer | collaborator | inferred (inherited from parent record)',\n group: 'Sharing',\n },\n ),\n\n visibility: Field.select(\n ['internal', 'all_users', 'shared_users'],\n {\n label: 'Visibility',\n defaultValue: 'internal',\n group: 'Sharing',\n },\n ),\n\n // ── Authoring ──────────────────────────────────────────────\n uploaded_by: Field.lookup('sys_user', {\n label: 'Uploaded By',\n required: false,\n group: 'System',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n maxLength: 1024,\n group: 'File',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['parent_object', 'parent_id', 'created_at'] },\n { fields: ['file_id'] },\n { fields: ['uploaded_by'] },\n ],\n\n enable: {\n trackHistory: false,\n searchable: true,\n apiEnabled: true,\n trash: true,\n mru: false,\n clone: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_notification — Per-User Inbox Notification\n *\n * Personal, unread-trackable notifications. Distinct from\n * `sys_activity` (per-record, append-only narrative) and\n * `sys_audit_log` (compliance-grade structured diff). Each row\n * targets exactly one user (`recipient_id`) and is the source of\n * truth for the header bell badge.\n *\n * Typical writers: comment mention, record assignment, lead-convert\n * completion, flow notifications. Typical readers: header bell,\n * notification center.\n *\n * @namespace sys\n */\nexport const SysNotification = ObjectSchema.create({\n name: 'sys_notification',\n label: 'Notification',\n pluralLabel: 'Notifications',\n icon: 'bell',\n isSystem: true,\n managedBy: 'system',\n description: 'Per-user notification inbox entries',\n displayNameField: 'title',\n titleFormat: '{title}',\n compactLayout: ['title', 'type', 'is_read', 'created_at'],\n\n listViews: {\n unread: {\n type: 'grid',\n name: 'unread',\n label: 'Unread',\n data: { provider: 'object', object: 'sys_notification' },\n columns: ['type', 'title', 'recipient_id', 'created_at'],\n filter: [\n { field: 'recipient_id', operator: 'equals', value: '{current_user_id}' },\n { field: 'is_read', operator: 'equals', value: false },\n ],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n emptyState: { title: 'Inbox zero', message: 'No unread notifications.' },\n },\n mine: {\n type: 'grid',\n name: 'mine',\n label: 'Mine',\n data: { provider: 'object', object: 'sys_notification' },\n columns: ['type', 'title', 'is_read', 'created_at'],\n filter: [{ field: 'recipient_id', operator: 'equals', value: '{current_user_id}' }],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n all_notifications: {\n type: 'grid',\n name: 'all_notifications',\n label: 'All',\n data: { provider: 'object', object: 'sys_notification' },\n columns: ['type', 'title', 'recipient_id', 'is_read', 'created_at'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 100 },\n },\n },\n\n fields: {\n id: Field.text({\n label: 'Notification ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n // ── Routing ──────────────────────────────────────────────────\n recipient_id: Field.lookup('sys_user', {\n label: 'Recipient',\n required: true,\n searchable: true,\n description: 'User the notification is delivered to',\n group: 'Routing',\n }),\n\n // ── Content ──────────────────────────────────────────────────\n type: Field.select(\n ['mention', 'assignment', 'comment_reply', 'lead_converted', 'task_due', 'system'],\n {\n label: 'Type',\n required: true,\n defaultValue: 'system',\n description: 'Notification category — drives icon + sort priority',\n group: 'Content',\n },\n ),\n\n title: Field.text({\n label: 'Title',\n required: true,\n maxLength: 255,\n searchable: true,\n group: 'Content',\n }),\n\n body: Field.textarea({\n label: 'Body',\n required: false,\n description: 'Optional secondary text (one-line summary)',\n group: 'Content',\n }),\n\n // ── Source linkage ───────────────────────────────────────────\n source_object: Field.text({\n label: 'Source Object',\n required: false,\n maxLength: 100,\n description: 'Object name of the related record (e.g. lead, opportunity)',\n group: 'Source',\n }),\n\n source_id: Field.text({\n label: 'Source Record',\n required: false,\n maxLength: 100,\n description: 'Record id within source_object',\n group: 'Source',\n }),\n\n url: Field.url({\n label: 'Deep Link',\n required: false,\n description: 'Optional URL to navigate to when clicked',\n group: 'Source',\n }),\n\n actor_id: Field.lookup('sys_user', {\n label: 'Actor',\n required: false,\n description: 'User who caused the notification (mentioner, assigner)',\n group: 'Source',\n }),\n\n actor_name: Field.text({\n label: 'Actor Name',\n required: false,\n group: 'Source',\n }),\n\n // ── Read state ───────────────────────────────────────────────\n is_read: Field.boolean({\n label: 'Read',\n defaultValue: false,\n description: 'True once recipient acknowledges',\n group: 'State',\n }),\n\n read_at: Field.datetime({\n label: 'Read At',\n required: false,\n group: 'State',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['recipient_id', 'is_read', 'created_at'] },\n { fields: ['recipient_id', 'created_at'] },\n { fields: ['source_object', 'source_id'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_email — Outbound Email Log\n *\n * Persistent record of every email the platform has tried to deliver.\n * Lets administrators audit campaigns, debug delivery failures, and\n * lets users see \"what was sent\" from a record's activity stream.\n *\n * The actual SMTP / API delivery is performed by an `IEmailTransport`\n * implementation injected into the EmailServicePlugin (e.g. nodemailer,\n * SendGrid, Resend). This object only stores the outcome.\n *\n * Typical writers: `IEmailService.send()`.\n * Typical readers: activity timeline, deliverability dashboard.\n *\n * @namespace sys\n */\nexport const SysEmail = ObjectSchema.create({\n name: 'sys_email',\n label: 'Email',\n pluralLabel: 'Emails',\n icon: 'mail',\n isSystem: true,\n managedBy: 'append-only',\n description: 'Outbound email delivery log',\n displayNameField: 'subject',\n titleFormat: '{subject}',\n compactLayout: ['subject', 'to', 'status', 'sent_at'],\n\n fields: {\n id: Field.text({\n label: 'Email ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n // ── Envelope ─────────────────────────────────────────────────\n message_id: Field.text({\n label: 'Message-ID',\n required: false,\n maxLength: 255,\n description: 'RFC-5322 Message-ID assigned by the transport',\n group: 'Envelope',\n }),\n\n from_address: Field.text({\n label: 'From',\n required: true,\n maxLength: 320,\n searchable: true,\n group: 'Envelope',\n }),\n\n to_addresses: Field.text({\n label: 'To',\n required: true,\n maxLength: 4000,\n searchable: true,\n description: 'Comma-separated recipient addresses',\n group: 'Envelope',\n }),\n\n cc_addresses: Field.text({\n label: 'Cc',\n required: false,\n maxLength: 4000,\n group: 'Envelope',\n }),\n\n bcc_addresses: Field.text({\n label: 'Bcc',\n required: false,\n maxLength: 4000,\n group: 'Envelope',\n }),\n\n reply_to: Field.text({\n label: 'Reply-To',\n required: false,\n maxLength: 320,\n group: 'Envelope',\n }),\n\n // ── Content ──────────────────────────────────────────────────\n subject: Field.text({\n label: 'Subject',\n required: true,\n maxLength: 998,\n searchable: true,\n group: 'Content',\n }),\n\n body_text: Field.textarea({\n label: 'Body (text)',\n required: false,\n searchable: true,\n group: 'Content',\n }),\n\n body_html: Field.textarea({\n label: 'Body (HTML)',\n required: false,\n group: 'Content',\n }),\n\n // ── Delivery state ───────────────────────────────────────────\n status: Field.select(\n ['queued', 'sent', 'failed'],\n {\n label: 'Status',\n required: true,\n defaultValue: 'queued',\n description: 'Lifecycle state — queued by IEmailService.send before transport call',\n group: 'State',\n },\n ),\n\n error: Field.textarea({\n label: 'Error',\n required: false,\n description: 'Transport error message when status=failed',\n group: 'State',\n }),\n\n attempt_count: Field.number({\n label: 'Attempts',\n required: false,\n defaultValue: 0,\n description: 'Number of delivery attempts performed by the service',\n group: 'State',\n }),\n\n sent_at: Field.datetime({\n label: 'Sent At',\n required: false,\n description: 'Set when status transitions to \"sent\"',\n group: 'State',\n }),\n\n // ── Source linkage ───────────────────────────────────────────\n related_object: Field.text({\n label: 'Related Object',\n required: false,\n maxLength: 100,\n description: 'Object name of the related record (e.g. lead, opportunity)',\n group: 'Source',\n }),\n\n related_id: Field.text({\n label: 'Related Record',\n required: false,\n maxLength: 100,\n description: 'Record id within related_object',\n group: 'Source',\n }),\n\n sent_by: Field.lookup('sys_user', {\n label: 'Sent By',\n required: false,\n group: 'Source',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['status', 'created_at'] },\n { fields: ['related_object', 'related_id'] },\n { fields: ['sent_by'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_email_template — Outbound Email Template (metadata row)\n *\n * Backing persistence for the `email_template` metadata type. Each\n * row is the runtime representation of an `EmailTemplate` Zod\n * envelope. Resolved by `(name, locale)`; the EmailService picks the\n * best-matching locale for the recipient, falling back to `en-US`.\n *\n * Authoring: built-in templates are seeded by `EmailServicePlugin`\n * on `kernel:ready`; administrators may edit subject/body in Studio\n * and tenants may overlay specific rows.\n *\n * @namespace sys\n */\nexport const SysEmailTemplate = ObjectSchema.create({\n name: 'sys_email_template',\n label: 'Email Template',\n pluralLabel: 'Email Templates',\n icon: 'mail',\n isSystem: true,\n managedBy: 'config',\n description: 'Outbound email template (subject + body + variables) resolved by name+locale',\n displayNameField: 'label',\n titleFormat: '{label}',\n compactLayout: ['name', 'label', 'category', 'locale', 'active'],\n\n fields: {\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n // ── Identity ─────────────────────────────────────────────────\n name: Field.text({\n label: 'Name',\n required: true,\n maxLength: 128,\n description: 'Dotted snake_case identifier (e.g. auth.password_reset)',\n group: 'Identity',\n }),\n label: Field.text({\n label: 'Label',\n required: true,\n maxLength: 200,\n description: 'Human-readable name shown in Studio',\n group: 'Identity',\n }),\n category: Field.select(\n ['auth', 'notification', 'workflow', 'marketing', 'custom'],\n {\n label: 'Category',\n required: true,\n defaultValue: 'custom',\n group: 'Identity',\n },\n ),\n locale: Field.text({\n label: 'Locale',\n required: true,\n defaultValue: 'en-US',\n maxLength: 16,\n description: 'BCP-47 locale tag (en-US, zh-CN, …)',\n group: 'Identity',\n }),\n description: Field.textarea({\n label: 'Description',\n required: false,\n group: 'Identity',\n }),\n\n // ── Content ──────────────────────────────────────────────────\n subject: Field.text({\n label: 'Subject',\n required: true,\n maxLength: 500,\n description: 'Subject template; supports {{var.path}} placeholders',\n group: 'Content',\n }),\n body_html: Field.textarea({\n label: 'HTML Body',\n required: true,\n description: 'HTML body template; supports {{var.path}} placeholders',\n group: 'Content',\n }),\n body_text: Field.textarea({\n label: 'Plain Text Body',\n required: false,\n description: 'Optional plain-text alternative (auto-derived from HTML when blank)',\n group: 'Content',\n }),\n\n // ── Envelope overrides ───────────────────────────────────────\n from_name: Field.text({\n label: 'From Name',\n required: false,\n maxLength: 200,\n group: 'Envelope',\n }),\n from_address: Field.text({\n label: 'From Address',\n required: false,\n maxLength: 255,\n group: 'Envelope',\n }),\n reply_to: Field.text({\n label: 'Reply-To',\n required: false,\n maxLength: 255,\n group: 'Envelope',\n }),\n\n // ── Lifecycle ────────────────────────────────────────────────\n active: Field.boolean({\n label: 'Active',\n required: true,\n defaultValue: true,\n group: 'Lifecycle',\n }),\n is_system: Field.boolean({\n label: 'System Template',\n required: false,\n defaultValue: false,\n readonly: true,\n description: 'Provided by a plugin / platform; tenants may edit but should not delete',\n group: 'Lifecycle',\n }),\n\n /**\n * Variables declared by the template author. Stored as JSON text\n * (array of {name,type,required,description}). Used by the Studio\n * authoring UI to render form hints and by sendTemplate() to\n * validate required vars at runtime.\n */\n variables_json: Field.textarea({\n label: 'Variables (JSON)',\n required: false,\n description: 'JSON array of {name,type,required,description}',\n group: 'Lifecycle',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n updated_at: Field.datetime({ label: 'Updated At', required: false, group: 'System' }),\n },\n\n indexes: [\n { fields: ['name', 'locale'], unique: true },\n { fields: ['category'] },\n { fields: ['active'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_saved_report — Reusable Report Definition\n *\n * A persisted query against a single object that can be re-executed\n * on demand or on a schedule. Acts as the bridge between ad-hoc\n * filtering in the UI and the structured report library administrators\n * curate.\n *\n * The query envelope (`query_json`) is the same shape ObjectQL accepts\n * — `{ filter, fields, orderBy, limit, groupBy }` — so a report can be\n * round-tripped between the list view and the report definition\n * without re-translation.\n *\n * Conventions:\n * - `object_name` is the short object the report queries.\n * - `format` controls how `IReportService.run()` renders the rows\n * (`csv` for downloads, `html_table` for email digests, `json`\n * for raw API consumption).\n *\n * @namespace sys\n */\nexport const SysSavedReport = ObjectSchema.create({\n name: 'sys_saved_report',\n label: 'Saved Report',\n pluralLabel: 'Saved Reports',\n icon: 'bar-chart',\n isSystem: true,\n managedBy: 'platform',\n description: 'Persisted ObjectQL report definition — re-runnable and schedulable',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'object_name', 'format', 'owner_id', 'updated_at'],\n\n fields: {\n id: Field.text({\n label: 'Report ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n name: Field.text({\n label: 'Name',\n required: true,\n maxLength: 200,\n searchable: true,\n group: 'Definition',\n }),\n\n description: Field.textarea({\n label: 'Description',\n required: false,\n group: 'Definition',\n }),\n\n object_name: Field.text({\n label: 'Object',\n required: true,\n maxLength: 100,\n description: 'Short object name the report queries',\n group: 'Definition',\n }),\n\n query_json: Field.textarea({\n label: 'Query',\n required: true,\n description: 'ObjectQL query envelope — { filter, fields, orderBy, limit, groupBy }',\n group: 'Definition',\n }),\n\n format: Field.select(\n ['csv', 'json', 'html_table'],\n {\n label: 'Format',\n required: true,\n defaultValue: 'csv',\n description: 'Rendering used by IReportService.run() and email digests',\n group: 'Definition',\n },\n ),\n\n owner_id: Field.lookup('sys_user', {\n label: 'Owner',\n required: false,\n description: 'User that owns the report definition (drives sharing)',\n group: 'Provenance',\n }),\n\n last_run_at: Field.datetime({\n label: 'Last Run',\n required: false,\n description: 'Stamped by IReportService.run() on successful execution',\n group: 'State',\n }),\n\n last_row_count: Field.number({\n label: 'Last Row Count',\n required: false,\n group: 'State',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['object_name'] },\n { fields: ['owner_id'] },\n { fields: ['name'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_report_schedule — Recurring Report Delivery\n *\n * Joins a `sys_saved_report` to an interval and a recipient list so\n * the reports plugin can deliver \"daily pipeline digest\" / \"weekly\n * lead summary\" without a separate workflow.\n *\n * Scheduling: MVP supports `interval_minutes` only (1440 = daily,\n * 10080 = weekly). The `cron_expression` field is reserved for the\n * follow-up that wires `CronJobAdapter` — when present and the\n * adapter is available, it wins over `interval_minutes`.\n *\n * Delivery: when the master dispatch job ticks (every minute by\n * default), every schedule with `next_run_at <= now` is loaded,\n * its report is executed, the result is rendered into the report's\n * `format`, and the rendered body is emailed to each address in\n * `recipients`. `next_run_at` is then advanced by `interval_minutes`.\n *\n * Conventions:\n * - `recipients` is a comma-separated list of RFC-5322 addresses to\n * keep the schema driver-agnostic. The reports plugin splits and\n * trims before handing the list to IEmailService.\n * - `active=false` disables the schedule without losing its history.\n *\n * @namespace sys\n */\nexport const SysReportSchedule = ObjectSchema.create({\n name: 'sys_report_schedule',\n label: 'Report Schedule',\n pluralLabel: 'Report Schedules',\n icon: 'clock',\n isSystem: true,\n managedBy: 'platform',\n description: 'Recurring delivery of a sys_saved_report via email',\n titleFormat: '{report_id} → {recipients}',\n compactLayout: ['report_id', 'recipients', 'interval_minutes', 'active', 'next_run_at'],\n\n fields: {\n id: Field.text({\n label: 'Schedule ID',\n required: true,\n readonly: true,\n group: 'System',\n }),\n\n report_id: Field.lookup('sys_saved_report', {\n label: 'Report',\n required: true,\n group: 'Schedule',\n }),\n\n name: Field.text({\n label: 'Name',\n required: false,\n maxLength: 200,\n description: 'Optional label for the digest — used in the email subject',\n group: 'Schedule',\n }),\n\n interval_minutes: Field.number({\n label: 'Interval (minutes)',\n required: false,\n defaultValue: 1440,\n description: 'How often to send (1440 = daily, 10080 = weekly)',\n group: 'Schedule',\n }),\n\n cron_expression: Field.text({\n label: 'Cron Expression',\n required: false,\n maxLength: 100,\n description: 'Optional 5/6-field cron — overrides interval_minutes when present',\n group: 'Schedule',\n }),\n\n timezone: Field.text({\n label: 'Timezone',\n required: false,\n maxLength: 64,\n defaultValue: 'UTC',\n group: 'Schedule',\n }),\n\n active: Field.boolean({\n label: 'Active',\n required: true,\n defaultValue: true,\n group: 'Schedule',\n }),\n\n recipients: Field.text({\n label: 'Recipients',\n required: true,\n maxLength: 4000,\n description: 'Comma-separated email addresses',\n group: 'Delivery',\n }),\n\n format: Field.select(\n ['csv', 'html_table'],\n {\n label: 'Format',\n required: false,\n defaultValue: 'html_table',\n description: 'Render format — csv is attached, html_table is inlined',\n group: 'Delivery',\n },\n ),\n\n subject_template: Field.text({\n label: 'Subject Template',\n required: false,\n maxLength: 200,\n description: 'Email subject; {{name}} / {{date}} / {{rows}} are substituted',\n group: 'Delivery',\n }),\n\n owner_id: Field.lookup('sys_user', {\n label: 'Owner',\n required: false,\n group: 'Provenance',\n }),\n\n next_run_at: Field.datetime({\n label: 'Next Run',\n required: false,\n description: 'Dispatcher loads schedules where next_run_at <= now',\n group: 'State',\n }),\n\n last_sent_at: Field.datetime({\n label: 'Last Sent',\n required: false,\n group: 'State',\n }),\n\n last_status: Field.select(\n ['ok', 'failed', 'skipped'],\n {\n label: 'Last Status',\n required: false,\n group: 'State',\n },\n ),\n\n last_error: Field.textarea({\n label: 'Last Error',\n required: false,\n group: 'State',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n group: 'System',\n }),\n },\n\n indexes: [\n // Hot path for the dispatch loop.\n { fields: ['active', 'next_run_at'] },\n { fields: ['report_id'] },\n { fields: ['owner_id'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_approval_process — Approval Process Definition (runtime row).\n *\n * Persists an {@link ApprovalProcess} configuration so administrators\n * can author and version approval flows from the UI without code\n * changes. The Zod schema for the JSON envelope lives at\n * `@objectstack/spec/automation/approval` — this row simply stores\n * a serialised copy alongside the lookup metadata the engine needs to\n * route incoming submissions.\n *\n * One row per `name`. The dispatcher (the `approvals` service) finds\n * the active process for an `(object_name, recordId)` pair by querying\n * `active=true` rows where `object_name` matches.\n *\n * @namespace sys\n */\nexport const SysApprovalProcess = ObjectSchema.create({\n name: 'sys_approval_process',\n label: 'Approval Process',\n pluralLabel: 'Approval Processes',\n icon: 'check-square',\n isSystem: true,\n managedBy: 'config',\n // Authoring an approval process requires a visual step designer that\n // doesn't yet exist — the embedded `definition_json` textarea would\n // force admins to hand-write a multi-page ApprovalProcess envelope.\n // Suppress generic CRUD until the designer lands. Real authoring path:\n // call `defineApprovalProcess({...})` in code and seed via the\n // approvals service (`POST /api/v1/approvals/processes`) or commit the\n // definition as a fixture. Editing existing rows (e.g. toggling\n // `active`) is also suppressed for now because the same textarea would\n // appear; use the service API or a future designer instead.\n userActions: { create: false, edit: false, delete: false, import: false },\n description: 'Persisted approval process definition. Authored via defineApprovalProcess() in code; visual designer is on the roadmap.',\n displayNameField: 'name',\n titleFormat: '{label}',\n compactLayout: ['name', 'object_name', 'active', 'updated_at'],\n\n listViews: {\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_approval_process' },\n columns: ['label', 'object_name', 'active', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: true }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n inactive: {\n type: 'grid',\n name: 'inactive',\n label: 'Inactive',\n data: { provider: 'object', object: 'sys_approval_process' },\n columns: ['label', 'object_name', 'active', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: false }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n by_object: {\n type: 'grid',\n name: 'by_object',\n label: 'By Object',\n data: { provider: 'object', object: 'sys_approval_process' },\n columns: ['object_name', 'label', 'active', 'updated_at'],\n sort: [{ field: 'object_name', order: 'asc' }, { field: 'label', order: 'asc' }],\n grouping: { fields: [{ field: 'object_name', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n all_processes: {\n type: 'grid',\n name: 'all_processes',\n label: 'All',\n data: { provider: 'object', object: 'sys_approval_process' },\n columns: ['label', 'object_name', 'active', 'updated_at'],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n id: Field.text({ label: 'Process ID', required: true, readonly: true, group: 'System' }),\n\n name: Field.text({\n label: 'Name',\n required: true,\n maxLength: 100,\n description: 'Unique snake_case name — referenced by submitters and audit rows',\n group: 'Definition',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: true,\n maxLength: 200,\n group: 'Definition',\n }),\n\n object_name: Field.text({\n label: 'Object',\n required: true,\n maxLength: 100,\n description: 'Short object name this process governs',\n group: 'Definition',\n }),\n\n description: Field.textarea({ label: 'Description', required: false, group: 'Definition' }),\n\n active: Field.boolean({\n label: 'Active',\n required: true,\n defaultValue: false,\n description: 'Only active processes are dispatched on submission',\n group: 'Definition',\n }),\n\n definition_json: Field.textarea({\n label: 'Definition',\n required: true,\n description: 'Serialised ApprovalProcess JSON (see @objectstack/spec/automation/approval)',\n group: 'Definition',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({ label: 'Updated At', required: false, group: 'System' }),\n },\n\n indexes: [\n { fields: ['name'], unique: true },\n { fields: ['object_name'] },\n { fields: ['active', 'object_name'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_approval_request — Live approval instance.\n *\n * Created when a user invokes `IApprovalService.submit(...)` and\n * advanced as approvers act on each step. The row's lifecycle:\n *\n * `pending` → (per-step approvals) → `approved` | `rejected`\n * `pending` → recalled by submitter → `recalled`\n *\n * `current_step` / `current_step_index` mirror the index into the\n * process's `steps[]` array so the engine can resume after a restart\n * without re-deriving state from the audit log.\n *\n * `payload_json` captures a snapshot of the target record at submission\n * time — used by the email/feed actions so they can render before the\n * record is locked or changed.\n *\n * @namespace sys\n */\nexport const SysApprovalRequest = ObjectSchema.create({\n name: 'sys_approval_request',\n label: 'Approval Request',\n pluralLabel: 'Approval Requests',\n icon: 'inbox',\n isSystem: true,\n managedBy: 'system',\n description: 'Live approval instance tracked per submission',\n displayNameField: 'id',\n titleFormat: '{process_name} · {record_id}',\n compactLayout: ['process_name', 'object_name', 'record_id', 'status', 'current_step', 'submitter_id', 'updated_at'],\n\n // Curated built-in list views — render as segmented tabs in the console.\n // Filters use {current_user_id} substitution wired by the console.\n listViews: {\n my_pending: {\n type: 'grid',\n name: 'my_pending',\n label: 'My Pending',\n data: { provider: 'object', object: 'sys_approval_request' },\n columns: ['process_name', 'object_name', 'record_id', 'current_step', 'submitter_id', 'updated_at'],\n filter: [\n { field: 'status', operator: 'equals', value: 'pending' },\n { field: 'pending_approvers', operator: 'contains', value: '{current_user_id}' },\n ],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 25 },\n emptyState: { title: 'No pending approvals', message: 'You\\'re all caught up.' },\n },\n submitted_by_me: {\n type: 'grid',\n name: 'submitted_by_me',\n label: 'I Submitted',\n data: { provider: 'object', object: 'sys_approval_request' },\n columns: ['process_name', 'object_name', 'record_id', 'status', 'current_step', 'updated_at'],\n filter: [{ field: 'submitter_id', operator: 'equals', value: '{current_user_id}' }],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 25 },\n },\n completed: {\n type: 'grid',\n name: 'completed',\n label: 'Completed',\n data: { provider: 'object', object: 'sys_approval_request' },\n columns: ['process_name', 'object_name', 'record_id', 'status', 'submitter_id', 'completed_at'],\n filter: [{ field: 'status', operator: 'in', value: ['approved', 'rejected', 'recalled'] }],\n sort: [{ field: 'completed_at', order: 'desc' }],\n pagination: { pageSize: 25 },\n },\n all_requests: {\n type: 'grid',\n name: 'all_requests',\n label: 'All',\n data: { provider: 'object', object: 'sys_approval_request' },\n columns: ['process_name', 'object_name', 'record_id', 'status', 'current_step', 'submitter_id', 'updated_at'],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n id: Field.text({ label: 'Request ID', required: true, readonly: true, group: 'System' }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n group: 'System',\n description: 'Tenant that owns this approval request (propagated from submitter context)',\n }),\n\n process_name: Field.text({\n label: 'Process',\n required: true,\n maxLength: 100,\n description: 'sys_approval_process.name this request was opened against',\n group: 'Target',\n }),\n\n object_name: Field.text({\n label: 'Object',\n required: true,\n maxLength: 100,\n group: 'Target',\n }),\n\n record_id: Field.text({\n label: 'Record ID',\n required: true,\n maxLength: 100,\n group: 'Target',\n }),\n\n submitter_id: Field.lookup('sys_user', {\n label: 'Submitter',\n required: false,\n group: 'Target',\n }),\n\n submitter_comment: Field.textarea({\n label: 'Submitter Comment',\n required: false,\n group: 'Target',\n }),\n\n status: Field.select(\n ['pending', 'approved', 'rejected', 'recalled'],\n {\n label: 'Status',\n required: true,\n defaultValue: 'pending',\n description: 'Lifecycle state of the request',\n group: 'State',\n },\n ),\n\n current_step: Field.text({\n label: 'Current Step',\n required: false,\n maxLength: 100,\n description: 'Machine name of the step awaiting approval',\n group: 'State',\n }),\n\n current_step_index: Field.number({\n label: 'Current Step Index',\n required: false,\n defaultValue: 0,\n group: 'State',\n }),\n\n pending_approvers: Field.textarea({\n label: 'Pending Approvers',\n required: false,\n description: 'Comma-separated user ids who can act on the current step',\n group: 'State',\n }),\n\n payload_json: Field.textarea({\n label: 'Snapshot',\n required: false,\n description: 'Record snapshot at submission time',\n group: 'State',\n }),\n\n completed_at: Field.datetime({\n label: 'Completed At',\n required: false,\n group: 'State',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({ label: 'Updated At', required: false, group: 'System' }),\n },\n\n indexes: [\n // Look up \"is there a pending request for this record?\" — common\n // guard on submit and on edit-while-locked checks.\n { fields: ['object_name', 'record_id'] },\n { fields: ['status', 'object_name'] },\n // \"My approvals\" inbox — pending_approvers is a CSV string so this\n // index only helps with status pre-filtering; the engine does a\n // post-filter substring match per row.\n { fields: ['status', 'updated_at'] },\n { fields: ['submitter_id', 'status'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_approval_action — Audit trail row per approval action.\n *\n * Append-only: every `submit`, `approve`, `reject`, `recall`, or\n * `escalate` event lands here. The engine reads back per-step approval\n * rows to evaluate `behavior: 'unanimous'` (all approvers must approve\n * before advancing) versus `first_response` (any single approval\n * advances the step).\n *\n * @namespace sys\n */\nexport const SysApprovalAction = ObjectSchema.create({\n name: 'sys_approval_action',\n label: 'Approval Action',\n pluralLabel: 'Approval Actions',\n icon: 'check-circle',\n isSystem: true,\n managedBy: 'append-only',\n description: 'Append-only audit trail for approval actions',\n displayNameField: 'id',\n titleFormat: '{action} · {step_name}',\n compactLayout: ['request_id', 'step_name', 'action', 'actor_id', 'created_at'],\n\n listViews: {\n recent: {\n type: 'grid',\n name: 'recent',\n label: 'Recent',\n data: { provider: 'object', object: 'sys_approval_action' },\n columns: ['created_at', 'request_id', 'step_name', 'action', 'actor_id', 'comment'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 50 },\n emptyState: { title: 'No approval actions yet', message: 'Actions are logged automatically when approvals progress.' },\n },\n by_actor: {\n type: 'grid',\n name: 'by_actor',\n label: 'By Actor',\n data: { provider: 'object', object: 'sys_approval_action' },\n columns: ['actor_id', 'created_at', 'request_id', 'step_name', 'action'],\n sort: [{ field: 'actor_id', order: 'asc' }, { field: 'created_at', order: 'desc' }],\n grouping: { fields: [{ field: 'actor_id', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n all_actions: {\n type: 'grid',\n name: 'all_actions',\n label: 'All',\n data: { provider: 'object', object: 'sys_approval_action' },\n columns: ['created_at', 'request_id', 'step_name', 'action', 'actor_id', 'comment'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pagination: { pageSize: 100 },\n },\n },\n\n fields: {\n id: Field.text({ label: 'Action ID', required: true, readonly: true, group: 'System' }),\n\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n group: 'System',\n description: 'Tenant that owns this action (mirrors the parent request)',\n }),\n\n request_id: Field.lookup('sys_approval_request', {\n label: 'Request',\n required: true,\n group: 'Target',\n }),\n\n step_name: Field.text({\n label: 'Step',\n required: false,\n maxLength: 100,\n description: 'Machine name of the step at the time of the action',\n group: 'Target',\n }),\n\n step_index: Field.number({\n label: 'Step Index',\n required: false,\n group: 'Target',\n }),\n\n action: Field.select(\n ['submit', 'approve', 'reject', 'recall', 'escalate'],\n {\n label: 'Action',\n required: true,\n group: 'Action',\n },\n ),\n\n actor_id: Field.lookup('sys_user', {\n label: 'Actor',\n required: false,\n group: 'Action',\n }),\n\n comment: Field.textarea({ label: 'Comment', required: false, group: 'Action' }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['request_id', 'created_at'] },\n { fields: ['request_id', 'step_index', 'action'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_job — Registered Background Jobs\n *\n * Catalogue row for every job currently scheduled by an `IJobService`\n * implementation. Lets ops see the full list of recurring/one-off tasks\n * (cron, interval, once) running on this ObjectStack instance, when each\n * last ran, and whether it is currently active.\n *\n * Writers: the active job adapter (`DbJobAdapter` upserts on `schedule()`).\n * Readers: Studio \"Background Jobs\" view, ops dashboards.\n *\n * @namespace sys\n */\nexport const SysJob = ObjectSchema.create({\n name: 'sys_job',\n label: 'Background Job',\n pluralLabel: 'Background Jobs',\n icon: 'clock',\n isSystem: true,\n managedBy: 'system',\n description: 'Catalogue of registered background jobs',\n displayNameField: 'name',\n titleFormat: '{name}',\n compactLayout: ['name', 'schedule_type', 'active', 'last_run_at', 'last_status'],\n\n fields: {\n id: Field.text({ label: 'Job ID', required: true, readonly: true, group: 'System' }),\n\n name: Field.text({\n label: 'Job Name',\n required: true,\n maxLength: 255,\n searchable: true,\n description: 'Unique job identifier (snake_case)',\n group: 'Identity',\n }),\n\n schedule_type: Field.select(['cron', 'interval', 'once'], {\n label: 'Schedule Type',\n required: true,\n group: 'Schedule',\n }),\n\n schedule_expression: Field.text({\n label: 'Expression',\n required: false,\n maxLength: 200,\n description: 'Cron expression / interval ms / ISO datetime',\n group: 'Schedule',\n }),\n\n timezone: Field.text({\n label: 'Timezone',\n required: false,\n maxLength: 100,\n group: 'Schedule',\n }),\n\n active: Field.boolean({\n label: 'Active',\n required: true,\n defaultValue: true,\n description: 'Whether the scheduler is currently running this job',\n group: 'State',\n }),\n\n last_run_at: Field.datetime({ label: 'Last Run At', required: false, group: 'State' }),\n last_status: Field.select(\n ['success', 'failed', 'timeout', 'running'],\n { label: 'Last Status', required: false, group: 'State' },\n ),\n last_error: Field.textarea({ label: 'Last Error', required: false, group: 'State' }),\n run_count: Field.number({ label: 'Run Count', required: false, defaultValue: 0, group: 'State' }),\n failure_count: Field.number({ label: 'Failure Count', required: false, defaultValue: 0, group: 'State' }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n updated_at: Field.datetime({ label: 'Updated At', required: false, group: 'System' }),\n },\n\n indexes: [\n { fields: ['name'], unique: true },\n { fields: ['active'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_job_run — Background Job Execution History\n *\n * Each row is one execution of a registered job (`sys_job`). Stores\n * outcome, duration, error, and whether the run was a manual trigger or\n * a scheduled tick. Replaces the in-memory `executions[]` array from\n * `IntervalJobAdapter`.\n *\n * Writers: the active job adapter.\n * Readers: Studio \"Job Runs\" view, dashboards, alerting.\n *\n * @namespace sys\n */\nexport const SysJobRun = ObjectSchema.create({\n name: 'sys_job_run',\n label: 'Job Run',\n pluralLabel: 'Job Runs',\n icon: 'play',\n isSystem: true,\n managedBy: 'append-only',\n description: 'Background job execution audit trail',\n displayNameField: 'job_name',\n titleFormat: '{job_name} @ {started_at}',\n compactLayout: ['job_name', 'status', 'started_at', 'duration_ms', 'attempt'],\n\n fields: {\n id: Field.text({ label: 'Run ID', required: true, readonly: true, group: 'System' }),\n\n job_name: Field.text({\n label: 'Job',\n required: true,\n maxLength: 255,\n searchable: true,\n group: 'Identity',\n }),\n\n status: Field.select(\n ['running', 'success', 'failed', 'timeout'],\n { label: 'Status', required: true, defaultValue: 'running', group: 'State' },\n ),\n\n started_at: Field.datetime({ label: 'Started At', required: true, group: 'State' }),\n completed_at: Field.datetime({ label: 'Completed At', required: false, group: 'State' }),\n duration_ms: Field.number({ label: 'Duration (ms)', required: false, group: 'State' }),\n attempt: Field.number({\n label: 'Attempt',\n required: false,\n defaultValue: 1,\n description: '1 for first run, >1 for retries/replays',\n group: 'State',\n }),\n\n trigger: Field.select(\n ['schedule', 'manual', 'replay'],\n { label: 'Trigger', required: false, defaultValue: 'schedule', group: 'State' },\n ),\n\n error: Field.textarea({ label: 'Error', required: false, group: 'State' }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n },\n\n indexes: [\n { fields: ['job_name', 'started_at'] },\n { fields: ['status', 'started_at'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_job_queue — Durable Background Job / Message Queue + DLQ\n *\n * The persistent backing store for `DbQueueAdapter`. Each row is one\n * enqueued message — pending until a worker leases (`status='running'`),\n * then `completed`, `failed`, or finally `dlq` after exhausting retries.\n *\n * DLQ rows are simply `status='dlq'` rows in this same table; no separate\n * table needed. Listing/replay is a filter on `status`.\n *\n * Idempotency: `idempotency_key` + `queue` are deduplicated by the adapter\n * over a configurable window (default 24h) — the column is indexed.\n *\n * Concurrency: workers claim a row by CAS-updating `status` from `pending`\n * to `running` plus setting `locked_by`/`locked_until`. Reads only return\n * rows whose lock has not been claimed (or whose lease expired).\n *\n * Writers: `DbQueueAdapter` (publish/lease/complete/fail).\n * Readers: Studio DLQ view, ops dashboards, the adapter's worker loop.\n *\n * @namespace sys\n */\nexport const SysJobQueue = ObjectSchema.create({\n name: 'sys_job_queue',\n label: 'Job Queue Message',\n pluralLabel: 'Job Queue Messages',\n icon: 'inbox',\n isSystem: true,\n managedBy: 'system',\n description: 'Durable job/message queue including dead letters',\n displayNameField: 'queue',\n titleFormat: '{queue} #{id}',\n compactLayout: ['queue', 'status', 'attempts', 'scheduled_for', 'last_error'],\n\n fields: {\n id: Field.text({ label: 'Message ID', required: true, readonly: true, group: 'System' }),\n\n queue: Field.text({\n label: 'Queue',\n required: true,\n maxLength: 255,\n searchable: true,\n description: 'Logical queue name (snake_case)',\n group: 'Identity',\n }),\n\n idempotency_key: Field.text({\n label: 'Idempotency Key',\n required: false,\n maxLength: 255,\n description: 'Deduplication key within (queue, window)',\n group: 'Identity',\n }),\n\n payload_json: Field.textarea({\n label: 'Payload (JSON)',\n required: false,\n description: 'Serialized message body',\n group: 'Content',\n }),\n\n metadata_json: Field.textarea({\n label: 'Metadata (JSON)',\n required: false,\n description: 'Serialized metadata bag (tenant_id, source_record, ...)',\n group: 'Content',\n }),\n\n status: Field.select(\n ['pending', 'running', 'completed', 'failed', 'dlq'],\n {\n label: 'Status',\n required: true,\n defaultValue: 'pending',\n description: 'Lifecycle state',\n group: 'State',\n },\n ),\n\n priority: Field.number({\n label: 'Priority',\n required: false,\n defaultValue: 100,\n description: 'Lower = higher priority',\n group: 'Schedule',\n }),\n\n attempts: Field.number({ label: 'Attempts', required: false, defaultValue: 0, group: 'State' }),\n max_attempts: Field.number({ label: 'Max Attempts', required: false, defaultValue: 3, group: 'State' }),\n\n backoff_type: Field.select(\n ['fixed', 'exponential'],\n { label: 'Backoff', required: false, defaultValue: 'exponential', group: 'Schedule' },\n ),\n backoff_delay_ms: Field.number({\n label: 'Backoff Base (ms)',\n required: false,\n defaultValue: 1000,\n group: 'Schedule',\n }),\n backoff_max_delay_ms: Field.number({\n label: 'Backoff Cap (ms)',\n required: false,\n group: 'Schedule',\n }),\n\n scheduled_for: Field.datetime({\n label: 'Scheduled For',\n required: false,\n description: 'Earliest time a worker may lease this message',\n group: 'Schedule',\n }),\n\n locked_by: Field.text({\n label: 'Locked By',\n required: false,\n maxLength: 255,\n description: 'Worker id holding the lease',\n group: 'Lease',\n }),\n locked_until: Field.datetime({\n label: 'Locked Until',\n required: false,\n description: 'Lease expiry; if past, another worker may claim',\n group: 'Lease',\n }),\n\n last_error: Field.textarea({ label: 'Last Error', required: false, group: 'State' }),\n completed_at: Field.datetime({ label: 'Completed At', required: false, group: 'State' }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n updated_at: Field.datetime({ label: 'Updated At', required: false, group: 'System' }),\n },\n\n indexes: [\n { fields: ['queue', 'status', 'scheduled_for'] },\n { fields: ['idempotency_key', 'queue'] },\n { fields: ['status'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_webhook — Outbound HTTP integration configuration (runtime).\n *\n * Persists a single {@link Webhook} envelope per row so administrators\n * can author, enable/disable, and edit webhook subscriptions from the\n * Studio UI without code changes. The canonical Zod schema for the\n * `definition_json` envelope lives at `@objectstack/spec/automation/webhook`.\n *\n * One row per `name`. The HTTP connector plugin\n * (`@objectstack/service-automation/plugins/http-connector-plugin`) loads\n * active rows on boot + on `sys_webhook:changed` events, registers\n * `afterInsert` / `afterUpdate` / `afterDelete` listeners for the\n * targeted object, and dispatches outbound HTTP calls when matching\n * record events fire.\n *\n * Platform-wide on purpose: every project (standalone, single-tenant,\n * cloud) can integrate with external systems (Slack, Stripe, internal\n * services) the same way. The control-plane-only `sys_project*`\n * objects live in @objectstack/service-tenant; webhooks are\n * orthogonal and ship with every kernel.\n *\n * @namespace sys\n */\nexport const SysWebhook = ObjectSchema.create({\n name: 'sys_webhook',\n label: 'Webhook',\n pluralLabel: 'Webhooks',\n icon: 'webhook',\n isSystem: true,\n managedBy: 'config',\n // Authoring a webhook from the UI requires a structured form for the\n // headers / auth / retry / payload blocks — the generic JSON textarea\n // is acceptable as a v1 until a dedicated builder lands. Re-enable\n // create/edit/delete so admins can at least toggle `active` and edit\n // simple URL/method fields without round-tripping through code.\n userActions: { create: true, edit: true, delete: true, import: false },\n description: 'Outbound HTTP webhook subscription. Authored via defineWebhook() in code or the Studio editor; executed by the HTTP connector plugin.',\n displayNameField: 'name',\n titleFormat: '{label}',\n compactLayout: ['name', 'object_name', 'url', 'active', 'updated_at'],\n\n listViews: {\n active: {\n type: 'grid',\n name: 'active',\n label: 'Active',\n data: { provider: 'object', object: 'sys_webhook' },\n columns: ['label', 'object_name', 'url', 'method', 'active', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: true }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n inactive: {\n type: 'grid',\n name: 'inactive',\n label: 'Inactive',\n data: { provider: 'object', object: 'sys_webhook' },\n columns: ['label', 'object_name', 'url', 'method', 'active', 'updated_at'],\n filter: [{ field: 'active', operator: 'equals', value: false }],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n by_object: {\n type: 'grid',\n name: 'by_object',\n label: 'By Object',\n data: { provider: 'object', object: 'sys_webhook' },\n columns: ['object_name', 'label', 'url', 'active', 'updated_at'],\n sort: [{ field: 'object_name', order: 'asc' }, { field: 'label', order: 'asc' }],\n grouping: { fields: [{ field: 'object_name', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 100 },\n },\n all_webhooks: {\n type: 'grid',\n name: 'all_webhooks',\n label: 'All',\n data: { provider: 'object', object: 'sys_webhook' },\n columns: ['label', 'object_name', 'url', 'method', 'active', 'updated_at'],\n sort: [{ field: 'label', order: 'asc' }],\n pagination: { pageSize: 50 },\n },\n },\n\n fields: {\n id: Field.text({ label: 'Webhook ID', required: true, readonly: true, group: 'System' }),\n\n name: Field.text({\n label: 'Name',\n required: true,\n maxLength: 100,\n description: 'Unique snake_case name — referenced in logs and audit',\n group: 'Definition',\n }),\n\n label: Field.text({\n label: 'Display Label',\n required: false,\n maxLength: 200,\n group: 'Definition',\n }),\n\n object_name: Field.text({\n label: 'Object',\n required: false,\n maxLength: 100,\n description: 'Short object name whose events fire this webhook (blank = manual / API-triggered)',\n group: 'Definition',\n }),\n\n triggers: Field.text({\n label: 'Triggers',\n required: false,\n maxLength: 200,\n description: 'Comma-separated event list: create,update,delete,undelete,api',\n group: 'Definition',\n }),\n\n url: Field.text({\n label: 'Target URL',\n required: true,\n maxLength: 2048,\n description: 'External endpoint that receives the POST',\n group: 'Definition',\n }),\n\n method: Field.text({\n label: 'HTTP Method',\n required: true,\n defaultValue: 'POST',\n maxLength: 10,\n description: 'GET / POST / PUT / PATCH / DELETE',\n group: 'Definition',\n }),\n\n description: Field.textarea({ label: 'Description', required: false, group: 'Definition' }),\n\n active: Field.boolean({\n label: 'Active',\n required: true,\n defaultValue: true,\n description: 'Inactive webhooks are skipped by the dispatcher',\n group: 'Definition',\n }),\n\n definition_json: Field.textarea({\n label: 'Definition',\n required: true,\n description: 'Serialised Webhook JSON (see @objectstack/spec/automation/webhook) — full headers/auth/retry/payload config',\n group: 'Definition',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: true,\n defaultValue: 'NOW()',\n readonly: true,\n group: 'System',\n }),\n\n updated_at: Field.datetime({ label: 'Updated At', required: false, group: 'System' }),\n },\n\n indexes: [\n { fields: ['name'], unique: true },\n { fields: ['object_name'] },\n { fields: ['active', 'object_name'] },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_metadata — System Metadata Object\n *\n * Canonical ObjectStack object definition for the metadata persistence table.\n * Stores all platform-scope and user-scope metadata records (Objects, Views,\n * Flows, etc.) using the MetadataRecordSchema envelope.\n *\n * This is a system object (isSystem: true) — protected from deletion and\n * automatically provisioned by the DatabaseLoader on first use.\n *\n * @see MetadataRecordSchema in metadata-persistence.zod.ts\n */\nexport const SysMetadataObject = ObjectSchema.create({\n name: 'sys_metadata',\n label: 'System Metadata',\n pluralLabel: 'System Metadata',\n icon: 'settings',\n isSystem: true,\n // managedBy: 'system' — the metadata table backs every other config\n // object. Writing rows directly here bypasses the typed Zod APIs and\n // would let an admin inject malformed payloads. The \"All Metadata\"\n // menu is therefore a read-only debug surface (Export only); typed\n // edits flow through the dedicated per-type pages (Approval Process,\n // Sharing Rule, etc.).\n managedBy: 'system',\n description: 'Stores platform and user-scope metadata records (objects, views, flows, etc.)',\n\n fields: {\n /** Primary Key (UUID) */\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n /** Machine name — unique identifier used in code references */\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n maxLength: 255,\n }),\n\n /** Metadata type (e.g. \"object\", \"view\", \"flow\") */\n type: Field.text({\n label: 'Metadata Type',\n required: true,\n searchable: true,\n maxLength: 100,\n }),\n\n /** Namespace / module grouping (e.g. \"crm\", \"core\") */\n namespace: Field.text({\n label: 'Namespace',\n required: false,\n defaultValue: 'default',\n maxLength: 100,\n }),\n\n /** Package that owns/delivered this metadata (legacy string identifier, kept for compat) */\n package_id: Field.text({\n label: 'Package ID',\n required: false,\n maxLength: 255,\n description: 'Legacy package manifest ID string. Use package_version_id for new records.',\n }),\n\n /**\n * FK → sys_package_version (UUID). Set for metadata that belongs to a specific\n * package release snapshot. NULL = platform-built-in or environment override.\n */\n package_version_id: Field.lookup('sys_package_version', {\n label: 'Package Version',\n required: false,\n description:\n 'Foreign key to sys_package_version (UUID). Null = platform-built-in or env-level override.',\n }),\n\n /** Who manages this record: package, platform, or user */\n managed_by: Field.select(['package', 'platform', 'user'], {\n label: 'Managed By',\n required: false,\n }),\n\n /** Scope: system (code), platform (admin DB), user (personal DB) */\n scope: Field.select(['system', 'platform', 'user'], {\n label: 'Scope',\n required: true,\n defaultValue: 'platform',\n }),\n\n /** JSON payload — the actual metadata configuration */\n metadata: Field.textarea({\n label: 'Metadata',\n required: true,\n description: 'JSON-serialized metadata payload',\n }),\n\n /** Parent metadata name for extension/override */\n extends: Field.text({\n label: 'Extends',\n required: false,\n maxLength: 255,\n }),\n\n /** Merge strategy when extending parent metadata */\n strategy: Field.select(['merge', 'replace'], {\n label: 'Strategy',\n required: false,\n defaultValue: 'merge',\n }),\n\n /** Owner user ID (for user-scope items) */\n owner: Field.text({\n label: 'Owner',\n required: false,\n maxLength: 255,\n }),\n\n /** Lifecycle state */\n state: Field.select(['draft', 'active', 'archived', 'deprecated'], {\n label: 'State',\n required: false,\n defaultValue: 'active',\n }),\n\n /** Organization ID for multi-tenant isolation */\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n description: 'Organization for multi-tenant isolation.',\n }),\n\n /**\n * @deprecated ADR-0005 (revised 2026-05): per-env DBs replace per-project\n * isolation. `project_id` is no longer written by saveMetaItem and not\n * consulted by overlay reads. Kept for legacy rows; new writes leave it\n * NULL. Will be dropped in a future schema migration.\n */\n project_id: Field.lookup('sys_project', {\n label: 'Project (deprecated)',\n required: false,\n description: 'DEPRECATED. Use organization_id for tenant isolation.',\n }),\n\n /** Version number for optimistic concurrency */\n version: Field.number({\n label: 'Version',\n required: false,\n defaultValue: 1,\n }),\n\n /** Content checksum for change detection */\n checksum: Field.text({\n label: 'Checksum',\n required: false,\n maxLength: 64,\n }),\n\n /** Origin of this metadata record */\n source: Field.select(['filesystem', 'database', 'api', 'migration'], {\n label: 'Source',\n required: false,\n }),\n\n /** Classification tags (JSON array) */\n tags: Field.textarea({\n label: 'Tags',\n required: false,\n description: 'JSON-serialized array of classification tags',\n }),\n\n /** Audit fields */\n created_by: Field.lookup('sys_user', {\n label: 'Created By',\n required: false,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n required: false,\n readonly: true,\n }),\n\n updated_by: Field.lookup('sys_user', {\n label: 'Updated By',\n required: false,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n required: false,\n }),\n },\n\n indexes: [\n // ADR-0005 (revised 2026-05): overlay uniqueness is scoped by\n // (type, name, organization_id), restricted to active rows so resets\n // / archived versions don't collide. project_id is deprecated and\n // not part of the discriminator. The runtime layer (protocol.ts\n // ensureOverlayIndex) issues a DROP-then-CREATE migration to\n // replace any pre-existing legacy composite index in-place.\n {\n name: 'idx_sys_metadata_overlay_active',\n fields: ['type', 'name', 'organization_id'],\n unique: true,\n partial: \"state = 'active'\",\n },\n { name: 'idx_sys_metadata_org_type', fields: ['organization_id', 'type'] },\n { fields: ['type', 'scope'] },\n { fields: ['package_version_id'] },\n { fields: ['state'] },\n { fields: ['namespace'] },\n ],\n\n enable: {\n trackHistory: true,\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list', 'create', 'update', 'delete'],\n trash: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_metadata_history — Metadata Version History Object\n *\n * Stores historical snapshots of metadata changes for version tracking,\n * audit trail, and rollback capabilities.\n *\n * This is a system object (isSystem: true) — protected from deletion and\n * automatically provisioned when metadata history is enabled.\n *\n * Each record represents a single version snapshot of a metadata item,\n * created whenever the metadata is modified, published, or reverted.\n *\n * @see MetadataHistoryRecordSchema in metadata-persistence.zod.ts\n */\nexport const SysMetadataHistoryObject = ObjectSchema.create({\n name: 'sys_metadata_history',\n label: 'Metadata History',\n pluralLabel: 'Metadata History',\n icon: 'history',\n isSystem: true,\n managedBy: 'system',\n description: 'Version history and audit trail for metadata changes',\n\n fields: {\n /** Primary Key (UUID) */\n id: Field.text({\n label: 'ID',\n required: true,\n readonly: true,\n }),\n\n /** Foreign key to sys_metadata.id */\n metadata_id: Field.lookup('sys_metadata', {\n label: 'Metadata',\n required: true,\n readonly: true,\n }),\n\n /** Machine name (denormalized for easier querying) */\n name: Field.text({\n label: 'Name',\n required: true,\n searchable: true,\n readonly: true,\n maxLength: 255,\n }),\n\n /** Metadata type (denormalized for easier querying) */\n type: Field.text({\n label: 'Metadata Type',\n required: true,\n searchable: true,\n readonly: true,\n maxLength: 100,\n }),\n\n /** Version number at this snapshot */\n version: Field.number({\n label: 'Version',\n required: true,\n readonly: true,\n }),\n\n /** Type of operation that created this history entry */\n operation_type: Field.select(['create', 'update', 'publish', 'revert', 'delete'], {\n label: 'Operation Type',\n required: true,\n readonly: true,\n }),\n\n /** Historical metadata snapshot (JSON payload) */\n metadata: Field.textarea({\n label: 'Metadata',\n required: true,\n readonly: true,\n description: 'JSON-serialized metadata snapshot at this version',\n }),\n\n /** SHA-256 checksum of metadata content */\n checksum: Field.text({\n label: 'Checksum',\n required: true,\n readonly: true,\n maxLength: 64,\n }),\n\n /** Checksum of the previous version */\n previous_checksum: Field.text({\n label: 'Previous Checksum',\n required: false,\n readonly: true,\n maxLength: 64,\n }),\n\n /** Human-readable description of changes */\n change_note: Field.textarea({\n label: 'Change Note',\n required: false,\n readonly: true,\n description: 'Description of what changed in this version',\n }),\n\n /** Organization ID for multi-tenant isolation */\n organization_id: Field.lookup('sys_organization', {\n label: 'Organization',\n required: false,\n readonly: true,\n description: 'Organization for multi-tenant isolation.',\n }),\n\n /** Environment ID — null = platform-global, set = env-scoped */\n project_id: Field.text({\n label: 'Environment ID',\n required: false,\n readonly: true,\n maxLength: 255,\n description: 'Scopes this history entry to a specific environment.',\n }),\n\n /** User who made this change */\n recorded_by: Field.lookup('sys_user', {\n label: 'Recorded By',\n required: false,\n readonly: true,\n }),\n\n /** When was this version recorded */\n recorded_at: Field.datetime({\n label: 'Recorded At',\n required: true,\n readonly: true,\n }),\n },\n\n indexes: [\n { fields: ['metadata_id', 'version'], unique: true },\n { fields: ['metadata_id', 'recorded_at'] },\n { fields: ['type', 'name'] },\n { fields: ['recorded_at'] },\n { fields: ['operation_type'] },\n { fields: ['organization_id'] },\n { fields: ['project_id'] },\n ],\n\n enable: {\n trackHistory: false, // Don't track history of history records\n searchable: false,\n apiEnabled: true,\n apiMethods: ['get', 'list'], // Read-only via API\n trash: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_setting — Generic K/V store backing the SettingsManifest contract\n *\n * Single physical table that holds *every* value for *every* settings\n * namespace declared by a `SettingsManifest`. Plugins MUST NOT define\n * per-namespace tables (e.g. `sys_mail_config`); they declare a manifest\n * and the value persists here.\n *\n * Row identity: (namespace, key, scope, user_id?).\n *\n * Resolution order (handled by `SettingsService.get`):\n * 1. process.env override (source='env', locked=true)\n * 2. sys_setting WHERE scope='global' (source='global')\n * 3. sys_setting WHERE scope='tenant' (source='tenant')\n * 4. sys_setting WHERE scope='user' (source='user')\n * 5. manifest specifier.default (source='default')\n *\n * Encryption: rows with `encrypted=true` store ciphertext in `value_enc`\n * and leave `value` null. The plain value is never written to audit log\n * or history snapshots — only an `'<encrypted>'` placeholder + a digest.\n *\n * managedBy: 'system' — the admin grid in Setup is a diagnostic surface\n * only; all writes flow through `SettingsService.set()` so the resolver\n * stays the single source of truth.\n *\n * See ADR-0007 (Settings Manifest + K/V Store + Resolver).\n *\n * @namespace sys\n */\nexport const SysSetting = ObjectSchema.create({\n name: 'sys_setting',\n label: 'Setting',\n pluralLabel: 'Settings',\n icon: 'sliders',\n isSystem: true,\n managedBy: 'system',\n description: 'Generic K/V store backing the SettingsManifest contract.',\n displayNameField: 'key',\n titleFormat: '{namespace}.{key}',\n compactLayout: ['namespace', 'key', 'scope', 'updated_at'],\n\n listViews: {\n by_namespace: {\n type: 'grid',\n name: 'by_namespace',\n label: 'By Namespace',\n data: { provider: 'object', object: 'sys_setting' },\n columns: ['namespace', 'key', 'scope', 'encrypted', 'updated_by', 'updated_at'],\n sort: [{ field: 'namespace', order: 'asc' }, { field: 'key', order: 'asc' }],\n grouping: { fields: [{ field: 'namespace', order: 'asc', collapsed: false }] },\n pagination: { pageSize: 200 },\n },\n tenant_only: {\n type: 'grid',\n name: 'tenant_only',\n label: 'Tenant',\n data: { provider: 'object', object: 'sys_setting' },\n columns: ['namespace', 'key', 'encrypted', 'updated_by', 'updated_at'],\n filter: [{ field: 'scope', operator: 'equals', value: 'tenant' }],\n sort: [{ field: 'namespace', order: 'asc' }, { field: 'key', order: 'asc' }],\n pagination: { pageSize: 200 },\n },\n user_only: {\n type: 'grid',\n name: 'user_only',\n label: 'User',\n data: { provider: 'object', object: 'sys_setting' },\n columns: ['user_id', 'namespace', 'key', 'updated_at'],\n filter: [{ field: 'scope', operator: 'equals', value: 'user' }],\n sort: [{ field: 'user_id', order: 'asc' }, { field: 'namespace', order: 'asc' }],\n pagination: { pageSize: 200 },\n },\n all_settings: {\n type: 'grid',\n name: 'all_settings',\n label: 'All',\n data: { provider: 'object', object: 'sys_setting' },\n columns: ['namespace', 'key', 'scope', 'user_id', 'encrypted', 'updated_at'],\n sort: [{ field: 'updated_at', order: 'desc' }],\n pagination: { pageSize: 100 },\n },\n },\n\n fields: {\n id: Field.text({\n label: 'Setting ID',\n required: true,\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n updated_at: Field.datetime({\n label: 'Updated At',\n defaultValue: 'NOW()',\n readonly: true,\n }),\n\n namespace: Field.text({\n label: 'Namespace',\n required: true,\n maxLength: 64,\n description: 'Manifest namespace (e.g. mail, branding, feature_flags).',\n }),\n\n key: Field.text({\n label: 'Key',\n required: true,\n maxLength: 128,\n description: 'Specifier key inside the namespace (snake_case).',\n }),\n\n scope: Field.select(\n [\n { label: 'Global', value: 'global' },\n { label: 'Tenant', value: 'tenant' },\n { label: 'User', value: 'user' },\n { label: 'Runtime',value: 'runtime' },\n ],\n {\n label: 'Scope',\n required: true,\n defaultValue: 'tenant',\n description: 'Which layer of the config-resolution hierarchy this row belongs to.',\n },\n ),\n\n user_id: Field.lookup('sys_user', {\n label: 'User',\n description: 'Owning user when scope=user; null otherwise.',\n }),\n\n value: Field.json({\n label: 'Value',\n description: 'JSON-encoded value. Null when encrypted=true (see value_enc).',\n }),\n\n encrypted: Field.boolean({\n label: 'Encrypted',\n defaultValue: false,\n description: 'When true, the value is stored encrypted-at-rest in value_enc; value column is null.',\n }),\n\n locked: Field.boolean({\n label: 'Locked',\n defaultValue: false,\n description:\n 'When true, lower-scope rows cannot override this value; writes against lower scopes return 409. ' +\n 'Used by platform administrators to pin a global value for all tenants (Phase 2 cascade).',\n }),\n\n locked_reason: Field.text({\n label: 'Lock Reason',\n description: 'Human-readable explanation surfaced in the UI tooltip when locked=true.',\n }),\n\n value_enc: Field.text({\n label: 'Encrypted Value',\n readonly: true,\n description: 'Ciphertext payload (KMS-wrapped). Set only when encrypted=true.',\n }),\n\n updated_by: Field.lookup('sys_user', {\n label: 'Updated By',\n readonly: true,\n description: 'Last actor who wrote this row via SettingsService.set().',\n }),\n },\n\n indexes: [\n // Primary lookup path: (namespace, key, scope, user_id?) is what\n // SettingsService.get hits on every resolve. The composite UNIQUE\n // covers both the row-identity constraint and the read path.\n { fields: ['namespace', 'key', 'scope', 'user_id'], unique: true },\n // Common range read: full namespace dump for SettingsService.getNamespace.\n { fields: ['namespace', 'scope'], unique: false },\n // Per-user listing on the user-prefs scope.\n { fields: ['user_id', 'namespace'], unique: false },\n ],\n\n enable: {\n // History on settings is opt-in per namespace (handled at service\n // layer when needed) to avoid bloating sys_history with churn from\n // feature flags and similar high-frequency toggles.\n trackHistory: false,\n searchable: false,\n apiEnabled: true,\n // Direct data API exposed for the admin grid view, but writes from\n // the UI MUST go through /api/settings/:namespace so the resolver\n // and audit hooks fire. The grid is diagnostic-only.\n apiMethods: ['get', 'list'],\n trash: false,\n mru: false,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_secret — Separated cipher store for sensitive settings values.\n *\n * Phase 3 of the settings roadmap splits secret material out of\n * `sys_setting` so they can carry their own retention/rotation/KMS\n * policies without bloating the regular settings audit trail. The\n * value column in `sys_setting` for an encrypted specifier holds a\n * *handle* (the `id` of a row here), never the ciphertext itself —\n * the resolver dereferences on read.\n *\n * Why split:\n * 1. **Key rotation.** KMS adapters (AWS/GCP) rotate keys on a\n * different cadence than user-visible settings; tracking\n * `kms_key_id` + `version` per cipher lets us re-wrap without\n * touching the value lifecycle.\n * 2. **Backup hygiene.** Operators can replicate `sys_setting` to\n * analytics/lower environments while keeping `sys_secret` pinned\n * to the primary KMS region.\n * 3. **Audit symmetry.** Every secret read can record an access row\n * (Phase 4) without polluting `sys_setting_audit` with plaintext\n * reads of e.g. feature flags.\n *\n * managedBy: 'system' — never edited from a generic Object grid. All\n * writes flow through `SettingsService` and an `ICryptoProvider`.\n *\n * @namespace sys\n */\nexport const SysSecret = ObjectSchema.create({\n name: 'sys_secret',\n label: 'Secret',\n pluralLabel: 'Secrets',\n icon: 'key',\n isSystem: true,\n managedBy: 'system',\n description: 'Cipher store referenced by sys_setting handles. Never holds plaintext.',\n scope: 'tenant',\n compactLayout: ['namespace', 'key', 'kms_key_id', 'version', 'rotated_at'],\n defaultViewName: 'all',\n views: {\n all: {\n type: 'list',\n name: 'all',\n label: 'All Secrets',\n columns: ['namespace', 'key', 'kms_key_id', 'version', 'rotated_at', 'created_at'],\n },\n },\n\n fields: {\n id: Field.text({\n label: 'ID',\n readonly: true,\n description: 'Opaque handle referenced by `sys_setting.value_enc`.',\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n readonly: true,\n description: 'When the cipher was first written.',\n }),\n\n rotated_at: Field.datetime({\n label: 'Rotated At',\n readonly: true,\n description: 'When the cipher was last re-wrapped under a new KMS key.',\n }),\n\n /**\n * Namespace/key duplicated from `sys_setting` for forensic\n * convenience — lets operators answer \"which secret backs\n * mail.api_key right now?\" without joining the K/V table.\n * The authoritative link is `sys_setting.value_enc → sys_secret.id`.\n */\n namespace: Field.text({\n label: 'Namespace',\n required: true,\n maxLength: 128,\n description: 'Settings namespace this secret belongs to.',\n }),\n\n key: Field.text({\n label: 'Key',\n required: true,\n maxLength: 128,\n description: 'Specifier key within the namespace.',\n }),\n\n /** Identifier of the KMS key used to wrap `ciphertext`. */\n kms_key_id: Field.text({\n label: 'KMS Key ID',\n required: true,\n maxLength: 256,\n description: 'External KMS handle (ARN, GCP resource id, or `local`).',\n }),\n\n /** Algorithm tag (e.g. `aes-256-gcm`). Used by the provider on decrypt. */\n alg: Field.text({\n label: 'Algorithm',\n required: true,\n defaultValue: 'aes-256-gcm',\n maxLength: 64,\n description: 'Cipher/AEAD algorithm tag.',\n }),\n\n /** Wrapping version — bumps on every rotate(). */\n version: Field.number({\n label: 'Version',\n required: true,\n defaultValue: 1,\n description: 'Bumps each time rotateKey() re-wraps this row.',\n }),\n\n ciphertext: Field.text({\n label: 'Ciphertext',\n required: true,\n readonly: true,\n description:\n 'Provider-encoded ciphertext blob (base64 / JSON). Implementation-defined; only the matching ICryptoProvider can read it.',\n }),\n },\n\n indexes: [\n // Operators frequently look up by (namespace, key) to inspect or rotate.\n { fields: ['namespace', 'key'], unique: false },\n { fields: ['kms_key_id'], unique: false },\n ],\n\n enable: {\n trackHistory: false, // rotation events are recorded by sys_setting_audit\n audit: true,\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { ObjectSchema, Field } from '@objectstack/spec/data';\n\n/**\n * sys_setting_audit — Append-only audit trail for every settings mutation.\n *\n * Phase 3 of the settings roadmap. Each call to `SettingsService.set()`\n * (and any other mutation hook) writes a row here BEFORE returning to\n * the caller. The row records who, when, where (scope), and what\n * changed — but never the plaintext value of an encrypted field; only\n * a content digest is stored so an operator can verify \"this is the\n * same value as last week\" without exposing the secret.\n *\n * Why separate from `sys_audit_log`:\n * - The generic audit log is a high-traffic firehose (every CRUD\n * on every business object). Settings rows are low-traffic and\n * operationally critical, so they deserve dedicated retention and\n * indexing.\n * - The schema here carries settings-specific fields (`scope`,\n * `cascade_source`) that don't make sense on a generic row.\n *\n * Append-only contract: enforced at the application layer (the only\n * writer is SettingsService). Operators MUST NOT delete rows; instead\n * use lifecycle policies to archive cold rows to a separate bucket.\n *\n * @namespace sys\n */\nexport const SysSettingAudit = ObjectSchema.create({\n name: 'sys_setting_audit',\n label: 'Setting Audit Entry',\n pluralLabel: 'Setting Audit',\n icon: 'history',\n isSystem: true,\n managedBy: 'system',\n description: 'Append-only audit trail for SettingsService mutations.',\n scope: 'tenant',\n compactLayout: ['namespace', 'key', 'scope', 'action', 'actor_id', 'created_at'],\n defaultViewName: 'recent',\n views: {\n recent: {\n type: 'list',\n name: 'recent',\n label: 'Recent',\n columns: ['created_at', 'namespace', 'key', 'scope', 'action', 'actor_id', 'source'],\n sort: [{ field: 'created_at', order: 'desc' }],\n },\n },\n\n fields: {\n id: Field.text({\n label: 'ID',\n readonly: true,\n }),\n\n created_at: Field.datetime({\n label: 'Created At',\n readonly: true,\n description: 'When the mutation was recorded.',\n }),\n\n namespace: Field.text({\n label: 'Namespace',\n required: true,\n maxLength: 128,\n }),\n\n key: Field.text({\n label: 'Key',\n required: true,\n maxLength: 128,\n }),\n\n scope: Field.select(\n [\n { label: 'Global', value: 'global' },\n { label: 'Tenant', value: 'tenant' },\n { label: 'User', value: 'user' },\n ],\n {\n label: 'Scope',\n required: true,\n description: 'Cascade layer the row was written to.',\n },\n ),\n\n action: Field.select(\n [\n { label: 'Set', value: 'set' },\n { label: 'Reset', value: 'reset' },\n { label: 'Lock', value: 'lock' },\n { label: 'Unlock', value: 'unlock' },\n { label: 'Rotate', value: 'rotate' },\n ],\n {\n label: 'Action',\n required: true,\n description: 'Mutation kind.',\n },\n ),\n\n actor_id: Field.lookup('sys_user', {\n label: 'Actor',\n description: 'User who performed the mutation; null for system jobs.',\n }),\n\n /**\n * Where the write originated. Lets operators distinguish admin UI\n * activity from migration jobs and bulk imports during incident\n * analysis.\n */\n source: Field.select(\n [\n { label: 'UI', value: 'ui' },\n { label: 'API', value: 'api' },\n { label: 'Migration', value: 'migration' },\n { label: 'Import', value: 'import' },\n { label: 'System', value: 'system' },\n ],\n {\n label: 'Source',\n required: true,\n defaultValue: 'api',\n description: 'Mutation entry-point.',\n },\n ),\n\n /** Optional free-text reason (Phase 3+ change-management hook). */\n reason: Field.text({\n label: 'Reason',\n description: 'Free-text justification provided by the actor (optional).',\n }),\n\n /**\n * Content digest of the previous value. Never the plaintext —\n * lets operators detect duplicate writes without leaking secrets.\n * Format: hex SHA-256 of the canonicalised JSON, or null when\n * the previous value was unset.\n */\n old_hash: Field.text({\n label: 'Old Hash',\n readonly: true,\n maxLength: 128,\n description: 'SHA-256 of the previous value (canonicalised). Null when previously unset.',\n }),\n\n /** Content digest of the new value. Null on `reset`. */\n new_hash: Field.text({\n label: 'New Hash',\n readonly: true,\n maxLength: 128,\n description: 'SHA-256 of the new value (canonicalised). Null on reset.',\n }),\n\n /** True when the field is encrypted — flags secret rotation events. */\n encrypted: Field.boolean({\n label: 'Encrypted',\n defaultValue: false,\n description: 'True when the field carries secret material (rotation is interesting).',\n }),\n\n /** Request id from the originating HTTP/CLI invocation. */\n request_id: Field.text({\n label: 'Request ID',\n maxLength: 128,\n description: 'Correlates with sys_audit_log / tracing.',\n }),\n },\n\n indexes: [\n // Most common query: \"what changed for namespace X in the last 7 days?\"\n { fields: ['namespace', 'created_at'], unique: false },\n // Per-actor lookup for compliance reviews.\n { fields: ['actor_id', 'created_at'], unique: false },\n ],\n\n enable: {\n trackHistory: false,\n audit: false, // this IS the audit; no recursion\n },\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Platform Setup App — static definition.\n *\n * Lists every `sys_*` administrative object as a left-hand navigation\n * entry in ObjectUI's \"Setup\" area. Lives here (alongside the object\n * schemas it references) instead of being assembled at runtime by\n * `@objectstack/plugin-setup` — that plugin existed only because the\n * referenced objects used to live in three different runtime plugins\n * (auth/security/audit). Now that all `sys_*` objects are centralized\n * in `@objectstack/platform-objects`, the Setup App is a fixed metadata\n * artifact too and can be exported as plain data.\n *\n * The runtime registration happens in `plugin-auth` (which is always\n * loaded alongside security + audit and already calls\n * `manifest.register({...})`).\n *\n * Menu shape: flat `navigation[]` with `type: 'group'` category nodes,\n * matching the convention used by the CRM example app\n * (`examples/app-crm/src/apps/crm.app.ts`). The legacy `areas[]` shape\n * was abandoned because it rendered poorly compared to the category\n * style ObjectUI is built around.\n */\n\nimport type { App } from '@objectstack/spec/ui';\n\nexport const SETUP_APP: App = {\n name: 'setup',\n label: 'Setup',\n description: 'Platform settings and administration',\n icon: 'settings',\n active: true,\n isDefault: false,\n branding: {\n primaryColor: '#475569', // Slate-600 — neutral admin palette\n },\n requiredPermissions: ['setup.access'],\n navigation: [\n {\n id: 'group_overview',\n type: 'group',\n label: 'Overview',\n icon: 'layout-dashboard',\n children: [\n { id: 'nav_system_overview', type: 'dashboard', label: 'System Overview', dashboardName: 'system_overview', icon: 'activity' },\n { id: 'nav_security_overview', type: 'dashboard', label: 'Security Overview', dashboardName: 'security_overview', icon: 'shield' },\n ],\n },\n {\n id: 'group_people_org',\n type: 'group',\n label: 'People & Organization',\n icon: 'users',\n children: [\n // HR-shaped grouping: who exists, where they sit in the org chart,\n // and which tenants/teams they belong to. `sys_department` is the\n // platform-owned org skeleton (M10.17.1); `sys_team` is better-auth's\n // flat collaboration grouping.\n //\n // M10.30b: removed top-level Department Members / Team Members /\n // Org Members entries — they are M:N join tables and the natural\n // entry point is the parent record's detail page.\n { id: 'nav_users', type: 'object', label: 'Users', objectName: 'sys_user', icon: 'user' },\n { id: 'nav_departments', type: 'object', label: 'Departments', objectName: 'sys_department', icon: 'building', requiresObject: 'sys_department' },\n { id: 'nav_teams', type: 'object', label: 'Teams', objectName: 'sys_team', icon: 'users-round' },\n { id: 'nav_organizations', type: 'object', label: 'Organizations', objectName: 'sys_organization', icon: 'building-2' },\n { id: 'nav_invitations', type: 'object', label: 'Invitations', objectName: 'sys_invitation', icon: 'mail' },\n ],\n },\n {\n id: 'group_access_control',\n type: 'group',\n label: 'Access Control',\n icon: 'shield',\n children: [\n // M10.30b: removed top-level User Permission Sets / Role Permission\n // Sets entries — same M:N → parent-detail-tab argument as the\n // People & Org cleanup.\n { id: 'nav_roles', type: 'object', label: 'Roles', objectName: 'sys_role', icon: 'shield-check' },\n { id: 'nav_permission_sets', type: 'object', label: 'Permission Sets', objectName: 'sys_permission_set', icon: 'lock' },\n { id: 'nav_sharing_rules', type: 'object', label: 'Sharing Rules', objectName: 'sys_sharing_rule', icon: 'share-2', requiresObject: 'sys_sharing_rule' },\n { id: 'nav_record_shares', type: 'object', label: 'Record Shares', objectName: 'sys_record_share', icon: 'link', requiresObject: 'sys_record_share' },\n { id: 'nav_api_keys', type: 'object', label: 'API Keys', objectName: 'sys_api_key', icon: 'key' },\n ],\n },\n {\n id: 'group_approvals',\n type: 'group',\n label: 'Approvals',\n icon: 'check-circle',\n children: [\n { id: 'nav_approval_processes', type: 'object', label: 'Processes', objectName: 'sys_approval_process', icon: 'workflow', requiresObject: 'sys_approval_process' },\n { id: 'nav_approval_requests', type: 'object', label: 'Requests', objectName: 'sys_approval_request', icon: 'inbox', requiresObject: 'sys_approval_request' },\n { id: 'nav_approval_actions', type: 'object', label: 'Action History', objectName: 'sys_approval_action', icon: 'history', requiresObject: 'sys_approval_action' },\n ],\n },\n {\n id: 'group_configuration',\n type: 'group',\n label: 'Configuration',\n icon: 'sliders-horizontal',\n children: [\n // Metadata-driven settings hub. Each entry maps to a SettingsManifest\n // namespace exposed by @objectstack/service-settings. URL navigation\n // is used (not `object`) because settings are stored in a generic\n // K/V table (`sys_setting`) rather than per-namespace objects, and\n // the renderer is a dedicated <SettingsView> page in objectui.\n { id: 'nav_settings_hub', type: 'url', label: 'All Settings', url: '/apps/setup/system/settings', icon: 'settings-2' },\n { id: 'nav_settings_mail', type: 'url', label: 'Email', url: '/apps/setup/system/settings/mail', icon: 'mail' },\n { id: 'nav_settings_branding', type: 'url', label: 'Branding', url: '/apps/setup/system/settings/branding', icon: 'palette' },\n { id: 'nav_settings_feature_flags', type: 'url', label: 'Feature Flags', url: '/apps/setup/system/settings/feature_flags', icon: 'flag' },\n ],\n },\n {\n id: 'group_diagnostics',\n type: 'group',\n label: 'Diagnostics',\n icon: 'stethoscope',\n children: [\n // Day-to-day observability surfaces. M10.30b removed `sys_activity`\n // and `sys_comment` — both are CRM operational data authored from\n // record pages, not platform admin surfaces.\n { id: 'nav_sessions', type: 'object', label: 'Sessions', objectName: 'sys_session', icon: 'monitor' },\n { id: 'nav_audit_logs', type: 'object', label: 'Audit Logs', objectName: 'sys_audit_log', icon: 'scroll-text' },\n { id: 'nav_notifications', type: 'object', label: 'Notifications', objectName: 'sys_notification', icon: 'bell', requiresObject: 'sys_notification' },\n ],\n },\n {\n id: 'group_advanced',\n type: 'group',\n label: 'Advanced',\n icon: 'wrench',\n expanded: false,\n children: [\n // Better-auth internals — rarely useful for humans, but exposed\n // so support engineers can inspect token state without dropping\n // to SQL. The objectui sidebar collapses this group by default;\n // edits should hit the read-only banner since these are all\n // `managedBy: 'better-auth'`.\n //\n // M10.30b changes:\n // - Removed the 3 OAuth satellite menus (access tokens / refresh\n // tokens / consents). They live under their parent OAuth App.\n // - Renamed \"Linked Accounts\" → \"Identity Links\" to distinguish\n // from sys_user / org members.\n // - Demoted \"All Metadata\" from the (now-deleted) Platform group\n // to this Advanced/debug bucket.\n // - The marketplace-only `sys_app` / `sys_package` /\n // `sys_package_installation` menus have been removed entirely;\n // they are contributed by `@objectstack/service-tenant`\n // (control-plane) and are not present in single-project runtimes.\n { id: 'nav_oauth_apps', type: 'object', label: 'OAuth Applications', objectName: 'sys_oauth_application', icon: 'app-window' },\n { id: 'nav_jwks', type: 'object', label: 'Signing Keys (JWKS)', objectName: 'sys_jwks', icon: 'key-round' },\n { id: 'nav_verifications', type: 'object', label: 'Verifications', objectName: 'sys_verification', icon: 'mail-check' },\n { id: 'nav_two_factor', type: 'object', label: 'Two-Factor', objectName: 'sys_two_factor', icon: 'smartphone' },\n { id: 'nav_device_codes', type: 'object', label: 'Device Codes', objectName: 'sys_device_code', icon: 'qr-code' },\n { id: 'nav_accounts', type: 'object', label: 'Identity Links', objectName: 'sys_account', icon: 'link-2' },\n { id: 'nav_user_preferences', type: 'object', label: 'User Preferences', objectName: 'sys_user_preference', icon: 'sliders' },\n { id: 'nav_metadata', type: 'object', label: 'All Metadata', objectName: 'sys_metadata', icon: 'file-cog' },\n ],\n },\n ],\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * System Overview Dashboard\n * \n * Provides at-a-glance monitoring of platform health and key metrics:\n * - Active user sessions\n * - Audit activity (recent events)\n * - Package installation status\n * - Platform configuration\n */\nexport const SystemOverviewDashboard = Dashboard.create({\n name: 'system_overview',\n label: 'System Overview',\n description: 'Platform health, sessions, and audit activity',\n\n // 12-column grid matches the widget `w` values below (3, 6, 12). Without\n // this, the renderer falls back to a 4-column grid and `w: 3` becomes 75%\n // width per metric — so KPI cards stack vertically instead of forming a\n // 4-up row.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'Number of currently active user sessions',\n },\n\n // ── Total Users Widget ──────────────────────────────────────────\n {\n id: 'widget_total_users',\n title: 'Total Users',\n type: 'metric',\n object: 'sys_user',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'teal',\n description: 'Total registered users in the system',\n },\n\n // ── Organizations Widget ────────────────────────────────────────\n {\n id: 'widget_organizations',\n title: 'Organizations',\n type: 'metric',\n object: 'sys_organization',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'orange',\n description: 'Total organizations on the platform',\n },\n\n // ── Packages Installed Widget ───────────────────────────────────\n {\n id: 'widget_packages_installed',\n title: 'Packages Installed',\n type: 'metric',\n object: 'sys_package_installation',\n // Cloud-only object — only registered when service-tenant is loaded.\n // Hide this widget gracefully in single-project runtimes.\n requiresObject: 'sys_package_installation',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { status: 'installed' },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Active package installations across projects',\n },\n\n // ── Audit Actions by Type ───────────────────────────────────────\n // Note: relative date filters like `NOW() - INTERVAL 7 DAY` are not\n // currently substituted by the analytics layer (see\n // service-analytics/strategies/filter-normalizer.ts). The dashboard's\n // `globalFilters` date-range bar at the bottom is the supported way\n // to scope this widget.\n {\n id: 'widget_audit_actions',\n title: 'Audit Actions',\n description: 'Distribution of audit events by action type',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n },\n\n // ── Session Status Overview ─────────────────────────────────────\n {\n id: 'widget_active_orgs',\n title: 'Sessions by Organization',\n description: 'Active sessions grouped by organization',\n type: 'bar',\n object: 'sys_session',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'active_organization_id',\n aggregate: 'count',\n },\n\n // ── Recent Audit Log (Table) ────────────────────────────────────\n // `type: 'table'` renders the underlying rows directly, so this\n // panel actually shows the latest events instead of just repeating\n // the total-count metric. `valueField`/`aggregate` are intentionally\n // omitted — table widgets pull raw records.\n {\n id: 'widget_recent_events',\n title: 'Recent Audit Events',\n description: 'Latest platform events',\n type: 'table',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 4,\n },\n options: {\n columns: ['created_at', 'user_id', 'action', 'object_name', 'record_id'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pageSize: 20,\n },\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { Dashboard } from '@objectstack/spec/ui';\n\n/**\n * Security Overview Dashboard\n * \n * Provides security and compliance monitoring:\n * - User authentication events\n * - Permission changes\n * - System configuration audits\n * - Active user sessions\n */\nexport const SecurityOverviewDashboard = Dashboard.create({\n name: 'security_overview',\n label: 'Security Overview',\n description: 'Security events, authentication, and audit trails',\n\n // 12-column grid matches the widget `w` values below.\n columns: 12,\n gap: 4,\n\n widgets: [\n // ── Login Events Widget ─────────────────────────────────────────\n // The `sys_audit_log.action` enum doesn't distinguish failed vs\n // successful logins (both fold into `action='login'`). Surfacing a\n // total Login Events count is honest; a \"Failed Logins\" widget will\n // need a richer enum or a separate detail field first.\n {\n id: 'widget_login_events',\n title: 'Login Events',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { action: 'login' },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'Authentication events recorded by the audit log',\n },\n\n // ── Permission Changes Widget ───────────────────────────────────\n {\n id: 'widget_permission_changes',\n title: 'Permission Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 3,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { action: 'permission_change' },\n aggregate: 'count',\n colorVariant: 'warning',\n description: 'Recent permission and role modifications',\n },\n\n // ── System Config Changes Widget ────────────────────────────────\n {\n id: 'widget_config_changes',\n title: 'Config Changes',\n type: 'metric',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 0,\n w: 3,\n h: 2,\n },\n filter: { action: 'config_change' },\n aggregate: 'count',\n colorVariant: 'blue',\n description: 'System configuration modifications',\n },\n\n // ── Active Sessions Widget ──────────────────────────────────────\n {\n id: 'widget_active_sessions',\n title: 'Active Sessions',\n type: 'metric',\n object: 'sys_session',\n layout: {\n x: 9,\n y: 0,\n w: 3,\n h: 2,\n },\n aggregate: 'count',\n colorVariant: 'success',\n description: 'Currently active user sessions',\n },\n\n // ── Audit Events by Type ────────────────────────────────────────\n {\n id: 'widget_events_by_type',\n title: 'Audit Events by Type',\n description: 'Distribution of security and audit events',\n type: 'pie',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'action',\n aggregate: 'count',\n },\n\n // ── Audit Events by User ────────────────────────────────────────\n {\n id: 'widget_events_by_user',\n title: 'Events by User',\n description: 'Activity distribution across users',\n type: 'bar',\n object: 'sys_audit_log',\n layout: {\n x: 6,\n y: 2,\n w: 6,\n h: 4,\n },\n categoryField: 'user_id',\n aggregate: 'count',\n },\n\n // ── Recent Security Events (Table) ──────────────────────────────\n // Real table widget — pulls the latest permission/config rows.\n {\n id: 'widget_recent_security_events',\n title: 'Recent Security Events',\n description: 'Latest permission and config changes',\n type: 'table',\n object: 'sys_audit_log',\n layout: {\n x: 0,\n y: 6,\n w: 12,\n h: 4,\n },\n filter: {\n action: { $in: ['login', 'logout', 'permission_change', 'config_change'] },\n },\n options: {\n columns: ['created_at', 'user_id', 'action', 'object_name', 'record_id'],\n sort: [{ field: 'created_at', order: 'desc' }],\n pageSize: 20,\n },\n },\n ],\n globalFilters: [\n {\n field: 'created_at',\n type: 'date',\n label: 'Date Range',\n scope: 'dashboard',\n defaultValue: 'last_7_days',\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'en'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const enObjects: NonNullable<TranslationData['objects']> = {\n sys_user: {\n label: \"User\",\n pluralLabel: \"Users\",\n description: \"User accounts for authentication\",\n fields: {\n name: {\n label: \"Name\"\n },\n email: {\n label: \"Email\"\n },\n email_verified: {\n label: \"Email Verified\"\n },\n two_factor_enabled: {\n label: \"Two-Factor Enabled\",\n help: \"Whether two-factor authentication is enabled for this user. Maintained by the better-auth `twoFactor` plugin.\"\n },\n role: {\n label: \"Platform Role\",\n help: \"Platform-level role (admin, user, …). Set via the Set Platform Role action.\"\n },\n banned: {\n label: \"Banned\",\n help: \"When true, the user cannot sign in. Toggle via Ban User / Unban User actions.\"\n },\n ban_reason: {\n label: \"Ban Reason\"\n },\n ban_expires: {\n label: \"Ban Expires\",\n help: \"When set, the ban auto-clears at this time.\"\n },\n image: {\n label: \"Profile Image\"\n },\n id: {\n label: \"User ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n all_users: {\n label: \"All Users\"\n },\n unverified: {\n label: \"Unverified\"\n },\n two_factor: {\n label: \"2FA Enabled\"\n },\n banned: {\n label: \"Banned\"\n }\n },\n _actions: {\n invite_user: {\n label: \"Invite User\",\n successMessage: \"Invitation sent\"\n },\n ban_user: {\n label: \"Ban User\",\n confirmText: \"Ban this user? They will be signed out and unable to sign in until unbanned.\",\n successMessage: \"User banned\"\n },\n unban_user: {\n label: \"Unban User\",\n successMessage: \"User unbanned\"\n },\n set_user_password: {\n label: \"Set Password\",\n successMessage: \"Password updated\"\n },\n set_user_role: {\n label: \"Set Platform Role\",\n successMessage: \"Role updated\"\n },\n impersonate_user: {\n label: \"Impersonate User\",\n confirmText: \"Start an impersonation session for this user? Use only for legitimate support cases — actions will be logged.\",\n successMessage: \"Now impersonating user\"\n }\n }\n },\n sys_session: {\n label: \"Session\",\n pluralLabel: \"Sessions\",\n description: \"Active user sessions\",\n fields: {\n user_id: {\n label: \"User\"\n },\n expires_at: {\n label: \"Expires At\"\n },\n active_organization_id: {\n label: \"Active Organization\"\n },\n active_team_id: {\n label: \"Active Team\"\n },\n ip_address: {\n label: \"IP Address\"\n },\n user_agent: {\n label: \"User Agent\"\n },\n impersonated_by: {\n label: \"Impersonated By\",\n help: \"User id of the admin that started this impersonation session, if any.\"\n },\n token: {\n label: \"Session Token\",\n help: \"Opaque session token — never exposed in UI\"\n },\n id: {\n label: \"Session ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n mine: {\n label: \"My Sessions\"\n },\n all_sessions: {\n label: \"All\"\n }\n },\n _actions: {\n revoke_my_other_sessions: {\n label: \"Sign out other devices\",\n confirmText: \"Sign out of every other device where you're currently logged in? Your current session will remain active.\",\n successMessage: \"All other sessions revoked\"\n },\n revoke_session: {\n label: \"Revoke Session\",\n confirmText: \"Revoke this session? The user will be signed out from that device.\",\n successMessage: \"Session revoked\"\n }\n }\n },\n sys_account: {\n label: \"Account\",\n pluralLabel: \"Accounts\",\n description: \"OAuth and authentication provider accounts\",\n fields: {\n id: {\n label: \"Account ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n },\n provider_id: {\n label: \"Provider ID\",\n help: \"OAuth provider identifier (google, github, etc.)\"\n },\n account_id: {\n label: \"Provider Account ID\",\n help: \"User's ID in the provider's system\"\n },\n user_id: {\n label: \"User\",\n help: \"Link to user table\"\n },\n access_token: {\n label: \"Access Token\"\n },\n refresh_token: {\n label: \"Refresh Token\"\n },\n id_token: {\n label: \"ID Token\"\n },\n access_token_expires_at: {\n label: \"Access Token Expires At\"\n },\n refresh_token_expires_at: {\n label: \"Refresh Token Expires At\"\n },\n scope: {\n label: \"OAuth Scope\"\n },\n password: {\n label: \"Password Hash\",\n help: \"Hashed password for email/password provider\"\n }\n },\n _views: {\n mine: {\n label: \"My Links\"\n },\n by_provider: {\n label: \"By Provider\"\n },\n all_links: {\n label: \"All\"\n }\n }\n },\n sys_verification: {\n label: \"Verification\",\n pluralLabel: \"Verifications\",\n description: \"Email and phone verification tokens\",\n fields: {\n id: {\n label: \"Verification ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n },\n value: {\n label: \"Verification Token\",\n help: \"Token or code for verification\"\n },\n expires_at: {\n label: \"Expires At\"\n },\n identifier: {\n label: \"Identifier\",\n help: \"Email address or phone number\"\n }\n }\n },\n sys_organization: {\n label: \"Organization\",\n pluralLabel: \"Organizations\",\n description: \"Organizations for multi-tenant grouping\",\n fields: {\n name: {\n label: \"Name\"\n },\n slug: {\n label: \"Slug\",\n help: \"URL-friendly identifier\"\n },\n logo: {\n label: \"Logo\"\n },\n metadata: {\n label: \"Metadata\",\n help: \"JSON-serialized organization metadata\"\n },\n id: {\n label: \"Organization ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n all_orgs: {\n label: \"All\"\n }\n },\n _actions: {\n create_organization: {\n label: \"Create Organization\",\n successMessage: \"Organization created\"\n },\n update_organization: {\n label: \"Edit Organization\",\n successMessage: \"Organization updated\"\n },\n delete_organization: {\n label: \"Delete Organization\",\n confirmText: \"Delete this organization? All members will lose access immediately. This cannot be undone.\",\n successMessage: \"Organization deleted\"\n },\n set_active_organization: {\n label: \"Set Active\",\n successMessage: \"Active organization switched\"\n },\n leave_organization: {\n label: \"Leave Organization\",\n confirmText: \"Leave this organization? You will lose access to all of its resources.\",\n successMessage: \"You have left the organization\"\n }\n }\n },\n sys_member: {\n label: \"Member\",\n pluralLabel: \"Members\",\n description: \"Organization membership records\",\n fields: {\n id: {\n label: \"Member ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n organization_id: {\n label: \"Organization\"\n },\n user_id: {\n label: \"User\"\n },\n role: {\n label: \"Role\",\n help: \"Member role within the organization\",\n options: {\n owner: \"Owner\",\n admin: \"Admin\",\n member: \"Member\"\n }\n }\n },\n _actions: {\n add_member: {\n label: \"Add Member\",\n successMessage: \"Member added\"\n },\n update_member_role: {\n label: \"Change Role\",\n successMessage: \"Member role updated\"\n },\n remove_member: {\n label: \"Remove Member\",\n confirmText: \"Remove this member from the organization? They will lose access to all org resources.\",\n successMessage: \"Member removed\"\n }\n }\n },\n sys_invitation: {\n label: \"Invitation\",\n pluralLabel: \"Invitations\",\n description: \"Organization invitations for user onboarding\",\n fields: {\n id: {\n label: \"Invitation ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n organization_id: {\n label: \"Organization\"\n },\n email: {\n label: \"Email\",\n help: \"Email address of the invited user\"\n },\n role: {\n label: \"Role\",\n help: \"Role to assign upon acceptance\",\n options: {\n owner: \"Owner\",\n admin: \"Admin\",\n member: \"Member\"\n }\n },\n status: {\n label: \"Status\",\n options: {\n pending: \"pending\",\n accepted: \"accepted\",\n rejected: \"rejected\",\n expired: \"expired\",\n canceled: \"canceled\"\n }\n },\n inviter_id: {\n label: \"Inviter\",\n help: \"User who sent the invitation\"\n },\n expires_at: {\n label: \"Expires At\"\n },\n team_id: {\n label: \"Team\",\n help: \"Optional team to assign upon acceptance\"\n }\n },\n _views: {\n pending: {\n label: \"Pending\"\n },\n accepted: {\n label: \"Accepted\"\n },\n expired: {\n label: \"Expired / Canceled\"\n },\n all_invitations: {\n label: \"All\"\n }\n },\n _actions: {\n invite_user: {\n label: \"Invite User\",\n successMessage: \"Invitation sent\"\n },\n cancel_invitation: {\n label: \"Cancel Invitation\",\n confirmText: \"Cancel this invitation? The recipient will no longer be able to accept it.\",\n successMessage: \"Invitation canceled\"\n },\n resend_invitation: {\n label: \"Resend Invitation\",\n successMessage: \"Invitation resent\"\n }\n }\n },\n sys_team: {\n label: \"Team\",\n pluralLabel: \"Teams\",\n description: \"Teams within organizations for fine-grained grouping\",\n fields: {\n name: {\n label: \"Name\"\n },\n organization_id: {\n label: \"Organization\",\n help: \"Parent organization for this team\"\n },\n id: {\n label: \"Team ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n by_org: {\n label: \"By Organization\"\n },\n all_teams: {\n label: \"All\"\n }\n },\n _actions: {\n create_team: {\n label: \"Create Team\",\n successMessage: \"Team created\"\n },\n update_team: {\n label: \"Edit Team\",\n successMessage: \"Team updated\"\n },\n remove_team: {\n label: \"Delete Team\",\n confirmText: \"Delete this team? Members will lose any team-scoped access. This cannot be undone.\",\n successMessage: \"Team deleted\"\n }\n }\n },\n sys_team_member: {\n label: \"Team Member\",\n pluralLabel: \"Team Members\",\n description: \"Team membership records linking users to teams\",\n fields: {\n id: {\n label: \"Team Member ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n team_id: {\n label: \"Team\"\n },\n user_id: {\n label: \"User\"\n }\n },\n _actions: {\n add_team_member: {\n label: \"Add Member\",\n successMessage: \"Team member added\"\n },\n remove_team_member: {\n label: \"Remove from Team\",\n confirmText: \"Remove this user from the team? They will lose any team-scoped access.\",\n successMessage: \"Team member removed\"\n }\n }\n },\n sys_department: {\n label: \"Department\",\n pluralLabel: \"Departments\",\n description: \"Hierarchical org-skeleton node (department / division / business unit / office).\",\n fields: {\n name: {\n label: \"Name\"\n },\n code: {\n label: \"Code\",\n help: \"Short stable code (e.g. EMEA-SALES). Unique within tenant.\"\n },\n kind: {\n label: \"Kind\",\n help: \"Categorisation hint — does not change graph semantics.\",\n options: {\n company: \"company\",\n division: \"division\",\n department: \"department\",\n team: \"team\",\n office: \"office\",\n cost_center: \"cost_center\"\n }\n },\n parent_department_id: {\n label: \"Parent Department\",\n help: \"Self-reference for the org tree. Null = root of tenant.\"\n },\n organization_id: {\n label: \"Organization\",\n help: \"Tenant scope.\"\n },\n manager_user_id: {\n label: \"Department Head\",\n help: \"User responsible for this org unit (department head / lead).\"\n },\n active: {\n label: \"Active\",\n help: \"When false, members are not expanded by graph queries.\"\n },\n effective_from: {\n label: \"Effective From\",\n help: \"When this department came into existence (HRIS sync).\"\n },\n effective_to: {\n label: \"Effective To\",\n help: \"When this department was retired (HRIS sync).\"\n },\n external_ref: {\n label: \"External Reference\",\n help: \"ID in upstream HRIS (Workday / SAP HR / 北森).\"\n },\n id: {\n label: \"Department ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n inactive: {\n label: \"Inactive\"\n },\n by_kind: {\n label: \"By Kind\"\n },\n all_departments: {\n label: \"All\"\n }\n }\n },\n sys_department_member: {\n label: \"Department Member\",\n pluralLabel: \"Department Members\",\n description: \"User assignment to a department (matrix-org friendly, effective-dated).\",\n fields: {\n id: {\n label: \"Member ID\"\n },\n department_id: {\n label: \"Department\"\n },\n user_id: {\n label: \"User\"\n },\n role_in_department: {\n label: \"Role in Department\",\n help: \"`lead` is the day-to-day head; `deputy` may stand in for the lead in approval routing.\",\n options: {\n member: \"member\",\n lead: \"lead\",\n deputy: \"deputy\"\n }\n },\n is_primary: {\n label: \"Primary Assignment\",\n help: \"When the user is in multiple departments, this marks the canonical one for reporting.\"\n },\n effective_from: {\n label: \"Effective From\"\n },\n effective_to: {\n label: \"Effective To\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_api_key: {\n label: \"API Key\",\n pluralLabel: \"API Keys\",\n description: \"API keys for programmatic access\",\n fields: {\n name: {\n label: \"Name\",\n help: \"Human-readable label for the API key\"\n },\n prefix: {\n label: \"Prefix\",\n help: \"Visible prefix for identifying the key (e.g., \\\"osk_\\\")\"\n },\n user_id: {\n label: \"Owner\",\n help: \"User who owns this API key\"\n },\n scopes: {\n label: \"Scopes\",\n help: \"JSON array of permission scopes\"\n },\n expires_at: {\n label: \"Expires At\"\n },\n last_used_at: {\n label: \"Last Used At\",\n help: \"Automatically updated on each API call\"\n },\n revoked: {\n label: \"Revoked\"\n },\n key: {\n label: \"Hashed Key\",\n help: \"Hashed API key value — never exposed to clients\"\n },\n id: {\n label: \"API Key ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n mine: {\n label: \"My Keys\"\n },\n active: {\n label: \"Active\"\n },\n revoked: {\n label: \"Revoked\"\n },\n all_keys: {\n label: \"All\"\n }\n },\n _actions: {\n revoke_api_key: {\n label: \"Revoke API Key\",\n confirmText: \"Revoke this API key? Any clients using it will immediately lose access.\",\n successMessage: \"API key revoked\"\n },\n restore_api_key: {\n label: \"Restore API Key\",\n confirmText: \"Restore this revoked API key? Existing clients holding the key will regain access.\",\n successMessage: \"API key restored\"\n }\n }\n },\n sys_two_factor: {\n label: \"Two Factor\",\n pluralLabel: \"Two Factor Credentials\",\n description: \"Two-factor authentication credentials\",\n fields: {\n id: {\n label: \"Two Factor ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n },\n user_id: {\n label: \"User\"\n },\n secret: {\n label: \"Secret\",\n help: \"TOTP secret key\"\n },\n backup_codes: {\n label: \"Backup Codes\",\n help: \"JSON-serialized backup recovery codes\"\n }\n },\n _views: {\n mine: {\n label: \"My Enrollment\"\n },\n all_enrollments: {\n label: \"All\"\n }\n },\n _actions: {\n enable_two_factor: {\n label: \"Enable 2FA\",\n successMessage: \"2FA enrollment started — check response for TOTP URI and backup codes\"\n },\n disable_two_factor: {\n label: \"Disable 2FA\",\n confirmText: \"Disable two-factor authentication on your account?\",\n successMessage: \"2FA disabled\"\n }\n }\n },\n sys_device_code: {\n label: \"Device Code\",\n pluralLabel: \"Device Codes\",\n description: \"OAuth 2.0 Device Authorization Grant (RFC 8628) pending requests\",\n fields: {\n id: {\n label: \"Device Code ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n },\n device_code: {\n label: \"Device Code\",\n help: \"High-entropy token returned to the polling device\"\n },\n user_code: {\n label: \"User Code\",\n help: \"Short user-facing code (e.g. ABCD-EFGH)\"\n },\n user_id: {\n label: \"User\",\n help: \"User who approved the device authorization\"\n },\n expires_at: {\n label: \"Expires At\",\n help: \"When the device & user codes are no longer valid\"\n },\n status: {\n label: \"Status\",\n help: \"Current status: 'pending' | 'approved' | 'denied'\"\n },\n last_polled_at: {\n label: \"Last Polled At\",\n help: \"Timestamp of the most recent /device/token poll\"\n },\n polling_interval: {\n label: \"Polling Interval (ms)\",\n help: \"Server-recommended minimum polling interval, in ms\"\n },\n client_id: {\n label: \"Client ID\",\n help: \"OAuth client identifier of the requesting device\"\n },\n scope: {\n label: \"Scope\",\n help: \"Space-separated OAuth scopes requested by the device\"\n }\n }\n },\n sys_user_preference: {\n label: \"User Preference\",\n pluralLabel: \"User Preferences\",\n description: \"Per-user key-value preferences (theme, locale, etc.)\",\n fields: {\n id: {\n label: \"Preference ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n },\n user_id: {\n label: \"User\",\n help: \"Owner user of this preference\"\n },\n key: {\n label: \"Key\",\n help: \"Preference key (e.g., theme, locale, plugin.ai.auto_save)\"\n },\n value: {\n label: \"Value\",\n help: \"Preference value (any JSON-serializable type)\"\n }\n },\n _views: {\n mine: {\n label: \"My Preferences\"\n },\n by_user: {\n label: \"By User\"\n },\n all_preferences: {\n label: \"All\"\n }\n }\n },\n sys_oauth_application: {\n label: \"OAuth Application\",\n pluralLabel: \"OAuth Applications\",\n description: \"Registered OAuth/OIDC client applications\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"Name\"\n },\n icon: {\n label: \"Icon\",\n help: \"Logo URL shown on the consent screen\"\n },\n uri: {\n label: \"Home URI\",\n help: \"Public homepage of the registered client\"\n },\n contacts: {\n label: \"Contacts\",\n help: \"JSON-serialized list of contact email addresses\"\n },\n tos: {\n label: \"Terms of Service\"\n },\n policy: {\n label: \"Privacy Policy\"\n },\n metadata: {\n label: \"Metadata\",\n help: \"JSON-serialized application metadata\"\n },\n client_id: {\n label: \"Client ID\",\n help: \"Public OAuth client identifier\"\n },\n client_secret: {\n label: \"Client Secret\",\n help: \"OAuth client secret (hashed/encrypted at rest)\"\n },\n redirect_uris: {\n label: \"Redirect URIs\",\n help: \"JSON-serialized list of allowed redirect URIs\"\n },\n post_logout_redirect_uris: {\n label: \"Post-logout Redirect URIs\",\n help: \"JSON-serialized list of allowed post-logout redirect URIs\"\n },\n type: {\n label: \"Client Type\",\n options: {\n web: \"web\",\n native: \"native\",\n useragentbased: \"user-agent-based\",\n public: \"public\"\n }\n },\n public: {\n label: \"Public Client\",\n help: \"Marks the client as a public (non-confidential) OAuth client\"\n },\n require_pkce: {\n label: \"Require PKCE\"\n },\n token_endpoint_auth_method: {\n label: \"Token Endpoint Auth Method\",\n help: \"e.g. client_secret_basic, client_secret_post, none\"\n },\n grant_types: {\n label: \"Grant Types\",\n help: \"JSON-serialized list of allowed grant types\"\n },\n response_types: {\n label: \"Response Types\",\n help: \"JSON-serialized list of allowed response types\"\n },\n scopes: {\n label: \"Allowed Scopes\",\n help: \"JSON-serialized list of scopes the client may request\"\n },\n subject_type: {\n label: \"Subject Type\",\n help: \"OIDC subject type (e.g. public, pairwise)\"\n },\n disabled: {\n label: \"Disabled\"\n },\n skip_consent: {\n label: \"Skip Consent\",\n help: \"Treat as a trusted client and bypass the consent screen\"\n },\n enable_end_session: {\n label: \"Enable End Session\",\n help: \"Allow the client to call the OIDC end-session endpoint\"\n },\n software_id: {\n label: \"Software ID\"\n },\n software_version: {\n label: \"Software Version\"\n },\n software_statement: {\n label: \"Software Statement\",\n help: \"Signed JWT asserting the client metadata (RFC 7591 §2.3)\"\n },\n user_id: {\n label: \"Owner User\",\n help: \"User who registered this application\"\n },\n reference_id: {\n label: \"Reference ID\",\n help: \"Caller-supplied correlation identifier\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n disabled_apps: {\n label: \"Disabled\"\n },\n all_apps: {\n label: \"All\"\n }\n }\n },\n sys_oauth_access_token: {\n label: \"OAuth Access Token\",\n pluralLabel: \"OAuth Access Tokens\",\n description: \"Opaque OAuth access tokens issued to client applications\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"Token\",\n help: \"Opaque access token value\"\n },\n client_id: {\n label: \"Client ID\",\n help: \"Foreign key to sys_oauth_application.client_id\"\n },\n session_id: {\n label: \"Session\",\n help: \"Foreign key to sys_session.id\"\n },\n user_id: {\n label: \"User\",\n help: \"Foreign key to sys_user.id\"\n },\n refresh_id: {\n label: \"Refresh Token\",\n help: \"Foreign key to sys_oauth_refresh_token.id\"\n },\n reference_id: {\n label: \"Reference ID\",\n help: \"Caller-supplied correlation identifier\"\n },\n scopes: {\n label: \"Scopes\",\n help: \"JSON-serialized list of scopes granted to this token\"\n },\n expires_at: {\n label: \"Expires At\"\n },\n created_at: {\n label: \"Created At\"\n }\n }\n },\n sys_oauth_refresh_token: {\n label: \"OAuth Refresh Token\",\n pluralLabel: \"OAuth Refresh Tokens\",\n description: \"Opaque OAuth refresh tokens (linked to a session)\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"Token\",\n help: \"Opaque refresh token value\"\n },\n client_id: {\n label: \"Client ID\",\n help: \"Foreign key to sys_oauth_application.client_id\"\n },\n session_id: {\n label: \"Session\",\n help: \"Foreign key to sys_session.id\"\n },\n user_id: {\n label: \"User\",\n help: \"Foreign key to sys_user.id\"\n },\n reference_id: {\n label: \"Reference ID\",\n help: \"Caller-supplied correlation identifier\"\n },\n scopes: {\n label: \"Scopes\",\n help: \"JSON-serialized list of scopes granted to this token\"\n },\n expires_at: {\n label: \"Expires At\"\n },\n created_at: {\n label: \"Created At\"\n },\n revoked: {\n label: \"Revoked At\",\n help: \"Timestamp at which this refresh token was revoked\"\n },\n auth_time: {\n label: \"Auth Time\",\n help: \"When the user originally authenticated for this token chain\"\n }\n }\n },\n sys_oauth_consent: {\n label: \"OAuth Consent\",\n pluralLabel: \"OAuth Consents\",\n description: \"User consent records for OAuth client applications\",\n fields: {\n id: {\n label: \"ID\"\n },\n client_id: {\n label: \"Client ID\",\n help: \"Foreign key to sys_oauth_application.client_id\"\n },\n user_id: {\n label: \"User\",\n help: \"Foreign key to sys_user.id\"\n },\n reference_id: {\n label: \"Reference ID\",\n help: \"Caller-supplied correlation identifier\"\n },\n scopes: {\n label: \"Scopes\",\n help: \"JSON-serialized list of scopes the user consented to\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_jwks: {\n label: \"JWKS Key\",\n pluralLabel: \"JWKS Keys\",\n description: \"Asymmetric key pairs used to sign and verify issued JWTs\",\n fields: {\n id: {\n label: \"Key ID\",\n help: \"JWK `kid` value\"\n },\n public_key: {\n label: \"Public Key\",\n help: \"JSON-serialized JWK public key\"\n },\n private_key: {\n label: \"Private Key\",\n help: \"JSON-serialized JWK private key (encrypted at rest)\"\n },\n created_at: {\n label: \"Created At\"\n },\n expires_at: {\n label: \"Expires At\",\n help: \"When the key may no longer be used to verify tokens\"\n }\n }\n },\n sys_role: {\n label: \"Role\",\n pluralLabel: \"Roles\",\n description: \"Role definitions for RBAC access control\",\n fields: {\n label: {\n label: \"Display Name\"\n },\n name: {\n label: \"API Name\",\n help: \"Unique machine name for the role (e.g. admin, editor, viewer)\"\n },\n description: {\n label: \"Description\"\n },\n permissions: {\n label: \"Permissions\",\n help: \"JSON-serialized array of permission strings\"\n },\n active: {\n label: \"Active\"\n },\n is_default: {\n label: \"Default Role\",\n help: \"Automatically assigned to new users\"\n },\n id: {\n label: \"Role ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n default_roles: {\n label: \"Default\"\n },\n custom: {\n label: \"Custom\"\n },\n all_roles: {\n label: \"All\"\n }\n }\n },\n sys_permission_set: {\n label: \"Permission Set\",\n pluralLabel: \"Permission Sets\",\n description: \"Named permission groupings for fine-grained access control\",\n fields: {\n label: {\n label: \"Display Name\"\n },\n name: {\n label: \"API Name\",\n help: \"Unique machine name for the permission set\"\n },\n description: {\n label: \"Description\"\n },\n object_permissions: {\n label: \"Object Permissions\",\n help: \"JSON-serialized object-level CRUD permissions\"\n },\n field_permissions: {\n label: \"Field Permissions\",\n help: \"JSON-serialized field-level read/write permissions\"\n },\n active: {\n label: \"Active\"\n },\n id: {\n label: \"Permission Set ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n inactive: {\n label: \"Inactive\"\n },\n all_permsets: {\n label: \"All\"\n }\n }\n },\n sys_user_permission_set: {\n label: \"User Permission Set\",\n pluralLabel: \"User Permission Sets\",\n description: \"Direct assignment of a permission set to a user (optionally scoped to an organization).\",\n fields: {\n id: {\n label: \"Assignment ID\",\n help: \"UUID of the assignment.\"\n },\n user_id: {\n label: \"User\",\n help: \"Foreign key to sys_user.\"\n },\n permission_set_id: {\n label: \"Permission Set\",\n help: \"Foreign key to sys_permission_set.\"\n },\n organization_id: {\n label: \"Organization\",\n help: \"Optional organization scope. NULL = applies in every org context.\"\n },\n granted_by: {\n label: \"Granted By\",\n help: \"User who granted this permission set.\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_role_permission_set: {\n label: \"Role Permission Set\",\n pluralLabel: \"Role Permission Sets\",\n description: \"Binds a permission set to a role.\",\n fields: {\n id: {\n label: \"Binding ID\",\n help: \"UUID of the role-permission-set binding.\"\n },\n role_id: {\n label: \"Role\",\n help: \"Foreign key to sys_role.\"\n },\n permission_set_id: {\n label: \"Permission Set\",\n help: \"Foreign key to sys_permission_set.\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_record_share: {\n label: \"Record Share\",\n pluralLabel: \"Record Shares\",\n description: \"Per-record sharing grant — extends OWD with explicit access\",\n fields: {\n id: {\n label: \"Share ID\"\n },\n object_name: {\n label: \"Object\",\n help: \"Short object name of the shared record\"\n },\n record_id: {\n label: \"Record\",\n help: \"Primary key of the shared record within object_name\"\n },\n recipient_type: {\n label: \"Recipient Type\",\n help: \"Kind of principal that holds the grant\",\n options: {\n user: \"user\",\n group: \"group\",\n role: \"role\",\n role_and_subordinates: \"role_and_subordinates\",\n guest: \"guest\"\n }\n },\n recipient_id: {\n label: \"Recipient\",\n help: \"ID of the user/group/role that receives access\"\n },\n access_level: {\n label: \"Access Level\",\n help: \"What the recipient can do — read | edit | full (transfer/share/delete)\",\n options: {\n read: \"read\",\n edit: \"edit\",\n full: \"full\"\n }\n },\n source: {\n label: \"Source\",\n help: \"Why this grant exists — used by the rule evaluator to reconcile\",\n options: {\n manual: \"manual\",\n rule: \"rule\",\n team: \"team\",\n inherited: \"inherited\"\n }\n },\n source_id: {\n label: \"Source ID\",\n help: \"Rule name / team id when source != manual\"\n },\n granted_by: {\n label: \"Granted By\",\n help: \"User that created the grant (manual only)\"\n },\n reason: {\n label: \"Reason\",\n help: \"Optional free-text explanation surfaced to the recipient\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n granted_to_me: {\n label: \"Granted to Me\"\n },\n granted_by_me: {\n label: \"Granted by Me\"\n },\n by_object: {\n label: \"By Object\"\n },\n manual_grants: {\n label: \"Manual Grants\"\n },\n rule_grants: {\n label: \"Rule Grants\"\n },\n all_shares: {\n label: \"All\"\n }\n }\n },\n sys_sharing_rule: {\n label: \"Sharing Rule\",\n pluralLabel: \"Sharing Rules\",\n description: \"Declarative sharing rule that auto-materialises sys_record_share grants. Authored via defineSharingRule() in code or the Studio criteria builder.\",\n fields: {\n id: {\n label: \"Rule ID\"\n },\n organization_id: {\n label: \"Organization\",\n help: \"Tenant that owns this rule; null = global\"\n },\n name: {\n label: \"Name\",\n help: \"Unique snake_case rule name\"\n },\n label: {\n label: \"Display Label\"\n },\n description: {\n label: \"Description\"\n },\n object_name: {\n label: \"Object\",\n help: \"Short object name (e.g. opportunity, account)\"\n },\n criteria_json: {\n label: \"Criteria (FilterCondition JSON)\",\n help: \"JSON FilterCondition matched against records of object_name. Empty = match all.\"\n },\n recipient_type: {\n label: \"Recipient Type\",\n help: \"Kind of principal that receives access — expanded to user grants at evaluation time. `department` walks the parent_department_id tree; `team` is flat (better-auth).\",\n options: {\n user: \"user\",\n team: \"team\",\n department: \"department\",\n role: \"role\",\n queue: \"queue\"\n }\n },\n recipient_id: {\n label: \"Recipient\",\n help: \"department id / team id / role name / queue name / user id depending on recipient_type\"\n },\n access_level: {\n label: \"Access Level\",\n options: {\n read: \"read\",\n edit: \"edit\",\n full: \"full\"\n }\n },\n active: {\n label: \"Active\",\n help: \"Only active rules participate in lifecycle evaluation\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n inactive: {\n label: \"Inactive\"\n },\n by_object: {\n label: \"By Object\"\n },\n all_rules: {\n label: \"All\"\n }\n }\n },\n sys_audit_log: {\n label: \"Audit Log\",\n pluralLabel: \"Audit Logs\",\n description: \"Immutable audit trail for platform events\",\n fields: {\n created_at: {\n label: \"Timestamp\"\n },\n action: {\n label: \"Action\",\n help: \"Action type (snake_case)\",\n options: {\n create: \"create\",\n update: \"update\",\n delete: \"delete\",\n restore: \"restore\",\n login: \"login\",\n logout: \"logout\",\n permission_change: \"permission_change\",\n config_change: \"config_change\",\n export: \"export\",\n import: \"import\"\n }\n },\n user_id: {\n label: \"Actor\",\n help: \"User who performed the action (null for system actions)\"\n },\n object_name: {\n label: \"Object\",\n help: \"Target object (e.g. sys_user, project_task)\"\n },\n record_id: {\n label: \"Record ID\",\n help: \"ID of the affected record\"\n },\n old_value: {\n label: \"Old Value\",\n help: \"JSON-serialized previous state\"\n },\n new_value: {\n label: \"New Value\",\n help: \"JSON-serialized new state\"\n },\n ip_address: {\n label: \"IP Address\"\n },\n user_agent: {\n label: \"User Agent\"\n },\n tenant_id: {\n label: \"Tenant\",\n help: \"Tenant context for multi-tenant isolation\"\n },\n metadata: {\n label: \"Metadata\",\n help: \"JSON-serialized additional context\"\n },\n id: {\n label: \"Audit Log ID\"\n }\n },\n _views: {\n recent: {\n label: \"Recent\"\n },\n writes_only: {\n label: \"Writes\"\n },\n auth_events: {\n label: \"Auth\"\n },\n config_changes: {\n label: \"Config\"\n },\n all_events: {\n label: \"All\"\n }\n }\n },\n sys_presence: {\n label: \"Presence\",\n pluralLabel: \"Presences\",\n description: \"Real-time user presence and activity tracking\",\n fields: {\n id: {\n label: \"Presence ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n },\n user_id: {\n label: \"User\"\n },\n session_id: {\n label: \"Session\"\n },\n status: {\n label: \"Status\",\n options: {\n online: \"Online\",\n away: \"Away\",\n busy: \"Busy\",\n offline: \"Offline\"\n }\n },\n last_seen: {\n label: \"Last Seen\"\n },\n current_location: {\n label: \"Current Location\"\n },\n device: {\n label: \"Device\",\n options: {\n desktop: \"Desktop\",\n mobile: \"Mobile\",\n tablet: \"Tablet\",\n other: \"Other\"\n }\n },\n custom_status: {\n label: \"Custom Status\"\n },\n metadata: {\n label: \"Metadata\",\n help: \"Arbitrary JSON metadata associated with the presence state (matches PresenceStateSchema.metadata).\"\n }\n }\n },\n sys_activity: {\n label: \"Activity\",\n pluralLabel: \"Activities\",\n description: \"Recent activity stream entries (lightweight, denormalized)\",\n fields: {\n id: {\n label: \"Activity ID\"\n },\n timestamp: {\n label: \"Timestamp\"\n },\n type: {\n label: \"Type\",\n options: {\n created: \"created\",\n updated: \"updated\",\n deleted: \"deleted\",\n commented: \"commented\",\n mentioned: \"mentioned\",\n shared: \"shared\",\n assigned: \"assigned\",\n completed: \"completed\",\n login: \"login\",\n logout: \"logout\",\n system: \"system\"\n }\n },\n summary: {\n label: \"Summary\",\n help: \"Human-readable one-line summary\"\n },\n actor_id: {\n label: \"Actor\"\n },\n actor_name: {\n label: \"Actor Name\"\n },\n actor_avatar_url: {\n label: \"Actor Avatar\"\n },\n object_name: {\n label: \"Object\",\n help: \"Target object short name (e.g. account, sys_user)\"\n },\n record_id: {\n label: \"Record ID\"\n },\n record_label: {\n label: \"Record Label\",\n help: \"Display label of the target record at write time\"\n },\n url: {\n label: \"URL\",\n help: \"Optional deep-link to the activity target\"\n },\n project_id: {\n label: \"Project\",\n help: \"Project context (multi-project deployments)\"\n },\n metadata: {\n label: \"Metadata\",\n help: \"JSON-serialized additional context\"\n }\n }\n },\n sys_comment: {\n label: \"Comment\",\n pluralLabel: \"Comments\",\n description: \"Threaded comments attached to records via thread_id\",\n fields: {\n id: {\n label: \"Comment ID\"\n },\n thread_id: {\n label: \"Thread\",\n help: \"Thread identifier — conventionally `{object}:{record_id}` (e.g. `sys_user:abc123`)\"\n },\n parent_id: {\n label: \"Parent Comment\",\n help: \"Optional parent comment for nested replies\"\n },\n reply_count: {\n label: \"Reply Count\"\n },\n author_id: {\n label: \"Author\"\n },\n author_name: {\n label: \"Author Name\"\n },\n author_avatar_url: {\n label: \"Author Avatar\"\n },\n body: {\n label: \"Body\",\n help: \"Comment text (Markdown supported)\"\n },\n mentions: {\n label: \"Mentions\",\n help: \"JSON array of @mention objects\"\n },\n reactions: {\n label: \"Reactions\",\n help: \"JSON array of emoji reaction objects\"\n },\n is_edited: {\n label: \"Edited\"\n },\n edited_at: {\n label: \"Edited At\"\n },\n visibility: {\n label: \"Visibility\",\n options: {\n public: \"public\",\n internal: \"internal\",\n private: \"private\"\n }\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_attachment: {\n label: \"Attachment\",\n pluralLabel: \"Attachments\",\n description: \"Polymorphic link between a sys_file and any other record\",\n fields: {\n id: {\n label: \"Attachment ID\"\n },\n parent_object: {\n label: \"Parent Object\",\n help: \"Short object name of the attached-to record (e.g. account, lead)\"\n },\n parent_id: {\n label: \"Parent Record\",\n help: \"Primary key of the attached-to record\"\n },\n file_id: {\n label: \"File\",\n help: \"The sys_file storage entry being attached\"\n },\n file_name: {\n label: \"File Name\",\n help: \"Denormalised copy of sys_file.name for fast list rendering\"\n },\n mime_type: {\n label: \"MIME Type\"\n },\n size: {\n label: \"Size (bytes)\"\n },\n share_type: {\n label: \"Share Type\",\n help: \"viewer | collaborator | inferred (inherited from parent record)\",\n options: {\n viewer: \"viewer\",\n collaborator: \"collaborator\",\n inferred: \"inferred\"\n }\n },\n visibility: {\n label: \"Visibility\",\n options: {\n internal: \"internal\",\n all_users: \"all_users\",\n shared_users: \"shared_users\"\n }\n },\n uploaded_by: {\n label: \"Uploaded By\"\n },\n description: {\n label: \"Description\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_notification: {\n label: \"Notification\",\n pluralLabel: \"Notifications\",\n description: \"Per-user notification inbox entries\",\n fields: {\n id: {\n label: \"Notification ID\"\n },\n recipient_id: {\n label: \"Recipient\",\n help: \"User the notification is delivered to\"\n },\n type: {\n label: \"Type\",\n help: \"Notification category — drives icon + sort priority\",\n options: {\n mention: \"mention\",\n assignment: \"assignment\",\n comment_reply: \"comment_reply\",\n lead_converted: \"lead_converted\",\n task_due: \"task_due\",\n system: \"system\"\n }\n },\n title: {\n label: \"Title\"\n },\n body: {\n label: \"Body\",\n help: \"Optional secondary text (one-line summary)\"\n },\n source_object: {\n label: \"Source Object\",\n help: \"Object name of the related record (e.g. lead, opportunity)\"\n },\n source_id: {\n label: \"Source Record\",\n help: \"Record id within source_object\"\n },\n url: {\n label: \"Deep Link\",\n help: \"Optional URL to navigate to when clicked\"\n },\n actor_id: {\n label: \"Actor\",\n help: \"User who caused the notification (mentioner, assigner)\"\n },\n actor_name: {\n label: \"Actor Name\"\n },\n is_read: {\n label: \"Read\",\n help: \"True once recipient acknowledges\"\n },\n read_at: {\n label: \"Read At\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n unread: {\n label: \"Unread\"\n },\n mine: {\n label: \"Mine\"\n },\n all_notifications: {\n label: \"All\"\n }\n }\n },\n sys_email: {\n label: \"Email\",\n pluralLabel: \"Emails\",\n description: \"Outbound email delivery log\",\n fields: {\n id: {\n label: \"Email ID\"\n },\n message_id: {\n label: \"Message-ID\",\n help: \"RFC-5322 Message-ID assigned by the transport\"\n },\n from_address: {\n label: \"From\"\n },\n to_addresses: {\n label: \"To\",\n help: \"Comma-separated recipient addresses\"\n },\n cc_addresses: {\n label: \"Cc\"\n },\n bcc_addresses: {\n label: \"Bcc\"\n },\n reply_to: {\n label: \"Reply-To\"\n },\n subject: {\n label: \"Subject\"\n },\n body_text: {\n label: \"Body (text)\"\n },\n body_html: {\n label: \"Body (HTML)\"\n },\n status: {\n label: \"Status\",\n help: \"Lifecycle state — queued by IEmailService.send before transport call\",\n options: {\n queued: \"queued\",\n sent: \"sent\",\n failed: \"failed\"\n }\n },\n error: {\n label: \"Error\",\n help: \"Transport error message when status=failed\"\n },\n attempt_count: {\n label: \"Attempts\",\n help: \"Number of delivery attempts performed by the service\"\n },\n sent_at: {\n label: \"Sent At\",\n help: \"Set when status transitions to \\\"sent\\\"\"\n },\n related_object: {\n label: \"Related Object\",\n help: \"Object name of the related record (e.g. lead, opportunity)\"\n },\n related_id: {\n label: \"Related Record\",\n help: \"Record id within related_object\"\n },\n sent_by: {\n label: \"Sent By\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_email_template: {\n label: \"Email Template\",\n pluralLabel: \"Email Templates\",\n description: \"Outbound email template (subject + body + variables) resolved by name+locale\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"Name\",\n help: \"Dotted snake_case identifier (e.g. auth.password_reset)\"\n },\n label: {\n label: \"Label\",\n help: \"Human-readable name shown in Studio\"\n },\n category: {\n label: \"Category\",\n options: {\n auth: \"auth\",\n notification: \"notification\",\n workflow: \"workflow\",\n marketing: \"marketing\",\n custom: \"custom\"\n }\n },\n locale: {\n label: \"Locale\",\n help: \"BCP-47 locale tag (en-US, zh-CN, …)\"\n },\n description: {\n label: \"Description\"\n },\n subject: {\n label: \"Subject\",\n help: \"Subject template; supports {{var.path}} placeholders\"\n },\n body_html: {\n label: \"HTML Body\",\n help: \"HTML body template; supports {{var.path}} placeholders\"\n },\n body_text: {\n label: \"Plain Text Body\",\n help: \"Optional plain-text alternative (auto-derived from HTML when blank)\"\n },\n from_name: {\n label: \"From Name\"\n },\n from_address: {\n label: \"From Address\"\n },\n reply_to: {\n label: \"Reply-To\"\n },\n active: {\n label: \"Active\"\n },\n is_system: {\n label: \"System Template\",\n help: \"Provided by a plugin / platform; tenants may edit but should not delete\"\n },\n variables_json: {\n label: \"Variables (JSON)\",\n help: \"JSON array of {name,type,required,description}\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_saved_report: {\n label: \"Saved Report\",\n pluralLabel: \"Saved Reports\",\n description: \"Persisted ObjectQL report definition — re-runnable and schedulable\",\n fields: {\n id: {\n label: \"Report ID\"\n },\n name: {\n label: \"Name\"\n },\n description: {\n label: \"Description\"\n },\n object_name: {\n label: \"Object\",\n help: \"Short object name the report queries\"\n },\n query_json: {\n label: \"Query\",\n help: \"ObjectQL query envelope — { filter, fields, orderBy, limit, groupBy }\"\n },\n format: {\n label: \"Format\",\n help: \"Rendering used by IReportService.run() and email digests\",\n options: {\n csv: \"csv\",\n json: \"json\",\n html_table: \"html_table\"\n }\n },\n owner_id: {\n label: \"Owner\",\n help: \"User that owns the report definition (drives sharing)\"\n },\n last_run_at: {\n label: \"Last Run\",\n help: \"Stamped by IReportService.run() on successful execution\"\n },\n last_row_count: {\n label: \"Last Row Count\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_report_schedule: {\n label: \"Report Schedule\",\n pluralLabel: \"Report Schedules\",\n description: \"Recurring delivery of a sys_saved_report via email\",\n fields: {\n id: {\n label: \"Schedule ID\"\n },\n report_id: {\n label: \"Report\"\n },\n name: {\n label: \"Name\",\n help: \"Optional label for the digest — used in the email subject\"\n },\n interval_minutes: {\n label: \"Interval (minutes)\",\n help: \"How often to send (1440 = daily, 10080 = weekly)\"\n },\n cron_expression: {\n label: \"Cron Expression\",\n help: \"Optional 5/6-field cron — overrides interval_minutes when present\"\n },\n timezone: {\n label: \"Timezone\"\n },\n active: {\n label: \"Active\"\n },\n recipients: {\n label: \"Recipients\",\n help: \"Comma-separated email addresses\"\n },\n format: {\n label: \"Format\",\n help: \"Render format — csv is attached, html_table is inlined\",\n options: {\n csv: \"csv\",\n html_table: \"html_table\"\n }\n },\n subject_template: {\n label: \"Subject Template\",\n help: \"Email subject; {{name}} / {{date}} / {{rows}} are substituted\"\n },\n owner_id: {\n label: \"Owner\"\n },\n next_run_at: {\n label: \"Next Run\",\n help: \"Dispatcher loads schedules where next_run_at <= now\"\n },\n last_sent_at: {\n label: \"Last Sent\"\n },\n last_status: {\n label: \"Last Status\",\n options: {\n ok: \"ok\",\n failed: \"failed\",\n skipped: \"skipped\"\n }\n },\n last_error: {\n label: \"Last Error\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_approval_process: {\n label: \"Approval Process\",\n pluralLabel: \"Approval Processes\",\n description: \"Persisted approval process definition. Authored via defineApprovalProcess() in code; visual designer is on the roadmap.\",\n fields: {\n id: {\n label: \"Process ID\"\n },\n name: {\n label: \"Name\",\n help: \"Unique snake_case name — referenced by submitters and audit rows\"\n },\n label: {\n label: \"Display Label\"\n },\n object_name: {\n label: \"Object\",\n help: \"Short object name this process governs\"\n },\n description: {\n label: \"Description\"\n },\n active: {\n label: \"Active\",\n help: \"Only active processes are dispatched on submission\"\n },\n definition_json: {\n label: \"Definition\",\n help: \"Serialised ApprovalProcess JSON (see @objectstack/spec/automation/approval)\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n inactive: {\n label: \"Inactive\"\n },\n by_object: {\n label: \"By Object\"\n },\n all_processes: {\n label: \"All\"\n }\n }\n },\n sys_approval_request: {\n label: \"Approval Request\",\n pluralLabel: \"Approval Requests\",\n description: \"Live approval instance tracked per submission\",\n fields: {\n id: {\n label: \"Request ID\"\n },\n organization_id: {\n label: \"Organization\",\n help: \"Tenant that owns this approval request (propagated from submitter context)\"\n },\n process_name: {\n label: \"Process\",\n help: \"sys_approval_process.name this request was opened against\"\n },\n object_name: {\n label: \"Object\"\n },\n record_id: {\n label: \"Record ID\"\n },\n submitter_id: {\n label: \"Submitter\"\n },\n submitter_comment: {\n label: \"Submitter Comment\"\n },\n status: {\n label: \"Status\",\n help: \"Lifecycle state of the request\",\n options: {\n pending: \"pending\",\n approved: \"approved\",\n rejected: \"rejected\",\n recalled: \"recalled\"\n }\n },\n current_step: {\n label: \"Current Step\",\n help: \"Machine name of the step awaiting approval\"\n },\n current_step_index: {\n label: \"Current Step Index\"\n },\n pending_approvers: {\n label: \"Pending Approvers\",\n help: \"Comma-separated user ids who can act on the current step\"\n },\n payload_json: {\n label: \"Snapshot\",\n help: \"Record snapshot at submission time\"\n },\n completed_at: {\n label: \"Completed At\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n my_pending: {\n label: \"My Pending\"\n },\n submitted_by_me: {\n label: \"I Submitted\"\n },\n completed: {\n label: \"Completed\"\n },\n all_requests: {\n label: \"All\"\n }\n }\n },\n sys_approval_action: {\n label: \"Approval Action\",\n pluralLabel: \"Approval Actions\",\n description: \"Append-only audit trail for approval actions\",\n fields: {\n id: {\n label: \"Action ID\"\n },\n organization_id: {\n label: \"Organization\",\n help: \"Tenant that owns this action (mirrors the parent request)\"\n },\n request_id: {\n label: \"Request\"\n },\n step_name: {\n label: \"Step\",\n help: \"Machine name of the step at the time of the action\"\n },\n step_index: {\n label: \"Step Index\"\n },\n action: {\n label: \"Action\",\n options: {\n submit: \"submit\",\n approve: \"approve\",\n reject: \"reject\",\n recall: \"recall\",\n escalate: \"escalate\"\n }\n },\n actor_id: {\n label: \"Actor\"\n },\n comment: {\n label: \"Comment\"\n },\n created_at: {\n label: \"Created At\"\n }\n },\n _views: {\n recent: {\n label: \"Recent\"\n },\n by_actor: {\n label: \"By Actor\"\n },\n all_actions: {\n label: \"All\"\n }\n }\n },\n sys_job: {\n label: \"Background Job\",\n pluralLabel: \"Background Jobs\",\n description: \"Catalogue of registered background jobs\",\n fields: {\n id: {\n label: \"Job ID\"\n },\n name: {\n label: \"Job Name\",\n help: \"Unique job identifier (snake_case)\"\n },\n schedule_type: {\n label: \"Schedule Type\",\n options: {\n cron: \"cron\",\n interval: \"interval\",\n once: \"once\"\n }\n },\n schedule_expression: {\n label: \"Expression\",\n help: \"Cron expression / interval ms / ISO datetime\"\n },\n timezone: {\n label: \"Timezone\"\n },\n active: {\n label: \"Active\",\n help: \"Whether the scheduler is currently running this job\"\n },\n last_run_at: {\n label: \"Last Run At\"\n },\n last_status: {\n label: \"Last Status\",\n options: {\n success: \"success\",\n failed: \"failed\",\n timeout: \"timeout\",\n running: \"running\"\n }\n },\n last_error: {\n label: \"Last Error\"\n },\n run_count: {\n label: \"Run Count\"\n },\n failure_count: {\n label: \"Failure Count\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_job_run: {\n label: \"Job Run\",\n pluralLabel: \"Job Runs\",\n description: \"Background job execution audit trail\",\n fields: {\n id: {\n label: \"Run ID\"\n },\n job_name: {\n label: \"Job\"\n },\n status: {\n label: \"Status\",\n options: {\n running: \"running\",\n success: \"success\",\n failed: \"failed\",\n timeout: \"timeout\"\n }\n },\n started_at: {\n label: \"Started At\"\n },\n completed_at: {\n label: \"Completed At\"\n },\n duration_ms: {\n label: \"Duration (ms)\"\n },\n attempt: {\n label: \"Attempt\",\n help: \"1 for first run, >1 for retries/replays\"\n },\n trigger: {\n label: \"Trigger\",\n options: {\n schedule: \"schedule\",\n manual: \"manual\",\n replay: \"replay\"\n }\n },\n error: {\n label: \"Error\"\n },\n created_at: {\n label: \"Created At\"\n }\n }\n },\n sys_job_queue: {\n label: \"Job Queue Message\",\n pluralLabel: \"Job Queue Messages\",\n description: \"Durable job/message queue including dead letters\",\n fields: {\n id: {\n label: \"Message ID\"\n },\n queue: {\n label: \"Queue\",\n help: \"Logical queue name (snake_case)\"\n },\n idempotency_key: {\n label: \"Idempotency Key\",\n help: \"Deduplication key within (queue, window)\"\n },\n payload_json: {\n label: \"Payload (JSON)\",\n help: \"Serialized message body\"\n },\n metadata_json: {\n label: \"Metadata (JSON)\",\n help: \"Serialized metadata bag (tenant_id, source_record, ...)\"\n },\n status: {\n label: \"Status\",\n help: \"Lifecycle state\",\n options: {\n pending: \"pending\",\n running: \"running\",\n completed: \"completed\",\n failed: \"failed\",\n dlq: \"dlq\"\n }\n },\n priority: {\n label: \"Priority\",\n help: \"Lower = higher priority\"\n },\n attempts: {\n label: \"Attempts\"\n },\n max_attempts: {\n label: \"Max Attempts\"\n },\n backoff_type: {\n label: \"Backoff\",\n options: {\n fixed: \"fixed\",\n exponential: \"exponential\"\n }\n },\n backoff_delay_ms: {\n label: \"Backoff Base (ms)\"\n },\n backoff_max_delay_ms: {\n label: \"Backoff Cap (ms)\"\n },\n scheduled_for: {\n label: \"Scheduled For\",\n help: \"Earliest time a worker may lease this message\"\n },\n locked_by: {\n label: \"Locked By\",\n help: \"Worker id holding the lease\"\n },\n locked_until: {\n label: \"Locked Until\",\n help: \"Lease expiry; if past, another worker may claim\"\n },\n last_error: {\n label: \"Last Error\"\n },\n completed_at: {\n label: \"Completed At\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhooks\",\n description: \"Outbound HTTP webhook subscription. Authored via defineWebhook() in code or the Studio editor; executed by the HTTP connector plugin.\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"Name\",\n help: \"Unique snake_case name — referenced in logs and audit\"\n },\n label: {\n label: \"Display Label\"\n },\n object_name: {\n label: \"Object\",\n help: \"Short object name whose events fire this webhook (blank = manual / API-triggered)\"\n },\n triggers: {\n label: \"Triggers\",\n help: \"Comma-separated event list: create,update,delete,undelete,api\"\n },\n url: {\n label: \"Target URL\",\n help: \"External endpoint that receives the POST\"\n },\n method: {\n label: \"HTTP Method\",\n help: \"GET / POST / PUT / PATCH / DELETE\"\n },\n description: {\n label: \"Description\"\n },\n active: {\n label: \"Active\",\n help: \"Inactive webhooks are skipped by the dispatcher\"\n },\n definition_json: {\n label: \"Definition\",\n help: \"Serialised Webhook JSON (see @objectstack/spec/automation/webhook) — full headers/auth/retry/payload config\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n inactive: {\n label: \"Inactive\"\n },\n by_object: {\n label: \"By Object\"\n },\n all_webhooks: {\n label: \"All\"\n }\n }\n },\n sys_metadata: {\n label: \"System Metadata\",\n pluralLabel: \"System Metadata\",\n description: \"Stores platform and user-scope metadata records (objects, views, flows, etc.)\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"Name\"\n },\n type: {\n label: \"Metadata Type\"\n },\n namespace: {\n label: \"Namespace\"\n },\n package_id: {\n label: \"Package ID\",\n help: \"Legacy package manifest ID string. Use package_version_id for new records.\"\n },\n package_version_id: {\n label: \"Package Version\",\n help: \"Foreign key to sys_package_version (UUID). Null = platform-built-in or env-level override.\"\n },\n managed_by: {\n label: \"Managed By\",\n options: {\n package: \"package\",\n platform: \"platform\",\n user: \"user\"\n }\n },\n scope: {\n label: \"Scope\",\n options: {\n system: \"system\",\n platform: \"platform\",\n user: \"user\"\n }\n },\n metadata: {\n label: \"Metadata\",\n help: \"JSON-serialized metadata payload\"\n },\n extends: {\n label: \"Extends\"\n },\n strategy: {\n label: \"Strategy\",\n options: {\n merge: \"merge\",\n replace: \"replace\"\n }\n },\n owner: {\n label: \"Owner\"\n },\n state: {\n label: \"State\",\n options: {\n draft: \"draft\",\n active: \"active\",\n archived: \"archived\",\n deprecated: \"deprecated\"\n }\n },\n organization_id: {\n label: \"Organization\",\n help: \"Organization for multi-tenant isolation.\"\n },\n project_id: {\n label: \"Project (deprecated)\",\n help: \"DEPRECATED. Use organization_id for tenant isolation.\"\n },\n version: {\n label: \"Version\"\n },\n checksum: {\n label: \"Checksum\"\n },\n source: {\n label: \"Source\",\n options: {\n filesystem: \"filesystem\",\n database: \"database\",\n api: \"api\",\n migration: \"migration\"\n }\n },\n tags: {\n label: \"Tags\",\n help: \"JSON-serialized array of classification tags\"\n },\n created_by: {\n label: \"Created By\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_by: {\n label: \"Updated By\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n }\n },\n sys_metadata_history: {\n label: \"Metadata History\",\n pluralLabel: \"Metadata History\",\n description: \"Version history and audit trail for metadata changes\",\n fields: {\n id: {\n label: \"ID\"\n },\n metadata_id: {\n label: \"Metadata\"\n },\n name: {\n label: \"Name\"\n },\n type: {\n label: \"Metadata Type\"\n },\n version: {\n label: \"Version\"\n },\n operation_type: {\n label: \"Operation Type\",\n options: {\n create: \"create\",\n update: \"update\",\n publish: \"publish\",\n revert: \"revert\",\n delete: \"delete\"\n }\n },\n metadata: {\n label: \"Metadata\",\n help: \"JSON-serialized metadata snapshot at this version\"\n },\n checksum: {\n label: \"Checksum\"\n },\n previous_checksum: {\n label: \"Previous Checksum\"\n },\n change_note: {\n label: \"Change Note\",\n help: \"Description of what changed in this version\"\n },\n organization_id: {\n label: \"Organization\",\n help: \"Organization for multi-tenant isolation.\"\n },\n project_id: {\n label: \"Environment ID\",\n help: \"Scopes this history entry to a specific environment.\"\n },\n recorded_by: {\n label: \"Recorded By\"\n },\n recorded_at: {\n label: \"Recorded At\"\n }\n }\n },\n sys_setting: {\n label: \"Setting\",\n pluralLabel: \"Settings\",\n description: \"Generic K/V store backing the SettingsManifest contract.\",\n fields: {\n id: {\n label: \"Setting ID\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n },\n namespace: {\n label: \"Namespace\",\n help: \"Manifest namespace (e.g. mail, branding, feature_flags).\"\n },\n key: {\n label: \"Key\",\n help: \"Specifier key inside the namespace (snake_case).\"\n },\n scope: {\n label: \"Scope\",\n help: \"Which layer of the config-resolution hierarchy this row belongs to.\",\n options: {\n global: \"Global\",\n tenant: \"Tenant\",\n user: \"User\",\n runtime: \"Runtime\"\n }\n },\n user_id: {\n label: \"User\",\n help: \"Owning user when scope=user; null otherwise.\"\n },\n value: {\n label: \"Value\",\n help: \"JSON-encoded value. Null when encrypted=true (see value_enc).\"\n },\n encrypted: {\n label: \"Encrypted\",\n help: \"When true, the value is stored encrypted-at-rest in value_enc; value column is null.\"\n },\n locked: {\n label: \"Locked\",\n help: \"When true, lower-scope rows cannot override this value; writes against lower scopes return 409. Used by platform administrators to pin a global value for all tenants (Phase 2 cascade).\"\n },\n locked_reason: {\n label: \"Lock Reason\",\n help: \"Human-readable explanation surfaced in the UI tooltip when locked=true.\"\n },\n value_enc: {\n label: \"Encrypted Value\",\n help: \"Ciphertext payload (KMS-wrapped). Set only when encrypted=true.\"\n },\n updated_by: {\n label: \"Updated By\",\n help: \"Last actor who wrote this row via SettingsService.set().\"\n }\n },\n _views: {\n by_namespace: {\n label: \"By Namespace\"\n },\n tenant_only: {\n label: \"Tenant\"\n },\n user_only: {\n label: \"User\"\n },\n all_settings: {\n label: \"All\"\n }\n }\n },\n sys_secret: {\n label: \"Secret\",\n pluralLabel: \"Secrets\",\n description: \"Cipher store referenced by sys_setting handles. Never holds plaintext.\",\n fields: {\n id: {\n label: \"ID\",\n help: \"Opaque handle referenced by `sys_setting.value_enc`.\"\n },\n created_at: {\n label: \"Created At\",\n help: \"When the cipher was first written.\"\n },\n rotated_at: {\n label: \"Rotated At\",\n help: \"When the cipher was last re-wrapped under a new KMS key.\"\n },\n namespace: {\n label: \"Namespace\",\n help: \"Settings namespace this secret belongs to.\"\n },\n key: {\n label: \"Key\",\n help: \"Specifier key within the namespace.\"\n },\n kms_key_id: {\n label: \"KMS Key ID\",\n help: \"External KMS handle (ARN, GCP resource id, or `local`).\"\n },\n alg: {\n label: \"Algorithm\",\n help: \"Cipher/AEAD algorithm tag.\"\n },\n version: {\n label: \"Version\",\n help: \"Bumps each time rotateKey() re-wraps this row.\"\n },\n ciphertext: {\n label: \"Ciphertext\",\n help: \"Provider-encoded ciphertext blob (base64 / JSON). Implementation-defined; only the matching ICryptoProvider can read it.\"\n }\n }\n },\n sys_setting_audit: {\n label: \"Setting Audit Entry\",\n pluralLabel: \"Setting Audit\",\n description: \"Append-only audit trail for SettingsService mutations.\",\n fields: {\n id: {\n label: \"ID\"\n },\n created_at: {\n label: \"Created At\",\n help: \"When the mutation was recorded.\"\n },\n namespace: {\n label: \"Namespace\"\n },\n key: {\n label: \"Key\"\n },\n scope: {\n label: \"Scope\",\n help: \"Cascade layer the row was written to.\",\n options: {\n global: \"Global\",\n tenant: \"Tenant\",\n user: \"User\"\n }\n },\n action: {\n label: \"Action\",\n help: \"Mutation kind.\",\n options: {\n set: \"Set\",\n reset: \"Reset\",\n lock: \"Lock\",\n unlock: \"Unlock\",\n rotate: \"Rotate\"\n }\n },\n actor_id: {\n label: \"Actor\",\n help: \"User who performed the mutation; null for system jobs.\"\n },\n source: {\n label: \"Source\",\n help: \"Mutation entry-point.\",\n options: {\n ui: \"UI\",\n api: \"API\",\n migration: \"Migration\",\n import: \"Import\",\n system: \"System\"\n }\n },\n reason: {\n label: \"Reason\",\n help: \"Free-text justification provided by the actor (optional).\"\n },\n old_hash: {\n label: \"Old Hash\",\n help: \"SHA-256 of the previous value (canonicalised). Null when previously unset.\"\n },\n new_hash: {\n label: \"New Hash\",\n help: \"SHA-256 of the new value (canonicalised). Null on reset.\"\n },\n encrypted: {\n label: \"Encrypted\",\n help: \"True when the field carries secret material (rotation is interesting).\"\n },\n request_id: {\n label: \"Request ID\",\n help: \"Correlates with sys_audit_log / tracing.\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { TranslationData } from '@objectstack/spec/system';\nimport { enObjects } from './en.objects.generated.js';\n\n/**\n * English (en) — Setup App Translations\n *\n * Per-locale file mirroring the CRM example convention (one file per\n * language, aggregated into a single `TranslationBundle` by\n * `setup.translation.ts`).\n *\n * Scope: the static Setup App metadata artifact owned by\n * `@objectstack/platform-objects/apps`:\n * - `apps.setup.label` / `description`\n * - `apps.setup.navigation.<id>.label` for every group AND leaf\n * - `dashboards.system_overview.*`\n * - `dashboards.security_overview.*`\n *\n * Object-level labels (Users, Roles, Audit Logs, …) are owned by the\n * sys_* object schemas themselves and translated separately.\n */\nexport const en: TranslationData = {\n objects: enObjects,\n apps: {\n setup: {\n label: 'Setup',\n description: 'Platform settings and administration',\n navigation: {\n // Groups\n group_overview: { label: 'Overview' },\n group_people_org: { label: 'People & Organization' },\n group_access_control: { label: 'Access Control' },\n group_approvals: { label: 'Approvals' },\n group_configuration: { label: 'Configuration' },\n group_diagnostics: { label: 'Diagnostics' },\n group_advanced: { label: 'Advanced' },\n\n // Overview\n nav_system_overview: { label: 'System Overview' },\n nav_security_overview: { label: 'Security Overview' },\n\n // People & Organization\n nav_users: { label: 'Users' },\n nav_departments: { label: 'Departments' },\n nav_teams: { label: 'Teams' },\n nav_organizations: { label: 'Organizations' },\n nav_invitations: { label: 'Invitations' },\n\n // Access Control\n nav_roles: { label: 'Roles' },\n nav_permission_sets: { label: 'Permission Sets' },\n nav_sharing_rules: { label: 'Sharing Rules' },\n nav_record_shares: { label: 'Record Shares' },\n nav_api_keys: { label: 'API Keys' },\n\n // Approvals\n nav_approval_processes: { label: 'Processes' },\n nav_approval_requests: { label: 'Requests' },\n nav_approval_actions: { label: 'Action History' },\n\n // Configuration\n nav_settings_hub: { label: 'All Settings' },\n nav_settings_mail: { label: 'Email' },\n nav_settings_branding: { label: 'Branding' },\n nav_settings_feature_flags: { label: 'Feature Flags' },\n\n // Diagnostics\n nav_sessions: { label: 'Sessions' },\n nav_audit_logs: { label: 'Audit Logs' },\n nav_notifications: { label: 'Notifications' },\n\n // Advanced\n nav_oauth_apps: { label: 'OAuth Applications' },\n nav_jwks: { label: 'Signing Keys (JWKS)' },\n nav_verifications: { label: 'Verifications' },\n nav_two_factor: { label: 'Two-Factor' },\n nav_device_codes: { label: 'Device Codes' },\n nav_accounts: { label: 'Identity Links' },\n nav_user_preferences: { label: 'User Preferences' },\n nav_metadata: { label: 'All Metadata' },\n },\n },\n },\n\n dashboards: {\n system_overview: {\n label: 'System Overview',\n description: 'Platform health, sessions, and audit activity',\n widgets: {\n widget_active_sessions: {\n title: 'Active Sessions',\n description: 'Number of currently active user sessions',\n },\n widget_total_users: {\n title: 'Total Users',\n description: 'Total registered users in the system',\n },\n widget_organizations: {\n title: 'Organizations',\n description: 'Total organizations on the platform',\n },\n widget_packages_installed: {\n title: 'Packages Installed',\n description: 'Active package installations across projects',\n },\n widget_audit_actions: {\n title: 'Audit Actions',\n description: 'Distribution of audit events by action type',\n },\n widget_active_orgs: {\n title: 'Sessions by Organization',\n description: 'Active sessions grouped by organization',\n },\n widget_recent_events: {\n title: 'Recent Audit Events',\n description: 'Latest platform events',\n },\n },\n },\n\n security_overview: {\n label: 'Security Overview',\n description: 'Security events, authentication, and audit trails',\n widgets: {\n widget_login_events: {\n title: 'Login Events',\n description: 'Authentication events recorded by the audit log',\n },\n widget_permission_changes: {\n title: 'Permission Changes',\n description: 'Recent permission and role modifications',\n },\n widget_config_changes: {\n title: 'Config Changes',\n description: 'System configuration modifications',\n },\n widget_active_sessions: {\n title: 'Active Sessions',\n description: 'Currently active user sessions',\n },\n widget_events_by_type: {\n title: 'Audit Events by Type',\n description: 'Distribution of security and audit events',\n },\n widget_events_by_user: {\n title: 'Events by User',\n description: 'Activity distribution across users',\n },\n widget_recent_security_events: {\n title: 'Recent Security Events',\n description: 'Latest permission and config changes',\n },\n },\n },\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'zh-CN'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const zhCNObjects: NonNullable<TranslationData['objects']> = {\n sys_user: {\n label: \"用户\",\n pluralLabel: \"用户\",\n description: \"用于身份认证的用户账号\",\n fields: {\n name: {\n label: \"名称\"\n },\n email: {\n label: \"邮箱\"\n },\n email_verified: {\n label: \"邮箱已验证\"\n },\n two_factor_enabled: {\n label: \"已启用双因素认证\",\n help: \"该用户是否已启用双因素认证。由 better-auth 的 `twoFactor` 插件维护。\"\n },\n role: {\n label: \"平台角色\",\n help: \"平台级角色(admin、user 等)。通过“设置平台角色”操作设置。\"\n },\n banned: {\n label: \"已封禁\",\n help: \"为 true 时,用户无法登录。可通过“封禁用户 / 解除封禁”操作切换。\"\n },\n ban_reason: {\n label: \"封禁原因\"\n },\n ban_expires: {\n label: \"封禁到期时间\",\n help: \"设置后,到达该时间会自动解除封禁。\"\n },\n image: {\n label: \"头像\"\n },\n id: {\n label: \"用户 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n all_users: {\n label: \"全部用户\"\n },\n unverified: {\n label: \"未验证\"\n },\n two_factor: {\n label: \"已启用 2FA\"\n },\n banned: {\n label: \"已封禁\"\n }\n },\n _actions: {\n invite_user: {\n label: \"邀请用户\",\n successMessage: \"邀请已发送\"\n },\n ban_user: {\n label: \"封禁用户\",\n confirmText: \"要封禁该用户吗?封禁后会立即登出,且在解除封禁前无法再次登录。\",\n successMessage: \"用户已封禁\"\n },\n unban_user: {\n label: \"解除封禁\",\n successMessage: \"用户已解除封禁\"\n },\n set_user_password: {\n label: \"设置密码\",\n successMessage: \"密码已更新\"\n },\n set_user_role: {\n label: \"设置平台角色\",\n successMessage: \"角色已更新\"\n },\n impersonate_user: {\n label: \"模拟用户\",\n confirmText: \"要为该用户启动模拟会话吗?仅限合法支持场景使用——所有操作都会被记录。\",\n successMessage: \"已开始模拟该用户\"\n }\n }\n },\n sys_session: {\n label: \"会话\",\n pluralLabel: \"会话\",\n description: \"活跃的用户会话\",\n fields: {\n user_id: {\n label: \"用户\"\n },\n expires_at: {\n label: \"过期时间\"\n },\n active_organization_id: {\n label: \"当前组织\"\n },\n active_team_id: {\n label: \"当前团队\"\n },\n ip_address: {\n label: \"IP 地址\"\n },\n user_agent: {\n label: \"用户代理\"\n },\n impersonated_by: {\n label: \"模拟发起人\",\n help: \"如存在,该字段表示发起本次模拟会话的管理员用户 ID。\"\n },\n token: {\n label: \"会话令牌\",\n help: \"不透明会话令牌——绝不会在 UI 中暴露。\"\n },\n id: {\n label: \"会话 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n mine: {\n label: \"我的会话\"\n },\n all_sessions: {\n label: \"全部\"\n }\n },\n _actions: {\n revoke_my_other_sessions: {\n label: \"退出其他设备\",\n confirmText: \"要退出你当前已登录的其他所有设备吗?当前会话将保持活跃。\",\n successMessage: \"其他所有会话已撤销\"\n },\n revoke_session: {\n label: \"撤销会话\",\n confirmText: \"要撤销此会话吗?系统将使该设备上的用户退出登录。\",\n successMessage: \"会话已撤销\"\n }\n }\n },\n sys_account: {\n label: \"身份链接\",\n pluralLabel: \"身份链接\",\n description: \"OAuth 与认证提供方账号\",\n fields: {\n id: {\n label: \"身份链接 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n },\n provider_id: {\n label: \"提供方 ID\",\n help: \"OAuth 提供方标识(google、github 等)\"\n },\n account_id: {\n label: \"提供方账号 ID\",\n help: \"用户在该提供方系统中的 ID\"\n },\n user_id: {\n label: \"用户\",\n help: \"关联到用户表\"\n },\n access_token: {\n label: \"访问令牌\"\n },\n refresh_token: {\n label: \"刷新令牌\"\n },\n id_token: {\n label: \"ID 令牌\"\n },\n access_token_expires_at: {\n label: \"Access Token 过期时间\"\n },\n refresh_token_expires_at: {\n label: \"Refresh Token 过期时间\"\n },\n scope: {\n label: \"OAuth 范围\"\n },\n password: {\n label: \"密码哈希\",\n help: \"邮箱/密码提供方使用的密码哈希\"\n }\n },\n _views: {\n mine: {\n label: \"我的链接\"\n },\n by_provider: {\n label: \"按提供方\"\n },\n all_links: {\n label: \"全部\"\n }\n }\n },\n sys_verification: {\n label: \"验证记录\",\n pluralLabel: \"验证记录\",\n description: \"邮箱和手机号验证令牌\",\n fields: {\n id: {\n label: \"验证记录 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n },\n value: {\n label: \"验证令牌\",\n help: \"用于验证的令牌或验证码\"\n },\n expires_at: {\n label: \"过期时间\"\n },\n identifier: {\n label: \"标识\",\n help: \"邮箱地址或手机号码\"\n }\n }\n },\n sys_organization: {\n label: \"组织\",\n pluralLabel: \"组织\",\n description: \"用于多租户分组的组织\",\n fields: {\n name: {\n label: \"名称\"\n },\n slug: {\n label: \"标识符\",\n help: \"适合 URL 使用的标识符\"\n },\n logo: {\n label: \"标识\"\n },\n metadata: {\n label: \"元数据\",\n help: \"JSON 序列化的组织元数据\"\n },\n id: {\n label: \"组织 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n all_orgs: {\n label: \"全部\"\n }\n },\n _actions: {\n create_organization: {\n label: \"创建组织\",\n successMessage: \"组织已创建\"\n },\n update_organization: {\n label: \"编辑组织\",\n successMessage: \"组织已更新\"\n },\n delete_organization: {\n label: \"删除组织\",\n confirmText: \"要删除该组织吗?所有成员将立即失去访问权限。此操作无法撤销。\",\n successMessage: \"组织已删除\"\n },\n set_active_organization: {\n label: \"设为当前\",\n successMessage: \"当前组织已切换\"\n },\n leave_organization: {\n label: \"退出组织\",\n confirmText: \"要退出该组织吗?退出后你将失去对其所有资源的访问权限。\",\n successMessage: \"你已退出该组织\"\n }\n }\n },\n sys_member: {\n label: \"成员\",\n pluralLabel: \"成员\",\n description: \"组织成员关系记录\",\n fields: {\n id: {\n label: \"成员 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n organization_id: {\n label: \"组织\"\n },\n user_id: {\n label: \"用户\"\n },\n role: {\n label: \"角色\",\n help: \"成员在组织内的角色\",\n options: {\n owner: \"所有者\",\n admin: \"管理员\",\n member: \"成员\"\n }\n }\n },\n _actions: {\n add_member: {\n label: \"添加成员\",\n successMessage: \"成员已添加\"\n },\n update_member_role: {\n label: \"更改角色\",\n successMessage: \"成员角色已更新\"\n },\n remove_member: {\n label: \"移除成员\",\n confirmText: \"要将该成员移出组织吗?移除后其将失去对该组织所有资源的访问权限。\",\n successMessage: \"成员已移除\"\n }\n }\n },\n sys_invitation: {\n label: \"邀请\",\n pluralLabel: \"邀请\",\n description: \"用于用户加入组织的邀请记录\",\n fields: {\n id: {\n label: \"邀请 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n organization_id: {\n label: \"组织\"\n },\n email: {\n label: \"邮箱\",\n help: \"被邀请用户的邮箱地址\"\n },\n role: {\n label: \"角色\",\n help: \"接受邀请后分配的角色\",\n options: {\n owner: \"所有者\",\n admin: \"管理员\",\n member: \"成员\"\n }\n },\n status: {\n label: \"状态\",\n options: {\n pending: \"待处理\",\n accepted: \"已接受\",\n rejected: \"已拒绝\",\n expired: \"已过期\",\n canceled: \"已取消\"\n }\n },\n inviter_id: {\n label: \"邀请人\",\n help: \"发送邀请的用户\"\n },\n expires_at: {\n label: \"过期时间\"\n },\n team_id: {\n label: \"团队\",\n help: \"接受邀请后可选分配的团队\"\n }\n },\n _views: {\n pending: {\n label: \"待处理\"\n },\n accepted: {\n label: \"已接受\"\n },\n expired: {\n label: \"已过期 / 已取消\"\n },\n all_invitations: {\n label: \"全部\"\n }\n },\n _actions: {\n invite_user: {\n label: \"邀请用户\",\n successMessage: \"邀请已发送\"\n },\n cancel_invitation: {\n label: \"取消邀请\",\n confirmText: \"要取消该邀请吗?接收人将无法再接受该邀请。\",\n successMessage: \"邀请已取消\"\n },\n resend_invitation: {\n label: \"重新发送邀请\",\n successMessage: \"邀请已重新发送\"\n }\n }\n },\n sys_team: {\n label: \"团队\",\n pluralLabel: \"团队\",\n description: \"组织内用于精细化分组的团队\",\n fields: {\n name: {\n label: \"名称\"\n },\n organization_id: {\n label: \"组织\",\n help: \"该团队所属的上级组织\"\n },\n id: {\n label: \"团队 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n by_org: {\n label: \"按组织\"\n },\n all_teams: {\n label: \"全部\"\n }\n },\n _actions: {\n create_team: {\n label: \"创建团队\",\n successMessage: \"团队已创建\"\n },\n update_team: {\n label: \"编辑团队\",\n successMessage: \"团队已更新\"\n },\n remove_team: {\n label: \"删除团队\",\n confirmText: \"要删除该团队吗?成员将失去所有团队范围内的访问权限。此操作无法撤销。\",\n successMessage: \"团队已删除\"\n }\n }\n },\n sys_team_member: {\n label: \"团队成员\",\n pluralLabel: \"团队成员\",\n description: \"将用户关联到团队的团队成员记录\",\n fields: {\n id: {\n label: \"团队成员 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n team_id: {\n label: \"团队\"\n },\n user_id: {\n label: \"用户\"\n }\n },\n _actions: {\n add_team_member: {\n label: \"添加成员\",\n successMessage: \"团队成员已添加\"\n },\n remove_team_member: {\n label: \"移出团队\",\n confirmText: \"要将该用户移出团队吗?移除后其将失去所有团队范围内的访问权限。\",\n successMessage: \"团队成员已移除\"\n }\n }\n },\n sys_department: {\n label: \"部门\",\n pluralLabel: \"部门\",\n description: \"层级化组织骨架节点(部门 / 事业部 / 业务单元 / 办公地点)。\",\n fields: {\n name: {\n label: \"名称\"\n },\n code: {\n label: \"编码\",\n help: \"简短且稳定的编码(例如 EMEA-SALES),在租户内唯一。\"\n },\n kind: {\n label: \"类型\",\n help: \"分类提示——不会改变图谱语义。\",\n options: {\n company: \"公司\",\n division: \"事业部\",\n department: \"部门\",\n team: \"团队\",\n office: \"办公地点\",\n cost_center: \"成本中心\"\n }\n },\n parent_department_id: {\n label: \"上级部门\",\n help: \"组织树的自关联字段。Null 表示租户根节点。\"\n },\n organization_id: {\n label: \"组织\",\n help: \"租户范围。\"\n },\n manager_user_id: {\n label: \"部门负责人\",\n help: \"负责该组织单元的用户(部门负责人 / lead)。\"\n },\n active: {\n label: \"启用\",\n help: \"为 false 时,图谱查询不会展开该部门成员。\"\n },\n effective_from: {\n label: \"生效时间\",\n help: \"该部门生效的时间(HRIS 同步)。\"\n },\n effective_to: {\n label: \"失效时间\",\n help: \"该部门停用的时间(HRIS 同步)。\"\n },\n external_ref: {\n label: \"外部引用\",\n help: \"上游 HRIS 中的 ID(Workday / SAP HR / 北森)。\"\n },\n id: {\n label: \"部门 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n inactive: {\n label: \"停用\"\n },\n by_kind: {\n label: \"按类型\"\n },\n all_departments: {\n label: \"全部\"\n }\n }\n },\n sys_department_member: {\n label: \"部门成员\",\n pluralLabel: \"部门成员\",\n description: \"用户到部门的任职关系(适配矩阵组织并支持生效时间)。\",\n fields: {\n id: {\n label: \"成员 ID\"\n },\n department_id: {\n label: \"部门\"\n },\n user_id: {\n label: \"用户\"\n },\n role_in_department: {\n label: \"部门内角色\",\n help: \"`lead` 表示日常负责人;`deputy` 可在审批路由中代替负责人。\",\n options: {\n member: \"成员\",\n lead: \"负责人\",\n deputy: \"副负责人\"\n }\n },\n is_primary: {\n label: \"主任职\",\n help: \"当用户属于多个部门时,用于标记报表上的主部门。\"\n },\n effective_from: {\n label: \"生效时间\"\n },\n effective_to: {\n label: \"失效时间\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_api_key: {\n label: \"API 密钥\",\n pluralLabel: \"API 密钥\",\n description: \"用于程序化访问的 API 密钥\",\n fields: {\n name: {\n label: \"名称\",\n help: \"API 密钥的人类可读标签\"\n },\n prefix: {\n label: \"前缀\",\n help: \"用于识别密钥的可见前缀(例如 `osk_`)\"\n },\n user_id: {\n label: \"所有者\",\n help: \"拥有该 API 密钥的用户\"\n },\n scopes: {\n label: \"范围\",\n help: \"权限范围的 JSON 数组\"\n },\n expires_at: {\n label: \"过期时间\"\n },\n last_used_at: {\n label: \"最近使用时间\",\n help: \"每次 API 调用时自动更新\"\n },\n revoked: {\n label: \"已撤销\"\n },\n key: {\n label: \"哈希密钥\",\n help: \"API 密钥值的哈希——绝不会向客户端暴露\"\n },\n id: {\n label: \"API 密钥 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n mine: {\n label: \"我的密钥\"\n },\n active: {\n label: \"启用\"\n },\n revoked: {\n label: \"已撤销\"\n },\n all_keys: {\n label: \"全部\"\n }\n },\n _actions: {\n revoke_api_key: {\n label: \"撤销 API 密钥\",\n confirmText: \"要撤销该 API 密钥吗?所有使用该密钥的客户端都将立即失去访问权限。\",\n successMessage: \"API 密钥已撤销\"\n },\n restore_api_key: {\n label: \"恢复 API 密钥\",\n confirmText: \"要恢复已撤销的 API 密钥吗?持有该密钥的现有客户端将重新获得访问权限。\",\n successMessage: \"API 密钥已恢复\"\n }\n }\n },\n sys_two_factor: {\n label: \"双因素认证\",\n pluralLabel: \"双因素认证凭据\",\n description: \"双因素认证凭据\",\n fields: {\n id: {\n label: \"双因素认证 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n },\n user_id: {\n label: \"用户\"\n },\n secret: {\n label: \"密钥\",\n help: \"TOTP 密钥\"\n },\n backup_codes: {\n label: \"备用恢复码\",\n help: \"JSON 序列化的备用恢复码\"\n }\n },\n _views: {\n mine: {\n label: \"我的启用记录\"\n },\n all_enrollments: {\n label: \"全部\"\n }\n },\n _actions: {\n enable_two_factor: {\n label: \"启用 2FA\",\n successMessage: \"2FA 启用流程已开始——请查看响应中的 TOTP URI 和备用恢复码\"\n },\n disable_two_factor: {\n label: \"停用 2FA\",\n confirmText: \"要停用你账号上的双因素认证吗?\",\n successMessage: \"2FA 已停用\"\n }\n }\n },\n sys_device_code: {\n label: \"设备代码\",\n pluralLabel: \"设备代码\",\n description: \"OAuth 2.0 设备授权流程(RFC 8628)的待处理请求\",\n fields: {\n id: {\n label: \"设备代码 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n },\n device_code: {\n label: \"设备代码\",\n help: \"返回给轮询设备的高熵令牌\"\n },\n user_code: {\n label: \"用户代码\",\n help: \"面向用户的短代码(例如 ABCD-EFGH)\"\n },\n user_id: {\n label: \"用户\",\n help: \"批准该设备授权的用户\"\n },\n expires_at: {\n label: \"过期时间\",\n help: \"设备码与用户码失效的时间\"\n },\n status: {\n label: \"状态\",\n help: \"当前状态:`pending` | `approved` | `denied`\"\n },\n last_polled_at: {\n label: \"最近轮询时间\",\n help: \"最近一次 `/device/token` 轮询的时间戳\"\n },\n polling_interval: {\n label: \"轮询间隔(毫秒)\",\n help: \"服务器建议的最小轮询间隔(毫秒)\"\n },\n client_id: {\n label: \"客户端 ID\",\n help: \"发起请求的设备对应的 OAuth 客户端标识\"\n },\n scope: {\n label: \"范围\",\n help: \"设备请求的、以空格分隔的 OAuth scopes\"\n }\n }\n },\n sys_user_preference: {\n label: \"用户偏好\",\n pluralLabel: \"用户偏好\",\n description: \"按用户存储的键值偏好设置(主题、语言等)\",\n fields: {\n id: {\n label: \"偏好设置 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n },\n user_id: {\n label: \"用户\",\n help: \"该偏好设置所属的用户\"\n },\n key: {\n label: \"键\",\n help: \"偏好设置键(例如 theme、locale、plugin.ai.auto_save)\"\n },\n value: {\n label: \"值\",\n help: \"偏好设置值(任意可 JSON 序列化类型)\"\n }\n },\n _views: {\n mine: {\n label: \"我的偏好\"\n },\n by_user: {\n label: \"按用户\"\n },\n all_preferences: {\n label: \"全部\"\n }\n }\n },\n sys_oauth_application: {\n label: \"OAuth 应用\",\n pluralLabel: \"OAuth 应用\",\n description: \"已注册的 OAuth/OIDC 客户端应用\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"名称\"\n },\n icon: {\n label: \"图标\",\n help: \"显示在同意授权页上的 Logo URL\"\n },\n uri: {\n label: \"主页 URI\",\n help: \"注册客户端的公开主页\"\n },\n contacts: {\n label: \"联系人\",\n help: \"联系人邮箱地址的 JSON 序列化列表\"\n },\n tos: {\n label: \"服务条款\"\n },\n policy: {\n label: \"隐私政策\"\n },\n metadata: {\n label: \"元数据\",\n help: \"应用元数据的 JSON 序列化内容\"\n },\n client_id: {\n label: \"客户端 ID\",\n help: \"公开的 OAuth 客户端标识\"\n },\n client_secret: {\n label: \"客户端密钥\",\n help: \"OAuth 客户端密钥(静态存储时会哈希/加密)\"\n },\n redirect_uris: {\n label: \"重定向 URI\",\n help: \"允许的重定向 URI 的 JSON 序列化列表\"\n },\n post_logout_redirect_uris: {\n label: \"登出后重定向 URI\",\n help: \"允许的登出后重定向 URI 的 JSON 序列化列表\"\n },\n type: {\n label: \"客户端类型\",\n options: {\n web: \"Web 应用\",\n native: \"原生应用\",\n useragentbased: \"基于用户代理\",\n public: \"公开\"\n }\n },\n public: {\n label: \"公开客户端\",\n help: \"将客户端标记为公开(非机密)OAuth 客户端\"\n },\n require_pkce: {\n label: \"要求 PKCE\"\n },\n token_endpoint_auth_method: {\n label: \"令牌端点认证方式\",\n help: \"例如 client_secret_basic、client_secret_post、none\"\n },\n grant_types: {\n label: \"授权类型\",\n help: \"允许的授权类型 JSON 序列化列表\"\n },\n response_types: {\n label: \"响应类型\",\n help: \"允许的响应类型 JSON 序列化列表\"\n },\n scopes: {\n label: \"允许的范围\",\n help: \"客户端可申请的 scopes 的 JSON 序列化列表\"\n },\n subject_type: {\n label: \"主体类型\",\n help: \"OIDC 主体类型(例如 public、pairwise)\"\n },\n disabled: {\n label: \"已禁用\"\n },\n skip_consent: {\n label: \"跳过同意\",\n help: \"视为受信任客户端并跳过授权同意页\"\n },\n enable_end_session: {\n label: \"启用 End Session\",\n help: \"允许客户端调用 OIDC end-session 端点\"\n },\n software_id: {\n label: \"软件 ID\"\n },\n software_version: {\n label: \"软件版本\"\n },\n software_statement: {\n label: \"软件声明\",\n help: \"用于声明客户端元数据的签名 JWT(RFC 7591 §2.3)\"\n },\n user_id: {\n label: \"所有者用户\",\n help: \"注册该应用的用户\"\n },\n reference_id: {\n label: \"引用 ID\",\n help: \"调用方提供的关联标识符\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n disabled_apps: {\n label: \"已禁用\"\n },\n all_apps: {\n label: \"全部\"\n }\n }\n },\n sys_oauth_access_token: {\n label: \"OAuth 访问令牌\",\n pluralLabel: \"OAuth 访问令牌\",\n description: \"签发给客户端应用的 OAuth 访问令牌\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"令牌\",\n help: \"不透明的访问令牌值\"\n },\n client_id: {\n label: \"客户端 ID\",\n help: \"指向 sys_oauth_application.client_id 的外键\"\n },\n session_id: {\n label: \"会话\",\n help: \"指向 sys_session.id 的外键\"\n },\n user_id: {\n label: \"用户\",\n help: \"指向 sys_user.id 的外键\"\n },\n refresh_id: {\n label: \"刷新令牌\",\n help: \"指向 sys_oauth_refresh_token.id 的外键\"\n },\n reference_id: {\n label: \"引用 ID\",\n help: \"调用方提供的关联标识符\"\n },\n scopes: {\n label: \"范围\",\n help: \"授予该令牌的 scopes 的 JSON 序列化列表\"\n },\n expires_at: {\n label: \"过期时间\"\n },\n created_at: {\n label: \"创建时间\"\n }\n }\n },\n sys_oauth_refresh_token: {\n label: \"OAuth 刷新令牌\",\n pluralLabel: \"OAuth 刷新令牌\",\n description: \"OAuth 刷新令牌(关联到会话)\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"令牌\",\n help: \"不透明的刷新令牌值\"\n },\n client_id: {\n label: \"客户端 ID\",\n help: \"指向 sys_oauth_application.client_id 的外键\"\n },\n session_id: {\n label: \"会话\",\n help: \"指向 sys_session.id 的外键\"\n },\n user_id: {\n label: \"用户\",\n help: \"指向 sys_user.id 的外键\"\n },\n reference_id: {\n label: \"引用 ID\",\n help: \"调用方提供的关联标识符\"\n },\n scopes: {\n label: \"范围\",\n help: \"授予该令牌的 scopes 的 JSON 序列化列表\"\n },\n expires_at: {\n label: \"过期时间\"\n },\n created_at: {\n label: \"创建时间\"\n },\n revoked: {\n label: \"撤销时间\",\n help: \"该刷新令牌被撤销的时间戳\"\n },\n auth_time: {\n label: \"认证时间\",\n help: \"该令牌链中用户最初完成认证的时间\"\n }\n }\n },\n sys_oauth_consent: {\n label: \"OAuth 同意记录\",\n pluralLabel: \"OAuth 同意记录\",\n description: \"用户对 OAuth 客户端应用的授权同意记录\",\n fields: {\n id: {\n label: \"ID\"\n },\n client_id: {\n label: \"客户端 ID\",\n help: \"指向 sys_oauth_application.client_id 的外键\"\n },\n user_id: {\n label: \"用户\",\n help: \"指向 sys_user.id 的外键\"\n },\n reference_id: {\n label: \"引用 ID\",\n help: \"调用方提供的关联标识符\"\n },\n scopes: {\n label: \"范围\",\n help: \"用户同意的 scopes 的 JSON 序列化列表\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_jwks: {\n label: \"签名密钥 (JWKS)\",\n pluralLabel: \"签名密钥 (JWKS)\",\n description: \"用于签发和验证 JWT 的非对称密钥对\",\n fields: {\n id: {\n label: \"密钥 ID\",\n help: \"JWK `kid` 值\"\n },\n public_key: {\n label: \"公钥\",\n help: \"JWK 公钥的 JSON 序列化内容\"\n },\n private_key: {\n label: \"私钥\",\n help: \"JWK 私钥的 JSON 序列化内容(静态存储时加密)\"\n },\n created_at: {\n label: \"创建时间\"\n },\n expires_at: {\n label: \"过期时间\",\n help: \"该密钥不再用于验证令牌的时间\"\n }\n }\n },\n sys_role: {\n label: \"角色\",\n pluralLabel: \"角色\",\n description: \"用于 RBAC 访问控制的角色定义\",\n fields: {\n label: {\n label: \"显示名称\"\n },\n name: {\n label: \"API 名称\",\n help: \"角色的唯一机器名称(例如 admin、editor、viewer)\"\n },\n description: {\n label: \"描述\"\n },\n permissions: {\n label: \"权限\",\n help: \"权限字符串数组的 JSON 序列化内容\"\n },\n active: {\n label: \"启用\"\n },\n is_default: {\n label: \"默认角色\",\n help: \"自动分配给新用户\"\n },\n id: {\n label: \"角色 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n default_roles: {\n label: \"默认\"\n },\n custom: {\n label: \"自定义\"\n },\n all_roles: {\n label: \"全部\"\n }\n }\n },\n sys_permission_set: {\n label: \"权限集\",\n pluralLabel: \"权限集\",\n description: \"用于精细化访问控制的命名权限分组\",\n fields: {\n label: {\n label: \"显示名称\"\n },\n name: {\n label: \"API 名称\",\n help: \"权限集的唯一机器名称\"\n },\n description: {\n label: \"描述\"\n },\n object_permissions: {\n label: \"对象权限\",\n help: \"对象级 CRUD 权限的 JSON 序列化内容\"\n },\n field_permissions: {\n label: \"字段权限\",\n help: \"字段级读写权限的 JSON 序列化内容\"\n },\n active: {\n label: \"启用\"\n },\n id: {\n label: \"权限集 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n inactive: {\n label: \"停用\"\n },\n all_permsets: {\n label: \"全部\"\n }\n }\n },\n sys_user_permission_set: {\n label: \"用户权限集\",\n pluralLabel: \"用户权限集\",\n description: \"将权限集直接分配给用户(可按组织范围限定)。\",\n fields: {\n id: {\n label: \"分配 ID\",\n help: \"该分配记录的 UUID。\"\n },\n user_id: {\n label: \"用户\",\n help: \"指向 sys_user 的外键。\"\n },\n permission_set_id: {\n label: \"权限集\",\n help: \"指向 sys_permission_set 的外键。\"\n },\n organization_id: {\n label: \"组织\",\n help: \"可选的组织范围。NULL = 在所有组织上下文中都生效。\"\n },\n granted_by: {\n label: \"授权人\",\n help: \"授予该权限集的用户。\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_role_permission_set: {\n label: \"角色权限集\",\n pluralLabel: \"角色权限集\",\n description: \"将权限集绑定到角色。\",\n fields: {\n id: {\n label: \"绑定 ID\",\n help: \"角色-权限集绑定记录的 UUID。\"\n },\n role_id: {\n label: \"角色\",\n help: \"指向 sys_role 的外键。\"\n },\n permission_set_id: {\n label: \"权限集\",\n help: \"指向 sys_permission_set 的外键。\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_record_share: {\n label: \"记录共享\",\n pluralLabel: \"记录共享\",\n description: \"按记录粒度的共享授权——在 OWD 基础上提供显式访问\",\n fields: {\n id: {\n label: \"共享 ID\"\n },\n object_name: {\n label: \"对象\",\n help: \"被共享记录的短对象名\"\n },\n record_id: {\n label: \"记录\",\n help: \"object_name 对应对象内该共享记录的主键\"\n },\n recipient_type: {\n label: \"接收方类型\",\n help: \"持有该授权的主体类型\",\n options: {\n user: \"用户\",\n group: \"组\",\n role: \"角色\",\n role_and_subordinates: \"角色及下级\",\n guest: \"访客\"\n }\n },\n recipient_id: {\n label: \"接收方\",\n help: \"获得访问权限的用户 / 组 / 角色 ID\"\n },\n access_level: {\n label: \"访问级别\",\n help: \"接收方可以执行的操作——read | edit | full(转移 / 共享 / 删除)\",\n options: {\n read: \"读取\",\n edit: \"编辑\",\n full: \"完全访问\"\n }\n },\n source: {\n label: \"来源\",\n help: \"该授权存在的原因——供规则求值器对账使用\",\n options: {\n manual: \"手动\",\n rule: \"规则\",\n team: \"团队\",\n inherited: \"继承\"\n }\n },\n source_id: {\n label: \"来源 ID\",\n help: \"当 source != manual 时,对应规则名 / 团队 ID\"\n },\n granted_by: {\n label: \"授权人\",\n help: \"创建该授权的用户(仅手动授权)\"\n },\n reason: {\n label: \"原因\",\n help: \"可选的自由文本说明,会展示给接收方\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n granted_to_me: {\n label: \"授予我的\"\n },\n granted_by_me: {\n label: \"我授予的\"\n },\n by_object: {\n label: \"按对象\"\n },\n manual_grants: {\n label: \"手动授权\"\n },\n rule_grants: {\n label: \"规则授权\"\n },\n all_shares: {\n label: \"全部\"\n }\n }\n },\n sys_sharing_rule: {\n label: \"共享规则\",\n pluralLabel: \"共享规则\",\n description: \"声明式共享规则,会自动生成 sys_record_share 授权。可在代码中通过 defineSharingRule() 编写,或在 Studio 条件构建器中维护。\",\n fields: {\n id: {\n label: \"规则 ID\"\n },\n organization_id: {\n label: \"组织\",\n help: \"拥有该规则的租户;null = 全局\"\n },\n name: {\n label: \"名称\",\n help: \"唯一的 snake_case 规则名称\"\n },\n label: {\n label: \"显示标签\"\n },\n description: {\n label: \"描述\"\n },\n object_name: {\n label: \"对象\",\n help: \"短对象名(例如 opportunity、account)\"\n },\n criteria_json: {\n label: \"条件(FilterCondition JSON)\",\n help: \"针对 object_name 记录匹配的 JSON FilterCondition。为空表示匹配全部。\"\n },\n recipient_type: {\n label: \"接收方类型\",\n help: \"接收访问权限的主体类型——求值时会展开为用户授权。`department` 会沿 parent_department_id 树展开;`team` 为扁平结构(better-auth)。\",\n options: {\n user: \"用户\",\n team: \"团队\",\n department: \"部门\",\n role: \"角色\",\n queue: \"队列\"\n }\n },\n recipient_id: {\n label: \"接收方\",\n help: \"根据 recipient_type 填写 department id / team id / role name / queue name / user id\"\n },\n access_level: {\n label: \"访问级别\",\n options: {\n read: \"读取\",\n edit: \"编辑\",\n full: \"完全访问\"\n }\n },\n active: {\n label: \"启用\",\n help: \"只有启用的规则才会参与生命周期求值\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n inactive: {\n label: \"停用\"\n },\n by_object: {\n label: \"按对象\"\n },\n all_rules: {\n label: \"全部\"\n }\n }\n },\n sys_audit_log: {\n label: \"审计日志\",\n pluralLabel: \"审计日志\",\n description: \"平台事件的不可变审计追踪\",\n fields: {\n created_at: {\n label: \"时间戳\"\n },\n action: {\n label: \"操作\",\n help: \"操作类型(snake_case)\",\n options: {\n create: \"创建\",\n update: \"更新\",\n delete: \"删除\",\n restore: \"恢复\",\n login: \"登录\",\n logout: \"登出\",\n permission_change: \"权限变更\",\n config_change: \"配置变更\",\n export: \"导出\",\n import: \"导入\"\n }\n },\n user_id: {\n label: \"执行人\",\n help: \"执行该操作的用户(系统操作时为 null)\"\n },\n object_name: {\n label: \"对象\",\n help: \"目标对象(例如 sys_user、project_task)\"\n },\n record_id: {\n label: \"记录 ID\",\n help: \"受影响记录的 ID\"\n },\n old_value: {\n label: \"旧值\",\n help: \"旧状态的 JSON 序列化内容\"\n },\n new_value: {\n label: \"新值\",\n help: \"新状态的 JSON 序列化内容\"\n },\n ip_address: {\n label: \"IP 地址\"\n },\n user_agent: {\n label: \"用户代理\"\n },\n tenant_id: {\n label: \"租户\",\n help: \"用于多租户隔离的租户上下文\"\n },\n metadata: {\n label: \"元数据\",\n help: \"附加上下文的 JSON 序列化内容\"\n },\n id: {\n label: \"审计日志 ID\"\n }\n },\n _views: {\n recent: {\n label: \"最近\"\n },\n writes_only: {\n label: \"写入\"\n },\n auth_events: {\n label: \"认证\"\n },\n config_changes: {\n label: \"配置\"\n },\n all_events: {\n label: \"全部\"\n }\n }\n },\n sys_presence: {\n label: \"在线状态\",\n pluralLabel: \"在线状态\",\n description: \"实时用户在线与活动跟踪\",\n fields: {\n id: {\n label: \"在线状态 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n },\n user_id: {\n label: \"用户\"\n },\n session_id: {\n label: \"会话\"\n },\n status: {\n label: \"状态\",\n options: {\n online: \"在线\",\n away: \"离开\",\n busy: \"忙碌\",\n offline: \"离线\"\n }\n },\n last_seen: {\n label: \"最近在线时间\"\n },\n current_location: {\n label: \"当前位置\"\n },\n device: {\n label: \"设备\",\n options: {\n desktop: \"桌面端\",\n mobile: \"移动端\",\n tablet: \"平板端\",\n other: \"其他\"\n }\n },\n custom_status: {\n label: \"自定义状态\"\n },\n metadata: {\n label: \"元数据\",\n help: \"与在线状态关联的任意 JSON 元数据(对应 PresenceStateSchema.metadata)。\"\n }\n }\n },\n sys_activity: {\n label: \"活动\",\n pluralLabel: \"活动\",\n description: \"最近活动流条目(轻量、去规范化)\",\n fields: {\n id: {\n label: \"活动 ID\"\n },\n timestamp: {\n label: \"时间戳\"\n },\n type: {\n label: \"类型\",\n options: {\n created: \"已创建\",\n updated: \"已更新\",\n deleted: \"已删除\",\n commented: \"已评论\",\n mentioned: \"被提及\",\n shared: \"已共享\",\n assigned: \"已分配\",\n completed: \"已完成\",\n login: \"登录\",\n logout: \"登出\",\n system: \"系统\"\n }\n },\n summary: {\n label: \"摘要\",\n help: \"人类可读的单行摘要\"\n },\n actor_id: {\n label: \"执行人\"\n },\n actor_name: {\n label: \"执行人名称\"\n },\n actor_avatar_url: {\n label: \"执行人头像\"\n },\n object_name: {\n label: \"对象\",\n help: \"目标对象短名称(例如 account、sys_user)\"\n },\n record_id: {\n label: \"记录 ID\"\n },\n record_label: {\n label: \"记录标签\",\n help: \"写入时目标记录的显示标签\"\n },\n url: {\n label: \"URL\",\n help: \"指向活动目标的可选深度链接\"\n },\n project_id: {\n label: \"项目\",\n help: \"项目上下文(多项目部署)\"\n },\n metadata: {\n label: \"元数据\",\n help: \"附加上下文的 JSON 序列化内容\"\n }\n }\n },\n sys_comment: {\n label: \"评论\",\n pluralLabel: \"评论\",\n description: \"通过 thread_id 附加到记录的线程化评论\",\n fields: {\n id: {\n label: \"评论 ID\"\n },\n thread_id: {\n label: \"线程\",\n help: \"线程标识——约定格式为 `{object}:{record_id}`(例如 `sys_user:abc123`)\"\n },\n parent_id: {\n label: \"父评论\",\n help: \"可选的父评论,用于嵌套回复\"\n },\n reply_count: {\n label: \"回复数\"\n },\n author_id: {\n label: \"作者\"\n },\n author_name: {\n label: \"作者名称\"\n },\n author_avatar_url: {\n label: \"作者头像\"\n },\n body: {\n label: \"正文\",\n help: \"评论文本(支持 Markdown)\"\n },\n mentions: {\n label: \"提及\",\n help: \"@mention 对象的 JSON 数组\"\n },\n reactions: {\n label: \"回应\",\n help: \"表情回应对象的 JSON 数组\"\n },\n is_edited: {\n label: \"已编辑\"\n },\n edited_at: {\n label: \"编辑时间\"\n },\n visibility: {\n label: \"可见性\",\n options: {\n public: \"公开\",\n internal: \"内部\",\n private: \"私有\"\n }\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_attachment: {\n label: \"附件\",\n pluralLabel: \"附件\",\n description: \"sys_file 与任意其他记录之间的多态关联\",\n fields: {\n id: {\n label: \"附件 ID\"\n },\n parent_object: {\n label: \"父对象\",\n help: \"被附加记录的短对象名(例如 account、lead)\"\n },\n parent_id: {\n label: \"父记录\",\n help: \"被附加记录的主键\"\n },\n file_id: {\n label: \"文件\",\n help: \"被附加的 sys_file 存储条目\"\n },\n file_name: {\n label: \"文件名\",\n help: \"sys_file.name 的去规范化副本,用于快速列表渲染\"\n },\n mime_type: {\n label: \"MIME 类型\"\n },\n size: {\n label: \"大小(字节)\"\n },\n share_type: {\n label: \"共享类型\",\n help: \"viewer | collaborator | inferred(继承自父记录)\",\n options: {\n viewer: \"查看者\",\n collaborator: \"协作者\",\n inferred: \"推断\"\n }\n },\n visibility: {\n label: \"可见性\",\n options: {\n internal: \"内部\",\n all_users: \"全部用户\",\n shared_users: \"共享用户\"\n }\n },\n uploaded_by: {\n label: \"上传人\"\n },\n description: {\n label: \"描述\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_notification: {\n label: \"通知\",\n pluralLabel: \"通知\",\n description: \"按用户存储的通知收件箱条目\",\n fields: {\n id: {\n label: \"通知 ID\"\n },\n recipient_id: {\n label: \"接收方\",\n help: \"接收该通知的用户\"\n },\n type: {\n label: \"类型\",\n help: \"通知类别——决定图标和排序优先级\",\n options: {\n mention: \"提及\",\n assignment: \"分配\",\n comment_reply: \"评论回复\",\n lead_converted: \"线索转化\",\n task_due: \"任务到期\",\n system: \"系统\"\n }\n },\n title: {\n label: \"标题\"\n },\n body: {\n label: \"正文\",\n help: \"可选的补充文本(单行摘要)\"\n },\n source_object: {\n label: \"来源对象\",\n help: \"关联记录的对象名称(例如 lead、opportunity)\"\n },\n source_id: {\n label: \"来源记录\",\n help: \"source_object 中的记录 ID\"\n },\n url: {\n label: \"深度链接\",\n help: \"点击后跳转的可选 URL\"\n },\n actor_id: {\n label: \"执行人\",\n help: \"触发该通知的用户(提及人、分配人)\"\n },\n actor_name: {\n label: \"执行人名称\"\n },\n is_read: {\n label: \"已读\",\n help: \"接收人确认后为 true\"\n },\n read_at: {\n label: \"读取时间\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n unread: {\n label: \"未读\"\n },\n mine: {\n label: \"我的\"\n },\n all_notifications: {\n label: \"全部\"\n }\n }\n },\n sys_email: {\n label: \"邮件\",\n pluralLabel: \"邮件\",\n description: \"外发邮件投递日志\",\n fields: {\n id: {\n label: \"邮件 ID\"\n },\n message_id: {\n label: \"Message-ID\",\n help: \"传输层分配的 RFC-5322 Message-ID\"\n },\n from_address: {\n label: \"发件人\"\n },\n to_addresses: {\n label: \"收件人\",\n help: \"以逗号分隔的收件人地址\"\n },\n cc_addresses: {\n label: \"抄送\"\n },\n bcc_addresses: {\n label: \"密送\"\n },\n reply_to: {\n label: \"回复地址\"\n },\n subject: {\n label: \"主题\"\n },\n body_text: {\n label: \"正文(文本)\"\n },\n body_html: {\n label: \"正文(HTML)\"\n },\n status: {\n label: \"状态\",\n help: \"生命周期状态——在调用传输层之前由 IEmailService.send 排队\",\n options: {\n queued: \"排队中\",\n sent: \"已发送\",\n failed: \"失败\"\n }\n },\n error: {\n label: \"错误\",\n help: \"status=failed 时的传输错误信息\"\n },\n attempt_count: {\n label: \"尝试次数\",\n help: \"服务执行的投递尝试次数\"\n },\n sent_at: {\n label: \"发送时间\",\n help: \"当状态切换为 `sent` 时设置\"\n },\n related_object: {\n label: \"关联对象\",\n help: \"关联记录的对象名称(例如 lead、opportunity)\"\n },\n related_id: {\n label: \"关联记录\",\n help: \"related_object 中的记录 ID\"\n },\n sent_by: {\n label: \"发送人\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_email_template: {\n label: \"邮件模板\",\n pluralLabel: \"邮件模板\",\n description: \"按名称 + 语言解析的外发邮件模板(主题、正文和变量)\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"名称\",\n help: \"点分隔的 snake_case 标识(例如 auth.password_reset)\"\n },\n label: {\n label: \"标签\",\n help: \"在 Studio 中显示的人类可读名称\"\n },\n category: {\n label: \"分类\",\n options: {\n auth: \"认证\",\n notification: \"通知\",\n workflow: \"工作流\",\n marketing: \"营销\",\n custom: \"自定义\"\n }\n },\n locale: {\n label: \"语言区域\",\n help: \"BCP-47 语言区域标签(en-US、zh-CN 等)\"\n },\n description: {\n label: \"描述\"\n },\n subject: {\n label: \"主题\",\n help: \"主题模板;支持 {{var.path}} 占位符\"\n },\n body_html: {\n label: \"HTML 正文\",\n help: \"HTML 正文模板;支持 {{var.path}} 占位符\"\n },\n body_text: {\n label: \"纯文本正文\",\n help: \"可选的纯文本替代内容(为空时从 HTML 自动生成)\"\n },\n from_name: {\n label: \"发件人名称\"\n },\n from_address: {\n label: \"发件地址\"\n },\n reply_to: {\n label: \"回复地址\"\n },\n active: {\n label: \"启用\"\n },\n is_system: {\n label: \"系统模板\",\n help: \"由插件 / 平台提供;租户可编辑但不应删除\"\n },\n variables_json: {\n label: \"变量(JSON)\",\n help: \"形如 {name,type,required,description} 的 JSON 数组\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_saved_report: {\n label: \"保存的报表\",\n pluralLabel: \"保存的报表\",\n description: \"持久化的 ObjectQL 报表定义——可重复运行并可调度\",\n fields: {\n id: {\n label: \"报表 ID\"\n },\n name: {\n label: \"名称\"\n },\n description: {\n label: \"描述\"\n },\n object_name: {\n label: \"对象\",\n help: \"该报表查询的短对象名\"\n },\n query_json: {\n label: \"查询\",\n help: \"ObjectQL 查询封装——{ filter, fields, orderBy, limit, groupBy }\"\n },\n format: {\n label: \"格式\",\n help: \"IReportService.run() 和邮件摘要使用的渲染格式\",\n options: {\n csv: \"CSV\",\n json: \"JSON\",\n html_table: \"HTML 表格\"\n }\n },\n owner_id: {\n label: \"所有者\",\n help: \"拥有该报表定义的用户(决定共享)\"\n },\n last_run_at: {\n label: \"上次运行时间\",\n help: \"由 IReportService.run() 在成功执行时写入\"\n },\n last_row_count: {\n label: \"上次行数\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_report_schedule: {\n label: \"报表计划\",\n pluralLabel: \"报表计划\",\n description: \"通过邮件周期性投递 sys_saved_report\",\n fields: {\n id: {\n label: \"计划 ID\"\n },\n report_id: {\n label: \"报表\"\n },\n name: {\n label: \"名称\",\n help: \"摘要的可选标签——用于邮件主题\"\n },\n interval_minutes: {\n label: \"间隔(分钟)\",\n help: \"发送频率(1440 = 每日,10080 = 每周)\"\n },\n cron_expression: {\n label: \"Cron 表达式\",\n help: \"可选 5/6 段 Cron——存在时覆盖 interval_minutes\"\n },\n timezone: {\n label: \"时区\"\n },\n active: {\n label: \"启用\"\n },\n recipients: {\n label: \"收件人\",\n help: \"以逗号分隔的邮箱地址\"\n },\n format: {\n label: \"格式\",\n help: \"渲染格式——csv 作为附件,html_table 内嵌在正文中\",\n options: {\n csv: \"CSV\",\n html_table: \"HTML 表格\"\n }\n },\n subject_template: {\n label: \"主题模板\",\n help: \"邮件主题;会替换 {{name}} / {{date}} / {{rows}}\"\n },\n owner_id: {\n label: \"所有者\"\n },\n next_run_at: {\n label: \"下次运行时间\",\n help: \"调度器会加载 next_run_at <= now 的计划\"\n },\n last_sent_at: {\n label: \"上次发送时间\"\n },\n last_status: {\n label: \"最近状态\",\n options: {\n ok: \"成功\",\n failed: \"失败\",\n skipped: \"已跳过\"\n }\n },\n last_error: {\n label: \"最近错误\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_approval_process: {\n label: \"审批流程\",\n pluralLabel: \"审批流程\",\n description: \"持久化的审批流程定义。通过代码中的 defineApprovalProcess() 编写;可视化设计器在规划中。\",\n fields: {\n id: {\n label: \"流程 ID\"\n },\n name: {\n label: \"名称\",\n help: \"唯一的 snake_case 名称——由提交方和审计记录引用\"\n },\n label: {\n label: \"显示标签\"\n },\n object_name: {\n label: \"对象\",\n help: \"该流程所管理的短对象名\"\n },\n description: {\n label: \"描述\"\n },\n active: {\n label: \"启用\",\n help: \"仅启用的流程会在提交时分派\"\n },\n definition_json: {\n label: \"定义\",\n help: \"序列化的 ApprovalProcess JSON(参见 @objectstack/spec/automation/approval)\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n inactive: {\n label: \"停用\"\n },\n by_object: {\n label: \"按对象\"\n },\n all_processes: {\n label: \"全部\"\n }\n }\n },\n sys_approval_request: {\n label: \"审批请求\",\n pluralLabel: \"审批请求\",\n description: \"按提交记录跟踪的实时审批实例\",\n fields: {\n id: {\n label: \"请求 ID\"\n },\n organization_id: {\n label: \"组织\",\n help: \"拥有该审批请求的租户(从提交方上下文传播)\"\n },\n process_name: {\n label: \"流程\",\n help: \"该请求对应的 sys_approval_process.name\"\n },\n object_name: {\n label: \"对象\"\n },\n record_id: {\n label: \"记录 ID\"\n },\n submitter_id: {\n label: \"提交人\"\n },\n submitter_comment: {\n label: \"提交备注\"\n },\n status: {\n label: \"状态\",\n help: \"请求的生命周期状态\",\n options: {\n pending: \"待处理\",\n approved: \"已批准\",\n rejected: \"已拒绝\",\n recalled: \"已撤回\"\n }\n },\n current_step: {\n label: \"当前步骤\",\n help: \"当前等待审批的步骤机器名称\"\n },\n current_step_index: {\n label: \"当前步骤索引\"\n },\n pending_approvers: {\n label: \"待审批人\",\n help: \"可在当前步骤执行操作的用户 ID,逗号分隔\"\n },\n payload_json: {\n label: \"快照\",\n help: \"提交时的记录快照\"\n },\n completed_at: {\n label: \"完成时间\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n my_pending: {\n label: \"我的待办\",\n emptyState: {\n title: \"暂无待审批\",\n message: \"您已处理完所有待办。\"\n }\n },\n submitted_by_me: {\n label: \"我提交的\"\n },\n completed: {\n label: \"已完成\"\n },\n all_requests: {\n label: \"全部\"\n }\n }\n },\n sys_approval_action: {\n label: \"审批动作\",\n pluralLabel: \"审批动作\",\n description: \"追加写入的审批操作审计记录\",\n fields: {\n id: {\n label: \"动作 ID\"\n },\n organization_id: {\n label: \"组织\",\n help: \"拥有该动作的租户(与父请求保持一致)\"\n },\n request_id: {\n label: \"请求\"\n },\n step_name: {\n label: \"步骤\",\n help: \"执行该动作时对应步骤的机器名称\"\n },\n step_index: {\n label: \"步骤索引\"\n },\n action: {\n label: \"操作\",\n options: {\n submit: \"提交\",\n approve: \"批准\",\n reject: \"拒绝\",\n recall: \"撤回\",\n escalate: \"升级\"\n }\n },\n actor_id: {\n label: \"执行人\"\n },\n comment: {\n label: \"评论\"\n },\n created_at: {\n label: \"创建时间\"\n }\n },\n _views: {\n recent: {\n label: \"最近\"\n },\n by_actor: {\n label: \"按执行人\"\n },\n all_actions: {\n label: \"全部\"\n }\n }\n },\n sys_job: {\n label: \"后台任务\",\n pluralLabel: \"后台任务\",\n description: \"已注册后台任务目录\",\n fields: {\n id: {\n label: \"任务 ID\"\n },\n name: {\n label: \"任务名称\",\n help: \"唯一任务标识(snake_case)\"\n },\n schedule_type: {\n label: \"调度类型\",\n options: {\n cron: \"Cron\",\n interval: \"间隔\",\n once: \"一次\"\n }\n },\n schedule_expression: {\n label: \"表达式\",\n help: \"Cron 表达式 / 间隔毫秒 / ISO 日期时间\"\n },\n timezone: {\n label: \"时区\"\n },\n active: {\n label: \"启用\",\n help: \"调度器当前是否运行该任务\"\n },\n last_run_at: {\n label: \"最近运行时间\"\n },\n last_status: {\n label: \"最近状态\",\n options: {\n success: \"成功\",\n failed: \"失败\",\n timeout: \"超时\",\n running: \"运行中\"\n }\n },\n last_error: {\n label: \"最近错误\"\n },\n run_count: {\n label: \"运行次数\"\n },\n failure_count: {\n label: \"失败次数\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_job_run: {\n label: \"任务执行\",\n pluralLabel: \"任务执行\",\n description: \"后台任务执行审计记录\",\n fields: {\n id: {\n label: \"执行 ID\"\n },\n job_name: {\n label: \"任务\"\n },\n status: {\n label: \"状态\",\n options: {\n running: \"运行中\",\n success: \"成功\",\n failed: \"失败\",\n timeout: \"超时\"\n }\n },\n started_at: {\n label: \"开始时间\"\n },\n completed_at: {\n label: \"完成时间\"\n },\n duration_ms: {\n label: \"耗时(毫秒)\"\n },\n attempt: {\n label: \"尝试\",\n help: \"首次运行为 1,重试/重放则 >1\"\n },\n trigger: {\n label: \"触发方式\",\n options: {\n schedule: \"调度\",\n manual: \"手动\",\n replay: \"重放\"\n }\n },\n error: {\n label: \"错误\"\n },\n created_at: {\n label: \"创建时间\"\n }\n }\n },\n sys_job_queue: {\n label: \"任务队列消息\",\n pluralLabel: \"任务队列消息\",\n description: \"持久化任务/消息队列,包含死信消息\",\n fields: {\n id: {\n label: \"消息 ID\"\n },\n queue: {\n label: \"队列\",\n help: \"逻辑队列名称(snake_case)\"\n },\n idempotency_key: {\n label: \"幂等键\",\n help: \"在 (queue, window) 范围内去重的键\"\n },\n payload_json: {\n label: \"负载(JSON)\",\n help: \"序列化的消息体\"\n },\n metadata_json: {\n label: \"元数据(JSON)\",\n help: \"序列化的元数据包(tenant_id、source_record 等)\"\n },\n status: {\n label: \"状态\",\n help: \"生命周期状态\",\n options: {\n pending: \"待处理\",\n running: \"运行中\",\n completed: \"已完成\",\n failed: \"失败\",\n dlq: \"死信队列\"\n }\n },\n priority: {\n label: \"优先级\",\n help: \"数值越低优先级越高\"\n },\n attempts: {\n label: \"尝试次数\"\n },\n max_attempts: {\n label: \"最大尝试次数\"\n },\n backoff_type: {\n label: \"退避策略\",\n options: {\n fixed: \"固定\",\n exponential: \"指数\"\n }\n },\n backoff_delay_ms: {\n label: \"退避基数(毫秒)\"\n },\n backoff_max_delay_ms: {\n label: \"退避上限(毫秒)\"\n },\n scheduled_for: {\n label: \"计划执行时间\",\n help: \"工作进程可领取该消息的最早时间\"\n },\n locked_by: {\n label: \"锁定者\",\n help: \"持有租约的工作进程 ID\"\n },\n locked_until: {\n label: \"锁定到\",\n help: \"租约到期时间;超过后其他工作进程可重新领取\"\n },\n last_error: {\n label: \"最近错误\"\n },\n completed_at: {\n label: \"完成时间\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhook\",\n description: \"外发 HTTP Webhook 订阅。可在代码中通过 defineWebhook() 编写,或在 Studio 编辑器中维护;由 HTTP 连接器插件执行。\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"名称\",\n help: \"唯一的 snake_case 名称——用于日志和审计引用\"\n },\n label: {\n label: \"显示标签\"\n },\n object_name: {\n label: \"对象\",\n help: \"触发该 Webhook 的短对象名(留空 = 手动 / API 触发)\"\n },\n triggers: {\n label: \"触发器\",\n help: \"以逗号分隔的事件列表:create,update,delete,undelete,api\"\n },\n url: {\n label: \"目标 URL\",\n help: \"接收 POST 请求的外部端点\"\n },\n method: {\n label: \"HTTP 方法\",\n help: \"GET / POST / PUT / PATCH / DELETE\"\n },\n description: {\n label: \"描述\"\n },\n active: {\n label: \"启用\",\n help: \"停用的 Webhook 会被调度器跳过\"\n },\n definition_json: {\n label: \"定义\",\n help: \"序列化的 Webhook JSON(参见 @objectstack/spec/automation/webhook)——包含完整的 headers/auth/retry/payload 配置\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n inactive: {\n label: \"停用\"\n },\n by_object: {\n label: \"按对象\"\n },\n all_webhooks: {\n label: \"全部\"\n }\n }\n },\n sys_metadata: {\n label: \"系统元数据\",\n pluralLabel: \"系统元数据\",\n description: \"存储平台级和用户级元数据记录(对象、视图、流程等)\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"名称\"\n },\n type: {\n label: \"元数据类型\"\n },\n namespace: {\n label: \"命名空间\"\n },\n package_id: {\n label: \"包 ID\",\n help: \"遗留包清单 ID 字符串。新记录请使用 package_version_id。\"\n },\n package_version_id: {\n label: \"包版本\",\n help: \"指向 sys_package_version(UUID)的外键。Null = 平台内置或环境级覆盖。\"\n },\n managed_by: {\n label: \"管理方\",\n options: {\n package: \"包\",\n platform: \"平台\",\n user: \"用户\"\n }\n },\n scope: {\n label: \"范围\",\n options: {\n system: \"系统\",\n platform: \"平台\",\n user: \"用户\"\n }\n },\n metadata: {\n label: \"元数据\",\n help: \"元数据负载的 JSON 序列化内容\"\n },\n extends: {\n label: \"继承自\"\n },\n strategy: {\n label: \"策略\",\n options: {\n merge: \"合并\",\n replace: \"替换\"\n }\n },\n owner: {\n label: \"所有者\"\n },\n state: {\n label: \"状态\",\n options: {\n draft: \"草稿\",\n active: \"启用\",\n archived: \"已归档\",\n deprecated: \"已废弃\"\n }\n },\n organization_id: {\n label: \"组织\",\n help: \"用于多租户隔离的组织。\"\n },\n project_id: {\n label: \"项目(已废弃)\",\n help: \"已废弃。请使用 organization_id 进行租户隔离。\"\n },\n version: {\n label: \"版本\"\n },\n checksum: {\n label: \"校验和\"\n },\n source: {\n label: \"来源\",\n options: {\n filesystem: \"文件系统\",\n database: \"数据库\",\n api: \"API\",\n migration: \"迁移\"\n }\n },\n tags: {\n label: \"标签\",\n help: \"分类标签的 JSON 序列化数组\"\n },\n created_by: {\n label: \"创建人\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_by: {\n label: \"更新人\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n }\n },\n sys_metadata_history: {\n label: \"元数据历史\",\n pluralLabel: \"元数据历史\",\n description: \"元数据变更的版本历史与审计记录\",\n fields: {\n id: {\n label: \"ID\"\n },\n metadata_id: {\n label: \"元数据\"\n },\n name: {\n label: \"名称\"\n },\n type: {\n label: \"元数据类型\"\n },\n version: {\n label: \"版本\"\n },\n operation_type: {\n label: \"操作类型\",\n options: {\n create: \"创建\",\n update: \"更新\",\n publish: \"发布\",\n revert: \"回滚\",\n delete: \"删除\"\n }\n },\n metadata: {\n label: \"元数据\",\n help: \"该版本对应的元数据快照(JSON 序列化)\"\n },\n checksum: {\n label: \"校验和\"\n },\n previous_checksum: {\n label: \"上一个校验和\"\n },\n change_note: {\n label: \"变更说明\",\n help: \"对该版本变更内容的说明\"\n },\n organization_id: {\n label: \"组织\",\n help: \"用于多租户隔离的组织。\"\n },\n project_id: {\n label: \"环境 ID\",\n help: \"将该历史记录限定到特定环境。\"\n },\n recorded_by: {\n label: \"记录人\"\n },\n recorded_at: {\n label: \"记录时间\"\n }\n }\n },\n sys_setting: {\n label: \"设置\",\n pluralLabel: \"设置\",\n description: \"为 SettingsManifest 合约提供支持的通用键值存储。\",\n fields: {\n id: {\n label: \"设置 ID\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n },\n namespace: {\n label: \"命名空间\",\n help: \"Manifest 命名空间(例如 mail、branding、feature_flags)。\"\n },\n key: {\n label: \"键\",\n help: \"命名空间内的标识键(snake_case)。\"\n },\n scope: {\n label: \"范围\",\n help: \"该记录所属的配置解析层级。\",\n options: {\n global: \"全局\",\n tenant: \"租户\",\n user: \"用户\",\n runtime: \"运行时\"\n }\n },\n user_id: {\n label: \"用户\",\n help: \"当 scope=user 时对应所属用户;否则为 null。\"\n },\n value: {\n label: \"值\",\n help: \"JSON 编码的值。encrypted=true 时为 Null(见 value_enc)。\"\n },\n encrypted: {\n label: \"已加密\",\n help: \"为 true 时,值会以静态加密方式存储在 value_enc 中;value 列为 null。\"\n },\n locked: {\n label: \"已锁定\",\n help: \"为 true 时,较低范围的记录无法覆盖该值;对较低范围的写入会返回 409。平台管理员可借此为所有租户固定全局值(Phase 2 级联)。\"\n },\n locked_reason: {\n label: \"锁定原因\",\n help: \"当 locked=true 时,在 UI 提示中展示的人类可读说明。\"\n },\n value_enc: {\n label: \"加密值\",\n help: \"密文负载(KMS 包裹)。仅在 encrypted=true 时设置。\"\n },\n updated_by: {\n label: \"更新人\",\n help: \"最近通过 SettingsService.set() 写入该记录的执行人。\"\n }\n },\n _views: {\n by_namespace: {\n label: \"按命名空间\"\n },\n tenant_only: {\n label: \"租户\"\n },\n user_only: {\n label: \"用户\"\n },\n all_settings: {\n label: \"全部\"\n }\n }\n },\n sys_secret: {\n label: \"密钥\",\n pluralLabel: \"密钥\",\n description: \"由 sys_setting 句柄引用的密文存储。绝不保存明文。\",\n fields: {\n id: {\n label: \"ID\",\n help: \"由 `sys_setting.value_enc` 引用的不透明句柄。\"\n },\n created_at: {\n label: \"创建时间\",\n help: \"首次写入该密文的时间。\"\n },\n rotated_at: {\n label: \"轮换时间\",\n help: \"最近一次使用新 KMS 密钥重新包裹该密文的时间。\"\n },\n namespace: {\n label: \"命名空间\",\n help: \"该密钥所属的设置命名空间。\"\n },\n key: {\n label: \"键\",\n help: \"命名空间内的标识键。\"\n },\n kms_key_id: {\n label: \"KMS 密钥 ID\",\n help: \"外部 KMS 句柄(ARN、GCP resource id 或 `local`)。\"\n },\n alg: {\n label: \"算法\",\n help: \"密文 / AEAD 算法标记。\"\n },\n version: {\n label: \"版本\",\n help: \"每次 rotateKey() 重新包裹该记录时递增。\"\n },\n ciphertext: {\n label: \"密文\",\n help: \"提供方编码后的密文数据(base64 / JSON)。实现定义;仅匹配的 ICryptoProvider 可读取。\"\n }\n }\n },\n sys_setting_audit: {\n label: \"设置审计记录\",\n pluralLabel: \"设置审计\",\n description: \"SettingsService 变更的追加写入审计记录。\",\n fields: {\n id: {\n label: \"ID\"\n },\n created_at: {\n label: \"创建时间\",\n help: \"记录该变更的时间。\"\n },\n namespace: {\n label: \"命名空间\"\n },\n key: {\n label: \"键\"\n },\n scope: {\n label: \"范围\",\n help: \"该记录写入的级联层。\",\n options: {\n global: \"全局\",\n tenant: \"租户\",\n user: \"用户\"\n }\n },\n action: {\n label: \"操作\",\n help: \"变更类型。\",\n options: {\n set: \"设置\",\n reset: \"重置\",\n lock: \"锁定\",\n unlock: \"解锁\",\n rotate: \"轮换\"\n }\n },\n actor_id: {\n label: \"执行人\",\n help: \"执行该变更的用户;系统任务时为 null。\"\n },\n source: {\n label: \"来源\",\n help: \"变更入口。\",\n options: {\n ui: \"UI\",\n api: \"API\",\n migration: \"迁移\",\n import: \"导入\",\n system: \"系统\"\n }\n },\n reason: {\n label: \"原因\",\n help: \"执行人提供的自由文本说明(可选)。\"\n },\n old_hash: {\n label: \"旧哈希\",\n help: \"旧值(规范化后)的 SHA-256。此前未设置时为 Null。\"\n },\n new_hash: {\n label: \"新哈希\",\n help: \"新值(规范化后)的 SHA-256。重置时为 Null。\"\n },\n encrypted: {\n label: \"已加密\",\n help: \"当字段包含密钥材料时为 true(轮换更值得关注)。\"\n },\n request_id: {\n label: \"请求 ID\",\n help: \"与 sys_audit_log / tracing 关联。\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { TranslationData } from '@objectstack/spec/system';\nimport { zhCNObjects } from './zh-CN.objects.generated.js';\n\n/**\n * 简体中文 (zh-CN) — Setup App Translations\n */\nexport const zhCN: TranslationData = {\n objects: zhCNObjects,\n apps: {\n setup: {\n label: '系统设置',\n description: '平台设置与管理',\n navigation: {\n group_overview: { label: '总览' },\n group_people_org: { label: '人员与组织' },\n group_access_control: { label: '访问控制' },\n group_approvals: { label: '审批' },\n group_configuration: { label: '配置' },\n group_diagnostics: { label: '诊断' },\n group_advanced: { label: '高级' },\n\n nav_system_overview: { label: '系统概览' },\n nav_security_overview: { label: '安全概览' },\n\n nav_users: { label: '用户' },\n nav_departments: { label: '部门' },\n nav_teams: { label: '团队' },\n nav_organizations: { label: '组织' },\n nav_invitations: { label: '邀请' },\n\n nav_roles: { label: '角色' },\n nav_permission_sets: { label: '权限集' },\n nav_sharing_rules: { label: '共享规则' },\n nav_record_shares: { label: '记录共享' },\n nav_api_keys: { label: 'API 密钥' },\n\n nav_approval_processes: { label: '审批流程' },\n nav_approval_requests: { label: '审批申请' },\n nav_approval_actions: { label: '审批历史' },\n\n nav_settings_hub: { label: '全部设置' },\n nav_settings_mail: { label: '邮件' },\n nav_settings_branding: { label: '品牌' },\n nav_settings_feature_flags: { label: '功能开关' },\n\n nav_sessions: { label: '会话' },\n nav_audit_logs: { label: '审计日志' },\n nav_notifications: { label: '通知' },\n\n nav_oauth_apps: { label: 'OAuth 应用' },\n nav_jwks: { label: '签名密钥 (JWKS)' },\n nav_verifications: { label: '验证记录' },\n nav_two_factor: { label: '双重认证' },\n nav_device_codes: { label: '设备代码' },\n nav_accounts: { label: '身份链接' },\n nav_user_preferences: { label: '用户偏好' },\n nav_metadata: { label: '全部元数据' },\n },\n },\n },\n\n dashboards: {\n system_overview: {\n label: '系统概览',\n description: '平台运行状况、会话与审计活动',\n widgets: {\n widget_active_sessions: { title: '活跃会话', description: '当前活跃用户会话数量' },\n widget_total_users: { title: '用户总数', description: '系统中已注册的用户总数' },\n widget_organizations: { title: '组织数', description: '平台上的组织总数' },\n widget_packages_installed: { title: '已安装包', description: '项目中已激活的安装包数' },\n widget_audit_actions: { title: '审计操作', description: '按操作类型分布的审计事件' },\n widget_active_orgs: { title: '按组织划分会话', description: '按组织分组的活跃会话' },\n widget_recent_events: { title: '最近审计事件', description: '最新的平台事件' },\n },\n },\n\n security_overview: {\n label: '安全概览',\n description: '安全事件、身份认证与审计追踪',\n widgets: {\n widget_login_events: { title: '登录事件', description: '审计日志中记录的认证事件' },\n widget_permission_changes: { title: '权限变更', description: '最近的权限和角色修改' },\n widget_config_changes: { title: '配置变更', description: '系统配置修改' },\n widget_active_sessions: { title: '活跃会话', description: '当前活跃用户会话' },\n widget_events_by_type: { title: '按类型分布的审计事件', description: '安全与审计事件分布' },\n widget_events_by_user: { title: '按用户分布的事件', description: '用户活动分布' },\n widget_recent_security_events: { title: '最近安全事件', description: '最新的权限与配置变更' },\n },\n },\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'ja-JP'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const jaJPObjects: NonNullable<TranslationData['objects']> = {\n sys_user: {\n label: \"ユーザー\",\n pluralLabel: \"ユーザー\",\n description: \"認証用ユーザーアカウント\",\n fields: {\n name: {\n label: \"名前\"\n },\n email: {\n label: \"メールアドレス\"\n },\n email_verified: {\n label: \"メール確認済み\"\n },\n two_factor_enabled: {\n label: \"二要素認証 有効\",\n help: \"このユーザーの二要素認証が有効かどうか。better-auth の `twoFactor` プラグインが管理します。\"\n },\n role: {\n label: \"プラットフォームロール\",\n help: \"プラットフォームレベルのロール(admin、user など)。「プラットフォームロールを設定」アクションから設定します。\"\n },\n banned: {\n label: \"利用停止\",\n help: \"true の場合、ユーザーはサインインできません。「利用停止」/「利用停止を解除」アクションで切り替えます。\"\n },\n ban_reason: {\n label: \"利用停止理由\"\n },\n ban_expires: {\n label: \"利用停止期限\",\n help: \"設定されている場合、この日時に利用停止が自動解除されます。\"\n },\n image: {\n label: \"プロフィール画像\"\n },\n id: {\n label: \"ユーザー ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n all_users: {\n label: \"すべてのユーザー\"\n },\n unverified: {\n label: \"未確認\"\n },\n two_factor: {\n label: \"2FA 有効\"\n },\n banned: {\n label: \"利用停止\"\n }\n },\n _actions: {\n invite_user: {\n label: \"ユーザーを招待\",\n successMessage: \"招待を送信しました\"\n },\n ban_user: {\n label: \"利用停止\",\n confirmText: \"このユーザーを利用停止にしますか?利用停止になるとサインアウトされ、解除されるまでサインインできなくなります。\",\n successMessage: \"ユーザーを利用停止にしました\"\n },\n unban_user: {\n label: \"利用停止を解除\",\n successMessage: \"ユーザーの利用停止を解除しました\"\n },\n set_user_password: {\n label: \"パスワードを設定\",\n successMessage: \"パスワードを更新しました\"\n },\n set_user_role: {\n label: \"プラットフォームロールを設定\",\n successMessage: \"ロールを更新しました\"\n },\n impersonate_user: {\n label: \"代理ログイン\",\n confirmText: \"このユーザーとして代理ログインを開始しますか?正当なサポート対応時のみ使用してください。操作は監査ログに記録されます。\",\n successMessage: \"代理ログイン中\"\n }\n }\n },\n sys_session: {\n label: \"セッション\",\n pluralLabel: \"セッション\",\n description: \"アクティブなユーザーセッション\",\n fields: {\n user_id: {\n label: \"ユーザー\"\n },\n expires_at: {\n label: \"有効期限\"\n },\n active_organization_id: {\n label: \"アクティブ組織\"\n },\n active_team_id: {\n label: \"アクティブチーム\"\n },\n ip_address: {\n label: \"IP アドレス\"\n },\n user_agent: {\n label: \"ユーザーエージェント\"\n },\n impersonated_by: {\n label: \"代理ログイン開始者\",\n help: \"この代理ログインセッションを開始した管理者のユーザー ID(該当する場合)。\"\n },\n token: {\n label: \"セッショントークン\",\n help: \"不透明なセッショントークン — UI には表示されません\"\n },\n id: {\n label: \"セッション ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n mine: {\n label: \"自分のセッション\"\n },\n all_sessions: {\n label: \"すべて\"\n }\n },\n _actions: {\n revoke_my_other_sessions: {\n label: \"他のデバイスをサインアウト\",\n confirmText: \"現在ログイン中の他のすべてのデバイスをサインアウトしますか?現在のセッションは維持されます。\",\n successMessage: \"他のすべてのセッションを失効しました\"\n },\n revoke_session: {\n label: \"セッションを失効\",\n confirmText: \"このセッションを失効しますか?そのデバイスからサインアウトされます。\",\n successMessage: \"セッションを失効しました\"\n }\n }\n },\n sys_account: {\n label: \"認証アカウント\",\n pluralLabel: \"認証アカウント\",\n description: \"OAuth および認証プロバイダーアカウント\",\n fields: {\n id: {\n label: \"アカウント ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n },\n provider_id: {\n label: \"プロバイダー ID\",\n help: \"OAuth プロバイダー識別子(google、github など)\"\n },\n account_id: {\n label: \"プロバイダーアカウント ID\",\n help: \"プロバイダーシステム内のユーザー ID\"\n },\n user_id: {\n label: \"ユーザー\",\n help: \"ユーザーテーブルへのリンク\"\n },\n access_token: {\n label: \"アクセストークン\"\n },\n refresh_token: {\n label: \"リフレッシュトークン\"\n },\n id_token: {\n label: \"ID トークン\"\n },\n access_token_expires_at: {\n label: \"アクセストークン有効期限\"\n },\n refresh_token_expires_at: {\n label: \"リフレッシュトークン有効期限\"\n },\n scope: {\n label: \"OAuth スコープ\"\n },\n password: {\n label: \"パスワードハッシュ\",\n help: \"メール/パスワードプロバイダー用のハッシュ化パスワード\"\n }\n },\n _views: {\n mine: {\n label: \"自分の連携\"\n },\n by_provider: {\n label: \"プロバイダー別\"\n },\n all_links: {\n label: \"すべて\"\n }\n }\n },\n sys_verification: {\n label: \"検証\",\n pluralLabel: \"検証\",\n description: \"メールおよび電話番号の確認トークン\",\n fields: {\n id: {\n label: \"検証 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n },\n value: {\n label: \"確認トークン\",\n help: \"確認用のトークンまたはコード\"\n },\n expires_at: {\n label: \"有効期限\"\n },\n identifier: {\n label: \"識別子\",\n help: \"メールアドレスまたは電話番号\"\n }\n }\n },\n sys_organization: {\n label: \"組織\",\n pluralLabel: \"組織\",\n description: \"マルチテナントグループ化のための組織\",\n fields: {\n name: {\n label: \"名前\"\n },\n slug: {\n label: \"スラッグ\",\n help: \"URL フレンドリーな識別子\"\n },\n logo: {\n label: \"ロゴ\"\n },\n metadata: {\n label: \"メタデータ\",\n help: \"JSON シリアライズされた組織メタデータ\"\n },\n id: {\n label: \"組織 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n all_orgs: {\n label: \"すべて\"\n }\n },\n _actions: {\n create_organization: {\n label: \"組織を作成\",\n successMessage: \"組織を作成しました\"\n },\n update_organization: {\n label: \"組織を編集\",\n successMessage: \"組織を更新しました\"\n },\n delete_organization: {\n label: \"組織を削除\",\n confirmText: \"この組織を削除しますか?すべてのメンバーはすぐにアクセスを失います。この操作は取り消せません。\",\n successMessage: \"組織を削除しました\"\n },\n set_active_organization: {\n label: \"アクティブに設定\",\n successMessage: \"アクティブ組織を切り替えました\"\n },\n leave_organization: {\n label: \"組織から退出\",\n confirmText: \"この組織から退出しますか?すべてのリソースへのアクセスを失います。\",\n successMessage: \"組織から退出しました\"\n }\n }\n },\n sys_member: {\n label: \"メンバー\",\n pluralLabel: \"メンバー\",\n description: \"組織メンバーシップレコード\",\n fields: {\n id: {\n label: \"メンバー ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n organization_id: {\n label: \"組織\"\n },\n user_id: {\n label: \"ユーザー\"\n },\n role: {\n label: \"ロール\",\n help: \"組織内のメンバーロール\",\n options: {\n owner: \"所有者\",\n admin: \"管理者\",\n member: \"メンバー\"\n }\n }\n },\n _actions: {\n add_member: {\n label: \"メンバーを追加\",\n successMessage: \"メンバーを追加しました\"\n },\n update_member_role: {\n label: \"ロールを変更\",\n successMessage: \"メンバーロールを更新しました\"\n },\n remove_member: {\n label: \"メンバーを削除\",\n confirmText: \"このメンバーを組織から削除しますか?組織のすべてのリソースへのアクセスを失います。\",\n successMessage: \"メンバーを削除しました\"\n }\n }\n },\n sys_invitation: {\n label: \"招待\",\n pluralLabel: \"招待\",\n description: \"ユーザーオンボーディングのための組織招待\",\n fields: {\n id: {\n label: \"招待 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n organization_id: {\n label: \"組織\"\n },\n email: {\n label: \"メールアドレス\",\n help: \"招待ユーザーのメールアドレス\"\n },\n role: {\n label: \"ロール\",\n help: \"承認時に割り当てるロール\",\n options: {\n owner: \"所有者\",\n admin: \"管理者\",\n member: \"メンバー\"\n }\n },\n status: {\n label: \"ステータス\",\n options: {\n pending: \"保留中\",\n accepted: \"承認済み\",\n rejected: \"拒否済み\",\n expired: \"期限切れ\",\n canceled: \"キャンセル済み\"\n }\n },\n inviter_id: {\n label: \"招待者\",\n help: \"招待を送信したユーザー\"\n },\n expires_at: {\n label: \"有効期限\"\n },\n team_id: {\n label: \"チーム\",\n help: \"承認時に割り当てるオプションのチーム\"\n }\n },\n _views: {\n pending: {\n label: \"保留中\"\n },\n accepted: {\n label: \"承認済み\"\n },\n expired: {\n label: \"期限切れ / キャンセル済み\"\n },\n all_invitations: {\n label: \"すべて\"\n }\n },\n _actions: {\n invite_user: {\n label: \"ユーザーを招待\",\n successMessage: \"招待を送信しました\"\n },\n cancel_invitation: {\n label: \"招待をキャンセル\",\n confirmText: \"この招待をキャンセルしますか?受信者は承認できなくなります。\",\n successMessage: \"招待をキャンセルしました\"\n },\n resend_invitation: {\n label: \"招待を再送\",\n successMessage: \"招待を再送しました\"\n }\n }\n },\n sys_team: {\n label: \"チーム\",\n pluralLabel: \"チーム\",\n description: \"細かいグループ化のための組織内チーム\",\n fields: {\n name: {\n label: \"名前\"\n },\n organization_id: {\n label: \"組織\",\n help: \"このチームの親組織\"\n },\n id: {\n label: \"チーム ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n by_org: {\n label: \"組織別\"\n },\n all_teams: {\n label: \"すべて\"\n }\n },\n _actions: {\n create_team: {\n label: \"チームを作成\",\n successMessage: \"チームを作成しました\"\n },\n update_team: {\n label: \"チームを編集\",\n successMessage: \"チームを更新しました\"\n },\n remove_team: {\n label: \"チームを削除\",\n confirmText: \"このチームを削除しますか?メンバーはチームスコープのアクセスを失います。この操作は取り消せません。\",\n successMessage: \"チームを削除しました\"\n }\n }\n },\n sys_team_member: {\n label: \"チームメンバー\",\n pluralLabel: \"チームメンバー\",\n description: \"ユーザーをチームに関連付けるチームメンバーシップレコード\",\n fields: {\n id: {\n label: \"チームメンバー ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n team_id: {\n label: \"チーム\"\n },\n user_id: {\n label: \"ユーザー\"\n }\n },\n _actions: {\n add_team_member: {\n label: \"メンバーを追加\",\n successMessage: \"チームメンバーを追加しました\"\n },\n remove_team_member: {\n label: \"チームから削除\",\n confirmText: \"このユーザーをチームから削除しますか?チームスコープのアクセスを失います。\",\n successMessage: \"チームメンバーを削除しました\"\n }\n }\n },\n sys_department: {\n label: \"部門\",\n pluralLabel: \"部門\",\n description: \"階層的な組織ツリーノード(部門 / 事業部 / ビジネスユニット / オフィス)。\",\n fields: {\n name: {\n label: \"名前\"\n },\n code: {\n label: \"コード\",\n help: \"短い安定したコード(例: EMEA-SALES)。テナント内で一意。\"\n },\n kind: {\n label: \"種別\",\n help: \"分類ヒント — グラフのセマンティクスを変更しません。\",\n options: {\n company: \"会社\",\n division: \"事業部\",\n department: \"部門\",\n team: \"チーム\",\n office: \"オフィス\",\n cost_center: \"コストセンター\"\n }\n },\n parent_department_id: {\n label: \"親部門\",\n help: \"組織ツリーの自己参照。null = テナントのルート。\"\n },\n organization_id: {\n label: \"組織\",\n help: \"テナントスコープ。\"\n },\n manager_user_id: {\n label: \"部門長\",\n help: \"この組織単位の責任者(部門長 / リード)。\"\n },\n active: {\n label: \"有効\",\n help: \"false の場合、メンバーはグラフクエリで展開されません。\"\n },\n effective_from: {\n label: \"有効開始日\",\n help: \"この部門が設立された日時(HRIS 同期)。\"\n },\n effective_to: {\n label: \"有効終了日\",\n help: \"この部門が廃止された日時(HRIS 同期)。\"\n },\n external_ref: {\n label: \"外部参照\",\n help: \"上流 HRIS(Workday / SAP HR / 北森)の ID。\"\n },\n id: {\n label: \"部門 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n inactive: {\n label: \"無効\"\n },\n by_kind: {\n label: \"種別別\"\n },\n all_departments: {\n label: \"すべて\"\n }\n }\n },\n sys_department_member: {\n label: \"部門メンバー\",\n pluralLabel: \"部門メンバー\",\n description: \"部門へのユーザー割り当て(マトリクス組織対応、有効期限付き)。\",\n fields: {\n id: {\n label: \"メンバー ID\"\n },\n department_id: {\n label: \"部門\"\n },\n user_id: {\n label: \"ユーザー\"\n },\n role_in_department: {\n label: \"部門内ロール\",\n help: \"`lead` は日常の責任者、`deputy` は承認ルーティングでリードの代理を務める場合があります。\",\n options: {\n member: \"メンバー\",\n lead: \"リード\",\n deputy: \"代理担当\"\n }\n },\n is_primary: {\n label: \"主要割り当て\",\n help: \"ユーザーが複数の部門に所属する場合、レポーティングの正規部門をマークします。\"\n },\n effective_from: {\n label: \"有効開始日\"\n },\n effective_to: {\n label: \"有効終了日\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_api_key: {\n label: \"API キー\",\n pluralLabel: \"API キー\",\n description: \"プログラムアクセス用の API キー\",\n fields: {\n name: {\n label: \"名前\",\n help: \"API キーの表示名\"\n },\n prefix: {\n label: \"プレフィックス\",\n help: \"キーを識別するための表示プレフィックス(例: \\\"osk_\\\")\"\n },\n user_id: {\n label: \"所有者\",\n help: \"この API キーを所有するユーザー\"\n },\n scopes: {\n label: \"スコープ\",\n help: \"権限スコープの JSON 配列\"\n },\n expires_at: {\n label: \"有効期限\"\n },\n last_used_at: {\n label: \"最終使用日時\",\n help: \"API 呼び出しのたびに自動更新されます\"\n },\n revoked: {\n label: \"失効済み\"\n },\n key: {\n label: \"ハッシュ済みキー\",\n help: \"ハッシュ済み API キー値 — クライアントには公開されません\"\n },\n id: {\n label: \"API キー ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n mine: {\n label: \"自分のキー\"\n },\n active: {\n label: \"有効\"\n },\n revoked: {\n label: \"失効済み\"\n },\n all_keys: {\n label: \"すべて\"\n }\n },\n _actions: {\n revoke_api_key: {\n label: \"API キーを失効\",\n confirmText: \"この API キーを失効しますか?使用中のクライアントはすぐにアクセスを失います。\",\n successMessage: \"API キーを失効しました\"\n },\n restore_api_key: {\n label: \"API キーを復元\",\n confirmText: \"この失効済み API キーを復元しますか?キーを保持する既存のクライアントはアクセスを回復します。\",\n successMessage: \"API キーを復元しました\"\n }\n }\n },\n sys_two_factor: {\n label: \"二要素認証\",\n pluralLabel: \"二要素認証資格情報\",\n description: \"二要素認証の資格情報\",\n fields: {\n id: {\n label: \"二要素認証 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n },\n user_id: {\n label: \"ユーザー\"\n },\n secret: {\n label: \"シークレット\",\n help: \"TOTP シークレットキー\"\n },\n backup_codes: {\n label: \"バックアップコード\",\n help: \"JSON シリアライズされたバックアップ回復コード\"\n }\n },\n _views: {\n mine: {\n label: \"自分の登録\"\n },\n all_enrollments: {\n label: \"すべて\"\n }\n },\n _actions: {\n enable_two_factor: {\n label: \"2FA を有効化\",\n successMessage: \"2FA 登録を開始しました — レスポンスで TOTP URI とバックアップコードを確認してください\"\n },\n disable_two_factor: {\n label: \"2FA を無効化\",\n confirmText: \"アカウントの二要素認証を無効化しますか?\",\n successMessage: \"2FA を無効化しました\"\n }\n }\n },\n sys_device_code: {\n label: \"デバイスコード\",\n pluralLabel: \"デバイスコード\",\n description: \"OAuth 2.0 デバイス認証グラント(RFC 8628)の保留中リクエスト\",\n fields: {\n id: {\n label: \"デバイスコード ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n },\n device_code: {\n label: \"デバイスコード\",\n help: \"ポーリングデバイスに返されるエントロピーの高いトークン\"\n },\n user_code: {\n label: \"ユーザーコード\",\n help: \"短いユーザー向けコード(例: ABCD-EFGH)\"\n },\n user_id: {\n label: \"ユーザー\",\n help: \"デバイス認証を承認したユーザー\"\n },\n expires_at: {\n label: \"有効期限\",\n help: \"デバイスコードとユーザーコードが無効になる日時\"\n },\n status: {\n label: \"ステータス\",\n help: \"現在のステータス: 'pending' | 'approved' | 'denied'\"\n },\n last_polled_at: {\n label: \"最終ポーリング日時\",\n help: \"直近の /device/token ポーリングのタイムスタンプ\"\n },\n polling_interval: {\n label: \"ポーリング間隔(ミリ秒)\",\n help: \"サーバー推奨の最小ポーリング間隔(ミリ秒)\"\n },\n client_id: {\n label: \"クライアント ID\",\n help: \"リクエストデバイスの OAuth クライアント識別子\"\n },\n scope: {\n label: \"スコープ\",\n help: \"デバイスがリクエストするスペース区切りの OAuth スコープ\"\n }\n }\n },\n sys_user_preference: {\n label: \"ユーザー設定\",\n pluralLabel: \"ユーザー設定\",\n description: \"ユーザーごとのキー/バリュー設定(テーマ、ロケールなど)\",\n fields: {\n id: {\n label: \"設定 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n },\n user_id: {\n label: \"ユーザー\",\n help: \"この設定の所有者ユーザー\"\n },\n key: {\n label: \"キー\",\n help: \"設定キー(例: theme、locale、plugin.ai.auto_save)\"\n },\n value: {\n label: \"値\",\n help: \"設定値(JSON シリアライズ可能な任意の型)\"\n }\n },\n _views: {\n mine: {\n label: \"自分の設定\"\n },\n by_user: {\n label: \"ユーザー別\"\n },\n all_preferences: {\n label: \"すべて\"\n }\n }\n },\n sys_oauth_application: {\n label: \"OAuth アプリケーション\",\n pluralLabel: \"OAuth アプリケーション\",\n description: \"登録済み OAuth/OIDC クライアントアプリケーション\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"名前\"\n },\n icon: {\n label: \"アイコン\",\n help: \"同意画面に表示されるロゴ URL\"\n },\n uri: {\n label: \"ホーム URI\",\n help: \"登録済みクライアントの公開ホームページ\"\n },\n contacts: {\n label: \"連絡先\",\n help: \"連絡先メールアドレスの JSON シリアライズリスト\"\n },\n tos: {\n label: \"利用規約\"\n },\n policy: {\n label: \"プライバシーポリシー\"\n },\n metadata: {\n label: \"メタデータ\",\n help: \"JSON シリアライズされたアプリケーションメタデータ\"\n },\n client_id: {\n label: \"クライアント ID\",\n help: \"公開 OAuth クライアント識別子\"\n },\n client_secret: {\n label: \"クライアントシークレット\",\n help: \"OAuth クライアントシークレット(保存時にハッシュ/暗号化済み)\"\n },\n redirect_uris: {\n label: \"リダイレクト URI\",\n help: \"許可されたリダイレクト URI の JSON シリアライズリスト\"\n },\n post_logout_redirect_uris: {\n label: \"ログアウト後リダイレクト URI\",\n help: \"許可されたログアウト後リダイレクト URI の JSON シリアライズリスト\"\n },\n type: {\n label: \"クライアントタイプ\",\n options: {\n web: \"Web\",\n native: \"ネイティブ\",\n useragentbased: \"ユーザーエージェントベース\",\n public: \"公開\"\n }\n },\n public: {\n label: \"パブリッククライアント\",\n help: \"クライアントをパブリック(非機密)OAuth クライアントとしてマークします\"\n },\n require_pkce: {\n label: \"PKCE 必須\"\n },\n token_endpoint_auth_method: {\n label: \"トークンエンドポイント認証方式\",\n help: \"例: client_secret_basic、client_secret_post、none\"\n },\n grant_types: {\n label: \"グラントタイプ\",\n help: \"許可されたグラントタイプの JSON シリアライズリスト\"\n },\n response_types: {\n label: \"レスポンスタイプ\",\n help: \"許可されたレスポンスタイプの JSON シリアライズリスト\"\n },\n scopes: {\n label: \"許可スコープ\",\n help: \"クライアントがリクエスト可能なスコープの JSON シリアライズリスト\"\n },\n subject_type: {\n label: \"サブジェクトタイプ\",\n help: \"OIDC サブジェクトタイプ(例: public、pairwise)\"\n },\n disabled: {\n label: \"無効\"\n },\n skip_consent: {\n label: \"同意画面をスキップ\",\n help: \"信頼済みクライアントとして扱い、同意画面をバイパスします\"\n },\n enable_end_session: {\n label: \"エンドセッションを有効化\",\n help: \"クライアントが OIDC エンドセッションエンドポイントを呼び出せるようにします\"\n },\n software_id: {\n label: \"ソフトウェア ID\"\n },\n software_version: {\n label: \"ソフトウェアバージョン\"\n },\n software_statement: {\n label: \"ソフトウェアステートメント\",\n help: \"クライアントメタデータをアサートする署名済み JWT(RFC 7591 §2.3)\"\n },\n user_id: {\n label: \"所有者ユーザー\",\n help: \"このアプリケーションを登録したユーザー\"\n },\n reference_id: {\n label: \"参照 ID\",\n help: \"呼び出し元が指定した相関識別子\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n disabled_apps: {\n label: \"無効\"\n },\n all_apps: {\n label: \"すべて\"\n }\n }\n },\n sys_oauth_access_token: {\n label: \"OAuth アクセストークン\",\n pluralLabel: \"OAuth アクセストークン\",\n description: \"クライアントアプリケーションに発行された不透明な OAuth アクセストークン\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"トークン\",\n help: \"不透明なアクセストークン値\"\n },\n client_id: {\n label: \"クライアント ID\",\n help: \"sys_oauth_application.client_id への外部キー\"\n },\n session_id: {\n label: \"セッション\",\n help: \"sys_session.id への外部キー\"\n },\n user_id: {\n label: \"ユーザー\",\n help: \"sys_user.id への外部キー\"\n },\n refresh_id: {\n label: \"リフレッシュトークン\",\n help: \"sys_oauth_refresh_token.id への外部キー\"\n },\n reference_id: {\n label: \"参照 ID\",\n help: \"呼び出し元が指定した相関識別子\"\n },\n scopes: {\n label: \"スコープ\",\n help: \"このトークンに付与されたスコープの JSON シリアライズリスト\"\n },\n expires_at: {\n label: \"有効期限\"\n },\n created_at: {\n label: \"作成日時\"\n }\n }\n },\n sys_oauth_refresh_token: {\n label: \"OAuth リフレッシュトークン\",\n pluralLabel: \"OAuth リフレッシュトークン\",\n description: \"不透明な OAuth リフレッシュトークン(セッションにリンク)\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"トークン\",\n help: \"不透明なリフレッシュトークン値\"\n },\n client_id: {\n label: \"クライアント ID\",\n help: \"sys_oauth_application.client_id への外部キー\"\n },\n session_id: {\n label: \"セッション\",\n help: \"sys_session.id への外部キー\"\n },\n user_id: {\n label: \"ユーザー\",\n help: \"sys_user.id への外部キー\"\n },\n reference_id: {\n label: \"参照 ID\",\n help: \"呼び出し元が指定した相関識別子\"\n },\n scopes: {\n label: \"スコープ\",\n help: \"このトークンに付与されたスコープの JSON シリアライズリスト\"\n },\n expires_at: {\n label: \"有効期限\"\n },\n created_at: {\n label: \"作成日時\"\n },\n revoked: {\n label: \"失効日時\",\n help: \"このリフレッシュトークンが失効したタイムスタンプ\"\n },\n auth_time: {\n label: \"認証日時\",\n help: \"このトークンチェーンのためにユーザーが最初に認証した日時\"\n }\n }\n },\n sys_oauth_consent: {\n label: \"OAuth 同意\",\n pluralLabel: \"OAuth 同意\",\n description: \"OAuth クライアントアプリケーションに対するユーザー同意レコード\",\n fields: {\n id: {\n label: \"ID\"\n },\n client_id: {\n label: \"クライアント ID\",\n help: \"sys_oauth_application.client_id への外部キー\"\n },\n user_id: {\n label: \"ユーザー\",\n help: \"sys_user.id への外部キー\"\n },\n reference_id: {\n label: \"参照 ID\",\n help: \"呼び出し元が指定した相関識別子\"\n },\n scopes: {\n label: \"スコープ\",\n help: \"ユーザーが同意したスコープの JSON シリアライズリスト\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_jwks: {\n label: \"署名キー (JWKS)\",\n pluralLabel: \"署名キー (JWKS)\",\n description: \"発行済み JWT の署名および検証に使用する非対称鍵ペア\",\n fields: {\n id: {\n label: \"キー ID\",\n help: \"JWK `kid` 値\"\n },\n public_key: {\n label: \"公開鍵\",\n help: \"JSON シリアライズされた JWK 公開鍵\"\n },\n private_key: {\n label: \"秘密鍵\",\n help: \"JSON シリアライズされた JWK 秘密鍵(保存時に暗号化済み)\"\n },\n created_at: {\n label: \"作成日時\"\n },\n expires_at: {\n label: \"有効期限\",\n help: \"このキーがトークン検証に使用できなくなる日時\"\n }\n }\n },\n sys_role: {\n label: \"ロール\",\n pluralLabel: \"ロール\",\n description: \"RBAC アクセス制御のためのロール定義\",\n fields: {\n label: {\n label: \"表示名\"\n },\n name: {\n label: \"API 名\",\n help: \"ロールの一意の機械名(例: admin、editor、viewer)\"\n },\n description: {\n label: \"説明\"\n },\n permissions: {\n label: \"権限\",\n help: \"権限文字列の JSON シリアライズ配列\"\n },\n active: {\n label: \"有効\"\n },\n is_default: {\n label: \"デフォルトロール\",\n help: \"新規ユーザーに自動的に割り当てられます\"\n },\n id: {\n label: \"ロール ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n default_roles: {\n label: \"デフォルト\"\n },\n custom: {\n label: \"カスタム\"\n },\n all_roles: {\n label: \"すべて\"\n }\n }\n },\n sys_permission_set: {\n label: \"権限セット\",\n pluralLabel: \"権限セット\",\n description: \"細かいアクセス制御のための権限グループ\",\n fields: {\n label: {\n label: \"表示名\"\n },\n name: {\n label: \"API 名\",\n help: \"権限セットの一意の機械名\"\n },\n description: {\n label: \"説明\"\n },\n object_permissions: {\n label: \"オブジェクト権限\",\n help: \"JSON シリアライズされたオブジェクトレベルの CRUD 権限\"\n },\n field_permissions: {\n label: \"フィールド権限\",\n help: \"JSON シリアライズされたフィールドレベルの読み取り/書き込み権限\"\n },\n active: {\n label: \"有効\"\n },\n id: {\n label: \"権限セット ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n inactive: {\n label: \"無効\"\n },\n all_permsets: {\n label: \"すべて\"\n }\n }\n },\n sys_user_permission_set: {\n label: \"ユーザー権限セット\",\n pluralLabel: \"ユーザー権限セット\",\n description: \"ユーザーへの権限セットの直接割り当て(組織スコープ可能)。\",\n fields: {\n id: {\n label: \"割り当て ID\",\n help: \"割り当ての UUID。\"\n },\n user_id: {\n label: \"ユーザー\",\n help: \"sys_user への外部キー。\"\n },\n permission_set_id: {\n label: \"権限セット\",\n help: \"sys_permission_set への外部キー。\"\n },\n organization_id: {\n label: \"組織\",\n help: \"オプションの組織スコープ。NULL = すべての組織コンテキストで適用。\"\n },\n granted_by: {\n label: \"付与者\",\n help: \"この権限セットを付与したユーザー。\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_role_permission_set: {\n label: \"ロール権限セット\",\n pluralLabel: \"ロール権限セット\",\n description: \"権限セットをロールにバインドします。\",\n fields: {\n id: {\n label: \"バインド ID\",\n help: \"ロール権限セットバインドの UUID。\"\n },\n role_id: {\n label: \"ロール\",\n help: \"sys_role への外部キー。\"\n },\n permission_set_id: {\n label: \"権限セット\",\n help: \"sys_permission_set への外部キー。\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_record_share: {\n label: \"レコード共有\",\n pluralLabel: \"レコード共有\",\n description: \"レコードごとの共有付与 — OWD に明示的なアクセスを追加\",\n fields: {\n id: {\n label: \"共有 ID\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"共有レコードの短いオブジェクト名\"\n },\n record_id: {\n label: \"レコード\",\n help: \"object_name 内の共有レコードの主キー\"\n },\n recipient_type: {\n label: \"受信者タイプ\",\n help: \"付与を保持するプリンシパルの種別\",\n options: {\n user: \"ユーザー\",\n group: \"グループ\",\n role: \"ロール\",\n role_and_subordinates: \"ロールと下位階層\",\n guest: \"ゲスト\"\n }\n },\n recipient_id: {\n label: \"受信者\",\n help: \"アクセスを受け取るユーザー/グループ/ロールの ID\"\n },\n access_level: {\n label: \"アクセスレベル\",\n help: \"受信者に許可される操作 — read | edit | full(転送/共有/削除)\",\n options: {\n read: \"閲覧\",\n edit: \"編集\",\n full: \"フルアクセス\"\n }\n },\n source: {\n label: \"ソース\",\n help: \"この付与が存在する理由 — ルール評価者が調整に使用\",\n options: {\n manual: \"手動\",\n rule: \"ルール\",\n team: \"チーム\",\n inherited: \"継承\"\n }\n },\n source_id: {\n label: \"ソース ID\",\n help: \"source != manual の場合のルール名 / チーム ID\"\n },\n granted_by: {\n label: \"付与者\",\n help: \"付与を作成したユーザー(手動のみ)\"\n },\n reason: {\n label: \"理由\",\n help: \"受信者に表示されるオプションの自由記述説明\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n granted_to_me: {\n label: \"自分への付与\"\n },\n granted_by_me: {\n label: \"自分による付与\"\n },\n by_object: {\n label: \"オブジェクト別\"\n },\n manual_grants: {\n label: \"手動付与\"\n },\n rule_grants: {\n label: \"ルール付与\"\n },\n all_shares: {\n label: \"すべて\"\n }\n }\n },\n sys_sharing_rule: {\n label: \"共有ルール\",\n pluralLabel: \"共有ルール\",\n description: \"sys_record_share 付与を自動マテリアライズする宣言的共有ルール。コードの defineSharingRule() または Studio の条件ビルダーで作成します。\",\n fields: {\n id: {\n label: \"ルール ID\"\n },\n organization_id: {\n label: \"組織\",\n help: \"このルールを所有するテナント。null = グローバル\"\n },\n name: {\n label: \"名前\",\n help: \"一意の snake_case ルール名\"\n },\n label: {\n label: \"表示名\"\n },\n description: {\n label: \"説明\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"短いオブジェクト名(例: opportunity、account)\"\n },\n criteria_json: {\n label: \"条件(FilterCondition JSON)\",\n help: \"object_name のレコードに対してマッチする JSON FilterCondition。空 = すべてにマッチ。\"\n },\n recipient_type: {\n label: \"受信者タイプ\",\n help: \"アクセスを受け取るプリンシパルの種別 — 評価時にユーザー付与に展開されます。`department` は parent_department_id ツリーをたどります。`team` はフラット(better-auth)。\",\n options: {\n user: \"ユーザー\",\n team: \"チーム\",\n department: \"部門\",\n role: \"ロール\",\n queue: \"キュー\"\n }\n },\n recipient_id: {\n label: \"受信者\",\n help: \"recipient_type に応じた部門 ID / チーム ID / ロール名 / キュー名 / ユーザー ID\"\n },\n access_level: {\n label: \"アクセスレベル\",\n options: {\n read: \"閲覧\",\n edit: \"編集\",\n full: \"フルアクセス\"\n }\n },\n active: {\n label: \"有効\",\n help: \"有効なルールのみがライフサイクル評価に参加します\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n inactive: {\n label: \"無効\"\n },\n by_object: {\n label: \"オブジェクト別\"\n },\n all_rules: {\n label: \"すべて\"\n }\n }\n },\n sys_audit_log: {\n label: \"監査ログ\",\n pluralLabel: \"監査ログ\",\n description: \"プラットフォームイベントの不変の監査証跡\",\n fields: {\n created_at: {\n label: \"タイムスタンプ\"\n },\n action: {\n label: \"アクション\",\n help: \"アクションタイプ(snake_case)\",\n options: {\n create: \"作成\",\n update: \"更新\",\n delete: \"削除\",\n restore: \"復元\",\n login: \"ログイン\",\n logout: \"ログアウト\",\n permission_change: \"権限変更\",\n config_change: \"構成変更\",\n export: \"エクスポート\",\n import: \"インポート\"\n }\n },\n user_id: {\n label: \"操作者\",\n help: \"アクションを実行したユーザー(システム操作の場合は null)\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"対象オブジェクト(例: sys_user、project_task)\"\n },\n record_id: {\n label: \"レコード ID\",\n help: \"影響を受けたレコードの ID\"\n },\n old_value: {\n label: \"変更前の値\",\n help: \"JSON シリアライズされた以前の状態\"\n },\n new_value: {\n label: \"変更後の値\",\n help: \"JSON シリアライズされた新しい状態\"\n },\n ip_address: {\n label: \"IP アドレス\"\n },\n user_agent: {\n label: \"ユーザーエージェント\"\n },\n tenant_id: {\n label: \"テナント\",\n help: \"マルチテナント分離のためのテナントコンテキスト\"\n },\n metadata: {\n label: \"メタデータ\",\n help: \"JSON シリアライズされた追加コンテキスト\"\n },\n id: {\n label: \"監査ログ ID\"\n }\n },\n _views: {\n recent: {\n label: \"最近\"\n },\n writes_only: {\n label: \"書き込み\"\n },\n auth_events: {\n label: \"認証\"\n },\n config_changes: {\n label: \"構成変更\"\n },\n all_events: {\n label: \"すべて\"\n }\n }\n },\n sys_presence: {\n label: \"在席状況\",\n pluralLabel: \"在席状況\",\n description: \"リアルタイムのユーザー在席状況とアクティビティ追跡\",\n fields: {\n id: {\n label: \"在席 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n },\n user_id: {\n label: \"ユーザー\"\n },\n session_id: {\n label: \"セッション\"\n },\n status: {\n label: \"ステータス\",\n options: {\n online: \"オンライン\",\n away: \"離席中\",\n busy: \"取り込み中\",\n offline: \"オフライン\"\n }\n },\n last_seen: {\n label: \"最終確認日時\"\n },\n current_location: {\n label: \"現在地\"\n },\n device: {\n label: \"デバイス\",\n options: {\n desktop: \"デスクトップ\",\n mobile: \"モバイル\",\n tablet: \"タブレット\",\n other: \"その他\"\n }\n },\n custom_status: {\n label: \"カスタムステータス\"\n },\n metadata: {\n label: \"メタデータ\",\n help: \"在席状態に関連付けられた任意の JSON メタデータ(PresenceStateSchema.metadata に対応)。\"\n }\n }\n },\n sys_activity: {\n label: \"アクティビティ\",\n pluralLabel: \"アクティビティ\",\n description: \"最近のアクティビティストリームエントリ(軽量、非正規化)\",\n fields: {\n id: {\n label: \"アクティビティ ID\"\n },\n timestamp: {\n label: \"タイムスタンプ\"\n },\n type: {\n label: \"タイプ\",\n options: {\n created: \"作成\",\n updated: \"更新\",\n deleted: \"削除\",\n commented: \"コメント\",\n mentioned: \"メンション\",\n shared: \"共有\",\n assigned: \"割り当て\",\n completed: \"完了\",\n login: \"ログイン\",\n logout: \"ログアウト\",\n system: \"システム\"\n }\n },\n summary: {\n label: \"サマリー\",\n help: \"判別しやすい 1 行サマリー\"\n },\n actor_id: {\n label: \"操作者\"\n },\n actor_name: {\n label: \"操作者名\"\n },\n actor_avatar_url: {\n label: \"操作者アバター\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"対象オブジェクトの短い名前(例: account、sys_user)\"\n },\n record_id: {\n label: \"レコード ID\"\n },\n record_label: {\n label: \"レコード表示名\",\n help: \"書き込み時点の対象レコードの表示名\"\n },\n url: {\n label: \"URL\",\n help: \"アクティビティターゲットへのオプションのディープリンク\"\n },\n project_id: {\n label: \"プロジェクト\",\n help: \"プロジェクトコンテキスト(マルチプロジェクトデプロイメント)\"\n },\n metadata: {\n label: \"メタデータ\",\n help: \"JSON シリアライズされた追加コンテキスト\"\n }\n }\n },\n sys_comment: {\n label: \"コメント\",\n pluralLabel: \"コメント\",\n description: \"thread_id を介してレコードに添付されたスレッドコメント\",\n fields: {\n id: {\n label: \"コメント ID\"\n },\n thread_id: {\n label: \"スレッド\",\n help: \"スレッド識別子 — 通常は `{object}:{record_id}`(例: `sys_user:abc123`)\"\n },\n parent_id: {\n label: \"親コメント\",\n help: \"ネストした返信用のオプションの親コメント\"\n },\n reply_count: {\n label: \"返信数\"\n },\n author_id: {\n label: \"投稿者\"\n },\n author_name: {\n label: \"投稿者名\"\n },\n author_avatar_url: {\n label: \"投稿者アバター\"\n },\n body: {\n label: \"本文\",\n help: \"コメントテキスト(Markdown 対応)\"\n },\n mentions: {\n label: \"メンション\",\n help: \"@メンションオブジェクトの JSON 配列\"\n },\n reactions: {\n label: \"リアクション\",\n help: \"絵文字リアクションオブジェクトの JSON 配列\"\n },\n is_edited: {\n label: \"編集済み\"\n },\n edited_at: {\n label: \"編集日時\"\n },\n visibility: {\n label: \"公開範囲\",\n options: {\n public: \"公開\",\n internal: \"内部\",\n private: \"非公開\"\n }\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_attachment: {\n label: \"添付ファイル\",\n pluralLabel: \"添付ファイル\",\n description: \"sys_file と他のレコードを結ぶポリモーフィックリンク\",\n fields: {\n id: {\n label: \"添付ファイル ID\"\n },\n parent_object: {\n label: \"親オブジェクト\",\n help: \"添付先レコードの短いオブジェクト名(例: account、lead)\"\n },\n parent_id: {\n label: \"親レコード\",\n help: \"添付先レコードの主キー\"\n },\n file_id: {\n label: \"ファイル\",\n help: \"添付する sys_file ストレージエントリ\"\n },\n file_name: {\n label: \"ファイル名\",\n help: \"リスト表示の高速化のための sys_file.name の非正規化コピー\"\n },\n mime_type: {\n label: \"MIME タイプ\"\n },\n size: {\n label: \"サイズ(バイト)\"\n },\n share_type: {\n label: \"共有タイプ\",\n help: \"viewer | collaborator | inferred(親レコードから継承)\",\n options: {\n viewer: \"閲覧者\",\n collaborator: \"共同編集者\",\n inferred: \"推定\"\n }\n },\n visibility: {\n label: \"公開範囲\",\n options: {\n internal: \"内部\",\n all_users: \"すべてのユーザー\",\n shared_users: \"共有ユーザー\"\n }\n },\n uploaded_by: {\n label: \"アップロード者\"\n },\n description: {\n label: \"説明\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_notification: {\n label: \"通知\",\n pluralLabel: \"通知\",\n description: \"ユーザーごとの通知受信ボックスエントリ\",\n fields: {\n id: {\n label: \"通知 ID\"\n },\n recipient_id: {\n label: \"受信者\",\n help: \"通知が配信されるユーザー\"\n },\n type: {\n label: \"タイプ\",\n help: \"通知カテゴリー — アイコンと並び替え優先度を決定します\",\n options: {\n mention: \"メンション\",\n assignment: \"割り当て\",\n comment_reply: \"コメント返信\",\n lead_converted: \"リード変換\",\n task_due: \"タスク期限\",\n system: \"システム\"\n }\n },\n title: {\n label: \"タイトル\"\n },\n body: {\n label: \"本文\",\n help: \"オプションの補足テキスト(1行サマリー)\"\n },\n source_object: {\n label: \"ソースオブジェクト\",\n help: \"関連レコードのオブジェクト名(例: lead、opportunity)\"\n },\n source_id: {\n label: \"ソースレコード\",\n help: \"source_object 内のレコード ID\"\n },\n url: {\n label: \"ディープリンク\",\n help: \"クリック時に遷移するオプションの URL\"\n },\n actor_id: {\n label: \"操作者\",\n help: \"通知を引き起こしたユーザー(メンション者、担当者)\"\n },\n actor_name: {\n label: \"操作者名\"\n },\n is_read: {\n label: \"既読\",\n help: \"受信者が確認すると true になります\"\n },\n read_at: {\n label: \"既読日時\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n unread: {\n label: \"未読\"\n },\n mine: {\n label: \"自分の通知\"\n },\n all_notifications: {\n label: \"すべて\"\n }\n }\n },\n sys_email: {\n label: \"メール\",\n pluralLabel: \"メール\",\n description: \"送信メール配信ログ\",\n fields: {\n id: {\n label: \"メール ID\"\n },\n message_id: {\n label: \"Message-ID\",\n help: \"トランスポートが割り当てる RFC-5322 Message-ID\"\n },\n from_address: {\n label: \"送信元\"\n },\n to_addresses: {\n label: \"宛先\",\n help: \"カンマ区切りの受信者アドレス\"\n },\n cc_addresses: {\n label: \"Cc\"\n },\n bcc_addresses: {\n label: \"Bcc\"\n },\n reply_to: {\n label: \"Reply-To\"\n },\n subject: {\n label: \"件名\"\n },\n body_text: {\n label: \"本文(テキスト)\"\n },\n body_html: {\n label: \"本文(HTML)\"\n },\n status: {\n label: \"ステータス\",\n help: \"ライフサイクル状態 — トランスポート呼び出し前に IEmailService.send がキューに入れます\",\n options: {\n queued: \"キュー済み\",\n sent: \"送信済み\",\n failed: \"失敗\"\n }\n },\n error: {\n label: \"エラー\",\n help: \"status=failed 時のトランスポートエラーメッセージ\"\n },\n attempt_count: {\n label: \"試行回数\",\n help: \"サービスが実行した配信試行回数\"\n },\n sent_at: {\n label: \"送信日時\",\n help: \"ステータスが \\\"sent\\\" に遷移したときに設定されます\"\n },\n related_object: {\n label: \"関連オブジェクト\",\n help: \"関連レコードのオブジェクト名(例: lead、opportunity)\"\n },\n related_id: {\n label: \"関連レコード\",\n help: \"related_object 内のレコード ID\"\n },\n sent_by: {\n label: \"送信者\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_email_template: {\n label: \"メールテンプレート\",\n pluralLabel: \"メールテンプレート\",\n description: \"送信メールテンプレート(件名 + 本文 + 変数)を名前+ロケールで解決\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"名前\",\n help: \"ドット区切り snake_case 識別子(例: auth.password_reset)\"\n },\n label: {\n label: \"表示名\",\n help: \"Studio に表示される表示名\"\n },\n category: {\n label: \"カテゴリー\",\n options: {\n auth: \"認証\",\n notification: \"通知\",\n workflow: \"ワークフロー\",\n marketing: \"マーケティング\",\n custom: \"カスタム\"\n }\n },\n locale: {\n label: \"ロケール\",\n help: \"BCP-47 ロケールタグ(en-US、zh-CN など)\"\n },\n description: {\n label: \"説明\"\n },\n subject: {\n label: \"件名\",\n help: \"件名テンプレート。{{var.path}} プレースホルダーに対応\"\n },\n body_html: {\n label: \"HTML 本文\",\n help: \"HTML 本文テンプレート。{{var.path}} プレースホルダーに対応\"\n },\n body_text: {\n label: \"プレーンテキスト本文\",\n help: \"オプションのプレーンテキスト代替(空白の場合は HTML から自動生成)\"\n },\n from_name: {\n label: \"送信者名\"\n },\n from_address: {\n label: \"送信者アドレス\"\n },\n reply_to: {\n label: \"Reply-To\"\n },\n active: {\n label: \"有効\"\n },\n is_system: {\n label: \"システムテンプレート\",\n help: \"プラグイン/プラットフォームが提供。テナントは編集可能ですが削除は推奨しません\"\n },\n variables_json: {\n label: \"変数(JSON)\",\n help: \"{name,type,required,description} の JSON 配列\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_saved_report: {\n label: \"保存済みレポート\",\n pluralLabel: \"保存済みレポート\",\n description: \"永続化された ObjectQL レポート定義 — 再実行およびスケジュール可能\",\n fields: {\n id: {\n label: \"レポート ID\"\n },\n name: {\n label: \"名前\"\n },\n description: {\n label: \"説明\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"レポートがクエリするオブジェクトの短い名前\"\n },\n query_json: {\n label: \"クエリ\",\n help: \"ObjectQL クエリエンベロープ — { filter, fields, orderBy, limit, groupBy }\"\n },\n format: {\n label: \"フォーマット\",\n help: \"IReportService.run() とメールダイジェストで使用するレンダリング\",\n options: {\n csv: \"CSV\",\n json: \"JSON\",\n html_table: \"HTML テーブル\"\n }\n },\n owner_id: {\n label: \"所有者\",\n help: \"レポート定義を所有するユーザー(共有を促進)\"\n },\n last_run_at: {\n label: \"最終実行\",\n help: \"正常実行時に IReportService.run() がスタンプします\"\n },\n last_row_count: {\n label: \"最終行数\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_report_schedule: {\n label: \"レポートスケジュール\",\n pluralLabel: \"レポートスケジュール\",\n description: \"sys_saved_report のメールによる定期配信\",\n fields: {\n id: {\n label: \"スケジュール ID\"\n },\n report_id: {\n label: \"レポート\"\n },\n name: {\n label: \"名前\",\n help: \"ダイジェストの任意の表示名 — メール件名で使用\"\n },\n interval_minutes: {\n label: \"間隔(分)\",\n help: \"送信頻度(1440 = 毎日、10080 = 毎週)\"\n },\n cron_expression: {\n label: \"Cron 式\",\n help: \"オプションの 5/6 フィールド Cron — 存在する場合 interval_minutes を上書き\"\n },\n timezone: {\n label: \"タイムゾーン\"\n },\n active: {\n label: \"有効\"\n },\n recipients: {\n label: \"受信者\",\n help: \"カンマ区切りのメールアドレス\"\n },\n format: {\n label: \"フォーマット\",\n help: \"レンダリング形式 — CSV は添付、HTML テーブルはインライン\",\n options: {\n csv: \"CSV\",\n html_table: \"HTML テーブル\"\n }\n },\n subject_template: {\n label: \"件名テンプレート\",\n help: \"メール件名。{{name}} / {{date}} / {{rows}} が置換されます\"\n },\n owner_id: {\n label: \"所有者\"\n },\n next_run_at: {\n label: \"次回実行\",\n help: \"next_run_at <= 現在時刻のスケジュールをディスパッチャーが読み込みます\"\n },\n last_sent_at: {\n label: \"最終送信日時\"\n },\n last_status: {\n label: \"最終ステータス\",\n options: {\n ok: \"正常\",\n failed: \"失敗\",\n skipped: \"スキップ\"\n }\n },\n last_error: {\n label: \"最終エラー\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_approval_process: {\n label: \"承認プロセス\",\n pluralLabel: \"承認プロセス\",\n description: \"永続化された承認プロセス定義。コードの defineApprovalProcess() で作成。ビジュアルデザイナーはロードマップに予定。\",\n fields: {\n id: {\n label: \"プロセス ID\"\n },\n name: {\n label: \"名前\",\n help: \"一意の snake_case 名 — 送信者と監査行から参照\"\n },\n label: {\n label: \"表示名\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"このプロセスが管理する短いオブジェクト名\"\n },\n description: {\n label: \"説明\"\n },\n active: {\n label: \"有効\",\n help: \"有効なプロセスのみが送信時にディスパッチされます\"\n },\n definition_json: {\n label: \"定義\",\n help: \"シリアライズされた ApprovalProcess JSON(@objectstack/spec/automation/approval 参照)\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n inactive: {\n label: \"無効\"\n },\n by_object: {\n label: \"オブジェクト別\"\n },\n all_processes: {\n label: \"すべて\"\n }\n }\n },\n sys_approval_request: {\n label: \"承認リクエスト\",\n pluralLabel: \"承認リクエスト\",\n description: \"送信ごとに追跡されるライブ承認インスタンス\",\n fields: {\n id: {\n label: \"リクエスト ID\"\n },\n organization_id: {\n label: \"組織\",\n help: \"この承認リクエストを所有するテナント(送信者コンテキストから伝播)\"\n },\n process_name: {\n label: \"プロセス\",\n help: \"このリクエストが開かれた sys_approval_process.name\"\n },\n object_name: {\n label: \"オブジェクト\"\n },\n record_id: {\n label: \"レコード ID\"\n },\n submitter_id: {\n label: \"送信者\"\n },\n submitter_comment: {\n label: \"送信者コメント\"\n },\n status: {\n label: \"ステータス\",\n help: \"リクエストのライフサイクル状態\",\n options: {\n pending: \"保留中\",\n approved: \"承認済み\",\n rejected: \"却下済み\",\n recalled: \"取り消し済み\"\n }\n },\n current_step: {\n label: \"現在のステップ\",\n help: \"承認待ちのステップの機械名\"\n },\n current_step_index: {\n label: \"現在のステップ番号\"\n },\n pending_approvers: {\n label: \"承認待ち承認者\",\n help: \"現在のステップを処理できるユーザー ID のカンマ区切りリスト\"\n },\n payload_json: {\n label: \"スナップショット\",\n help: \"送信時のレコードスナップショット\"\n },\n completed_at: {\n label: \"完了日時\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n my_pending: {\n label: \"自分の保留中\"\n },\n submitted_by_me: {\n label: \"自分が送信\"\n },\n completed: {\n label: \"完了済み\"\n },\n all_requests: {\n label: \"すべて\"\n }\n }\n },\n sys_approval_action: {\n label: \"承認アクション\",\n pluralLabel: \"承認アクション\",\n description: \"承認アクションの追記専用監査証跡\",\n fields: {\n id: {\n label: \"アクション ID\"\n },\n organization_id: {\n label: \"組織\",\n help: \"このアクションを所有するテナント(親リクエストと同じ)\"\n },\n request_id: {\n label: \"リクエスト\"\n },\n step_name: {\n label: \"ステップ\",\n help: \"アクション時点のステップの機械名\"\n },\n step_index: {\n label: \"ステップ番号\"\n },\n action: {\n label: \"アクション\",\n options: {\n submit: \"申請\",\n approve: \"承認\",\n reject: \"却下\",\n recall: \"取消\",\n escalate: \"エスカレーション\"\n }\n },\n actor_id: {\n label: \"操作者\"\n },\n comment: {\n label: \"コメント\"\n },\n created_at: {\n label: \"作成日時\"\n }\n },\n _views: {\n recent: {\n label: \"最近\"\n },\n by_actor: {\n label: \"操作者別\"\n },\n all_actions: {\n label: \"すべて\"\n }\n }\n },\n sys_job: {\n label: \"ジョブ\",\n pluralLabel: \"ジョブ\",\n description: \"登録済みバックグラウンドジョブのカタログ\",\n fields: {\n id: {\n label: \"ジョブ ID\"\n },\n name: {\n label: \"ジョブ名\",\n help: \"一意のジョブ識別子(snake_case)\"\n },\n schedule_type: {\n label: \"スケジュールタイプ\",\n options: {\n cron: \"Cron\",\n interval: \"間隔\",\n once: \"1回\"\n }\n },\n schedule_expression: {\n label: \"式\",\n help: \"Cron 式 / 間隔ミリ秒 / ISO 日時\"\n },\n timezone: {\n label: \"タイムゾーン\"\n },\n active: {\n label: \"有効\",\n help: \"スケジューラが現在このジョブを実行中かどうか\"\n },\n last_run_at: {\n label: \"最終実行日時\"\n },\n last_status: {\n label: \"最終ステータス\",\n options: {\n success: \"成功\",\n failed: \"失敗\",\n timeout: \"タイムアウト\",\n running: \"実行中\"\n }\n },\n last_error: {\n label: \"最終エラー\"\n },\n run_count: {\n label: \"実行回数\"\n },\n failure_count: {\n label: \"失敗回数\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_job_run: {\n label: \"ジョブ実行\",\n pluralLabel: \"ジョブ実行\",\n description: \"バックグラウンドジョブ実行の監査証跡\",\n fields: {\n id: {\n label: \"実行 ID\"\n },\n job_name: {\n label: \"ジョブ\"\n },\n status: {\n label: \"ステータス\",\n options: {\n running: \"実行中\",\n success: \"成功\",\n failed: \"失敗\",\n timeout: \"タイムアウト\"\n }\n },\n started_at: {\n label: \"開始日時\"\n },\n completed_at: {\n label: \"完了日時\"\n },\n duration_ms: {\n label: \"所要時間(ミリ秒)\"\n },\n attempt: {\n label: \"試行回数\",\n help: \"初回実行は 1、再試行/再実行は 1 超\"\n },\n trigger: {\n label: \"トリガー\",\n options: {\n schedule: \"スケジュール\",\n manual: \"手動\",\n replay: \"再実行\"\n }\n },\n error: {\n label: \"エラー\"\n },\n created_at: {\n label: \"作成日時\"\n }\n }\n },\n sys_job_queue: {\n label: \"ジョブキュー\",\n pluralLabel: \"ジョブキュー\",\n description: \"デッドレター含む耐久性のあるジョブ/メッセージキュー\",\n fields: {\n id: {\n label: \"メッセージ ID\"\n },\n queue: {\n label: \"キュー\",\n help: \"論理キュー名(snake_case)\"\n },\n idempotency_key: {\n label: \"冪等キー\",\n help: \"(キュー、ウィンドウ)内の重複排除キー\"\n },\n payload_json: {\n label: \"ペイロード(JSON)\",\n help: \"シリアライズされたメッセージ本体\"\n },\n metadata_json: {\n label: \"メタデータ(JSON)\",\n help: \"シリアライズされたメタデータバッグ(tenant_id、source_record など)\"\n },\n status: {\n label: \"ステータス\",\n help: \"ライフサイクル状態\",\n options: {\n pending: \"保留中\",\n running: \"実行中\",\n completed: \"完了\",\n failed: \"失敗\",\n dlq: \"デッドレター\"\n }\n },\n priority: {\n label: \"優先度\",\n help: \"値が小さいほど優先度が高い\"\n },\n attempts: {\n label: \"試行回数\"\n },\n max_attempts: {\n label: \"最大試行回数\"\n },\n backoff_type: {\n label: \"バックオフ\",\n options: {\n fixed: \"固定\",\n exponential: \"指数\"\n }\n },\n backoff_delay_ms: {\n label: \"バックオフ基本値(ミリ秒)\"\n },\n backoff_max_delay_ms: {\n label: \"バックオフ上限(ミリ秒)\"\n },\n scheduled_for: {\n label: \"スケジュール日時\",\n help: \"ワーカーがこのメッセージをリースできる最早時刻\"\n },\n locked_by: {\n label: \"ロック者\",\n help: \"リースを保持しているワーカー ID\"\n },\n locked_until: {\n label: \"ロック期限\",\n help: \"リース有効期限。過去の場合、別ワーカーがクレーム可能\"\n },\n last_error: {\n label: \"最終エラー\"\n },\n completed_at: {\n label: \"完了日時\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhook\",\n description: \"送信 HTTP Webhook サブスクリプション。defineWebhook() またはスタジオエディタで作成し、HTTP コネクタプラグインが実行します。\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"名前\",\n help: \"一意の snake_case 名 — ログおよび監査で参照\"\n },\n label: {\n label: \"表示名\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"このウェブフックを発火するイベントのオブジェクト短縮名(空白 = 手動 / API トリガー)\"\n },\n triggers: {\n label: \"トリガー\",\n help: \"カンマ区切りのイベントリスト: create,update,delete,undelete,api\"\n },\n url: {\n label: \"ターゲット URL\",\n help: \"POST を受信する外部エンドポイント\"\n },\n method: {\n label: \"HTTP メソッド\",\n help: \"GET / POST / PUT / PATCH / DELETE\"\n },\n description: {\n label: \"説明\"\n },\n active: {\n label: \"有効\",\n help: \"無効にするとディスパッチャにスキップされます\"\n },\n definition_json: {\n label: \"定義\",\n help: \"シリアライズされた Webhook JSON(@objectstack/spec/automation/webhook 参照)— ヘッダー/認証/リトライ/ペイロード設定を含む\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n inactive: {\n label: \"無効\"\n },\n by_object: {\n label: \"オブジェクト別\"\n },\n all_webhooks: {\n label: \"すべて\"\n }\n }\n },\n sys_metadata: {\n label: \"システムメタデータ\",\n pluralLabel: \"システムメタデータ\",\n description: \"オブジェクト・ビュー・フローなどのプラットフォームおよびユーザースコープのメタデータレコードを保存\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"名前\"\n },\n type: {\n label: \"メタデータタイプ\"\n },\n namespace: {\n label: \"名前空間\"\n },\n package_id: {\n label: \"パッケージ ID\",\n help: \"レガシーパッケージマニフェスト ID 文字列。新規レコードには package_version_id を使用してください。\"\n },\n package_version_id: {\n label: \"パッケージバージョン\",\n help: \"sys_package_version への外部キー(UUID)。null = プラットフォーム組み込みまたは環境レベルの上書き。\"\n },\n managed_by: {\n label: \"管理者\",\n options: {\n package: \"パッケージ\",\n platform: \"プラットフォーム\",\n user: \"ユーザー\"\n }\n },\n scope: {\n label: \"スコープ\",\n options: {\n system: \"システム\",\n platform: \"プラットフォーム\",\n user: \"ユーザー\"\n }\n },\n metadata: {\n label: \"メタデータ\",\n help: \"JSON シリアライズされたメタデータペイロード\"\n },\n extends: {\n label: \"継承元\"\n },\n strategy: {\n label: \"マージ戦略\",\n options: {\n merge: \"マージ\",\n replace: \"置換\"\n }\n },\n owner: {\n label: \"所有者\"\n },\n state: {\n label: \"状態\",\n options: {\n draft: \"下書き\",\n active: \"有効\",\n archived: \"アーカイブ済み\",\n deprecated: \"非推奨\"\n }\n },\n organization_id: {\n label: \"組織\",\n help: \"マルチテナント分離のための組織。\"\n },\n project_id: {\n label: \"プロジェクト(非推奨)\",\n help: \"非推奨。テナント分離には organization_id を使用してください。\"\n },\n version: {\n label: \"バージョン\"\n },\n checksum: {\n label: \"チェックサム\"\n },\n source: {\n label: \"ソース\",\n options: {\n filesystem: \"ファイルシステム\",\n database: \"データベース\",\n api: \"API\",\n migration: \"マイグレーション\"\n }\n },\n tags: {\n label: \"タグ\",\n help: \"分類タグの JSON シリアライズ配列\"\n },\n created_by: {\n label: \"作成者\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_by: {\n label: \"更新者\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n }\n },\n sys_metadata_history: {\n label: \"メタデータ履歴\",\n pluralLabel: \"メタデータ履歴\",\n description: \"メタデータ変更のバージョン履歴および監査証跡\",\n fields: {\n id: {\n label: \"ID\"\n },\n metadata_id: {\n label: \"メタデータ\"\n },\n name: {\n label: \"名前\"\n },\n type: {\n label: \"メタデータタイプ\"\n },\n version: {\n label: \"バージョン\"\n },\n operation_type: {\n label: \"操作タイプ\",\n options: {\n create: \"作成\",\n update: \"更新\",\n publish: \"公開\",\n revert: \"ロールバック\",\n delete: \"削除\"\n }\n },\n metadata: {\n label: \"メタデータ\",\n help: \"このバージョン時点の JSON シリアライズされたメタデータスナップショット\"\n },\n checksum: {\n label: \"チェックサム\"\n },\n previous_checksum: {\n label: \"直前のチェックサム\"\n },\n change_note: {\n label: \"変更メモ\",\n help: \"このバージョンで変更された内容の説明\"\n },\n organization_id: {\n label: \"組織\",\n help: \"マルチテナント分離のための組織。\"\n },\n project_id: {\n label: \"環境 ID\",\n help: \"この履歴エントリを特定の環境にスコープします。\"\n },\n recorded_by: {\n label: \"記録者\"\n },\n recorded_at: {\n label: \"記録日時\"\n }\n }\n },\n sys_setting: {\n label: \"設定\",\n pluralLabel: \"設定\",\n description: \"SettingsManifest コントラクトを支える汎用 K/V ストア。\",\n fields: {\n id: {\n label: \"設定 ID\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n },\n namespace: {\n label: \"名前空間\",\n help: \"マニフェスト名前空間(例: mail、branding、feature_flags)。\"\n },\n key: {\n label: \"キー\",\n help: \"名前空間内の識別キー(snake_case)。\"\n },\n scope: {\n label: \"スコープ\",\n help: \"この行が属する設定解決階層のレイヤー。\",\n options: {\n global: \"グローバル\",\n tenant: \"テナント\",\n user: \"ユーザー\",\n runtime: \"ランタイム\"\n }\n },\n user_id: {\n label: \"ユーザー\",\n help: \"scope=user の場合のオーナーユーザー。それ以外は null。\"\n },\n value: {\n label: \"値\",\n help: \"JSON エンコードされた値。encrypted=true の場合は null(value_enc 参照)。\"\n },\n encrypted: {\n label: \"暗号化\",\n help: \"true の場合、値は value_enc に保存時暗号化されており、value カラムは null。\"\n },\n locked: {\n label: \"ロック済み\",\n help: \"true の場合、下位スコープの行はこの値を上書きできず、下位スコープへの書き込みは 409 を返します。プラットフォーム管理者がすべてのテナントにグローバル値を固定するために使用します(フェーズ 2 カスケード)。\"\n },\n locked_reason: {\n label: \"ロック理由\",\n help: \"locked=true の場合に UI ツールチップに表示される人間向けの説明。\"\n },\n value_enc: {\n label: \"暗号化済み値\",\n help: \"暗号文ペイロード(KMS ラップ済み)。encrypted=true の場合のみ設定。\"\n },\n updated_by: {\n label: \"更新者\",\n help: \"SettingsService.set() 経由でこの行を最後に書き込んだ操作者。\"\n }\n },\n _views: {\n by_namespace: {\n label: \"名前空間別\"\n },\n tenant_only: {\n label: \"テナント\"\n },\n user_only: {\n label: \"ユーザー\"\n },\n all_settings: {\n label: \"すべて\"\n }\n }\n },\n sys_secret: {\n label: \"シークレット\",\n pluralLabel: \"シークレット\",\n description: \"sys_setting ハンドルが参照する暗号ストア。平文は保持しません。\",\n fields: {\n id: {\n label: \"ID\",\n help: \"`sys_setting.value_enc` が参照する不透明なハンドル。\"\n },\n created_at: {\n label: \"作成日時\",\n help: \"暗号が最初に書き込まれた日時。\"\n },\n rotated_at: {\n label: \"ローテーション日時\",\n help: \"暗号が新しい KMS キーで最後に再ラップされた日時。\"\n },\n namespace: {\n label: \"名前空間\",\n help: \"このシークレットが属する設定名前空間。\"\n },\n key: {\n label: \"キー\",\n help: \"名前空間内の識別キー。\"\n },\n kms_key_id: {\n label: \"KMS キー ID\",\n help: \"外部 KMS ハンドル(ARN、GCP リソース ID、または `local`)。\"\n },\n alg: {\n label: \"アルゴリズム\",\n help: \"暗号 / AEAD アルゴリズムタグ。\"\n },\n version: {\n label: \"バージョン\",\n help: \"rotateKey() でこの行が再ラップされるたびに増加。\"\n },\n ciphertext: {\n label: \"暗号文\",\n help: \"プロバイダーエンコードされた暗号文 blob(base64 / JSON)。実装定義のため、対応する ICryptoProvider のみが読み取り可能。\"\n }\n }\n },\n sys_setting_audit: {\n label: \"設定監査エントリ\",\n pluralLabel: \"設定監査\",\n description: \"SettingsService の変更に関する追記専用監査証跡。\",\n fields: {\n id: {\n label: \"ID\"\n },\n created_at: {\n label: \"作成日時\",\n help: \"変更が記録された日時。\"\n },\n namespace: {\n label: \"名前空間\"\n },\n key: {\n label: \"キー\"\n },\n scope: {\n label: \"スコープ\",\n help: \"行が書き込まれたカスケードレイヤー。\",\n options: {\n global: \"グローバル\",\n tenant: \"テナント\",\n user: \"ユーザー\"\n }\n },\n action: {\n label: \"アクション\",\n help: \"変更の種別。\",\n options: {\n set: \"設定\",\n reset: \"リセット\",\n lock: \"ロック\",\n unlock: \"ロック解除\",\n rotate: \"ローテーション\"\n }\n },\n actor_id: {\n label: \"操作者\",\n help: \"変更を行ったユーザー。システムジョブの場合は null。\"\n },\n source: {\n label: \"ソース\",\n help: \"変更のエントリポイント。\",\n options: {\n ui: \"UI\",\n api: \"API\",\n migration: \"マイグレーション\",\n import: \"インポート\",\n system: \"システム\"\n }\n },\n reason: {\n label: \"理由\",\n help: \"操作者が提供した自由記述の理由(任意)。\"\n },\n old_hash: {\n label: \"変更前ハッシュ\",\n help: \"変更前の値の SHA-256(正規化済み)。未設定の場合は null。\"\n },\n new_hash: {\n label: \"変更後ハッシュ\",\n help: \"新しい値の SHA-256(正規化済み)。リセット時は null。\"\n },\n encrypted: {\n label: \"暗号化\",\n help: \"フィールドが機密情報を含む場合は true(ローテーションが重要)。\"\n },\n request_id: {\n label: \"リクエスト ID\",\n help: \"sys_audit_log / トレーシングとの相関用。\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { TranslationData } from '@objectstack/spec/system';\nimport { jaJPObjects } from './ja-JP.objects.generated.js';\n\n/**\n * 日本語 (ja-JP) — Setup App Translations\n */\nexport const jaJP: TranslationData = {\n objects: jaJPObjects,\n apps: {\n setup: {\n label: 'セットアップ',\n description: 'プラットフォーム設定と管理',\n navigation: {\n group_overview: { label: '概要' },\n group_people_org: { label: 'ユーザーと組織' },\n group_access_control: { label: 'アクセス制御' },\n group_approvals: { label: '承認' },\n group_configuration: { label: '構成' },\n group_diagnostics: { label: '診断' },\n group_advanced: { label: '詳細' },\n\n nav_system_overview: { label: 'システム概要' },\n nav_security_overview: { label: 'セキュリティ概要' },\n\n nav_users: { label: 'ユーザー' },\n nav_departments: { label: '部署' },\n nav_teams: { label: 'チーム' },\n nav_organizations: { label: '組織' },\n nav_invitations: { label: '招待' },\n\n nav_roles: { label: 'ロール' },\n nav_permission_sets: { label: '権限セット' },\n nav_sharing_rules: { label: '共有ルール' },\n nav_record_shares: { label: 'レコード共有' },\n nav_api_keys: { label: 'API キー' },\n\n nav_approval_processes: { label: 'プロセス' },\n nav_approval_requests: { label: 'リクエスト' },\n nav_approval_actions: { label: 'アクション履歴' },\n\n nav_settings_hub: { label: 'すべての設定' },\n nav_settings_mail: { label: 'メール' },\n nav_settings_branding: { label: 'ブランディング' },\n nav_settings_feature_flags: { label: '機能フラグ' },\n\n nav_sessions: { label: 'セッション' },\n nav_audit_logs: { label: '監査ログ' },\n nav_notifications: { label: '通知' },\n\n nav_oauth_apps: { label: 'OAuth アプリケーション' },\n nav_jwks: { label: '署名キー (JWKS)' },\n nav_verifications: { label: '検証' },\n nav_two_factor: { label: '二要素認証' },\n nav_device_codes: { label: 'デバイスコード' },\n nav_accounts: { label: 'ID 連携' },\n nav_user_preferences: { label: 'ユーザー設定' },\n nav_metadata: { label: 'すべてのメタデータ' },\n },\n },\n },\n\n dashboards: {\n system_overview: {\n label: 'システム概要',\n description: 'プラットフォームの健全性、セッション、監査アクティビティ',\n widgets: {\n widget_active_sessions: { title: 'アクティブセッション', description: '現在アクティブなユーザーセッション数' },\n widget_total_users: { title: 'ユーザー総数', description: 'システムに登録されたユーザーの総数' },\n widget_organizations: { title: '組織', description: 'プラットフォーム上の組織総数' },\n widget_packages_installed: { title: 'インストール済みパッケージ', description: 'プロジェクトでアクティブなパッケージインストール数' },\n widget_audit_actions: { title: '監査アクション', description: 'アクションタイプ別の監査イベント分布' },\n widget_active_orgs: { title: '組織別セッション', description: '組織別にグループ化されたアクティブセッション' },\n widget_recent_events: { title: '最近の監査イベント', description: '最新のプラットフォームイベント' },\n },\n },\n\n security_overview: {\n label: 'セキュリティ概要',\n description: 'セキュリティイベント、認証、監査証跡',\n widgets: {\n widget_login_events: { title: 'ログインイベント', description: '監査ログに記録された認証イベント' },\n widget_permission_changes: { title: '権限変更', description: '最近の権限とロールの変更' },\n widget_config_changes: { title: '構成変更', description: 'システム構成の変更' },\n widget_active_sessions: { title: 'アクティブセッション', description: '現在アクティブなユーザーセッション' },\n widget_events_by_type: { title: 'タイプ別監査イベント', description: 'セキュリティと監査イベントの分布' },\n widget_events_by_user: { title: 'ユーザー別イベント', description: 'ユーザー別アクティビティ分布' },\n widget_recent_security_events: { title: '最近のセキュリティイベント', description: '最新の権限と構成の変更' },\n },\n },\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'es-ES'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const esESObjects: NonNullable<TranslationData['objects']> = {\n sys_user: {\n label: \"Usuario\",\n pluralLabel: \"Usuarios\",\n description: \"Cuentas de usuario para autenticación\",\n fields: {\n name: {\n label: \"Nombre\"\n },\n email: {\n label: \"Correo electrónico\"\n },\n email_verified: {\n label: \"Correo electrónico verificado\"\n },\n two_factor_enabled: {\n label: \"Doble factor habilitado\",\n help: \"Indica si la autenticación de doble factor está habilitada para este usuario. Lo mantiene el plugin `twoFactor` de better-auth.\"\n },\n role: {\n label: \"Rol de plataforma\",\n help: \"Rol a nivel de plataforma (admin, user, …). Se establece mediante la acción Establecer rol de plataforma.\"\n },\n banned: {\n label: \"Bloqueado\",\n help: \"Si es verdadero, el usuario no puede iniciar sesión. Se alterna mediante las acciones Bloquear usuario / Desbloquear usuario.\"\n },\n ban_reason: {\n label: \"Motivo del bloqueo\"\n },\n ban_expires: {\n label: \"El bloqueo caduca el\",\n help: \"Si se establece, el bloqueo se elimina automáticamente en ese momento.\"\n },\n image: {\n label: \"Imagen de perfil\"\n },\n id: {\n label: \"ID de usuario\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n all_users: {\n label: \"Todos los usuarios\"\n },\n unverified: {\n label: \"No verificados\"\n },\n two_factor: {\n label: \"2FA habilitado\"\n },\n banned: {\n label: \"Bloqueado\"\n }\n },\n _actions: {\n invite_user: {\n label: \"Invitar usuario\",\n successMessage: \"Invitación enviada\"\n },\n ban_user: {\n label: \"Bloquear usuario\",\n confirmText: \"¿Bloquear a este usuario? Cerrará sesión y no podrá volver a iniciarla hasta que se desbloquee.\",\n successMessage: \"Usuario bloqueado\"\n },\n unban_user: {\n label: \"Desbloquear usuario\",\n successMessage: \"Usuario desbloqueado\"\n },\n set_user_password: {\n label: \"Establecer contraseña\",\n successMessage: \"Contraseña actualizada\"\n },\n set_user_role: {\n label: \"Establecer rol de plataforma\",\n successMessage: \"Rol actualizado\"\n },\n impersonate_user: {\n label: \"Suplantar usuario\",\n confirmText: \"¿Iniciar una sesión de suplantación para este usuario? Úsela solo para casos legítimos de soporte; las acciones se registrarán.\",\n successMessage: \"Ahora está suplantando al usuario\"\n }\n }\n },\n sys_session: {\n label: \"Sesión\",\n pluralLabel: \"Sesiones\",\n description: \"Sesiones de usuario activas\",\n fields: {\n user_id: {\n label: \"Usuario\"\n },\n expires_at: {\n label: \"Caduca el\"\n },\n active_organization_id: {\n label: \"Organización activa\"\n },\n active_team_id: {\n label: \"Equipo activo\"\n },\n ip_address: {\n label: \"Dirección IP\"\n },\n user_agent: {\n label: \"Agente de usuario\"\n },\n impersonated_by: {\n label: \"Suplantado por\",\n help: \"ID del administrador que inició esta sesión de suplantación, si existe.\"\n },\n token: {\n label: \"Token de sesión\",\n help: \"Token de sesión opaco; nunca se muestra en la UI.\"\n },\n id: {\n label: \"ID de sesión\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n mine: {\n label: \"Mis sesiones\"\n },\n all_sessions: {\n label: \"Todas\"\n }\n },\n _actions: {\n revoke_my_other_sessions: {\n label: \"Cerrar sesión en otros dispositivos\",\n confirmText: \"¿Cerrar sesión en todos los demás dispositivos en los que ha iniciado sesión? Su sesión actual seguirá activa.\",\n successMessage: \"Se han revocado todas las demás sesiones\"\n },\n revoke_session: {\n label: \"Revocar sesión\",\n confirmText: \"¿Revocar esta sesión? El usuario cerrará sesión en ese dispositivo.\",\n successMessage: \"Sesión revocada\"\n }\n }\n },\n sys_account: {\n label: \"Cuenta de autenticación\",\n pluralLabel: \"Cuentas de autenticación\",\n description: \"Cuentas de proveedores de OAuth y autenticación\",\n fields: {\n id: {\n label: \"ID de cuenta de autenticación\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n },\n provider_id: {\n label: \"ID del proveedor\",\n help: \"Identificador del proveedor OAuth (google, github, etc.).\"\n },\n account_id: {\n label: \"ID de cuenta del proveedor\",\n help: \"ID del usuario en el sistema del proveedor.\"\n },\n user_id: {\n label: \"Usuario\",\n help: \"Enlace a la tabla de usuarios.\"\n },\n access_token: {\n label: \"Token de acceso\"\n },\n refresh_token: {\n label: \"Token de actualización\"\n },\n id_token: {\n label: \"Token de ID\"\n },\n access_token_expires_at: {\n label: \"El token de acceso caduca el\"\n },\n refresh_token_expires_at: {\n label: \"El token de actualización caduca el\"\n },\n scope: {\n label: \"Ámbito de OAuth\"\n },\n password: {\n label: \"Hash de la contraseña\",\n help: \"Hash de la contraseña para el proveedor de correo electrónico/contraseña.\"\n }\n },\n _views: {\n mine: {\n label: \"Mis enlaces\"\n },\n by_provider: {\n label: \"Por proveedor\"\n },\n all_links: {\n label: \"Todos\"\n }\n }\n },\n sys_verification: {\n label: \"Verificación\",\n pluralLabel: \"Verificaciones\",\n description: \"Tokens de verificación de correo electrónico y teléfono\",\n fields: {\n id: {\n label: \"ID de verificación\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n },\n value: {\n label: \"Token de verificación\",\n help: \"Token o código para la verificación.\"\n },\n expires_at: {\n label: \"Caduca el\"\n },\n identifier: {\n label: \"Identificador\",\n help: \"Dirección de correo electrónico o número de teléfono.\"\n }\n }\n },\n sys_organization: {\n label: \"Organización\",\n pluralLabel: \"Organizaciones\",\n description: \"Organizaciones para agrupación multi-tenant\",\n fields: {\n name: {\n label: \"Nombre\"\n },\n slug: {\n label: \"Slug\",\n help: \"Identificador compatible con URL.\"\n },\n logo: {\n label: \"Logotipo\"\n },\n metadata: {\n label: \"Metadatos\",\n help: \"Metadatos de la organización serializados en JSON.\"\n },\n id: {\n label: \"ID de organización\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n all_orgs: {\n label: \"Todas\"\n }\n },\n _actions: {\n create_organization: {\n label: \"Crear organización\",\n successMessage: \"Organización creada\"\n },\n update_organization: {\n label: \"Editar organización\",\n successMessage: \"Organización actualizada\"\n },\n delete_organization: {\n label: \"Eliminar organización\",\n confirmText: \"¿Eliminar esta organización? Todos los miembros perderán el acceso inmediatamente. Esta acción no se puede deshacer.\",\n successMessage: \"Organización eliminada\"\n },\n set_active_organization: {\n label: \"Establecer como activa\",\n successMessage: \"Organización activa cambiada\"\n },\n leave_organization: {\n label: \"Abandonar organización\",\n confirmText: \"¿Abandonar esta organización? Perderá el acceso a todos sus recursos.\",\n successMessage: \"Ha abandonado la organización\"\n }\n }\n },\n sys_member: {\n label: \"Miembro\",\n pluralLabel: \"Miembros\",\n description: \"Registros de membresía de la organización\",\n fields: {\n id: {\n label: \"ID de miembro\"\n },\n created_at: {\n label: \"Creado el\"\n },\n organization_id: {\n label: \"Organización\"\n },\n user_id: {\n label: \"Usuario\"\n },\n role: {\n label: \"Rol\",\n help: \"Rol del miembro dentro de la organización.\",\n options: {\n owner: \"Propietario\",\n admin: \"Administrador\",\n member: \"Miembro\"\n }\n }\n },\n _actions: {\n add_member: {\n label: \"Añadir miembro\",\n successMessage: \"Miembro añadido\"\n },\n update_member_role: {\n label: \"Cambiar rol\",\n successMessage: \"Rol del miembro actualizado\"\n },\n remove_member: {\n label: \"Eliminar miembro\",\n confirmText: \"¿Eliminar a este miembro de la organización? Perderá el acceso a todos los recursos de la organización.\",\n successMessage: \"Miembro eliminado\"\n }\n }\n },\n sys_invitation: {\n label: \"Invitación\",\n pluralLabel: \"Invitaciones\",\n description: \"Invitaciones de organización para la incorporación de usuarios\",\n fields: {\n id: {\n label: \"ID de invitación\"\n },\n created_at: {\n label: \"Creado el\"\n },\n organization_id: {\n label: \"Organización\"\n },\n email: {\n label: \"Correo electrónico\",\n help: \"Dirección de correo electrónico del usuario invitado.\"\n },\n role: {\n label: \"Rol\",\n help: \"Rol que se asignará al aceptar.\",\n options: {\n owner: \"Propietario\",\n admin: \"Administrador\",\n member: \"Miembro\"\n }\n },\n status: {\n label: \"Estado\",\n options: {\n pending: \"Pendiente\",\n accepted: \"Aceptada\",\n rejected: \"Rechazada\",\n expired: \"Caducada\",\n canceled: \"Cancelada\"\n }\n },\n inviter_id: {\n label: \"Invitador\",\n help: \"Usuario que envió la invitación.\"\n },\n expires_at: {\n label: \"Caduca el\"\n },\n team_id: {\n label: \"Equipo\",\n help: \"Equipo opcional que se asignará al aceptar.\"\n }\n },\n _views: {\n pending: {\n label: \"Pendientes\"\n },\n accepted: {\n label: \"Aceptadas\"\n },\n expired: {\n label: \"Caducadas / canceladas\"\n },\n all_invitations: {\n label: \"Todas\"\n }\n },\n _actions: {\n invite_user: {\n label: \"Invitar usuario\",\n successMessage: \"Invitación enviada\"\n },\n cancel_invitation: {\n label: \"Cancelar invitación\",\n confirmText: \"¿Cancelar esta invitación? El destinatario ya no podrá aceptarla.\",\n successMessage: \"Invitación cancelada\"\n },\n resend_invitation: {\n label: \"Reenviar invitación\",\n successMessage: \"Invitación reenviada\"\n }\n }\n },\n sys_team: {\n label: \"Equipo\",\n pluralLabel: \"Equipos\",\n description: \"Equipos dentro de las organizaciones para una agrupación detallada\",\n fields: {\n name: {\n label: \"Nombre\"\n },\n organization_id: {\n label: \"Organización\",\n help: \"Organización principal de este equipo.\"\n },\n id: {\n label: \"ID de equipo\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n by_org: {\n label: \"Por organización\"\n },\n all_teams: {\n label: \"Todos\"\n }\n },\n _actions: {\n create_team: {\n label: \"Crear equipo\",\n successMessage: \"Equipo creado\"\n },\n update_team: {\n label: \"Editar equipo\",\n successMessage: \"Equipo actualizado\"\n },\n remove_team: {\n label: \"Eliminar equipo\",\n confirmText: \"¿Eliminar este equipo? Los miembros perderán cualquier acceso con ámbito de equipo. Esta acción no se puede deshacer.\",\n successMessage: \"Equipo eliminado\"\n }\n }\n },\n sys_team_member: {\n label: \"Miembro del equipo\",\n pluralLabel: \"Miembros del equipo\",\n description: \"Registros de membresía de equipo que vinculan usuarios con equipos\",\n fields: {\n id: {\n label: \"ID de miembro del equipo\"\n },\n created_at: {\n label: \"Creado el\"\n },\n team_id: {\n label: \"Equipo\"\n },\n user_id: {\n label: \"Usuario\"\n }\n },\n _actions: {\n add_team_member: {\n label: \"Añadir miembro\",\n successMessage: \"Miembro del equipo añadido\"\n },\n remove_team_member: {\n label: \"Eliminar del equipo\",\n confirmText: \"¿Eliminar a este usuario del equipo? Perderá cualquier acceso con ámbito de equipo.\",\n successMessage: \"Miembro del equipo eliminado\"\n }\n }\n },\n sys_department: {\n label: \"Departamento\",\n pluralLabel: \"Departamentos\",\n description: \"Nodo jerárquico de la estructura organizativa (departamento / división / unidad de negocio / oficina).\",\n fields: {\n name: {\n label: \"Nombre\"\n },\n code: {\n label: \"Código\",\n help: \"Código corto y estable (p. ej. EMEA-SALES). Único dentro del tenant.\"\n },\n kind: {\n label: \"Tipo\",\n help: \"Pista de categorización; no cambia la semántica del grafo.\",\n options: {\n company: \"Empresa\",\n division: \"División\",\n department: \"Departamento\",\n team: \"Equipo\",\n office: \"Oficina\",\n cost_center: \"Centro de coste\"\n }\n },\n parent_department_id: {\n label: \"Departamento principal\",\n help: \"Autorreferencia para el árbol organizativo. Null = raíz del tenant.\"\n },\n organization_id: {\n label: \"Organización\",\n help: \"Ámbito del tenant.\"\n },\n manager_user_id: {\n label: \"Responsable del departamento\",\n help: \"Usuario responsable de esta unidad organizativa (responsable o jefe de departamento).\"\n },\n active: {\n label: \"Activo\",\n help: \"Si es falso, los miembros no se expanden en las consultas del grafo.\"\n },\n effective_from: {\n label: \"Vigente desde\",\n help: \"Momento en que este departamento entró en funcionamiento (sincronización HRIS).\"\n },\n effective_to: {\n label: \"Vigente hasta\",\n help: \"Momento en que este departamento se retiró (sincronización HRIS).\"\n },\n external_ref: {\n label: \"Referencia externa\",\n help: \"ID en el HRIS ascendente (Workday / SAP HR / 北森).\"\n },\n id: {\n label: \"ID de departamento\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n inactive: {\n label: \"Inactivo\"\n },\n by_kind: {\n label: \"Por tipo\"\n },\n all_departments: {\n label: \"Todos\"\n }\n }\n },\n sys_department_member: {\n label: \"Miembro del departamento\",\n pluralLabel: \"Miembros del departamento\",\n description: \"Asignación de usuario a un departamento (compatible con organizaciones matriciales y con vigencia temporal).\",\n fields: {\n id: {\n label: \"ID de miembro\"\n },\n department_id: {\n label: \"Departamento\"\n },\n user_id: {\n label: \"Usuario\"\n },\n role_in_department: {\n label: \"Rol en el departamento\",\n help: \"`lead` es el responsable del día a día; `deputy` puede sustituir al responsable en el enrutamiento de aprobaciones.\",\n options: {\n member: \"Miembro\",\n lead: \"Responsable\",\n deputy: \"Sustituto\"\n }\n },\n is_primary: {\n label: \"Asignación principal\",\n help: \"Cuando el usuario pertenece a varios departamentos, este marca el canónico para los informes.\"\n },\n effective_from: {\n label: \"Vigente desde\"\n },\n effective_to: {\n label: \"Vigente hasta\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_api_key: {\n label: \"Clave de API\",\n pluralLabel: \"Claves de API\",\n description: \"Claves de API para acceso programático\",\n fields: {\n name: {\n label: \"Nombre\",\n help: \"Nombre visible para la clave de API.\"\n },\n prefix: {\n label: \"Prefijo\",\n help: \"Prefijo visible para identificar la clave (p. ej., \\\"osk_\\\").\"\n },\n user_id: {\n label: \"Propietario\",\n help: \"Usuario que posee esta clave de API.\"\n },\n scopes: {\n label: \"Ámbitos\",\n help: \"Matriz JSON de ámbitos de permisos.\"\n },\n expires_at: {\n label: \"Caduca el\"\n },\n last_used_at: {\n label: \"Último uso el\",\n help: \"Se actualiza automáticamente en cada llamada a la API.\"\n },\n revoked: {\n label: \"Revocado\"\n },\n key: {\n label: \"Clave con hash\",\n help: \"Valor de la clave de API con hash; nunca se expone a los clientes.\"\n },\n id: {\n label: \"ID de clave de API\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n mine: {\n label: \"Mis claves\"\n },\n active: {\n label: \"Activo\"\n },\n revoked: {\n label: \"Revocado\"\n },\n all_keys: {\n label: \"Todas\"\n }\n },\n _actions: {\n revoke_api_key: {\n label: \"Revocar clave de API\",\n confirmText: \"¿Revocar esta clave de API? Los clientes que la utilicen perderán el acceso inmediatamente.\",\n successMessage: \"Clave de API revocada\"\n },\n restore_api_key: {\n label: \"Restaurar clave de API\",\n confirmText: \"¿Restaurar esta clave de API revocada? Los clientes existentes que la conserven recuperarán el acceso.\",\n successMessage: \"Clave de API restaurada\"\n }\n }\n },\n sys_two_factor: {\n label: \"Doble factor\",\n pluralLabel: \"Credenciales de doble factor\",\n description: \"Credenciales de autenticación de doble factor\",\n fields: {\n id: {\n label: \"ID de doble factor\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n },\n user_id: {\n label: \"Usuario\"\n },\n secret: {\n label: \"Secreto\",\n help: \"Clave secreta TOTP.\"\n },\n backup_codes: {\n label: \"Códigos de respaldo\",\n help: \"Códigos de recuperación de respaldo serializados en JSON.\"\n }\n },\n _views: {\n mine: {\n label: \"Mi configuración\"\n },\n all_enrollments: {\n label: \"Todas\"\n }\n },\n _actions: {\n enable_two_factor: {\n label: \"Habilitar 2FA\",\n successMessage: \"Se ha iniciado la configuración de 2FA; consulte la respuesta para ver la URI TOTP y los códigos de respaldo.\"\n },\n disable_two_factor: {\n label: \"Deshabilitar 2FA\",\n confirmText: \"¿Deshabilitar la autenticación de doble factor en su cuenta?\",\n successMessage: \"2FA deshabilitado\"\n }\n }\n },\n sys_device_code: {\n label: \"Código de dispositivo\",\n pluralLabel: \"Códigos de dispositivo\",\n description: \"Solicitudes pendientes de la concesión de autorización de dispositivos OAuth 2.0 (RFC 8628)\",\n fields: {\n id: {\n label: \"ID de código de dispositivo\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n },\n device_code: {\n label: \"Código de dispositivo\",\n help: \"Token de alta entropía devuelto al dispositivo que realiza el sondeo.\"\n },\n user_code: {\n label: \"Código de usuario\",\n help: \"Código corto visible para el usuario (p. ej. ABCD-EFGH).\"\n },\n user_id: {\n label: \"Usuario\",\n help: \"Usuario que aprobó la autorización del dispositivo.\"\n },\n expires_at: {\n label: \"Caduca el\",\n help: \"Momento en que los códigos de dispositivo y de usuario dejan de ser válidos.\"\n },\n status: {\n label: \"Estado\",\n help: \"Estado actual: 'pending' | 'approved' | 'denied'.\"\n },\n last_polled_at: {\n label: \"Último sondeo el\",\n help: \"Marca temporal del sondeo /device/token más reciente.\"\n },\n polling_interval: {\n label: \"Intervalo de sondeo (ms)\",\n help: \"Intervalo mínimo de sondeo recomendado por el servidor, en ms.\"\n },\n client_id: {\n label: \"ID de cliente\",\n help: \"Identificador de cliente OAuth del dispositivo solicitante.\"\n },\n scope: {\n label: \"Ámbito\",\n help: \"Ámbitos OAuth solicitados por el dispositivo, separados por espacios.\"\n }\n }\n },\n sys_user_preference: {\n label: \"Preferencia de usuario\",\n pluralLabel: \"Preferencias de usuario\",\n description: \"Preferencias clave-valor por usuario (tema, idioma, etc.)\",\n fields: {\n id: {\n label: \"ID de preferencia\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n },\n user_id: {\n label: \"Usuario\",\n help: \"Usuario propietario de esta preferencia.\"\n },\n key: {\n label: \"Clave\",\n help: \"Clave de preferencia (p. ej., theme, locale, plugin.ai.auto_save).\"\n },\n value: {\n label: \"Valor\",\n help: \"Valor de la preferencia (cualquier tipo serializable en JSON).\"\n }\n },\n _views: {\n mine: {\n label: \"Mis preferencias\"\n },\n by_user: {\n label: \"Por usuario\"\n },\n all_preferences: {\n label: \"Todas\"\n }\n }\n },\n sys_oauth_application: {\n label: \"Aplicación OAuth\",\n pluralLabel: \"Aplicaciones OAuth\",\n description: \"Aplicaciones cliente OAuth/OIDC registradas\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"Nombre\"\n },\n icon: {\n label: \"Icono\",\n help: \"URL del logotipo que se muestra en la pantalla de consentimiento.\"\n },\n uri: {\n label: \"URI de inicio\",\n help: \"Página principal pública del cliente registrado.\"\n },\n contacts: {\n label: \"Contactos\",\n help: \"Lista serializada en JSON de direcciones de correo electrónico de contacto.\"\n },\n tos: {\n label: \"Términos del servicio\"\n },\n policy: {\n label: \"Política de privacidad\"\n },\n metadata: {\n label: \"Metadatos\",\n help: \"Metadatos de la aplicación serializados en JSON.\"\n },\n client_id: {\n label: \"ID de cliente\",\n help: \"Identificador público del cliente OAuth.\"\n },\n client_secret: {\n label: \"Secreto de cliente\",\n help: \"Secreto del cliente OAuth (con hash/cifrado en reposo).\"\n },\n redirect_uris: {\n label: \"URI de redirección\",\n help: \"Lista serializada en JSON de URI de redirección permitidas.\"\n },\n post_logout_redirect_uris: {\n label: \"URI de redirección tras el cierre de sesión\",\n help: \"Lista serializada en JSON de URI de redirección permitidas tras el cierre de sesión.\"\n },\n type: {\n label: \"Tipo de cliente\",\n options: {\n web: \"Web\",\n native: \"Nativa\",\n useragentbased: \"Basada en agente de usuario\",\n public: \"Público\"\n }\n },\n public: {\n label: \"Cliente público\",\n help: \"Marca al cliente como cliente OAuth público (no confidencial).\"\n },\n require_pkce: {\n label: \"Requerir PKCE\"\n },\n token_endpoint_auth_method: {\n label: \"Método de autenticación del endpoint de token\",\n help: \"p. ej. client_secret_basic, client_secret_post, none\"\n },\n grant_types: {\n label: \"Tipos de concesión\",\n help: \"Lista serializada en JSON de tipos de concesión permitidos.\"\n },\n response_types: {\n label: \"Tipos de respuesta\",\n help: \"Lista serializada en JSON de tipos de respuesta permitidos.\"\n },\n scopes: {\n label: \"Ámbitos permitidos\",\n help: \"Lista serializada en JSON de ámbitos que el cliente puede solicitar.\"\n },\n subject_type: {\n label: \"Tipo de sujeto\",\n help: \"Tipo de sujeto OIDC (p. ej. public, pairwise).\"\n },\n disabled: {\n label: \"Deshabilitado\"\n },\n skip_consent: {\n label: \"Omitir consentimiento\",\n help: \"Tratar como cliente de confianza y omitir la pantalla de consentimiento.\"\n },\n enable_end_session: {\n label: \"Habilitar finalización de sesión\",\n help: \"Permitir que el cliente llame al endpoint OIDC de finalización de sesión.\"\n },\n software_id: {\n label: \"ID de software\"\n },\n software_version: {\n label: \"Versión del software\"\n },\n software_statement: {\n label: \"Declaración de software\",\n help: \"JWT firmado que declara los metadatos del cliente (RFC 7591 §2.3).\"\n },\n user_id: {\n label: \"Usuario propietario\",\n help: \"Usuario que registró esta aplicación.\"\n },\n reference_id: {\n label: \"ID de referencia\",\n help: \"Identificador de correlación proporcionado por quien llama.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n disabled_apps: {\n label: \"Deshabilitado\"\n },\n all_apps: {\n label: \"Todas\"\n }\n }\n },\n sys_oauth_access_token: {\n label: \"Token de acceso OAuth\",\n pluralLabel: \"Tokens de acceso OAuth\",\n description: \"Tokens de acceso OAuth opacos emitidos a aplicaciones cliente.\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"Token\",\n help: \"Valor opaco del token de acceso.\"\n },\n client_id: {\n label: \"ID de cliente\",\n help: \"Clave foránea a sys_oauth_application.client_id.\"\n },\n session_id: {\n label: \"Sesión\",\n help: \"Clave foránea a sys_session.id.\"\n },\n user_id: {\n label: \"Usuario\",\n help: \"Clave foránea a sys_user.id.\"\n },\n refresh_id: {\n label: \"Token de actualización\",\n help: \"Clave foránea a sys_oauth_refresh_token.id.\"\n },\n reference_id: {\n label: \"ID de referencia\",\n help: \"Identificador de correlación proporcionado por quien llama.\"\n },\n scopes: {\n label: \"Ámbitos\",\n help: \"Lista serializada en JSON de ámbitos concedidos a este token.\"\n },\n expires_at: {\n label: \"Caduca el\"\n },\n created_at: {\n label: \"Creado el\"\n }\n }\n },\n sys_oauth_refresh_token: {\n label: \"Token de actualización OAuth\",\n pluralLabel: \"Tokens de actualización OAuth\",\n description: \"Tokens de actualización OAuth opacos (vinculados a una sesión).\",\n fields: {\n id: {\n label: \"ID\"\n },\n token: {\n label: \"Token\",\n help: \"Valor opaco del token de actualización.\"\n },\n client_id: {\n label: \"ID de cliente\",\n help: \"Clave foránea a sys_oauth_application.client_id.\"\n },\n session_id: {\n label: \"Sesión\",\n help: \"Clave foránea a sys_session.id.\"\n },\n user_id: {\n label: \"Usuario\",\n help: \"Clave foránea a sys_user.id.\"\n },\n reference_id: {\n label: \"ID de referencia\",\n help: \"Identificador de correlación proporcionado por quien llama.\"\n },\n scopes: {\n label: \"Ámbitos\",\n help: \"Lista serializada en JSON de ámbitos concedidos a este token.\"\n },\n expires_at: {\n label: \"Caduca el\"\n },\n created_at: {\n label: \"Creado el\"\n },\n revoked: {\n label: \"Revocado el\",\n help: \"Marca temporal en la que se revocó este token de actualización.\"\n },\n auth_time: {\n label: \"Hora de autenticación\",\n help: \"Momento en que el usuario se autenticó originalmente para esta cadena de tokens.\"\n }\n }\n },\n sys_oauth_consent: {\n label: \"Consentimiento OAuth\",\n pluralLabel: \"Consentimientos OAuth\",\n description: \"Registros de consentimiento de usuario para aplicaciones cliente OAuth.\",\n fields: {\n id: {\n label: \"ID\"\n },\n client_id: {\n label: \"ID de cliente\",\n help: \"Clave foránea a sys_oauth_application.client_id.\"\n },\n user_id: {\n label: \"Usuario\",\n help: \"Clave foránea a sys_user.id.\"\n },\n reference_id: {\n label: \"ID de referencia\",\n help: \"Identificador de correlación proporcionado por quien llama.\"\n },\n scopes: {\n label: \"Ámbitos\",\n help: \"Lista serializada en JSON de ámbitos a los que el usuario dio consentimiento.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_jwks: {\n label: \"Clave de firma (JWKS)\",\n pluralLabel: \"Claves de firma (JWKS)\",\n description: \"Pares de claves asimétricas utilizados para firmar y verificar los JWT emitidos.\",\n fields: {\n id: {\n label: \"ID de clave\",\n help: \"Valor `kid` de JWK.\"\n },\n public_key: {\n label: \"Clave pública\",\n help: \"Clave pública JWK serializada en JSON.\"\n },\n private_key: {\n label: \"Clave privada\",\n help: \"Clave privada JWK serializada en JSON (cifrada en reposo).\"\n },\n created_at: {\n label: \"Creado el\"\n },\n expires_at: {\n label: \"Caduca el\",\n help: \"Momento en que la clave ya no podrá utilizarse para verificar tokens.\"\n }\n }\n },\n sys_role: {\n label: \"Rol\",\n pluralLabel: \"Roles\",\n description: \"Definiciones de rol para el control de acceso RBAC\",\n fields: {\n label: {\n label: \"Nombre visible\"\n },\n name: {\n label: \"Nombre de API\",\n help: \"Nombre técnico único del rol (p. ej. admin, editor, viewer).\"\n },\n description: {\n label: \"Descripción\"\n },\n permissions: {\n label: \"Permisos\",\n help: \"Matriz serializada en JSON de cadenas de permisos.\"\n },\n active: {\n label: \"Activo\"\n },\n is_default: {\n label: \"Rol predeterminado\",\n help: \"Se asigna automáticamente a los nuevos usuarios.\"\n },\n id: {\n label: \"ID de rol\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n default_roles: {\n label: \"Predeterminado\"\n },\n custom: {\n label: \"Personalizado\"\n },\n all_roles: {\n label: \"Todos\"\n }\n }\n },\n sys_permission_set: {\n label: \"Conjunto de permisos\",\n pluralLabel: \"Conjuntos de permisos\",\n description: \"Agrupaciones de permisos con nombre para un control de acceso detallado\",\n fields: {\n label: {\n label: \"Nombre visible\"\n },\n name: {\n label: \"Nombre de API\",\n help: \"Nombre técnico único del conjunto de permisos.\"\n },\n description: {\n label: \"Descripción\"\n },\n object_permissions: {\n label: \"Permisos de objeto\",\n help: \"Permisos CRUD a nivel de objeto serializados en JSON.\"\n },\n field_permissions: {\n label: \"Permisos de campo\",\n help: \"Permisos de lectura/escritura a nivel de campo serializados en JSON.\"\n },\n active: {\n label: \"Activo\"\n },\n id: {\n label: \"ID de conjunto de permisos\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n inactive: {\n label: \"Inactivo\"\n },\n all_permsets: {\n label: \"Todos\"\n }\n }\n },\n sys_user_permission_set: {\n label: \"Conjunto de permisos de usuario\",\n pluralLabel: \"Conjuntos de permisos de usuario\",\n description: \"Asignación directa de un conjunto de permisos a un usuario (opcionalmente con ámbito de organización).\",\n fields: {\n id: {\n label: \"ID de asignación\",\n help: \"UUID de la asignación.\"\n },\n user_id: {\n label: \"Usuario\",\n help: \"Clave foránea a sys_user.\"\n },\n permission_set_id: {\n label: \"Conjunto de permisos\",\n help: \"Clave foránea a sys_permission_set.\"\n },\n organization_id: {\n label: \"Organización\",\n help: \"Ámbito de organización opcional. NULL = se aplica en cualquier contexto de organización.\"\n },\n granted_by: {\n label: \"Concedido por\",\n help: \"Usuario que concedió este conjunto de permisos.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_role_permission_set: {\n label: \"Conjunto de permisos de rol\",\n pluralLabel: \"Conjuntos de permisos de rol\",\n description: \"Vincula un conjunto de permisos a un rol.\",\n fields: {\n id: {\n label: \"ID de vinculación\",\n help: \"UUID de la vinculación rol-conjunto de permisos.\"\n },\n role_id: {\n label: \"Rol\",\n help: \"Clave foránea a sys_role.\"\n },\n permission_set_id: {\n label: \"Conjunto de permisos\",\n help: \"Clave foránea a sys_permission_set.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_record_share: {\n label: \"Compartición de registro\",\n pluralLabel: \"Comparticiones de registro\",\n description: \"Concesión de compartición por registro; amplía OWD con acceso explícito.\",\n fields: {\n id: {\n label: \"ID de compartición\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto del registro compartido.\"\n },\n record_id: {\n label: \"Registro\",\n help: \"Clave primaria del registro compartido dentro de object_name.\"\n },\n recipient_type: {\n label: \"Tipo de destinatario\",\n help: \"Tipo de principal que posee la concesión.\",\n options: {\n user: \"Usuario\",\n group: \"Grupo\",\n role: \"Rol\",\n role_and_subordinates: \"Rol y subordinados\",\n guest: \"Invitado\"\n }\n },\n recipient_id: {\n label: \"Destinatario\",\n help: \"ID del usuario/grupo/rol que recibe acceso.\"\n },\n access_level: {\n label: \"Nivel de acceso\",\n help: \"Lo que puede hacer el destinatario: read | edit | full (transfer/share/delete).\",\n options: {\n read: \"Leer\",\n edit: \"Editar\",\n full: \"Total\"\n }\n },\n source: {\n label: \"Origen\",\n help: \"Motivo por el que existe esta concesión; lo utiliza el evaluador de reglas para reconciliar.\",\n options: {\n manual: \"Manual\",\n rule: \"Regla\",\n team: \"Equipo\",\n inherited: \"Heredado\"\n }\n },\n source_id: {\n label: \"ID de origen\",\n help: \"Nombre de la regla / ID del equipo cuando source != manual.\"\n },\n granted_by: {\n label: \"Concedido por\",\n help: \"Usuario que creó la concesión (solo manual).\"\n },\n reason: {\n label: \"Motivo\",\n help: \"Explicación opcional en texto libre que se muestra al destinatario.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n granted_to_me: {\n label: \"Concedidos a mí\"\n },\n granted_by_me: {\n label: \"Concedidos por mí\"\n },\n by_object: {\n label: \"Por objeto\"\n },\n manual_grants: {\n label: \"Concesiones manuales\"\n },\n rule_grants: {\n label: \"Concesiones por regla\"\n },\n all_shares: {\n label: \"Todas\"\n }\n }\n },\n sys_sharing_rule: {\n label: \"Regla de compartición\",\n pluralLabel: \"Reglas de compartición\",\n description: \"Regla de compartición declarativa que materializa automáticamente concesiones de sys_record_share. Se define mediante defineSharingRule() en código o con el generador de criterios de Studio.\",\n fields: {\n id: {\n label: \"ID de regla\"\n },\n organization_id: {\n label: \"Organización\",\n help: \"Tenant que posee esta regla; null = global.\"\n },\n name: {\n label: \"Nombre\",\n help: \"Nombre de regla snake_case único.\"\n },\n label: {\n label: \"Nombre visible\"\n },\n description: {\n label: \"Descripción\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto (p. ej. opportunity, account).\"\n },\n criteria_json: {\n label: \"Criterios (JSON de FilterCondition)\",\n help: \"FilterCondition JSON comparado con los registros de object_name. Vacío = coincide con todos.\"\n },\n recipient_type: {\n label: \"Tipo de destinatario\",\n help: \"Tipo de principal que recibe acceso; se expande a concesiones de usuario durante la evaluación. `department` recorre el árbol parent_department_id; `team` es plano (better-auth).\",\n options: {\n user: \"Usuario\",\n team: \"Equipo\",\n department: \"Departamento\",\n role: \"Rol\",\n queue: \"Cola\"\n }\n },\n recipient_id: {\n label: \"Destinatario\",\n help: \"ID de departamento / ID de equipo / nombre del rol / nombre de la cola / ID del usuario según recipient_type.\"\n },\n access_level: {\n label: \"Nivel de acceso\",\n options: {\n read: \"Leer\",\n edit: \"Editar\",\n full: \"Total\"\n }\n },\n active: {\n label: \"Activo\",\n help: \"Solo las reglas activas participan en la evaluación del ciclo de vida.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n inactive: {\n label: \"Inactivo\"\n },\n by_object: {\n label: \"Por objeto\"\n },\n all_rules: {\n label: \"Todas\"\n }\n }\n },\n sys_audit_log: {\n label: \"Registro de auditoría\",\n pluralLabel: \"Registros de auditoría\",\n description: \"Registro de auditoría inmutable para eventos de la plataforma\",\n fields: {\n created_at: {\n label: \"Marca temporal\"\n },\n action: {\n label: \"Acción\",\n help: \"Tipo de acción (snake_case).\",\n options: {\n create: \"Crear\",\n update: \"Actualizar\",\n delete: \"Eliminar\",\n restore: \"Restaurar\",\n login: \"Inicio de sesión\",\n logout: \"Cierre de sesión\",\n permission_change: \"Cambio de permisos\",\n config_change: \"Cambio de configuración\",\n export: \"Exportar\",\n import: \"Importar\"\n }\n },\n user_id: {\n label: \"Actor\",\n help: \"Usuario que realizó la acción (null para acciones del sistema).\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Objeto de destino (p. ej. sys_user, project_task).\"\n },\n record_id: {\n label: \"ID de registro\",\n help: \"ID del registro afectado.\"\n },\n old_value: {\n label: \"Valor anterior\",\n help: \"Estado anterior serializado en JSON.\"\n },\n new_value: {\n label: \"Valor nuevo\",\n help: \"Estado nuevo serializado en JSON.\"\n },\n ip_address: {\n label: \"Dirección IP\"\n },\n user_agent: {\n label: \"Agente de usuario\"\n },\n tenant_id: {\n label: \"Tenant\",\n help: \"Contexto del tenant para el aislamiento multi-tenant.\"\n },\n metadata: {\n label: \"Metadatos\",\n help: \"Contexto adicional serializado en JSON.\"\n },\n id: {\n label: \"ID de registro de auditoría\"\n }\n },\n _views: {\n recent: {\n label: \"Recientes\"\n },\n writes_only: {\n label: \"Escrituras\"\n },\n auth_events: {\n label: \"Autenticación\"\n },\n config_changes: {\n label: \"Configuración\"\n },\n all_events: {\n label: \"Todos\"\n }\n }\n },\n sys_presence: {\n label: \"Presencia\",\n pluralLabel: \"Presencias\",\n description: \"Seguimiento en tiempo real de presencia y actividad de usuarios\",\n fields: {\n id: {\n label: \"ID de presencia\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n },\n user_id: {\n label: \"Usuario\"\n },\n session_id: {\n label: \"Sesión\"\n },\n status: {\n label: \"Estado\",\n options: {\n online: \"En línea\",\n away: \"Ausente\",\n busy: \"Ocupado\",\n offline: \"Desconectado\"\n }\n },\n last_seen: {\n label: \"Visto por última vez\"\n },\n current_location: {\n label: \"Ubicación actual\"\n },\n device: {\n label: \"Dispositivo\",\n options: {\n desktop: \"Escritorio\",\n mobile: \"Móvil\",\n tablet: \"Tableta\",\n other: \"Otro\"\n }\n },\n custom_status: {\n label: \"Estado personalizado\"\n },\n metadata: {\n label: \"Metadatos\",\n help: \"Metadatos JSON arbitrarios asociados al estado de presencia (coincide con PresenceStateSchema.metadata).\"\n }\n }\n },\n sys_activity: {\n label: \"Actividad\",\n pluralLabel: \"Actividades\",\n description: \"Entradas recientes del flujo de actividad (ligeras y desnormalizadas).\",\n fields: {\n id: {\n label: \"ID de actividad\"\n },\n timestamp: {\n label: \"Marca temporal\"\n },\n type: {\n label: \"Tipo\",\n options: {\n created: \"Creado\",\n updated: \"Actualizado\",\n deleted: \"Eliminado\",\n commented: \"Comentado\",\n mentioned: \"Mencionado\",\n shared: \"Compartido\",\n assigned: \"Asignado\",\n completed: \"Completado\",\n login: \"Inicio de sesión\",\n logout: \"Cierre de sesión\",\n system: \"Sistema\"\n }\n },\n summary: {\n label: \"Resumen\",\n help: \"Resumen legible de una línea.\"\n },\n actor_id: {\n label: \"Actor\"\n },\n actor_name: {\n label: \"Nombre del actor\"\n },\n actor_avatar_url: {\n label: \"Avatar del actor\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto de destino (p. ej. account, sys_user).\"\n },\n record_id: {\n label: \"ID de registro\"\n },\n record_label: {\n label: \"Nombre visible del registro\",\n help: \"Nombre visible del registro de destino en el momento de escritura.\"\n },\n url: {\n label: \"URL\",\n help: \"Enlace profundo opcional al destino de la actividad.\"\n },\n project_id: {\n label: \"Proyecto\",\n help: \"Contexto del proyecto (implementaciones multiproyecto).\"\n },\n metadata: {\n label: \"Metadatos\",\n help: \"Contexto adicional serializado en JSON.\"\n }\n }\n },\n sys_comment: {\n label: \"Comentario\",\n pluralLabel: \"Comentarios\",\n description: \"Comentarios en hilo adjuntos a registros mediante thread_id.\",\n fields: {\n id: {\n label: \"ID de comentario\"\n },\n thread_id: {\n label: \"Hilo\",\n help: \"Identificador del hilo; por convención `{object}:{record_id}` (p. ej. `sys_user:abc123`).\"\n },\n parent_id: {\n label: \"Comentario principal\",\n help: \"Comentario principal opcional para respuestas anidadas.\"\n },\n reply_count: {\n label: \"Número de respuestas\"\n },\n author_id: {\n label: \"Autor\"\n },\n author_name: {\n label: \"Nombre del autor\"\n },\n author_avatar_url: {\n label: \"Avatar del autor\"\n },\n body: {\n label: \"Contenido\",\n help: \"Texto del comentario (compatible con Markdown).\"\n },\n mentions: {\n label: \"Menciones\",\n help: \"Matriz JSON de objetos @mention.\"\n },\n reactions: {\n label: \"Reacciones\",\n help: \"Matriz JSON de objetos de reacción emoji.\"\n },\n is_edited: {\n label: \"Editado\"\n },\n edited_at: {\n label: \"Editado el\"\n },\n visibility: {\n label: \"Visibilidad\",\n options: {\n public: \"Público\",\n internal: \"Interno\",\n private: \"Privado\"\n }\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_attachment: {\n label: \"Adjunto\",\n pluralLabel: \"Adjuntos\",\n description: \"Vínculo polimórfico entre un sys_file y cualquier otro registro.\",\n fields: {\n id: {\n label: \"ID de adjunto\"\n },\n parent_object: {\n label: \"Objeto principal\",\n help: \"Nombre corto del objeto del registro adjunto (p. ej. account, lead).\"\n },\n parent_id: {\n label: \"Registro principal\",\n help: \"Clave primaria del registro al que se adjunta.\"\n },\n file_id: {\n label: \"Archivo\",\n help: \"Entrada de almacenamiento sys_file que se está adjuntando.\"\n },\n file_name: {\n label: \"Nombre del archivo\",\n help: \"Copia desnormalizada de sys_file.name para renderizado rápido de listas.\"\n },\n mime_type: {\n label: \"Tipo MIME\"\n },\n size: {\n label: \"Tamaño (bytes)\"\n },\n share_type: {\n label: \"Tipo de compartición\",\n help: \"visualizador | colaborador | inferido (heredado del registro principal)\",\n options: {\n viewer: \"Visualizador\",\n collaborator: \"Colaborador\",\n inferred: \"Inferido\"\n }\n },\n visibility: {\n label: \"Visibilidad\",\n options: {\n internal: \"Interno\",\n all_users: \"Todos los usuarios\",\n shared_users: \"Usuarios compartidos\"\n }\n },\n uploaded_by: {\n label: \"Subido por\"\n },\n description: {\n label: \"Descripción\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_notification: {\n label: \"Notificación\",\n pluralLabel: \"Notificaciones\",\n description: \"Entradas del buzón de notificaciones por usuario\",\n fields: {\n id: {\n label: \"ID de notificación\"\n },\n recipient_id: {\n label: \"Destinatario\",\n help: \"Usuario al que se entrega la notificación.\"\n },\n type: {\n label: \"Tipo\",\n help: \"Categoría de notificación; controla el icono y la prioridad de ordenación.\",\n options: {\n mention: \"Mención\",\n assignment: \"Asignación\",\n comment_reply: \"Respuesta a comentario\",\n lead_converted: \"Prospecto convertido\",\n task_due: \"Tarea vencida\",\n system: \"Sistema\"\n }\n },\n title: {\n label: \"Título\"\n },\n body: {\n label: \"Contenido\",\n help: \"Texto secundario opcional (resumen de una línea).\"\n },\n source_object: {\n label: \"Objeto de origen\",\n help: \"Nombre del objeto del registro relacionado (p. ej. lead, opportunity).\"\n },\n source_id: {\n label: \"Registro de origen\",\n help: \"ID del registro dentro de source_object.\"\n },\n url: {\n label: \"Enlace profundo\",\n help: \"URL opcional a la que navegar al hacer clic.\"\n },\n actor_id: {\n label: \"Actor\",\n help: \"Usuario que provocó la notificación (quien menciona, quien asigna).\"\n },\n actor_name: {\n label: \"Nombre del actor\"\n },\n is_read: {\n label: \"Leído\",\n help: \"Verdadero una vez que el destinatario la reconoce.\"\n },\n read_at: {\n label: \"Leído el\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n unread: {\n label: \"No leídas\"\n },\n mine: {\n label: \"Mías\"\n },\n all_notifications: {\n label: \"Todas\"\n }\n }\n },\n sys_email: {\n label: \"Correo\",\n pluralLabel: \"Correos\",\n description: \"Registro de envíos de correo salientes\",\n fields: {\n id: {\n label: \"ID de correo\"\n },\n message_id: {\n label: \"Message-ID\",\n help: \"Message-ID RFC-5322 asignado por el transporte.\"\n },\n from_address: {\n label: \"De\"\n },\n to_addresses: {\n label: \"Para\",\n help: \"Direcciones de destinatarios separadas por comas.\"\n },\n cc_addresses: {\n label: \"Cc\"\n },\n bcc_addresses: {\n label: \"Cco\"\n },\n reply_to: {\n label: \"Responder a\"\n },\n subject: {\n label: \"Asunto\"\n },\n body_text: {\n label: \"Contenido (texto)\"\n },\n body_html: {\n label: \"Contenido (HTML)\"\n },\n status: {\n label: \"Estado\",\n help: \"Estado del ciclo de vida; se pone en cola mediante IEmailService.send antes de la llamada al transporte.\",\n options: {\n queued: \"En cola\",\n sent: \"Enviado\",\n failed: \"Fallido\"\n }\n },\n error: {\n label: \"Error\",\n help: \"Mensaje de error del transporte cuando status=failed.\"\n },\n attempt_count: {\n label: \"Intentos\",\n help: \"Número de intentos de entrega realizados por el servicio.\"\n },\n sent_at: {\n label: \"Enviado el\",\n help: \"Se establece cuando el estado pasa a \\\"sent\\\".\"\n },\n related_object: {\n label: \"Objeto relacionado\",\n help: \"Nombre del objeto del registro relacionado (p. ej. lead, opportunity).\"\n },\n related_id: {\n label: \"Registro relacionado\",\n help: \"ID del registro dentro de related_object.\"\n },\n sent_by: {\n label: \"Enviado por\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_email_template: {\n label: \"Plantilla de correo\",\n pluralLabel: \"Plantillas de correo\",\n description: \"Plantilla de correo saliente (asunto + contenido + variables) resuelta por nombre+idioma\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"Nombre\",\n help: \"Identificador snake_case con puntos (p. ej. auth.password_reset).\"\n },\n label: {\n label: \"Nombre visible\",\n help: \"Nombre legible que se muestra en Studio.\"\n },\n category: {\n label: \"Categoría\",\n options: {\n auth: \"Autenticación\",\n notification: \"Notificación\",\n workflow: \"Flujo de trabajo\",\n marketing: \"Marketing\",\n custom: \"Personalizado\"\n }\n },\n locale: {\n label: \"Idioma\",\n help: \"Etiqueta de idioma BCP-47 (en-US, zh-CN, …).\"\n },\n description: {\n label: \"Descripción\"\n },\n subject: {\n label: \"Asunto\",\n help: \"Plantilla de asunto; admite marcadores {{var.path}}.\"\n },\n body_html: {\n label: \"Contenido HTML\",\n help: \"Plantilla HTML del contenido; admite marcadores {{var.path}}.\"\n },\n body_text: {\n label: \"Contenido de texto sin formato\",\n help: \"Alternativa opcional en texto sin formato (se deriva automáticamente del HTML cuando está vacía).\"\n },\n from_name: {\n label: \"Nombre del remitente\"\n },\n from_address: {\n label: \"Dirección del remitente\"\n },\n reply_to: {\n label: \"Responder a\"\n },\n active: {\n label: \"Activo\"\n },\n is_system: {\n label: \"Plantilla del sistema\",\n help: \"La proporciona un plugin o la plataforma; los tenants pueden editarla, pero no deberían eliminarla.\"\n },\n variables_json: {\n label: \"Variables (JSON)\",\n help: \"Matriz JSON de {name,type,required,description}.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_saved_report: {\n label: \"Informe guardado\",\n pluralLabel: \"Informes guardados\",\n description: \"Definición de informe ObjectQL persistida; se puede volver a ejecutar y programar\",\n fields: {\n id: {\n label: \"ID de informe\"\n },\n name: {\n label: \"Nombre\"\n },\n description: {\n label: \"Descripción\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto que consulta el informe.\"\n },\n query_json: {\n label: \"Consulta\",\n help: \"Envoltorio de consulta ObjectQL: { filter, fields, orderBy, limit, groupBy }.\"\n },\n format: {\n label: \"Formato\",\n help: \"Renderizado utilizado por IReportService.run() y los resúmenes por correo.\",\n options: {\n csv: \"CSV\",\n json: \"JSON\",\n html_table: \"Tabla HTML\"\n }\n },\n owner_id: {\n label: \"Propietario\",\n help: \"Usuario propietario de la definición del informe (controla la compartición).\"\n },\n last_run_at: {\n label: \"Última ejecución\",\n help: \"Marcado por IReportService.run() tras una ejecución correcta.\"\n },\n last_row_count: {\n label: \"Último recuento de filas\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_report_schedule: {\n label: \"Programación de informe\",\n pluralLabel: \"Programaciones de informes\",\n description: \"Entrega recurrente de un sys_saved_report por correo electrónico\",\n fields: {\n id: {\n label: \"ID de programación\"\n },\n report_id: {\n label: \"Informe\"\n },\n name: {\n label: \"Nombre\",\n help: \"Nombre visible opcional para el resumen; se usa en el asunto del correo.\"\n },\n interval_minutes: {\n label: \"Intervalo (minutos)\",\n help: \"Frecuencia de envío (1440 = diario, 10080 = semanal).\"\n },\n cron_expression: {\n label: \"Expresión Cron\",\n help: \"Cron opcional de 5/6 campos; sustituye a interval_minutes cuando está presente.\"\n },\n timezone: {\n label: \"Zona horaria\"\n },\n active: {\n label: \"Activo\"\n },\n recipients: {\n label: \"Destinatarios\",\n help: \"Direcciones de correo electrónico separadas por comas.\"\n },\n format: {\n label: \"Formato\",\n help: \"Formato de renderizado; csv se adjunta y html_table se inserta en línea.\",\n options: {\n csv: \"CSV\",\n html_table: \"Tabla HTML\"\n }\n },\n subject_template: {\n label: \"Plantilla de asunto\",\n help: \"Asunto del correo; se sustituyen {{name}} / {{date}} / {{rows}}.\"\n },\n owner_id: {\n label: \"Propietario\"\n },\n next_run_at: {\n label: \"Próxima ejecución\",\n help: \"El despachador carga las programaciones cuyo next_run_at <= now.\"\n },\n last_sent_at: {\n label: \"Último envío\"\n },\n last_status: {\n label: \"Último estado\",\n options: {\n ok: \"Correcto\",\n failed: \"Fallido\",\n skipped: \"Omitido\"\n }\n },\n last_error: {\n label: \"Último error\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_approval_process: {\n label: \"Proceso de aprobación\",\n pluralLabel: \"Procesos de aprobación\",\n description: \"Definición persistida del proceso de aprobación. Se crea mediante defineApprovalProcess() en código; el diseñador visual está en la hoja de ruta.\",\n fields: {\n id: {\n label: \"ID de proceso\"\n },\n name: {\n label: \"Nombre\",\n help: \"Nombre snake_case único; lo utilizan los remitentes y las filas de auditoría.\"\n },\n label: {\n label: \"Nombre visible\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto que rige este proceso.\"\n },\n description: {\n label: \"Descripción\"\n },\n active: {\n label: \"Activo\",\n help: \"Solo los procesos activos se despachan al enviarse.\"\n },\n definition_json: {\n label: \"Definición\",\n help: \"JSON serializado de ApprovalProcess (consulte @objectstack/spec/automation/approval).\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n inactive: {\n label: \"Inactivo\"\n },\n by_object: {\n label: \"Por objeto\"\n },\n all_processes: {\n label: \"Todos\"\n }\n }\n },\n sys_approval_request: {\n label: \"Solicitud de aprobación\",\n pluralLabel: \"Solicitudes de aprobación\",\n description: \"Instancia activa de aprobación registrada por envío\",\n fields: {\n id: {\n label: \"ID de solicitud\"\n },\n organization_id: {\n label: \"Organización\",\n help: \"Tenant que posee esta solicitud de aprobación (propagado desde el contexto del solicitante).\"\n },\n process_name: {\n label: \"Proceso\",\n help: \"sys_approval_process.name contra el que se abrió esta solicitud.\"\n },\n object_name: {\n label: \"Objeto\"\n },\n record_id: {\n label: \"ID de registro\"\n },\n submitter_id: {\n label: \"Solicitante\"\n },\n submitter_comment: {\n label: \"Comentario del solicitante\"\n },\n status: {\n label: \"Estado\",\n help: \"Estado del ciclo de vida de la solicitud.\",\n options: {\n pending: \"Pendiente\",\n approved: \"Aprobada\",\n rejected: \"Rechazada\",\n recalled: \"Retirada\"\n }\n },\n current_step: {\n label: \"Paso actual\",\n help: \"Nombre técnico del paso pendiente de aprobación.\"\n },\n current_step_index: {\n label: \"Índice del paso actual\"\n },\n pending_approvers: {\n label: \"Aprobadores pendientes\",\n help: \"ID de usuario separados por comas que pueden actuar en el paso actual.\"\n },\n payload_json: {\n label: \"Instantánea\",\n help: \"Instantánea del registro en el momento del envío.\"\n },\n completed_at: {\n label: \"Completado el\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n my_pending: {\n label: \"Mis pendientes\"\n },\n submitted_by_me: {\n label: \"I Submitted\"\n },\n completed: {\n label: \"Completadas\"\n },\n all_requests: {\n label: \"Todas\"\n }\n }\n },\n sys_approval_action: {\n label: \"Acción de aprobación\",\n pluralLabel: \"Acciones de aprobación\",\n description: \"Registro de auditoría append-only para acciones de aprobación\",\n fields: {\n id: {\n label: \"ID de acción\"\n },\n organization_id: {\n label: \"Organización\",\n help: \"Tenant que posee esta acción (refleja la solicitud principal).\"\n },\n request_id: {\n label: \"Solicitud\"\n },\n step_name: {\n label: \"Paso\",\n help: \"Nombre técnico del paso en el momento de la acción.\"\n },\n step_index: {\n label: \"Índice del paso\"\n },\n action: {\n label: \"Acción\",\n options: {\n submit: \"Enviar\",\n approve: \"Aprobar\",\n reject: \"Rechazar\",\n recall: \"Retirar\",\n escalate: \"Escalar\"\n }\n },\n actor_id: {\n label: \"Actor\"\n },\n comment: {\n label: \"Comentario\"\n },\n created_at: {\n label: \"Creado el\"\n }\n },\n _views: {\n recent: {\n label: \"Recientes\"\n },\n by_actor: {\n label: \"Por actor\"\n },\n all_actions: {\n label: \"Todas\"\n }\n }\n },\n sys_job: {\n label: \"Tarea en segundo plano\",\n pluralLabel: \"Tareas en segundo plano\",\n description: \"Catálogo de tareas en segundo plano registradas\",\n fields: {\n id: {\n label: \"ID de tarea\"\n },\n name: {\n label: \"Nombre de la tarea\",\n help: \"Identificador único de tarea (snake_case).\"\n },\n schedule_type: {\n label: \"Tipo de programación\",\n options: {\n cron: \"Cron\",\n interval: \"Intervalo\",\n once: \"Una vez\"\n }\n },\n schedule_expression: {\n label: \"Expresión\",\n help: \"Expresión Cron / intervalo en ms / fecha-hora ISO.\"\n },\n timezone: {\n label: \"Zona horaria\"\n },\n active: {\n label: \"Activo\",\n help: \"Indica si el programador está ejecutando actualmente esta tarea.\"\n },\n last_run_at: {\n label: \"Última ejecución el\"\n },\n last_status: {\n label: \"Último estado\",\n options: {\n success: \"Correcto\",\n failed: \"Fallido\",\n timeout: \"Tiempo de espera agotado\",\n running: \"En ejecución\"\n }\n },\n last_error: {\n label: \"Último error\"\n },\n run_count: {\n label: \"Número de ejecuciones\"\n },\n failure_count: {\n label: \"Número de fallos\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_job_run: {\n label: \"Ejecución de tarea\",\n pluralLabel: \"Ejecuciones de tarea\",\n description: \"Registro de auditoría de ejecución de tareas en segundo plano\",\n fields: {\n id: {\n label: \"ID de ejecución\"\n },\n job_name: {\n label: \"Tarea\"\n },\n status: {\n label: \"Estado\",\n options: {\n running: \"En ejecución\",\n success: \"Correcto\",\n failed: \"Fallido\",\n timeout: \"Tiempo de espera agotado\"\n }\n },\n started_at: {\n label: \"Iniciada el\"\n },\n completed_at: {\n label: \"Completado el\"\n },\n duration_ms: {\n label: \"Duración (ms)\"\n },\n attempt: {\n label: \"Intento\",\n help: \"1 para la primera ejecución, >1 para reintentos/repeticiones.\"\n },\n trigger: {\n label: \"Desencadenante\",\n options: {\n schedule: \"Programación\",\n manual: \"Manual\",\n replay: \"Repetición\"\n }\n },\n error: {\n label: \"Error\"\n },\n created_at: {\n label: \"Creado el\"\n }\n }\n },\n sys_job_queue: {\n label: \"Mensaje de la cola de tareas\",\n pluralLabel: \"Mensajes de la cola de tareas\",\n description: \"Cola duradera de tareas/mensajes, incluidos los mensajes fallidos (dead letters).\",\n fields: {\n id: {\n label: \"ID de mensaje\"\n },\n queue: {\n label: \"Cola\",\n help: \"Nombre lógico de la cola (snake_case).\"\n },\n idempotency_key: {\n label: \"Clave de idempotencia\",\n help: \"Clave de deduplicación dentro de (queue, window).\"\n },\n payload_json: {\n label: \"Carga útil (JSON)\",\n help: \"Cuerpo del mensaje serializado.\"\n },\n metadata_json: {\n label: \"Metadatos (JSON)\",\n help: \"Bolsa de metadatos serializada (tenant_id, source_record, ...).\"\n },\n status: {\n label: \"Estado\",\n help: \"Estado del ciclo de vida.\",\n options: {\n pending: \"Pendiente\",\n running: \"En ejecución\",\n completed: \"Completado\",\n failed: \"Fallido\",\n dlq: \"DLQ\"\n }\n },\n priority: {\n label: \"Prioridad\",\n help: \"Menor = mayor prioridad.\"\n },\n attempts: {\n label: \"Intentos\"\n },\n max_attempts: {\n label: \"Intentos máximos\"\n },\n backoff_type: {\n label: \"Backoff\",\n options: {\n fixed: \"Fijo\",\n exponential: \"Exponencial\"\n }\n },\n backoff_delay_ms: {\n label: \"Base de backoff (ms)\"\n },\n backoff_max_delay_ms: {\n label: \"Límite de backoff (ms)\"\n },\n scheduled_for: {\n label: \"Programado para\",\n help: \"Momento más temprano en que un worker puede tomar este mensaje en arrendamiento.\"\n },\n locked_by: {\n label: \"Bloqueado por\",\n help: \"ID del worker que mantiene el arrendamiento.\"\n },\n locked_until: {\n label: \"Bloqueado hasta\",\n help: \"Caducidad del arrendamiento; si ha pasado, otro worker puede reclamarlo.\"\n },\n last_error: {\n label: \"Último error\"\n },\n completed_at: {\n label: \"Completado el\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhooks\",\n description: \"Suscripción saliente de Webhook HTTP. Se crea mediante defineWebhook() en código o con el editor de Studio; la ejecuta el plugin del conector HTTP.\",\n fields: {\n id: {\n label: \"ID de webhook\"\n },\n name: {\n label: \"Nombre\",\n help: \"Nombre snake_case único; se usa en los registros y en la auditoría.\"\n },\n label: {\n label: \"Nombre visible\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto cuyos eventos activan este Webhook (vacío = activación manual / API).\"\n },\n triggers: {\n label: \"Desencadenantes\",\n help: \"Lista de eventos separada por comas: create,update,delete,undelete,api.\"\n },\n url: {\n label: \"URL de destino\",\n help: \"Endpoint externo que recibe el POST.\"\n },\n method: {\n label: \"Método HTTP\",\n help: \"GET / POST / PUT / PATCH / DELETE\"\n },\n description: {\n label: \"Descripción\"\n },\n active: {\n label: \"Activo\",\n help: \"Los Webhooks inactivos se omiten en el despachador.\"\n },\n definition_json: {\n label: \"Definición\",\n help: \"JSON serializado de Webhook (consulte @objectstack/spec/automation/webhook): configuración completa de cabeceras/auth/reintentos/payload.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n inactive: {\n label: \"Inactivo\"\n },\n by_object: {\n label: \"Por objeto\"\n },\n all_webhooks: {\n label: \"Todos\"\n }\n }\n },\n sys_metadata: {\n label: \"Metadatos del sistema\",\n pluralLabel: \"Metadatos del sistema\",\n description: \"Almacena registros de metadatos de la plataforma y del ámbito de usuario (objetos, vistas, flujos, etc.)\",\n fields: {\n id: {\n label: \"ID\"\n },\n name: {\n label: \"Nombre\"\n },\n type: {\n label: \"Tipo de metadatos\"\n },\n namespace: {\n label: \"Espacio de nombres\"\n },\n package_id: {\n label: \"ID del paquete\",\n help: \"Cadena de ID heredada del manifiesto del paquete. Use package_version_id para los registros nuevos.\"\n },\n package_version_id: {\n label: \"Versión del paquete\",\n help: \"Clave foránea a sys_package_version (UUID). Null = incorporado en la plataforma o sobrescritura a nivel de entorno.\"\n },\n managed_by: {\n label: \"Gestionado por\",\n options: {\n package: \"Paquete\",\n platform: \"Plataforma\",\n user: \"Usuario\"\n }\n },\n scope: {\n label: \"Ámbito\",\n options: {\n system: \"Sistema\",\n platform: \"Plataforma\",\n user: \"Usuario\"\n }\n },\n metadata: {\n label: \"Metadatos\",\n help: \"Payload de metadatos serializado en JSON.\"\n },\n extends: {\n label: \"Extiende\"\n },\n strategy: {\n label: \"Estrategia\",\n options: {\n merge: \"Fusionar\",\n replace: \"Reemplazar\"\n }\n },\n owner: {\n label: \"Propietario\"\n },\n state: {\n label: \"Estado\",\n options: {\n draft: \"Borrador\",\n active: \"Activo\",\n archived: \"Archivado\",\n deprecated: \"Obsoleto\"\n }\n },\n organization_id: {\n label: \"Organización\",\n help: \"Organización para el aislamiento multi-tenant.\"\n },\n project_id: {\n label: \"Proyecto (obsoleto)\",\n help: \"OBSOLETO. Use organization_id para el aislamiento del tenant.\"\n },\n version: {\n label: \"Versión\"\n },\n checksum: {\n label: \"Checksum\"\n },\n source: {\n label: \"Origen\",\n options: {\n filesystem: \"Sistema de archivos\",\n database: \"Base de datos\",\n api: \"API\",\n migration: \"Migración\"\n }\n },\n tags: {\n label: \"Etiquetas\",\n help: \"Matriz serializada en JSON de etiquetas de clasificación.\"\n },\n created_by: {\n label: \"Creado por\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_by: {\n label: \"Actualizado por\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n }\n },\n sys_metadata_history: {\n label: \"Historial de metadatos\",\n pluralLabel: \"Historial de metadatos\",\n description: \"Historial de versiones y registro de auditoría de cambios de metadatos\",\n fields: {\n id: {\n label: \"ID\"\n },\n metadata_id: {\n label: \"Metadatos\"\n },\n name: {\n label: \"Nombre\"\n },\n type: {\n label: \"Tipo de metadatos\"\n },\n version: {\n label: \"Versión\"\n },\n operation_type: {\n label: \"Tipo de operación\",\n options: {\n create: \"Crear\",\n update: \"Actualizar\",\n publish: \"Publicar\",\n revert: \"Revertir\",\n delete: \"Eliminar\"\n }\n },\n metadata: {\n label: \"Metadatos\",\n help: \"Instantánea de metadatos serializada en JSON para esta versión.\"\n },\n checksum: {\n label: \"Checksum\"\n },\n previous_checksum: {\n label: \"Checksum anterior\"\n },\n change_note: {\n label: \"Nota de cambio\",\n help: \"Descripción de lo que cambió en esta versión.\"\n },\n organization_id: {\n label: \"Organización\",\n help: \"Organización para el aislamiento multi-tenant.\"\n },\n project_id: {\n label: \"ID del entorno\",\n help: \"Limita esta entrada de historial a un entorno específico.\"\n },\n recorded_by: {\n label: \"Registrado por\"\n },\n recorded_at: {\n label: \"Registrado el\"\n }\n }\n },\n sys_setting: {\n label: \"Ajuste\",\n pluralLabel: \"Ajustes\",\n description: \"Almacén K/V genérico que respalda el contrato SettingsManifest.\",\n fields: {\n id: {\n label: \"ID de ajuste\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n },\n namespace: {\n label: \"Espacio de nombres\",\n help: \"Espacio de nombres del manifiesto (p. ej. mail, branding, feature_flags).\"\n },\n key: {\n label: \"Clave\",\n help: \"Clave del especificador dentro del espacio de nombres (snake_case).\"\n },\n scope: {\n label: \"Ámbito\",\n help: \"Capa de la jerarquía de resolución de configuración a la que pertenece esta fila.\",\n options: {\n global: \"Global\",\n tenant: \"Tenant\",\n user: \"Usuario\",\n runtime: \"Runtime\"\n }\n },\n user_id: {\n label: \"Usuario\",\n help: \"Usuario propietario cuando scope=user; null en caso contrario.\"\n },\n value: {\n label: \"Valor\",\n help: \"Valor codificado en JSON. Null cuando encrypted=true (véase value_enc).\"\n },\n encrypted: {\n label: \"Cifrado\",\n help: \"Si es verdadero, el valor se almacena cifrado en reposo en value_enc; la columna value es null.\"\n },\n locked: {\n label: \"Bloqueado\",\n help: \"Si es verdadero, las filas de ámbitos inferiores no pueden sobrescribir este valor; las escrituras contra ámbitos inferiores devuelven 409. Lo utilizan los administradores de la plataforma para fijar un valor global para todos los tenants (cascada Fase 2).\"\n },\n locked_reason: {\n label: \"Motivo del bloqueo\",\n help: \"Explicación legible que se muestra en el tooltip de la UI cuando locked=true.\"\n },\n value_enc: {\n label: \"Valor cifrado\",\n help: \"Payload de texto cifrado (envuelto con KMS). Se establece solo cuando encrypted=true.\"\n },\n updated_by: {\n label: \"Actualizado por\",\n help: \"Último actor que escribió esta fila mediante SettingsService.set().\"\n }\n },\n _views: {\n by_namespace: {\n label: \"Por espacio de nombres\"\n },\n tenant_only: {\n label: \"Tenant\"\n },\n user_only: {\n label: \"Usuario\"\n },\n all_settings: {\n label: \"Todos\"\n }\n }\n },\n sys_secret: {\n label: \"Secreto\",\n pluralLabel: \"Secretos\",\n description: \"Almacén cifrado al que hacen referencia los identificadores de sys_setting. Nunca contiene texto sin formato.\",\n fields: {\n id: {\n label: \"ID\",\n help: \"Identificador opaco al que hace referencia `sys_setting.value_enc`.\"\n },\n created_at: {\n label: \"Creado el\",\n help: \"Momento en que se escribió por primera vez el cifrado.\"\n },\n rotated_at: {\n label: \"Rotado el\",\n help: \"Momento en que el cifrado se volvió a envolver por última vez con una nueva clave KMS.\"\n },\n namespace: {\n label: \"Espacio de nombres\",\n help: \"Espacio de nombres de ajustes al que pertenece este secreto.\"\n },\n key: {\n label: \"Clave\",\n help: \"Clave del especificador dentro del espacio de nombres.\"\n },\n kms_key_id: {\n label: \"ID de clave KMS\",\n help: \"Identificador externo de KMS (ARN, ID de recurso de GCP o `local`).\"\n },\n alg: {\n label: \"Algoritmo\",\n help: \"Etiqueta del algoritmo de cifrado/AEAD.\"\n },\n version: {\n label: \"Versión\",\n help: \"Se incrementa cada vez que rotateKey() vuelve a envolver esta fila.\"\n },\n ciphertext: {\n label: \"Texto cifrado\",\n help: \"Blob de texto cifrado codificado por el proveedor (base64 / JSON). La implementación lo define; solo el ICryptoProvider correspondiente puede leerlo.\"\n }\n }\n },\n sys_setting_audit: {\n label: \"Registro de auditoría de ajustes\",\n pluralLabel: \"Auditoría de ajustes\",\n description: \"Registro de auditoría append-only para mutaciones de SettingsService.\",\n fields: {\n id: {\n label: \"ID\"\n },\n created_at: {\n label: \"Creado el\",\n help: \"Momento en que se registró la mutación.\"\n },\n namespace: {\n label: \"Espacio de nombres\"\n },\n key: {\n label: \"Clave\"\n },\n scope: {\n label: \"Ámbito\",\n help: \"Capa de cascada en la que se escribió la fila.\",\n options: {\n global: \"Global\",\n tenant: \"Tenant\",\n user: \"Usuario\"\n }\n },\n action: {\n label: \"Acción\",\n help: \"Tipo de mutación.\",\n options: {\n set: \"Establecer\",\n reset: \"Restablecer\",\n lock: \"Bloquear\",\n unlock: \"Desbloquear\",\n rotate: \"Rotar\"\n }\n },\n actor_id: {\n label: \"Actor\",\n help: \"Usuario que realizó la mutación; null para tareas del sistema.\"\n },\n source: {\n label: \"Origen\",\n help: \"Punto de entrada de la mutación.\",\n options: {\n ui: \"UI\",\n api: \"API\",\n migration: \"Migración\",\n import: \"Importar\",\n system: \"System\"\n }\n },\n reason: {\n label: \"Motivo\",\n help: \"Justificación en texto libre proporcionada por el actor (opcional).\"\n },\n old_hash: {\n label: \"Old Hash\",\n help: \"SHA-256 del valor anterior (canonicalizado). Null cuando antes no estaba establecido.\"\n },\n new_hash: {\n label: \"New Hash\",\n help: \"SHA-256 del valor nuevo (canonicalizado). Null al restablecer.\"\n },\n encrypted: {\n label: \"Cifrado\",\n help: \"Verdadero cuando el campo contiene material secreto (la rotación es relevante).\"\n },\n request_id: {\n label: \"ID de solicitud\",\n help: \"Se correlaciona con sys_audit_log / tracing.\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { TranslationData } from '@objectstack/spec/system';\nimport { esESObjects } from './es-ES.objects.generated.js';\n\n/**\n * Español (es-ES) — Setup App Translations\n */\nexport const esES: TranslationData = {\n objects: esESObjects,\n apps: {\n setup: {\n label: 'Configuración',\n description: 'Configuración y administración de la plataforma',\n navigation: {\n group_overview: { label: 'Resumen' },\n group_people_org: { label: 'Personas y Organización' },\n group_access_control: { label: 'Control de Acceso' },\n group_approvals: { label: 'Aprobaciones' },\n group_configuration: { label: 'Configuración' },\n group_diagnostics: { label: 'Diagnóstico' },\n group_advanced: { label: 'Avanzado' },\n\n nav_system_overview: { label: 'Resumen del Sistema' },\n nav_security_overview: { label: 'Resumen de Seguridad' },\n\n nav_users: { label: 'Usuarios' },\n nav_departments: { label: 'Departamentos' },\n nav_teams: { label: 'Equipos' },\n nav_organizations: { label: 'Organizaciones' },\n nav_invitations: { label: 'Invitaciones' },\n\n nav_roles: { label: 'Roles' },\n nav_permission_sets: { label: 'Conjuntos de Permisos' },\n nav_sharing_rules: { label: 'Reglas de Compartición' },\n nav_record_shares: { label: 'Registros Compartidos' },\n nav_api_keys: { label: 'Claves API' },\n\n nav_approval_processes: { label: 'Procesos' },\n nav_approval_requests: { label: 'Solicitudes' },\n nav_approval_actions: { label: 'Historial de Acciones' },\n\n nav_settings_hub: { label: 'Todos los Ajustes' },\n nav_settings_mail: { label: 'Correo' },\n nav_settings_branding: { label: 'Marca' },\n nav_settings_feature_flags: { label: 'Indicadores de Funcionalidad' },\n\n nav_sessions: { label: 'Sesiones' },\n nav_audit_logs: { label: 'Registros de Auditoría' },\n nav_notifications: { label: 'Notificaciones' },\n\n nav_oauth_apps: { label: 'Aplicaciones OAuth' },\n nav_jwks: { label: 'Claves de Firma (JWKS)' },\n nav_verifications: { label: 'Verificaciones' },\n nav_two_factor: { label: 'Doble Factor' },\n nav_device_codes: { label: 'Códigos de Dispositivo' },\n nav_accounts: { label: 'Enlaces de Identidad' },\n nav_user_preferences: { label: 'Preferencias de Usuario' },\n nav_metadata: { label: 'Todos los Metadatos' },\n },\n },\n },\n\n dashboards: {\n system_overview: {\n label: 'Resumen del Sistema',\n description: 'Estado de la plataforma, sesiones y actividad de auditoría',\n widgets: {\n widget_active_sessions: { title: 'Sesiones Activas', description: 'Número de sesiones de usuario activas en este momento' },\n widget_total_users: { title: 'Usuarios Totales', description: 'Total de usuarios registrados en el sistema' },\n widget_organizations: { title: 'Organizaciones', description: 'Total de organizaciones en la plataforma' },\n widget_packages_installed: { title: 'Paquetes Instalados', description: 'Instalaciones de paquetes activas en los proyectos' },\n widget_audit_actions: { title: 'Acciones de Auditoría', description: 'Distribución de eventos de auditoría por tipo de acción' },\n widget_active_orgs: { title: 'Sesiones por Organización', description: 'Sesiones activas agrupadas por organización' },\n widget_recent_events: { title: 'Eventos de Auditoría Recientes', description: 'Últimos eventos de la plataforma' },\n },\n },\n\n security_overview: {\n label: 'Resumen de Seguridad',\n description: 'Eventos de seguridad, autenticación y registros de auditoría',\n widgets: {\n widget_login_events: { title: 'Eventos de Inicio de Sesión', description: 'Eventos de autenticación registrados por el log de auditoría' },\n widget_permission_changes: { title: 'Cambios de Permisos', description: 'Modificaciones recientes de permisos y roles' },\n widget_config_changes: { title: 'Cambios de Configuración', description: 'Modificaciones de configuración del sistema' },\n widget_active_sessions: { title: 'Sesiones Activas', description: 'Sesiones de usuario actualmente activas' },\n widget_events_by_type: { title: 'Eventos de Auditoría por Tipo', description: 'Distribución de eventos de seguridad y auditoría' },\n widget_events_by_user: { title: 'Eventos por Usuario', description: 'Distribución de actividad entre usuarios' },\n widget_recent_security_events: { title: 'Eventos de Seguridad Recientes', description: 'Últimos cambios de permisos y configuración' },\n },\n },\n },\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { TranslationBundle } from '@objectstack/spec/system';\nimport { en } from './en.js';\nimport { zhCN } from './zh-CN.js';\nimport { jaJP } from './ja-JP.js';\nimport { esES } from './es-ES.js';\n\n/**\n * Setup App — Internationalization (i18n)\n *\n * Mirrors the CRM example's `per_locale` convention: each language lives\n * in its own file (`en.ts`, `zh-CN.ts`, `ja-JP.ts`, `es-ES.ts`) and is\n * assembled into a single `TranslationBundle` here.\n *\n * Loaded into the kernel's i18n service by `plugin-auth` during\n * `kernel:ready` (auth is the natural registration point for the Setup\n * App — see `auth-plugin.ts`).\n *\n * Supported locales: en, zh-CN, ja-JP, es-ES.\n */\nexport const SetupAppTranslations: TranslationBundle = {\n en,\n 'zh-CN': zhCN,\n 'ja-JP': jaJP,\n 'es-ES': esES,\n};\n"]}
|