Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .changeset/24405-mcp-connect-agent-subtitle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'@objectstack/mcp': patch
---

Clause-②: no (copy only: no accept set or public surface moves; owes the seat's review of record at `TIER_DEFAULT` before the queue)

fix(mcp): the Connect-an-Agent page subtitle says "this system"

- **What changed.** The Connect-an-Agent page header now reads "Give any MCP-capable AI client governed access to this system — every call runs under the caller's own permissions and row-level security." Inside the running system, user-facing copy names the system the caller is in as "this system".
- **Unchanged.** The page's name, layout, components and navigation entries, and every MCP route and payload.
11 changes: 11 additions & 0 deletions .changeset/24405-platform-objects-this-system.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
'@objectstack/platform-objects': patch
---

Clause-②: no (copy only: no accept set or public surface moves; owes the seat's review of record at `TIER_DEFAULT` before the queue)

fix(platform-objects): SSO provider, OAuth application and Connect-an-Agent copy says "this system"

- **What changed.** Inside the running system, user-facing copy names the system the user is in as "this system". The `sys_sso_provider` object description ("External SSO identity providers (OIDC / SAML) this system federates login to"), the `clientId` help text of its Register SSO Provider action ("OAuth client ID issued by the IdP for this system."), and the OAuth applications grid's empty state ("Register an application to let its clients sign users in with this system.") now say so. The `en` copy of the Connect-an-Agent page subtitle follows the page's new text.
- **Translations.** The zh-CN, ja-JP and es-ES values of the same strings are re-translated, and the recorded source hash of the Connect-an-Agent subtitle moves to the new English text in all three, so those locales keep serving their translation rather than falling back to English.
- **Unchanged.** Every object, field, action and page name, and all behaviour.
2 changes: 1 addition & 1 deletion packages/mcp/src/connect-ui.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export const CONNECT_AGENT_PAGE: Page = {
properties: {
title: 'Connect an Agent',
subtitle:
'Give any MCP-capable AI client governed access to this environment — ' +
'Give any MCP-capable AI client governed access to this system — ' +
'every call runs under the caller\'s own permissions and row-level security.',
// `icon` removed here (#6946): `page:header` never drew one — retired from the spec.
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1491,7 +1491,7 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
label: "All",
emptyState: {
title: "No OAuth applications yet",
message: "Register an application to let its clients sign users in with this environment."
message: "Register an application to let its clients sign users in with this system."
}
},
mine: {
Expand Down Expand Up @@ -1894,7 +1894,7 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
sys_sso_provider: {
label: "SSO Provider",
pluralLabel: "SSO Providers",
description: "External SSO identity providers (OIDC / SAML) this environment federates login to",
description: "External SSO identity providers (OIDC / SAML) this system federates login to",
fields: {
id: {
label: "ID"
Expand Down Expand Up @@ -1965,7 +1965,7 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
},
clientId: {
label: "Client ID",
helpText: "OAuth client ID issued by the IdP for this environment."
helpText: "OAuth client ID issued by the IdP for this system."
},
clientSecret: {
label: "Client Secret",
Expand Down
2 changes: 1 addition & 1 deletion packages/platform-objects/src/apps/translations/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ export const en: TranslationData = {
connect_agent: {
label: 'Connect an Agent',
subtitle:
'Give any MCP-capable AI client governed access to this environment — '
'Give any MCP-capable AI client governed access to this system — '
+ "every call runs under the caller's own permissions and row-level security.",
},

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1491,7 +1491,7 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
label: "Todas",
emptyState: {
title: "Aún no hay aplicaciones OAuth",
message: "Registra una aplicación para que sus clientes puedan iniciar la sesión de los usuarios con este entorno."
message: "Registra una aplicación para que sus clientes puedan iniciar la sesión de los usuarios con este sistema."
}
},
mine: {
Expand Down Expand Up @@ -1894,7 +1894,7 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
sys_sso_provider: {
label: "Proveedor SSO",
pluralLabel: "Proveedores SSO",
description: "Proveedores de identidad SSO externos (OIDC / SAML) a los que este entorno federa el inicio de sesión",
description: "Proveedores de identidad SSO externos (OIDC / SAML) a los que este sistema federa el inicio de sesión",
fields: {
id: {
label: "ID"
Expand Down Expand Up @@ -1965,7 +1965,7 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
},
clientId: {
label: "ID de cliente",
helpText: "ID de cliente OAuth emitido por el IdP para este entorno."
helpText: "ID de cliente OAuth emitido por el IdP para este sistema."
},
clientSecret: {
label: "Secreto de cliente",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ export const esESSourceHashes: Readonly<Record<string, string>> = {
'pages.cloud_connection_settings.label': '3a7caad0cb98e71d',
'pages.cloud_connection_settings.subtitle': 'f5cdd253e8ffef9f',
'pages.connect_agent.label': 'eeb174613510e87d',
'pages.connect_agent.subtitle': '2d0f9a000824e78a',
'pages.connect_agent.subtitle': 'b0d7c6d174511bcb',
'pages.sys_user_detail.label': '6c0d22a931e235bd',
'pages.sys_organization_detail.label': '3e55836156e1c1de',
};
2 changes: 1 addition & 1 deletion packages/platform-objects/src/apps/translations/es-ES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ export const esES: TranslationData = {
connect_agent: {
label: 'Conectar un agente',
subtitle:
'Concede a cualquier cliente de IA compatible con MCP acceso controlado a este entorno: '
'Concede a cualquier cliente de IA compatible con MCP acceso controlado a este sistema: '
+ 'cada llamada se ejecuta con los permisos propios de quien la realiza y con seguridad a nivel de fila.',
},

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1491,7 +1491,7 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
label: "すべて",
emptyState: {
title: "まだ OAuth アプリケーションがありません",
message: "アプリケーションを登録すると、そのクライアントがこの環境でユーザーをサインインさせられるようになります。"
message: "アプリケーションを登録すると、そのクライアントがこのシステムでユーザーをサインインさせられるようになります。"
}
},
mine: {
Expand Down Expand Up @@ -1894,7 +1894,7 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
sys_sso_provider: {
label: "SSO プロバイダー",
pluralLabel: "SSO プロバイダー",
description: "この環境がログインをフェデレーションする外部 SSO ID プロバイダー(OIDC / SAML)",
description: "このシステムがログインをフェデレーションする外部 SSO ID プロバイダー(OIDC / SAML)",
fields: {
id: {
label: "ID"
Expand Down Expand Up @@ -1965,7 +1965,7 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
},
clientId: {
label: "クライアント ID",
helpText: "この環境向けに IdP が発行した OAuth クライアント ID。"
helpText: "このシステム向けに IdP が発行した OAuth クライアント ID。"
},
clientSecret: {
label: "クライアントシークレット",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ export const jaJPSourceHashes: Readonly<Record<string, string>> = {
'pages.cloud_connection_settings.label': '3a7caad0cb98e71d',
'pages.cloud_connection_settings.subtitle': 'f5cdd253e8ffef9f',
'pages.connect_agent.label': 'eeb174613510e87d',
'pages.connect_agent.subtitle': '2d0f9a000824e78a',
'pages.connect_agent.subtitle': 'b0d7c6d174511bcb',
'pages.sys_user_detail.label': '6c0d22a931e235bd',
'pages.sys_organization_detail.label': '3e55836156e1c1de',
};
2 changes: 1 addition & 1 deletion packages/platform-objects/src/apps/translations/ja-JP.ts
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ export const jaJP: TranslationData = {
connect_agent: {
label: 'エージェントを接続',
subtitle:
'MCP 対応の AI クライアントにこの環境への統制されたアクセスを許可します。すべての呼び出しは、呼び出し元自身の権限と行レベルセキュリティのもとで実行されます。',
'MCP 対応の AI クライアントにこのシステムへの統制されたアクセスを許可します。すべての呼び出しは、呼び出し元自身の権限と行レベルセキュリティのもとで実行されます。',
},

// Platform record pages (#15743) -- see `en.ts` for the key set.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1491,7 +1491,7 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
label: "全部",
emptyState: {
title: "尚无 OAuth 应用",
message: "注册应用后,其客户端即可通过此环境让用户登录。"
message: "注册应用后,其客户端即可通过本系统让用户登录。"
}
},
mine: {
Expand Down Expand Up @@ -1894,7 +1894,7 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
sys_sso_provider: {
label: "SSO 提供方",
pluralLabel: "SSO 提供方",
description: "本环境用于联合登录的外部 SSO 身份提供方(OIDC / SAML)",
description: "本系统用于联合登录的外部 SSO 身份提供方(OIDC / SAML)",
fields: {
id: {
label: "ID"
Expand Down Expand Up @@ -1965,7 +1965,7 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
},
clientId: {
label: "客户端 ID",
helpText: "IdP 为本环境签发的 OAuth 客户端 ID。"
helpText: "IdP 为本系统签发的 OAuth 客户端 ID。"
},
clientSecret: {
label: "客户端密钥",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ export const zhCNSourceHashes: Readonly<Record<string, string>> = {
'pages.cloud_connection_settings.label': '3a7caad0cb98e71d',
'pages.cloud_connection_settings.subtitle': 'f5cdd253e8ffef9f',
'pages.connect_agent.label': 'eeb174613510e87d',
'pages.connect_agent.subtitle': '2d0f9a000824e78a',
'pages.connect_agent.subtitle': 'b0d7c6d174511bcb',
'pages.sys_user_detail.label': '6c0d22a931e235bd',
'pages.sys_organization_detail.label': '3e55836156e1c1de',
};
2 changes: 1 addition & 1 deletion packages/platform-objects/src/apps/translations/zh-CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ export const zhCN: TranslationData = {
},
connect_agent: {
label: '连接智能体',
subtitle: '让任意支持 MCP 的 AI 客户端受控访问此环境——每次调用都在调用者自身的权限与行级安全范围内执行。',
subtitle: '让任意支持 MCP 的 AI 客户端受控访问本系统——每次调用都在调用者自身的权限与行级安全范围内执行。',
},

// Platform record pages (#15743) -- see `en.ts` for the key set.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ export const SysOauthApplication = ObjectSchema.create({
pagination: { pageSize: 50 },
emptyState: {
title: 'No OAuth applications yet',
message: 'Register an application to let its clients sign users in with this environment.',
message: 'Register an application to let its clients sign users in with this system.',
},
},
mine: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ export const SysSsoProvider = ObjectSchema.create({
reason: 'Identity table managed by better-auth (@better-auth/sso) — see ADR-0135 D6.',
docsUrl: 'https://objectstack.ai/docs/references/shared/protection',
},
description: 'External SSO identity providers (OIDC / SAML) this environment federates login to',
description: 'External SSO identity providers (OIDC / SAML) this system federates login to',
displayNameField: 'provider_id',
nameField: 'provider_id', // [ADR-0079] canonical primary-title pointer (mirrors deprecated displayNameField)
titleFormat: '{provider_id}',
Expand Down Expand Up @@ -109,7 +109,7 @@ export const SysSsoProvider = ObjectSchema.create({
{ name: 'providerId', label: 'Provider ID', type: 'text', required: true, helpText: 'Stable identifier, e.g. "okta" or "acme-entra".' },
{ name: 'issuer', label: 'Issuer URL', type: 'text', required: true, helpText: 'IdP issuer, e.g. https://acme.okta.com. Discovery is fetched from here unless an explicit URL is given below.' },
{ name: 'domain', label: 'Email Domain', type: 'text', required: true, helpText: 'Users with this email domain are routed to this IdP, e.g. acme.com.' },
{ name: 'clientId', label: 'Client ID', type: 'text', required: true, helpText: 'OAuth client ID issued by the IdP for this environment.' },
{ name: 'clientId', label: 'Client ID', type: 'text', required: true, helpText: 'OAuth client ID issued by the IdP for this system.' },
{ name: 'clientSecret', label: 'Client Secret', type: 'text', required: true, helpText: 'OAuth client secret (stored encrypted by better-auth).' },
{ name: 'discoveryEndpoint', label: 'Discovery URL', type: 'text', required: false, helpText: 'Optional. OIDC discovery document URL. Leave blank to derive `<issuer>/.well-known/openid-configuration`.' },
{ name: 'scopes', label: 'Scopes', type: 'text', required: false, placeholder: 'openid email profile', helpText: 'Optional. Space- or comma-separated OAuth scopes. Defaults to "openid email profile".' },
Expand Down
Loading