/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:225:name = "charset-normalizer"
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:228:sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" }
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:230:    { url = "https://files.pythonhosted.org/packages/c2/d7/b5b7020a0565c2e9fa8c09f4b5fa6232feb326b8c20081ccded47ea368fd/charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7", size = 309705, upload-time = "2026-04-02T09:26:02.191Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:231:    { url = "https://files.pythonhosted.org/packages/5a/53/58c29116c340e5456724ecd2fff4196d236b98f3da97b404bc5e51ac3493/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7", size = 206419, upload-time = "2026-04-02T09:26:03.583Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:232:    { url = "https://files.pythonhosted.org/packages/b2/02/e8146dc6591a37a00e5144c63f29fb7c97a734ea8a111190783c0e60ab63/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e", size = 227901, upload-time = "2026-04-02T09:26:04.738Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:233:    { url = "https://files.pythonhosted.org/packages/fb/73/77486c4cd58f1267bf17db420e930c9afa1b3be3fe8c8b8ebbebc9624359/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c", size = 222742, upload-time = "2026-04-02T09:26:06.36Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:234:    { url = "https://files.pythonhosted.org/packages/a1/fa/f74eb381a7d94ded44739e9d94de18dc5edc9c17fb8c11f0a6890696c0a9/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df", size = 214061, upload-time = "2026-04-02T09:26:08.347Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:235:    { url = "https://files.pythonhosted.org/packages/dc/92/42bd3cefcf7687253fb86694b45f37b733c97f59af3724f356fa92b8c344/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265", size = 199239, upload-time = "2026-04-02T09:26:09.823Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:236:    { url = "https://files.pythonhosted.org/packages/4c/3d/069e7184e2aa3b3cddc700e3dd267413dc259854adc3380421c805c6a17d/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4", size = 210173, upload-time = "2026-04-02T09:26:10.953Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:237:    { url = "https://files.pythonhosted.org/packages/62/51/9d56feb5f2e7074c46f93e0ebdbe61f0848ee246e2f0d89f8e20b89ebb8f/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e", size = 209841, upload-time = "2026-04-02T09:26:12.142Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:238:    { url = "https://files.pythonhosted.org/packages/d2/59/893d8f99cc4c837dda1fe2f1139079703deb9f321aabcb032355de13b6c7/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38", size = 200304, upload-time = "2026-04-02T09:26:13.711Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:239:    { url = "https://files.pythonhosted.org/packages/7d/1d/ee6f3be3464247578d1ed5c46de545ccc3d3ff933695395c402c21fa6b77/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c", size = 229455, upload-time = "2026-04-02T09:26:14.941Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:240:    { url = "https://files.pythonhosted.org/packages/54/bb/8fb0a946296ea96a488928bdce8ef99023998c48e4713af533e9bb98ef07/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b", size = 210036, upload-time = "2026-04-02T09:26:16.478Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:241:    { url = "https://files.pythonhosted.org/packages/9a/bc/015b2387f913749f82afd4fcba07846d05b6d784dd16123cb66860e0237d/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c", size = 224739, upload-time = "2026-04-02T09:26:17.751Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:242:    { url = "https://files.pythonhosted.org/packages/17/ab/63133691f56baae417493cba6b7c641571a2130eb7bceba6773367ab9ec5/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d", size = 216277, upload-time = "2026-04-02T09:26:18.981Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:243:    { url = "https://files.pythonhosted.org/packages/06/6d/3be70e827977f20db77c12a97e6a9f973631a45b8d186c084527e53e77a4/charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad", size = 147819, upload-time = "2026-04-02T09:26:20.295Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:244:    { url = "https://files.pythonhosted.org/packages/20/d9/5f67790f06b735d7c7637171bbfd89882ad67201891b7275e51116ed8207/charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00", size = 159281, upload-time = "2026-04-02T09:26:21.74Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:245:    { url = "https://files.pythonhosted.org/packages/ca/83/6413f36c5a34afead88ce6f66684d943d91f233d76dd083798f9602b75ae/charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1", size = 147843, upload-time = "2026-04-02T09:26:22.901Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:246:    { url = "https://files.pythonhosted.org/packages/0c/eb/4fc8d0a7110eb5fc9cc161723a34a8a6c200ce3b4fbf681bc86feee22308/charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46", size = 311328, upload-time = "2026-04-02T09:26:24.331Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:247:    { url = "https://files.pythonhosted.org/packages/f8/e3/0fadc706008ac9d7b9b5be6dc767c05f9d3e5df51744ce4cc9605de7b9f4/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2", size = 208061, upload-time = "2026-04-02T09:26:25.568Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:248:    { url = "https://files.pythonhosted.org/packages/42/f0/3dd1045c47f4a4604df85ec18ad093912ae1344ac706993aff91d38773a2/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b", size = 229031, upload-time = "2026-04-02T09:26:26.865Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:249:    { url = "https://files.pythonhosted.org/packages/dc/67/675a46eb016118a2fbde5a277a5d15f4f69d5f3f5f338e5ee2f8948fcf43/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a", size = 225239, upload-time = "2026-04-02T09:26:28.044Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:250:    { url = "https://files.pythonhosted.org/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116", size = 216589, upload-time = "2026-04-02T09:26:29.239Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:251:    { url = "https://files.pythonhosted.org/packages/b1/f1/6d2b0b261b6c4ceef0fcb0d17a01cc5bc53586c2d4796fa04b5c540bc13d/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb", size = 202733, upload-time = "2026-04-02T09:26:30.5Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:252:    { url = "https://files.pythonhosted.org/packages/6f/c0/7b1f943f7e87cc3db9626ba17807d042c38645f0a1d4415c7a14afb5591f/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1", size = 212652, upload-time = "2026-04-02T09:26:31.709Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:253:    { url = "https://files.pythonhosted.org/packages/38/dd/5a9ab159fe45c6e72079398f277b7d2b523e7f716acc489726115a910097/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15", size = 211229, upload-time = "2026-04-02T09:26:33.282Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:254:    { url = "https://files.pythonhosted.org/packages/d5/ff/531a1cad5ca855d1c1a8b69cb71abfd6d85c0291580146fda7c82857caa1/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5", size = 203552, upload-time = "2026-04-02T09:26:34.845Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:255:    { url = "https://files.pythonhosted.org/packages/c1/4c/a5fb52d528a8ca41f7598cb619409ece30a169fbdf9cdce592e53b46c3a6/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d", size = 230806, upload-time = "2026-04-02T09:26:36.152Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:256:    { url = "https://files.pythonhosted.org/packages/59/7a/071feed8124111a32b316b33ae4de83d36923039ef8cf48120266844285b/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7", size = 212316, upload-time = "2026-04-02T09:26:37.672Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:257:    { url = "https://files.pythonhosted.org/packages/fd/35/f7dba3994312d7ba508e041eaac39a36b120f32d4c8662b8814dab876431/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464", size = 227274, upload-time = "2026-04-02T09:26:38.93Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:258:    { url = "https://files.pythonhosted.org/packages/8a/2d/a572df5c9204ab7688ec1edc895a73ebded3b023bb07364710b05dd1c9be/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49", size = 218468, upload-time = "2026-04-02T09:26:40.17Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:259:    { url = "https://files.pythonhosted.org/packages/86/eb/890922a8b03a568ca2f336c36585a4713c55d4d67bf0f0c78924be6315ca/charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c", size = 148460, upload-time = "2026-04-02T09:26:41.416Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:260:    { url = "https://files.pythonhosted.org/packages/35/d9/0e7dffa06c5ab081f75b1b786f0aefc88365825dfcd0ac544bdb7b2b6853/charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6", size = 159330, upload-time = "2026-04-02T09:26:42.554Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:261:    { url = "https://files.pythonhosted.org/packages/9e/5d/481bcc2a7c88ea6b0878c299547843b2521ccbc40980cb406267088bc701/charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d", size = 147828, upload-time = "2026-04-02T09:26:44.075Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:262:    { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:263:    { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:264:    { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303, upload-time = "2026-04-02T09:26:48.397Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:265:    { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282, upload-time = "2026-04-02T09:26:49.684Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:266:    { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:267:    { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986, upload-time = "2026-04-02T09:26:52.197Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:268:    { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711, upload-time = "2026-04-02T09:26:53.49Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:269:    { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:270:    { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998, upload-time = "2026-04-02T09:26:56.303Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:271:    { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056, upload-time = "2026-04-02T09:26:57.554Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:272:    { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537, upload-time = "2026-04-02T09:26:58.843Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:273:    { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176, upload-time = "2026-04-02T09:27:00.437Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:274:    { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:275:    { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085, upload-time = "2026-04-02T09:27:03.192Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:276:    { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819, upload-time = "2026-04-02T09:27:04.454Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:277:    { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915, upload-time = "2026-04-02T09:27:05.971Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:278:    { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:389:    { name = "charset-normalizer" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:411:    { name = "charset-normalizer", specifier = "==3.4.7" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:1587:    { name = "charset-normalizer" },
/home/hyc/projects/agent-sdk/packages/comate_cli/uv.lock:1601:    { name = "charset-normalizer" },
/home/hyc/projects/agent-sdk/packages/comate_cli/pyproject.toml:30:    "charset-normalizer==3.4.7",
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-tui-first-repaint-before-sdk-submit.md:15:- User-visible problem: on Windows cmd/PowerShell, first Enter appears stuck even when local submit profiling shows `_submit_from_input()` and `session.send()` are fast.
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-tui-first-repaint-before-sdk-submit.md:27:- Pressing Enter for an idle normal user message immediately creates local staging/loading state.
/home/hyc/projects/agent-sdk/packages/comate_cli/CONTEXT.md:42:The point at which staged terminal output is appended to terminal scrollback and can no longer be replaced. An open Streaming Markdown Container remains transient until its closing boundary or a normal turn boundary makes it complete.
/home/hyc/projects/agent-sdk/packages/comate_cli/CONTEXT.md:192:- A normally completed turn may add a synthetic closing delimiter before the **Immutable Scrollback Commit**. An interrupted turn discards its uncommitted container instead.
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:244:        normalized = _normalize_locale(os.environ.get(env_var))
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:245:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:246:            return normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:251:    return _normalize_locale(lang) or "en"
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:303:        normalized = _normalize_locale(candidate)
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:304:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:305:            return normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md:309:> 说明：`_normalize_locale` 对任意非空字符串都返回 `zh_cn/zh_tw/ja/en`（仅对空/None 返回 None），因此循环会命中第一个候选——即第一个非空 env 变量，语义与原实现一致；env 全空时才用 Windows API 或 `getlocale()`。
/home/hyc/projects/agent-sdk/packages/comate_cli/CHANGELOG.md:12:  档位由 `/config` 新增项「Reply pacing」控制（`off / slow 500ms / normal 350ms / fast 100ms`，默认 slow，落点
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py:21:    留在进程级缓存里永不关闭（CPython 3.11–3.13 的 FastPath.zip_children 把 zipfile.Path
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py:64:    """Best-effort tty restore guard for abnormal shutdown paths."""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py:396:    Raises _ArgumentError (fail-fast) so a typo'd directory never silently
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/distribution.py:128:        normalized = str(self.base_url).strip().rstrip("/")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/distribution.py:129:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/distribution.py:135:        object.__setattr__(self, "base_url", normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:15:from comate_agent_sdk.utils.paths import PathInput, normalize_path_input
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:20:from comate_agent_sdk.utils.yaml_utils import normalize_frontmatter_source
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:73:    resolved_project_root = normalize_path_input(project_root, field_name="project_root")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:74:    resolved_user_root = normalize_path_input(
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:186:    content = normalize_frontmatter_source(raw_content)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:254:    resolved_project_root = normalize_path_input(project_root, field_name="project_root")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:255:    normalized_args = raw_args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:257:        arg_tokens = shlex.split(normalized_args) if normalized_args else []
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:263:        raw_args=normalized_args,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:266:    if normalized_args and not used_arg_placeholder:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:269:        replaced_text = f"{replaced_text.rstrip()}\n\nARGUMENTS: {normalized_args}"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py:270:        arg_spans = ((arg_start, arg_start + len(normalized_args)),)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight_wizard.py:57:    "LOW": "Fastest for quick answers",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight_wizard.py:361:        normalized = endpoint.strip() if endpoint is not None else ""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight_wizard.py:362:        resolved = normalized or None
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/stream_pacer.py:29:    "slow": 0.5,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/stream_pacer.py:30:    "normal": 0.35,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/stream_pacer.py:31:    "fast": 0.1,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skill_slash_input.py:154:    normalized_prefix = str(prefix or "").lower()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skill_slash_input.py:159:        if command.name.lower().startswith(normalized_prefix)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:189:        normalized_key = key.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:190:        normalized_value = value.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:191:        if not normalized_key:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:193:        headers[normalized_key] = normalized_value
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:205:        normalized_key = key.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:206:        if not normalized_key:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:208:        env[normalized_key] = value
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:219:def _normalize_add_unknown_args(unknown: list[str]) -> list[str]:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:400:    normalized = str(status or "").strip().lower()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:401:    if normalized == "connected" or (normalized in {"", "idle"} and connected):
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:403:    if normalized == "connecting":
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py:730:        setattr(parsed, "extra_args", _normalize_add_unknown_args(extra_args))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py:9:from comate_agent_sdk.utils.paths import PathInput, normalize_path_input
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py:303:            else normalize_path_input(project_root, field_name="project_root")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py:308:    resolved_root = normalize_path_input(
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mcp_serve.py:27:from mcp.server.fastmcp import Context, FastMCP
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mcp_serve.py:28:from mcp.server.fastmcp.exceptions import ToolError
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mcp_serve.py:41:    """serve 业务错误基类；FastMCP 工具层转成 ToolError(isError) 返回调用方。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mcp_serve.py:260:    '- stop_reason: "completed" for a normal finish\n'
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mcp_serve.py:319:def build_mcp_serve_server(host: McpServeHost) -> FastMCP:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mcp_serve.py:320:    server = FastMCP(
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/layout_coordinator.py:51:        normalized_fps = max(4, min(int(target_fps), 24))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/layout_coordinator.py:53:        self._target_fps = normalized_fps
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:130:def _normalized_tool_name(tool_name: str) -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:141:    normalized = _normalized_tool_name(tool_name)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:142:    if normalized.startswith(_MCP_TOOL_PREFIX):
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:144:    if normalized == _BASH_TOOL_NAME:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:150:    if normalized in _FILE_WRITE_TOOL_NAMES:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:156:    return _FOLDABLE_TOOL_KINDS.get(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:267:    if _normalized_tool_name(tool_name) == _BASH_TOOL_NAME:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:503:        normalized_id = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:504:        if not normalized_id:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:506:        if any(item.tool_call_id == normalized_id for item in self._items):
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:511:                tool_call_id=normalized_id,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:537:        normalized_id = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:539:            if item.tool_call_id != normalized_id:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:560:        normalized_id = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:562:        if not normalized_id or not text:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:565:            if item.tool_call_id != normalized_id or item.completed:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:572:        normalized_id = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_fold.py:573:        return any(item.tool_call_id == normalized_id for item in self._items)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:30:_DECODE_SPEED_FAST_THRESHOLD = 100.0
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:31:_DECODE_SPEED_SLOW_THRESHOLD = 30.0
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:37:    if tokens_per_second >= _DECODE_SPEED_FAST_THRESHOLD:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:39:    if tokens_per_second < _DECODE_SPEED_SLOW_THRESHOLD:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:168:        normalized = str(model).strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:169:        return normalized or "unknown-model"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:172:    def _normalize_display_mode(mode: object) -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:174:        normalized = _MODE_ALIASES.get(text.lower(), text)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:175:        return normalized if normalized in _DISPLAY_MODES else "bypassPermissions"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:181:            return cls._normalize_display_mode(get_permission_mode())
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:190:        normalized = str(model_name).strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:191:        self._model_name = normalized or "unknown-model"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:202:        self._mode = self._normalize_display_mode(mode)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:205:        normalized = str(tool_name or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:206:        self._waiting_approval_tool = normalized or None
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:401:            normalized = max(0.0, min(utilization, 100.0))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:402:            self._context_used_pct = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:403:            self._context_left_pct = max(0.0, 100.0 - normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:539:        normalized = max(0, int(seconds))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:540:        if normalized < 60:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:541:            return f"{normalized}s"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:542:        minutes = normalized // 60
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py:543:        secs = normalized % 60
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:52:        normalized_phase = phase.strip(".")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:54:            normalized_phase = f"{self._prefix}.{normalized_phase}"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:58:                f"startup_profile phase={normalized_phase} elapsed_ms={elapsed_ms:.3f}"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:82:        normalized_prefix = prefix.strip(".")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:83:        if self._prefix and normalized_prefix:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:84:            normalized_prefix = f"{self._prefix}.{normalized_prefix}"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:86:            normalized_prefix = self._prefix
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup_profile.py:91:            prefix=normalized_prefix,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/i18n/_en.py:45:    "effort_option_low": "Fast and cheap; quick answers",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/i18n/_en.py:46:    "effort_option_max": "Deepest reasoning; slow and expensive",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/i18n/_en.py:84:        "incomplete (does not affect normal use)."
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:43:def _normalize_path_for_display(path_str: str | None, project_root: Path | None) -> str | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:64:def _normalize_cwd_for_display(cwd: str | None, project_root: Path | None) -> str | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:66:    return _normalize_path_for_display(cwd, project_root)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:156:def _normalize_todo(item: dict[str, Any]) -> TodoItemState | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:178:        normalized = _normalize_todo(item)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:179:        if normalized is not None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:180:            todos.append(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:229:def _normalize_inline(content: str) -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:356:            prompt_text = _normalize_inline(raw_prompt)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:395:            prompt_text = _normalize_inline(raw_prompt)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:503:        name = _normalize_inline(str(meta.name).strip())
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:504:        description = _normalize_inline(str(meta.description).strip())
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:532:        path_display = _normalize_path_for_display(path, project_root) or ""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:575:        path_display = _normalize_path_for_display(path, project_root) or ""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:594:        cwd_display = _normalize_cwd_for_display(cwd, project_root)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:704:        normalized = max(int(source_total_tokens), 0)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:705:        state.baseline_source_tokens = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:708:        self._latest_tokens_by_source_prefix[state.subagent_source_prefix] = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:722:            normalized_tokens = max(int(tokens), 0)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:723:            state.task_tokens = normalized_tokens
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:724:            state.last_progress_tokens = normalized_tokens
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:727:            normalized_elapsed = max(float(elapsed_ms), 0.0)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py:728:            state.started_at_monotonic = time.monotonic() - (normalized_elapsed / 1000)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/figures.py:36:LIGHTNING_BOLT = "↯"         # ↯ — fast mode 指示
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/figures.py:115:FAST_PLAY_ICON = "⏵"         # ⏵ — YOLO mode（成对使用 ⏵⏵）
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/picker_state.py:64:_STREAM_PACING_VALUES: tuple[StreamPacingPreset, ...] = ("off", "slow", "normal", "fast")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/picker_state.py:72:    "off": "Lines appear as fast as the model streams them.",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/picker_state.py:73:    "slow": "Default. " + _ms_per_line("slow"),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/picker_state.py:74:    "normal": _ms_per_line("normal"),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/picker_state.py:75:    "fast": _ms_per_line("fast"),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/picker_state.py:78:    "LOW": "Fastest, cheapest. Good for simple tasks.",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:199:        normalized = model.lower()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:200:        if normalized in _VALID_MODEL_LEVELS:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:201:            snapshot = snapshot.with_model_level(normalized.upper())  # type: ignore[arg-type]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:253:        normalized_pacing = raw_pacing.strip().lower()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:254:        if normalized_pacing in _VALID_STREAM_PACING:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:255:            snapshot = snapshot.with_stream_pacing(normalized_pacing)  # type: ignore[arg-type]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:269:        normalized = raw_model.strip().lower()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:270:        if normalized in _VALID_MODEL_LEVELS:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:271:            snapshot = snapshot.with_model_level(normalized.upper())  # type: ignore[arg-type]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:378:    normalized = str(name).strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:379:    if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:393:            if normalized not in current:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:394:                current.append(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/store.py:396:            current = [entry for entry in current if entry != normalized]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/animations.py:392:        normalized = hint.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/animations.py:393:        new_value = normalized or None
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_result_formatters.py:501:def _normalize_diff_line(line: str) -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_result_formatters.py:585:    normalized_lines = [_normalize_diff_line(line) for line in diff_lines]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_result_formatters.py:586:    syntax = _build_diff_syntax(file_path, normalized_lines) if syntax_highlight else None
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_result_formatters.py:594:    for line in normalized_lines:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/model.py:13:StreamPacingPreset = Literal["off", "slow", "normal", "fast"]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/model.py:21:    stream_pacing: StreamPacingPreset = "slow"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py:118:      表示调用方应切回 NORMAL。
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py:119:    - ``clear()``：清空所有状态（用于 NORMAL 切回后释放引用）。
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py:182:        """释放 transient 引用（NORMAL 切回时调用）。
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/config/picker.py:69:        """返回 (saved, error_messages)。供 tui.py 在 mode 切回 NORMAL 后落 history。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py:556:        if getattr(self, "_ui_mode", UIMode.NORMAL) is UIMode.JOBS:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_freeze_timing.py:30:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_freeze_timing.py:109:            _edge(tui, previous)  # NORMAL → TOOL_APPROVAL：freeze
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_freeze_timing.py:127:    _edge(tui, previous)  # NORMAL → JOBS：不冻结，段照跑
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_freeze_timing.py:153:    _edge(tui, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_builtin_slash_chain.py:197:        """default scope 走 fail-fast（解析失败 raise），warnings 永远为空。
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_question.py:50:    async def test_answer_response_is_normalized_and_forwarded(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_question.py:100:    async def test_reject_with_feedback_payload_normalizes_to_pure_reject(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py:35:    FAST_PLAY_ICON,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py:562:            left_main = f"{FAST_PLAY_ICON}{FAST_PLAY_ICON} YOLO mode on "
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py:748:        且是高度大户，一律让位（对齐 queue/staging 的 NORMAL-only 先例）；
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py:1078:        if getattr(self, "_ui_mode", None) != UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_preflight.py:305:        self.assertEqual(config["display"], {"thinking": False, "stream_pacing": "slow"})
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_preflight.py:349:        self.assertEqual(config["display"], {"thinking": False, "stream_pacing": "slow"})
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_preflight.py:381:        self.assertEqual(config["display"], {"thinking": True, "stream_pacing": "slow"})
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_preflight.py:534:                "LOW": "acme-fast",
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_preflight.py:609:        self.assertEqual(wizard._draft["LOW"].model, "acme-fast")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_preflight.py:623:        self.assertEqual(options_by_value["edit:LOW"].description, "Fastest for quick answers ∙ deepseek-v4-flash")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_preflight.py:691:                "LOW": "acme-fast",
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:4:弹框一个焦点」，对齐 queue/staging 的 NORMAL-only 先例；隐藏不清状态，退出
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:58:def test_todo_panel_visible_when_busy_normal_mode() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:59:    host = _PanelHost(ui_mode=UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:69:    host = _PanelHost(ui_mode=UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:71:    host_no_content = _PanelHost(ui_mode=UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:86:    意图是「弹框态才让位」，不是「只要非 NORMAL 就让位」——BTW / SELECTION /
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:97:        UIMode.NORMAL,
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:232:    assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:298:    assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:311:    必须是 async：反向锚定切回 NORMAL 后输入区可见，BufferControl 的
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:324:        normal_empty = measure()
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:347:        assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:348:        normal_full = measure()
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:352:    assert normal_full > normal_empty
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:432:    assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_modal_panel_visibility.py:522:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_edit_handlers.py:100:        self.assertEqual(host._ui_modes, [UIMode.NORMAL])
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_edit_handlers.py:139:        self.assertEqual(host._ui_modes, [UIMode.NORMAL])
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_edit_handlers.py:151:        self.assertEqual(host._ui_modes, [UIMode.NORMAL])
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:584:            normalized_line = line.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:585:            if not normalized_line:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:587:            pieces.extend(re.split(r" (?=/|~|[A-Za-z]:\\)", normalized_line))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:814:    def _handle_normal_enter_key(
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:862:    def _normalize_submit_text(raw_text: str) -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:878:                    self._normalize_submit_text(raw_text.replace(placeholder, payload, 1))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:882:        submit_text = repair_surrogates(self._normalize_submit_text(raw_text))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:1039:        if self._ui_mode != UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:1040:            self._first_turn_mark("input.submit_from_input.non_normal_mode")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:1105:                normalized_slash = display_text.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:1106:                parsed = parse_slash_command_call(normalized_slash)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py:1118:                self._schedule_background(self._execute_command(normalized_slash))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/markdown_render.py:61:def _normalized_width(width: int) -> int:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/markdown_render.py:67:        width=_normalized_width(width),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/markdown_render.py:251:            width=_normalized_width(width),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_placeholder.py:45:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_placeholder.py:185:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_placeholder.py:233:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_placeholder.py:278:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_placeholder.py:298:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_placeholder.py:325:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:74:        # NORMAL 下隐藏；守卫激活后显示且输入区隐藏。
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:95:        # 守卫激活 + 底层 NORMAL：守卫可见，输入区隐藏。
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:97:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:183:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:227:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:271:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:290:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:374:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:375:        tui._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:398:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:404:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:417:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:492:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:595:    normalized = name.lower().replace("-", "")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:596:    if normalized.startswith("c") and len(normalized) == 2:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:597:        return key_name.endswith(f"control{normalized[1]}")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:598:    if normalized == "enter":
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_exit_guard.py:600:    return key_name.endswith(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_broker.py:16:            {"label": "Fast", "description": "Finish sooner"},
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:249:        normal_mode = _mode_condition(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:718:                self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:727:                self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:988:        @bindings.add("c-j", filter=normal_mode, eager=True)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:992:        @bindings.add("c-v", filter=normal_mode, eager=True)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:998:        @bindings.add("escape", "v", filter=normal_mode, eager=True)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1003:        @bindings.add("enter", filter=normal_mode, eager=True)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1006:            if self._handle_normal_enter_key(buffer, event):
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1034:        @bindings.add("tab", filter=normal_mode)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1055:        @bindings.add("s-tab", filter=normal_mode & has_completions)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1060:        @bindings.add("s-tab", filter=normal_mode & ~has_completions)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1065:        @bindings.add("up", filter=normal_mode & ~todo_panel_expanded)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1078:        @bindings.add("down", filter=normal_mode & ~todo_panel_expanded)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1089:        @bindings.add("escape", filter=normal_mode)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1218:        @bindings.add("c-o", filter=normal_mode)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1234:            filter=normal_mode & Condition(lambda: self._should_show_todo_panel()),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1242:        @bindings.add("c-t", filter=normal_mode)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1255:        @bindings.add("up", filter=normal_mode & todo_panel_expanded)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py:1262:        @bindings.add("down", filter=normal_mode & todo_panel_expanded)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/provider_snapshot.py:85:def _normalize_url(value: object) -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/provider_snapshot.py:86:    from comate_agent_sdk.utils.base_url import normalize_base_url
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/provider_snapshot.py:88:    return normalize_base_url(value) or ""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/provider_snapshot.py:115:            if _normalize_url(snapshot.base_url) != _normalize_url(preset.base_url):
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_transcript_viewer.py:203:            normalized = {"pagedown": "pagedown", "pageup": "pageup"}.get(key, key)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_transcript_viewer.py:205:                if any(getattr(bound, "value", bound) == normalized for bound in binding.keys):
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:83:        normalized = str(tool_name).strip() or "unknown"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:84:        self.tool_calls[normalized] = self.tool_calls.get(normalized, 0) + 1
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:87:        normalized = str(command_name).strip().lstrip("/")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:88:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:89:            self.slash_commands[normalized] = (
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:90:                self.slash_commands.get(normalized, 0) + 1
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:234:        normalized = validate_session_id(str(session_id))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:235:        if self._session_id is not None and self._session_id != normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:238:                f"{self._session_id!r} -> {normalized!r}"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:240:        self._session_id = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_report.py:241:        return normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_context_activation.py:110:        self.tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_context_activation.py:134:        self.tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_slash_clear.py:217:            async def slow_clear() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_slash_clear.py:221:            commands._session.clear_history = slow_clear
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:27:from comate_agent_sdk.utils.paths import normalize_path_input
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:120:        normalized = content.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:121:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:137:                normalized,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:143:            self._renderer.append_subtitle(normalized, severity=severity)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:145:        self._renderer.append_system_message(normalized, severity=severity)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:164:        normalized = command.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:171:        self._active_slash_command_display = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:177:                    f"Unknown command: {normalized}",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:186:                    f"Unknown command: {normalized}",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:287:        directory = normalize_path_input(raw_path, field_name="directory")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:368:        normalized = args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:370:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:371:            if normalized in {"--details", "-d"}:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:382:        normalized = args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:383:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:389:        if normalized.startswith("--budget"):
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:390:            await self._slash_goal_create_with_optional_budget(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:393:        command, _, remainder = normalized.partition(" ")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:445:            self._session.create_goal(normalized),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:449:    async def _slash_goal_create_with_optional_budget(self, normalized: str) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:450:        parts = normalized.split(maxsplit=2)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:535:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:546:            self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:554:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:630:        normalized = args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:631:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:859:        normalized = args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:860:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:877:        normalized = args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:878:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:894:            self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:899:            question=normalized,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1362:                self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1416:                # Success: return to NORMAL mode without going back to the menu.
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1417:                self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1670:        normalized_args = args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1672:        if normalized_args:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1673:            text = f"{text} {normalized_args}"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1687:        normalized_args = args.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1691:                raw_args=normalized_args,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1709:        if normalized_args:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1710:            display_text = f"/{command_name} {normalized_args}"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1717:                command_args=normalized_args or None,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1953:        if self._ui_mode != UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:1980:        if self._ui_mode is not UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2013:                self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2030:        if self._ui_mode is not UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2069:                self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2073:        """切回 NORMAL；按 result 类型决定 history 提示。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2077:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2094:        if self._ui_mode != UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2118:        """切回 NORMAL；按 result 类型决定 history 提示。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2127:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2162:        """Handle the plugin picker handler return value and switch back to NORMAL mode."""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2169:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2178:        """Close the marketplace install panel and switch back to NORMAL mode."""
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2181:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2358:        from comate_agent_sdk.llm.effort import InvalidEffortLevelError, normalize_effort
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2365:                target = normalize_effort(raw, source="/effort")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2534:            normalize_output_style,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:2543:                target = normalize_output_style(raw, source="/output-style")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3001:        normalized = str(text).rstrip("\r\n") if preserve_trailing_space else str(text).strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3002:        if not normalized.strip() and not image_parts:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3009:            normalized, restored_chips, seed = align_restored_chips(
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3010:                normalized,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3019:            max(chip_numbers_in_text(normalized), default=0),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3021:        self._last_input_len = len(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3022:        self._last_input_text = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3028:                Document(normalized, cursor_position=len(normalized)),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py:3082:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:89:    normalized = [
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:92:    represented = sum(tokens for tokens, _, _ in normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:94:        normalized.append((limit - represented, CELL_FREE, theme.CONTEXT_FREE_COLOR))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:102:        divmod(tokens * total_cells, denominator) for tokens, _, _ in normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:107:        range(len(normalized)),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:110:            normalized[index][1],
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:111:            normalized[index][2],
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/context_view.py:119:    for index, ((_, char, color), count) in enumerate(zip(normalized, counts)):
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/announcements.py:56:                    priority=str(item.get("priority", "normal")),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/announcements.py:70:            normalized = str(ann_id).strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/announcements.py:71:            if normalized and normalized not in existing:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/announcements.py:72:                seen.append(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/announcements.py:73:                existing.add(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_title.py:29:    normalize_session_title,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_title.py:50:    "normalize_session_title",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_title.py:92:        normalized = str(text).strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_title.py:93:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/session_title.py:94:            self.first_user_input = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:246:    normalized = content.replace("\r\n", "\n").replace("\r", "\n")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:248:    blocks = normalized.split("\n\n")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:304:    _NON_BLOCKING_UI_MODES = frozenset({UIMode.NORMAL})
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:378:        self._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:754:            Condition(lambda: self._ui_mode == UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:770:            filter=Condition(lambda: self._mode_layer_visible(UIMode.NORMAL)),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:973:        mode = getattr(self, "_ui_mode", UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1005:        if previous is UIMode.NORMAL and current is not UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1327:        if self._ui_mode is not UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1434:        self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1469:            self._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1475:        return self._ui_mode == UIMode.NORMAL and bool(self._queued_human_messages())
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1479:            self._ui_mode == UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1550:        # default scope（随包 md 资源）先加载，fail-fast；不进 builtin_names，
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1666:                "Failed to normalize input history file %s; continuing with FileHistory",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:1684:        if self._ui_mode != UIMode.NORMAL:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:2503:                    and self._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:2822:            or self._ui_mode != UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:2987:        fast = (
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3000:        sleep_s = 1 / 6 if fast else 1 / 4
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3112:        normalized_source = str(source or "unknown").strip() or "unknown"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3113:        self._exit_source = normalized_source
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3116:            normalized_source,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3143:                normalized_source,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3146:            self._exit_app(source=normalized_source)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3150:            self._open_exit_guard(running, idle_count, source=normalized_source)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3152:        self._exit_app(source=normalized_source)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3258:        normalized_source = str(source or self._exit_source or "unknown").strip() or "unknown"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3259:        self._exit_source = normalized_source
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py:3262:            normalized_source,
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_sigint_key_binding.py:32:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_history_printer_log.py:86:        HistoryEntry(entry_type="log", text="net slow", severity="warning", log_subtype="background"),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_history_printer_log.py:90:    assert "net slow" in out
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_history_printer_log.py:215:        HistoryEntry(entry_type="log", text="Slow network", severity="warning", log_subtype="notice"),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_history_printer_log.py:218:    assert "Slow network" in out
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/client.py:56:    priority: str = "normal"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/backend/client.py:171:                        priority=str(item.get("priority", "normal")),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/ui_mode.py:7:    NORMAL = "normal"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py:259:            return "Token estimation using fallback (working normally)"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py:367:    normalized = raw.upper()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py:368:    if normalized not in _VALID_LOG_LEVELS:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py:377:    return getattr(logging, normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/goal_resume_view.py:140:        normalized = " ".join(str(objective).split())
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/goal_resume_view.py:141:        if len(normalized) <= _OBJECTIVE_PREVIEW_MAX_CHARS:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/goal_resume_view.py:142:            return normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/goal_resume_view.py:143:        return f"{normalized[: _OBJECTIVE_PREVIEW_MAX_CHARS - 3]}..."
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/question.py:29:def _normalize_answer(raw: Any) -> dict[str, Any] | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/question.py:43:def _normalize_client_response(raw: Any) -> dict[str, Any]:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/question.py:53:            answer = _normalize_answer(raw_answer)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/question.py:115:            return _normalize_client_response(raw)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/locale.py:53:        normalized = _normalize_locale(candidate)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/locale.py:54:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/locale.py:55:            return normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/locale.py:59:def _normalize_locale(raw_locale: object) -> str | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/locale.py:77:    """Map a normalized locale key to the CLI interface language.
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py:76:    normalized_primary = " ".join(primary.strip().split()) or _NO_USER_PLACEHOLDER
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py:79:        primary_text=_truncate(normalized_primary),
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py:125:    normalized_query = query.strip().lower()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py:126:    if not normalized_query:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py:131:        if normalized_query in item.primary_text.lower():
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py:134:        if item.cwd_short and normalized_query in item.cwd_short.lower():
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/approval.py:37:def _normalize_client_decision(raw: Any) -> dict[str, Any]:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/approval.py:129:            return _normalize_client_decision(raw)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py:348:    # spec 对照 claude code utils/messages.ts:740 normalizeMessages：
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:8:from comate_agent_sdk.llm.effort import EffortResolution, normalize_effort
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:65:        self._effort = normalize_effort(effort)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:108:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:195:        self.assertEqual(h._ui_modes, [UIMode.SELECTION, UIMode.NORMAL])
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:232:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:243:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:251:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:261:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_slash_command.py:278:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:269:            normalized_page_size = 0  # 0 = 自适应视口
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:271:            normalized_page_size = max(1, min(int(page_size), total))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:272:        self._state.page_size = normalized_page_size
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:641:        page_size = self._normalized_page_size()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:872:    def _normalized_page_size(self) -> int:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:887:        page_size = self._normalized_page_size()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:974:            "label": "LOW  - Fast & Cheap",
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:989:    normalized = current_level.upper().strip() or "MID"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:991:        if opt["value"] == normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/selection_menu.py:995:    context = [effort_hint(normalized)] if effort_hint is not None else []
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skills_menu.py:67:def _normalized(path: Path) -> Path | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skills_menu.py:71:        logger.warning("Failed to normalize skill path %s; source falls back to user", path)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skills_menu.py:95:        resolved = _normalized(base_dir)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skills_menu.py:98:            # 走同名 fail-fast，磁盘轨的定案语义是被同名 skill 静默覆盖。所以来源
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skills_menu.py:100:            bundled_root = _normalized(bundled_skills_dir())
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/skills_menu.py:115:    home = _normalized(Path.home())
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_approval_view.py:37:def _normalize_badge_part(value: object) -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_approval_view.py:488:        agent_type = _normalize_badge_part(payload.get("agent_type"))
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_stream_pacer.py:56:        否则 fast 档在 6fps 主循环下永远跑不到 10 行/秒。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_stream_pacer.py:174:        [("off", 0.0), ("slow", 0.5), ("normal", 0.35), ("fast", 0.1)],
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py:145:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py:646:    def test_retry_detail_is_hidden_outside_normal_mode(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py:148:        def slow_load_all(*args, **kwargs):  # noqa: ANN001, ANN202
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py:159:            patch("comate_agent_sdk.plugins.PluginLoader.load_all", side_effect=slow_load_all),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py:208:            namespace="slow",
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py:215:        def slow_load_all(*args, **kwargs):  # noqa: ANN001, ANN202
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py:226:            patch("comate_agent_sdk.plugins.PluginLoader.load_all", side_effect=slow_load_all),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_shutdown_cancel_propagation.py:29:    async def _slow_to_cancel_tick() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_shutdown_cancel_propagation.py:37:    tick_task = asyncio.create_task(_slow_to_cancel_tick(), name="test-ui-tick")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_context_view.py:103:    def test_over_limit_portions_are_proportionally_normalized(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_context_view.py:359:    def test_multi_category_overflow_grid_and_legend_are_normalized(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py:208:    normalized = name.lower().replace("-", "")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py:209:    if normalized.startswith("c") and len(normalized) == 2:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py:210:        return key_name.endswith(f"control{normalized[1]}")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py:211:    return key_name.endswith(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py:417:        host._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tab_title.py:35:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tab_title.py:133:    tui._after_mode_change(UIMode.NORMAL, tui._ui_mode)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_effort_menu_frame_rate.py:60:    def test_rainbow_menu_gets_the_fast_lane(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:92:        normalized = phase.strip(".")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:94:            normalized = f"{self._prefix}.{normalized}"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:95:        self.phases.append(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:98:        normalized = prefix.strip(".")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:99:        if self._prefix and normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:100:            normalized = f"{self._prefix}.{normalized}"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:102:            normalized = self._prefix
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:103:        return _RecordingProfiler(prefix=normalized, phases=self.phases)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:390:        class _SlowAsyncClient:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:391:            async def __aenter__(self) -> "_SlowAsyncClient":
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:414:            patch("httpx.AsyncClient", side_effect=lambda **_: _SlowAsyncClient()),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:432:        def _slow_ssl_context() -> object:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py:463:            patch("comate_cli.terminal_agent.update_check._get_update_check_ssl_context", side_effect=_slow_ssl_context),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_pty_smoke.py:10:fast path（假 key，构造 Agent 不发网络请求）；tiktoken 预热与 update check
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_auto_title.py:561:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:123:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:126:    TerminalAgentTUI._set_ui_mode(tui, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:173:    assert tui._ui_mode == UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:263:    tui = _make_question_state_tui(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:274:    tui = _make_question_state_tui(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:278:    assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:350:    tui = _make_question_state_tui(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:420:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:478:        assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:492:        TerminalAgentTUI._set_ui_mode(tui, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_tui.py:555:        assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_surrogate_repair.py:67:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:224:    normalized = args_summary.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:225:    if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:226:        return f"{tool_name}({normalized})"
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:990:        normalized_id = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:991:        if normalized_id:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:992:            self._tool_args_progress.pop(normalized_id, None)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:995:        normalized_id = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:996:        if not normalized_id:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:999:        state = self._tool_args_progress.get(normalized_id)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1001:            self._tool_args_progress[normalized_id] = _ToolArgsProgressState(
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1002:                tool_call_id=normalized_id,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1012:        normalized_id = str(event.tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1013:        if not normalized_id:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1015:        state = self._tool_args_progress.get(normalized_id)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1093:        normalized = content.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1094:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1109:            self._append_history_entry(HistoryEntry(entry_type="user", text=normalized))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1110:            self._maybe_append_file_ref_hint(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1114:        normalized = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1115:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1116:            self._committed_question_rejections.add(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1127:        normalized = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1128:        if normalized not in self._committed_question_rejections:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1131:        self._committed_question_rejections.discard(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1366:        normalized = text.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1367:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1370:            HistoryEntry(entry_type="file_ref", text=normalized, severity=severity)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1379:        normalized = content.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1380:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1383:            content=normalized,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1389:            HistoryEntry(entry_type="system", text=normalized, severity=severity)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1393:        normalized = content.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1394:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1398:            HistoryEntry(entry_type="recap", text=normalized, severity="info")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1440:        normalized = command.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1442:        if normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1444:                HistoryEntry(entry_type="user", text=normalized, local_command=True)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1457:        normalized_command = command.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1458:        normalized_content = content.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1460:        if normalized_command:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1463:                    entry_type="user", text=normalized_command, local_command=True
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1466:        if normalized_content:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1470:                    text=normalized_content,
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1484:        normalized = message.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1485:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1488:            self._pending_logs.append((severity, normalized, log_subtype))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1561:        normalized = content.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1562:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1566:            HistoryEntry(entry_type="elapsed", text=normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1570:        normalized = content.strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1571:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1574:        self._append_history_entry(HistoryEntry(entry_type="assistant", text=normalized))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1587:        normalized_limit = max(1, int(limit))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1613:            if len(entries) + lines_to_add > normalized_limit:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1669:        return entries[:normalized_limit]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1677:        normalized_limit = max(1, int(limit))
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1678:        if len(lines) <= normalized_limit:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1681:        clipped = lines[: normalized_limit - 1]
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1682:        clipped.append(f"{ELLIPSIS} (+{len(lines) - (normalized_limit - 1)})")
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1935:        normalized = list(tasks) if tasks else []
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1936:        if not normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1942:        all_completed = all(str(item.get("status", "")).strip().lower() == "completed" for item in normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1945:            t for t in normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1952:            header = _task_stats_header(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1957:            self._current_tasks = normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:1968:        total = len(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2081:                    normalized_message_id = str(message_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2082:                    if normalized_message_id and normalized_message_id != self._active_text_message_id:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2083:                        self._active_text_message_id = normalized_message_id
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2098:                normalized_id = str(tool_call_id or "").strip()
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2099:                if normalized_id and normalized_id not in self._pending_tool_starts:
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2100:                    self._pending_tool_starts.add(normalized_id)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2101:                    self._start_tool_args_progress(normalized_id, tool_name)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2381:                        normalized = max(float(elapsed_ms), 0.0)
/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py:2382:                        state.started_at_monotonic = time.monotonic() - (normalized / 1000)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:13:    _normalize_client_decision,
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:111:class TestNormalizeNewFields(unittest.TestCase):
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:113:        result = _normalize_client_decision(
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:117:        result_false = _normalize_client_decision(
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:128:                result = _normalize_client_decision(
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:134:        result = _normalize_client_decision(
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:142:            _normalize_client_decision({"decision": "allow", "feedback": "  "}),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py:147:            _normalize_client_decision({"decision": "deny", "reason": "old"}),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_view.py:630:                        {"label": "Fast", "description": "f"},
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_slash_command.py:75:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_slash_command.py:460:        self.assertEqual(app._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py:89:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py:313:        self.assertEqual(app._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py:756:        self.assertEqual(app._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py:963:        self.assertEqual(app._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py:993:        self.assertEqual(app._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py:164:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py:266:    normalized = name.lower().replace("-", "")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py:267:    if normalized.startswith("c") and len(normalized) == 2:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py:268:        return key_name.endswith(f"control{normalized[1]}")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py:269:    return key_name.endswith(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_loading_modal_suppression.py:51:        UIMode.NORMAL,
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_loading_modal_suppression.py:73:def test_normal_mode_keeps_running_tool_panel_visible() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_loading_modal_suppression.py:74:    host = _Host(ui_mode=UIMode.NORMAL, running=True)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py:73:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py:167:    normalized = name.lower().replace("-", "")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py:168:    if normalized.startswith("c") and len(normalized) == 2:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py:169:        return key_name.endswith(f"control{normalized[1]}")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py:170:    return key_name.endswith(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py:216:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py:427:    def test_rendered_authored_input_with_separate_images_fails_fast(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_backend_feedback.py:258:        host._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_backend_feedback.py:314:        sentinel = RuntimeError("fell through to normal submit")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_llm_retry_panel.py:73:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_llm_retry_panel.py:140:                tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_llm_retry_panel.py:157:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_llm_retry_panel.py:169:    def test_retry_detail_hidden_outside_normal_mode(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_llm_retry_panel.py:187:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_local_interactive_barrier.py:22:    _NON_BLOCKING_UI_MODES = frozenset({UIMode.NORMAL})
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_local_interactive_barrier.py:26:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_local_interactive_barrier.py:55:def test_normal_mode_clears_local_interactive_barrier() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_local_interactive_barrier.py:59:    harness._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_local_interactive_barrier.py:66:def test_all_current_non_normal_modes_set_local_interactive_barrier() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_local_interactive_barrier.py:69:    modes = set(UIMode) - {UIMode.NORMAL}
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_local_interactive_barrier.py:109:    assert harness._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_ctrl_c_clear_input.py:46:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_approval_view.py:1289:def test_source_badge_normalizes_whitespace_and_control_characters() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_store.py:109:    def test_record_normalizes_tool_name_to_lowercase(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_custom_slash_commands.py:245:        # default scope 是开发者维护的可信资源；解析失败必须 fail-fast
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_jobs_panel.py:156:    def test_failed_detail_keeps_chinese_ps_hint_and_normalizes_summary(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_jobs_panel.py:637:    def test_bash_running_row_normalizes_multiline_description(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:4:- T1 空参数 → Usage 错，mode 仍 NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:6:- T3 ESC → cancel fork + 回 NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:77:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:99:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:111:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:114:    def test_t2_normal_path_switches_mode_and_calls_enter(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:135:    def test_on_exit_callback_resets_to_normal(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_btw_slash_command.py:141:        self.assertEqual(h._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_history_printer.py:483:    normalizeMessages 的"1 dot = 1 logical block"不变量）。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_stream_pacing.py:97:    def test_normal_stop_keeps_pacing_then_flushes_to_history(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_stream_pacing.py:165:    def test_new_turn_releases_previous_tail_instantly(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_stream_pacing.py:204:    def test_release_all_paced_lines_is_instant_and_ordered(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_input_history.py:102:    def test_truncate_normalizes_crlf_history(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_ui_mode_derivation.py:46:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_ui_mode_derivation.py:67:        assert tui._ui_mode is UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_ui_mode_derivation.py:87:        TerminalAgentTUI._set_ui_mode(tui, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_ui_mode_derivation.py:101:    TerminalAgentTUI._set_ui_mode(tui, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_ui_mode_derivation.py:150:    host._after_mode_change(UIMode.NORMAL, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_ui_mode_derivation.py:153:    host._after_mode_change(UIMode.NORMAL, UIMode.JOBS)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_view.py:171:    # --- Normal tools: always show ---
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_backend_provider_snapshot.py:205:def test_runtime_resolves_identity_once_normalizes_and_does_not_log_keys(caplog) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_pty_ctrl_c_exit.py:13:env-mode fast path，退出尾声 get_usage 为全零仍会打印 Token usage 行。
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_history_persistence.py:77:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_formatters.py:480:    def test_agent_normal_completion_preview_keeps_completed_metrics(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:59:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:160:        handled = tui._handle_normal_enter_key(buffer)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:169:        handled = tui._handle_normal_enter_key(buffer)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:190:        handled = tui._handle_normal_enter_key(buffer, event)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:203:        handled = tui._handle_normal_enter_key(buffer, event)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:214:        handled = tui._handle_normal_enter_key(buffer, event)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:225:        handled = tui._handle_normal_enter_key(buffer, event)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:237:        handled = tui._handle_normal_enter_key(buffer)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_paste_newline_guard.py:267:        handled = tui._handle_normal_enter_key(buffer)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_paused_hint.py:47:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:28:        normalized = phase.strip(".")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:30:            normalized = f"{self._prefix}.{normalized}"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:31:        self.phases.append(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:34:        normalized = prefix.strip(".")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:35:        if self._prefix and normalized:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:36:            normalized = f"{self._prefix}.{normalized}"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:38:            normalized = self._prefix
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py:39:        return _RecordingProfiler(prefix=normalized, phases=self.phases)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:450:            tool_name="mcp__srv__slow",
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:466:        self.assertEqual(fold.snapshot().latest_hint, 'srv - slow (MCP) {"q":"x"}')
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:472:        self.assertEqual(fold.snapshot().latest_hint, 'srv - slow (MCP) {"q":"x"}')
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:486:        self.assertEqual(fold.snapshot().latest_hint, 'srv - slow (MCP) {"q":"x"}')
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:493:        self.assertEqual(fold.snapshot(active=False).latest_hint, 'srv - slow (MCP) {"q":"x"}')
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:752:        fold.add_call(tool_call_id="m1", tool_name="mcp__srv__slow", args={"q": "x"}, started_at_monotonic=0.0)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:758:        self.assertEqual(fold.snapshot().items[0].hint, 'srv - slow (MCP) {"q":"x"}')
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_fold.py:821:    def test_scratchpad_paths_dedupe_after_normalisation(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_distribution_contract.py:119:    def test_sequence_inputs_are_normalized_to_tuples(self):
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_distribution_contract.py:252:    def test_backend_services_headers_normalized_to_dict(self):
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_cli.py:576:def test_mcp_add_oauth_flags_fail_fast_without_writing(
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_cli.py:628:def test_mcp_add_oauth_flags_after_remote_url_fail_fast_without_writing(
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_cli.py:653:def test_mcp_add_oauth_equals_flags_after_remote_url_fail_fast_without_writing(
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_stream_pacing_tick.py:45:    def test_tick_releases_a_line_and_takes_the_fast_lane(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_interrupt_queue_recall.py:58:        normalized = str(message_id)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_interrupt_queue_recall.py:59:        self.cancelled_single.append(normalized)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_interrupt_queue_recall.py:60:        self.call_order.append(f"cancel:{normalized}")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_interrupt_queue_recall.py:65:                if str(message.message_id) != normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_interrupt_queue_recall.py:130:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_interrupt_queue_recall.py:336:    async def test_cancel_failure_falls_back_to_normal_queued_flow(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py:497:        async def _slow_async_check(**kwargs) -> UpdateInfo | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py:518:                        _slow_async_check,
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_tui_idle_recap_integration.py:46:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_tui_idle_recap_integration.py:96:    def test_set_ui_mode_returning_to_normal_does_not_restore_or_cancel_again(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_tui_idle_recap_integration.py:100:        tui._set_ui_mode(UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_tui_idle_recap_integration.py:103:        self.assertIs(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_picker_ui.py:87:    assert "[ slow ]" in text
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_logo.py:323:    def test_print_logo_delegates_normalized_project_root_to_profile_renderer(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_output_style_slash_command.py:109:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_output_style_slash_command.py:295:        self.assertEqual(harness._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_output_style_slash_command.py:325:        self.assertEqual(harness._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_stream_staging.py:377:def test_normal_completed_stop_has_no_truncation_warning() -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_history_drain_throttle.py:112:        host._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_model.py:85:def test_default_stream_pacing_is_slow():
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_model.py:86:    """刷入节奏默认 slow（300ms/行）：用户上手后要求默认更慢。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_model.py:87:    assert ConfigSnapshot.default().stream_pacing == "slow"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_model.py:93:    fast = s.with_stream_pacing("fast")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_model.py:94:    assert fast.stream_pacing == "fast"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_model.py:95:    assert fast.display_thinking == s.display_thinking
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_model.py:96:    assert fast.recap_enabled == s.recap_enabled
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_backend_client.py:55:            raise httpx.ConnectTimeout("slow", request=request)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_backend_client.py:143:                            "priority": "normal",
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py:244:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py:301:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py:318:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py:338:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py:361:        tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py:116:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_jobs_picker.py:568:    _NON_BLOCKING_UI_MODES = frozenset({UIMode.NORMAL})
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_jobs_picker.py:574:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_jobs_picker.py:644:        self.assertEqual(host.modes, [UIMode.JOBS, UIMode.NORMAL])
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_jobs_picker.py:693:        self.assertEqual(host.modes, [UIMode.JOBS, UIMode.NORMAL])
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_jobs_picker.py:728:        self.assertEqual(host._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py:120:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py:231:    raise AssertionError("Cannot find normal-mode Tab binding.")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py:248:    def test_image_paste_bindings_schedule_once_only_in_normal_mode(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py:268:        host._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_resume_tui.py:98:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_resume_tui.py:141:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_resume_tui.py:157:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_resume_tui.py:173:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_goal_resume_tui.py:186:        self.assertEqual(tui._ui_mode, UIMode.NORMAL)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py:221:        self.assertIsNone(renderer._detect_fence_open("normal text"))
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py:314:        self.assertFalse(renderer._is_table_separator("normal text"))
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2077:    _DEFAULT_HINT = 'srv - slow (MCP) {"q":"x"}'
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2083:                tool="mcp__srv__slow", args={"q": "x"}, tool_call_id="tc_1"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2095:                tool_call_id="tc_1", tool="mcp__srv__slow", message="step one"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2106:                tool_call_id="tc_1", tool="mcp__srv__slow", message="step one"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2111:                tool_call_id="tc_1", tool="mcp__srv__slow", message="step two"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2128:                tool_call_id="tc_1", tool="mcp__srv__slow", message="mine"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2134:                tool_call_id="tc_other", tool="mcp__srv__slow", message="late"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2151:                tool_call_id="tc_1", tool="mcp__srv__slow", message="step 47 of 99"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2163:                tool="mcp__srv__slow", result="ok", tool_call_id="tc_1"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py:2186:                tool_call_id="tc_1", tool="mcp__srv__slow", message="step one"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_store_load.py:475:        json.dumps({"comate_cli": {"config": {"display": {"stream_pacing": "slow"}}}}),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_store_load.py:478:    assert store.load().stream_pacing == "slow"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_store_load.py:489:    assert s.stream_pacing == "slow"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_plugin_tui_components.py:831:    def test_normal_item_shows_circle(self):
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_zipapp_launcher_path.py:56:            importlib.metadata.FastPath.__new__.cache_clear()
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_split_invariance.py:28:        self.assertEqual(UIMode.NORMAL.value, "normal")
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_status_bar.py:290:        async def slow_branch() -> str:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_status_bar.py:294:        async def slow_diff() -> GitDiffStats | None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_status_bar.py:309:            patch.object(StatusBar, "_resolve_git_branch", side_effect=slow_branch),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_status_bar.py:310:            patch.object(StatusBar, "_resolve_git_diff_stats", side_effect=slow_diff),
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_preview.py:95:    tui._manual_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_preview.py:293:    def test_staging_panel_hidden_without_payload_or_outside_normal_mode(self) -> None:
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_selection_menu.py:206:        self.assertEqual(ui._normalized_page_size(), 5)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_viewer.py:73:            normalized = {"enter": "c-m"}.get(key, key)
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_viewer.py:76:                    getattr(bound, "value", bound) == normalized
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_store_save.py:89:        "display": {"thinking": True, "stream_pacing": "slow"},
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_store_save.py:118:        "display": {"thinking": False, "stream_pacing": "slow"},
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_store_save.py:262:    result = store.save(ConfigSnapshot.default().with_stream_pacing("fast"))
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_store_save.py:265:    assert data["comate_cli"]["config"]["display"] == {"thinking": False, "stream_pacing": "fast"}
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_picker_state.py:204:    """Tab 在 off/slow/normal/fast 四档间循环：这四档是和用户敲定的。"""
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_picker_state.py:210:    assert seen == ["slow", "normal", "fast", "off", "slow"]
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_picker_state.py:220:    assert [o.value for o in opts] == ["off", "slow", "normal", "fast"]
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_picker_state.py:227:    state.handle_down()  # slow → normal
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/config/test_picker_state.py:230:    assert state.draft.stream_pacing == "normal"
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_workflows_panel.py:453:    _NON_BLOCKING_UI_MODES = frozenset({UIMode.NORMAL})
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_workflows_panel.py:458:        self._ui_mode = UIMode.NORMAL
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_workflows_panel.py:504:        assert host.modes == [UIMode.WORKFLOWS, UIMode.NORMAL]
/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_workflows_panel.py:534:        assert host.modes == [UIMode.WORKFLOWS, UIMode.NORMAL]

899 matches
843 matched lines
143 files contained matches
434 files searched
137104 bytes printed
5549970 bytes searched
0.020141 seconds spent searching
0.021606 seconds
