fix(governance): 遮罩前端政策文字
This commit is contained in:
@@ -155,21 +155,23 @@ const literalPattern = (parts: string[], flags = 'g'): RegExp =>
|
||||
new RegExp(parts.map(escapePatternText).join(''), flags)
|
||||
|
||||
const PUBLIC_TEXT_REPLACEMENTS: Array<[RegExp, string]> = [
|
||||
[literalPattern(['工', '作', '視', '窗']), '內部協作環境'],
|
||||
[literalPattern(['對', '話', '內', '容']), '內部協作內容'],
|
||||
[literalPattern(['批', '准', '!', '繼', '續']), '內部短訊指令'],
|
||||
[literalPattern(['批', '准', '!']), '內部短訊指令'],
|
||||
[literalPattern(['In', ' app ', 'browser'], 'gi'), '內部瀏覽器狀態'],
|
||||
[literalPattern(['My', ' request ', 'for ', 'Codex'], 'gi'), '內部協作請求'],
|
||||
[literalPattern(['工', '作', '視', '窗']), '已遮罩來源'],
|
||||
[literalPattern(['對', '話', '內', '容']), '已遮罩內容'],
|
||||
[literalPattern(['批', '准', '!', '繼', '續']), '已遮罩短訊'],
|
||||
[literalPattern(['批', '准', '!']), '已遮罩短訊'],
|
||||
[literalPattern(['In', ' app ', 'browser'], 'gi'), '已遮罩瀏覽器狀態'],
|
||||
[literalPattern(['My', ' request ', 'for ', 'Codex'], 'gi'), '已遮罩請求'],
|
||||
[/browser_context/gi, 'redacted_browser_context'],
|
||||
[/codex_user_message/gi, 'redacted_user_message'],
|
||||
[/prompt_text/gi, 'redacted_prompt_text'],
|
||||
[/raw prompt/gi, '未脫敏提示內容'],
|
||||
[/raw_prompt/gi, 'redacted_prompt'],
|
||||
[/private reasoning/gi, '私有推理內容'],
|
||||
[/private reasoning/gi, '已遮罩推理內容'],
|
||||
[/private_reasoning/gi, 'redacted_private_reasoning'],
|
||||
[/chain of thought/gi, '推理鏈內容'],
|
||||
[/chain_of_thought/gi, 'redacted_chain_of_thought'],
|
||||
[/raw runtime payload/gi, '已遮罩執行資料'],
|
||||
[/raw_runtime_payload/gi, 'redacted_runtime_payload'],
|
||||
[/raw Telegram payload/gi, '原始 Telegram 載荷'],
|
||||
[/raw_telegram_payload/gi, 'redacted_telegram_payload'],
|
||||
[/raw tool output/gi, '原始工具輸出'],
|
||||
@@ -180,9 +182,11 @@ const PUBLIC_TEXT_REPLACEMENTS: Array<[RegExp, string]> = [
|
||||
[/authorization_header/gi, 'redacted_authorization_header'],
|
||||
[/secret value/gi, '機密明文'],
|
||||
[/secret_value/gi, 'redacted_secret_value'],
|
||||
[/work window transcript/gi, '內部協作逐字稿'],
|
||||
[/內部協作內容/gi, '已遮罩內容'],
|
||||
[/內部協作逐字稿/gi, '已遮罩逐字稿'],
|
||||
[/work window transcript/gi, '已遮罩逐字稿'],
|
||||
[/work_window_transcript/gi, 'redacted_work_window_transcript'],
|
||||
[/internal collaboration transcript/gi, '內部協作逐字稿'],
|
||||
[/internal collaboration transcript/gi, '已遮罩逐字稿'],
|
||||
]
|
||||
|
||||
function redactPublicText(value: string): string {
|
||||
@@ -6961,7 +6965,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 11, border: '0.5px solid #c8d2e3', borderRadius: 7, background: '#fff', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('runtimeReadbackPromotionGate.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#64727a', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{runtimeReadbackPromotionGate.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(runtimeReadbackPromotionGate.display_redaction_contract.frontend_display_policy)}
|
||||
</span>
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 6 }}>
|
||||
<Chip value={t('runtimeReadbackPromotionGate.flags.redactionRequired', { value: String(runtimeReadbackPromotionGate.display_redaction_contract.redaction_required) })} />
|
||||
@@ -7192,7 +7196,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 11, border: '0.5px solid #c8d2e3', borderRadius: 7, background: '#fff', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('ownerApprovedFixturePromotionGate.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#64727a', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{ownerApprovedFixturePromotionGate.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(ownerApprovedFixturePromotionGate.display_redaction_contract.frontend_display_policy)}
|
||||
</span>
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 6 }}>
|
||||
<Chip value={t('ownerApprovedFixturePromotionGate.flags.redactionRequired', { value: String(ownerApprovedFixturePromotionGate.display_redaction_contract.redaction_required) })} />
|
||||
@@ -11282,7 +11286,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 11, border: '0.5px solid #eee9dd', borderRadius: 7, background: '#faf9f3', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('liveReadModelGate.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#87867f', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{liveReadModelGate.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(liveReadModelGate.display_redaction_contract.frontend_display_policy)}
|
||||
</span>
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 6 }}>
|
||||
<Chip value={t('liveReadModelGate.labels.redactionRequired', { value: String(liveReadModelGate.display_redaction_contract.redaction_required) })} />
|
||||
@@ -11395,7 +11399,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 11, border: '0.5px solid #eee9dd', borderRadius: 7, background: '#faf9f3', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('redisDryRunGate.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#87867f', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{redisDryRunGate.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(redisDryRunGate.display_redaction_contract.frontend_display_policy)}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -11500,7 +11504,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 11, border: '0.5px solid #eee9dd', borderRadius: 7, background: '#faf9f3', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('learningWritebackPackage.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#87867f', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{learningWritebackPackage.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(learningWritebackPackage.display_redaction_contract.frontend_display_policy)}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -11605,7 +11609,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 11, border: '0.5px solid #eee9dd', borderRadius: 7, background: '#faf9f3', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('telegramReceiptPackage.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#87867f', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{telegramReceiptPackage.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(telegramReceiptPackage.display_redaction_contract.frontend_display_policy)}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -11818,7 +11822,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 11, border: '0.5px solid #eee9dd', borderRadius: 7, background: '#faf9f3', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('ownerDryRunPackage.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#87867f', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{ownerDryRunPackage.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(ownerDryRunPackage.display_redaction_contract.frontend_display_policy)}
|
||||
</span>
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 6 }}>
|
||||
<Chip value={t('ownerDryRunPackage.flags.actionButton', { value: String(ownerDryRunPackage.display_redaction_contract.action_button_allowed) })} />
|
||||
@@ -11992,7 +11996,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 12, border: '0.5px solid #e0ddd4', borderRadius: 7, background: '#fff', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('interactionProof.redactionTitle')}</SmallLabel>
|
||||
<span style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#87867f', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{interactionLearningProof.frontend_redaction.display_policy}
|
||||
{redactPublicText(interactionLearningProof.frontend_redaction.display_policy)}
|
||||
</span>
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 6 }}>
|
||||
<Chip value={t('interactionProof.labels.transcriptBlocked')} />
|
||||
@@ -13468,7 +13472,7 @@ export function AutomationInventoryTab() {
|
||||
<div style={{ padding: 12, border: '0.5px solid #e0ddd4', borderRadius: 7, background: '#fff', display: 'flex', flexDirection: 'column', gap: 8, minWidth: 0 }}>
|
||||
<SmallLabel>{t('serviceHealthNotification.redactionTitle')}</SmallLabel>
|
||||
<div style={{ fontFamily: "'DM Mono', monospace", fontSize: 10, color: '#87867f', lineHeight: 1.5, overflowWrap: 'anywhere' }}>
|
||||
{serviceHealthNotificationPolicy.display_redaction_contract.frontend_display_policy}
|
||||
{redactPublicText(serviceHealthNotificationPolicy.display_redaction_contract.frontend_display_policy)}
|
||||
</div>
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 6 }}>
|
||||
<Chip value={t('serviceHealthNotification.labels.transcriptAllowed', { value: String(serviceHealthNotificationPolicy.display_redaction_contract.conversation_transcript_display_allowed) })} />
|
||||
|
||||
Reference in New Issue
Block a user