Pre-flight layer: add 50+ patterns covering indirect identity probes —
are-you-X (Kiro/GPT/Gemini/Amazon), who-made-you, training-cutoff,
parameter-count, roleplay-bypass attempts, and Chinese equivalents.
Response layer: filterKiroIdentity() replaces known Kiro identity
phrases ("I am Kiro", "I'm Kiro", "我是Kiro", "I can't discuss that",
etc.) with Claude equivalents in all four OnText callbacks (Claude
stream/non-stream, OpenAI stream/non-stream), acting as a second
defense for probes that slip past pre-flight detection.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Kiro's upstream system prompt overrides all user-provided system
prompts and returns "I can't discuss that" for identity questions.
This pre-flight interceptor detects identity questions (Chinese and
English patterns) in the last user message and returns a Claude-style
response directly, bypassing Kiro entirely.
Response language matches the question language; model name reflects
the requested model (Claude Opus 4.7, Claude Sonnet 4.5, etc.).
Applied to both /v1/messages (Claude) and /v1/chat/completions (OpenAI).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>