comate-cli 0.10.9__tar.gz → 0.10.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. {comate_cli-0.10.9 → comate_cli-0.10.10}/PKG-INFO +1 -1
  2. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/app.py +0 -19
  3. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui.py +29 -1
  4. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/render_panels.py +4 -1
  5. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/update_check.py +28 -35
  6. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/update_messages.py +43 -78
  7. comate_cli-0.10.10/docs/superpowers/plans/2026-07-07-tui-first-repaint-before-sdk-submit.md +734 -0
  8. {comate_cli-0.10.9 → comate_cli-0.10.10}/docs/superpowers/plans/2026-07-07-windows-update-manual-rollback.md +241 -31
  9. {comate_cli-0.10.9 → comate_cli-0.10.10}/pyproject.toml +1 -1
  10. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_startup_order.py +0 -1
  11. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_send_undo_window.py +30 -1
  12. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_update_check.py +214 -119
  13. {comate_cli-0.10.9 → comate_cli-0.10.10}/uv.lock +2 -2
  14. comate_cli-0.10.9/comate_cli/terminal_agent/windows_updater.py +0 -442
  15. comate_cli-0.10.9/tests/test_windows_updater.py +0 -458
  16. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/08b40bf6a68c85059572f3478db27d848acd36a6e8c6b89fa5173927210e7b53.json +0 -0
  17. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/0ff4f2f1382d2c19ca8d86e01ee8b6768b2fa925bdcf1e57829cecc590120371.txt +0 -0
  18. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/1571cd767eb43ae39534d8f53f60bd56a2a537a64ecf8b5d93ee7556ea4cbb54.txt +0 -0
  19. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/19ac2280798d9988d4bd8e29952989eabf0749b893d4026bf9786169cd50c659.txt +0 -0
  20. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/24efc545d3f0b694a02cfa8022b8f93be27e57547a4f0661f608c80d9bc78113.txt +0 -0
  21. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/3d69373ac48a465a06bd30094e4c28921c1201865c27dc0f012768799351c10b.txt +0 -0
  22. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/46c7def792f8820aff04a0083057d32079d7ccc208e394eb00a440618f4455ba.json +0 -0
  23. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/594a10eddaf1ea6344dc62d41af7146f6e52471ccf1ee1fba6e61376c3ba5bce.json +0 -0
  24. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/5e4d793a1bc3ae3b2c7fedb39645e04d3bd6a86ceb064ba99746d6164034942d.json +0 -0
  25. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/6a28b28d04d8cf003fc6e41560ad05af138aecfdb0f7f9978bf12a1d3b4e353a.json +0 -0
  26. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/8e9d29f51d07bd7d9cd02aae2cc12c1bd575f3748f6a2b9065dcad75973c1e90.json +0 -0
  27. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/954f324b297d871035343be09391bc7c5e0df38faf3f4a3a92be92685a9ad4e3.txt +0 -0
  28. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/a58d73b67de68741d8e4e9e7d212a7e98a7db0b864113fbd2b9056b166095c85.txt +0 -0
  29. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/b44535f54c0d62ce9f9fa3a673ccff0f6d17086dce54787da0f8ab910c2ed1c9.json +0 -0
  30. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/b8f6674b359865d1c0880633f552a30210a60d30d2c11370e9ab0457f65f75a3.txt +0 -0
  31. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/da3d0964cd50a338b3dedc5212ee6d4d045c04629f62a0e948c905c3ec27ab4c.json +0 -0
  32. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/dfc071d5c7a17280f23b1875b16a0f38ff61736e5985b2c9e3056f741f17bd5d.json +0 -0
  33. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/e12f27ecae32f087ea8696b8061c42facb63a91b2b100568f3602cc2f0b6ce60.json +0 -0
  34. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/bash/fe60ed7a2e79c21b81416fa2e77c827ea64df5ba5b6cd343a9b423731dc15b4d.txt +0 -0
  35. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/glob/dc28800ddef1229e5c0bd125335ab31d85d5f8aba0ff2713d09829671b70f2ec.json +0 -0
  36. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/glob/e6fa077dd5e2e19045abf084f97dcfbcbffc1571967a0243ca40ff996d8bc9f2.json +0 -0
  37. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/010b7d94484960699c5c28b5d2ea86d53c2d998a78141c75b834409de64bf25c.txt +0 -0
  38. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0193f8465b3eaba72bb4f4f78d0376ca89a09d96e87bb9b63c4543023c6b5516.txt +0 -0
  39. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/03edbaec20870710ae8531b002c837e2c092d53ed8b544d05330cf5fd699dcb4.txt +0 -0
  40. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/09c695b86ba43584b134ed6ee26cbe023f58551e579158cf94790644ad6aaa53.txt +0 -0
  41. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0b96a0a521f9d4c0a88fc75a2e5f69e4c4b7be8ea5d73599eab390c88d4098d8.txt +0 -0
  42. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0ba5851c04aaa37f25f6b0a37daa3522754d7865e79b3abf0daf8fca54fc07f7.txt +0 -0
  43. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0beb89f407f205d5b2fdb075c98869ffa5db8e2a3687706e06399d3f58a3278f.txt +0 -0
  44. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0bf5d9171b6ec0a61962ae22ce8109a26abf764c031ddd5c8dcad25c678020ec.txt +0 -0
  45. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0db7a1bd5eb18329885082bc554f4456a5c254b687c25c2b3611a364634badd8.txt +0 -0
  46. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0dd1a484cf5b506de9a8e85db9c9156e7623bc633c07d8805d83768edf1d1b68.txt +0 -0
  47. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/0f48a977857dc6fe0658c5341b8b409205bb6391cc458d19d18f06b1c37e3b8c.txt +0 -0
  48. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1194ded949e902bc25be21bfe63952a98381416bed255dc052b6715ebb81f11e.txt +0 -0
  49. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/134f90a9b26f8bbc6fc602c3a1301623823abec5cb8eb9680ea060bea5d78b07.txt +0 -0
  50. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1461fb3572a606968e5d9738ec65dfe0cf4616ead5696f2b47dd36dd12cd8346.txt +0 -0
  51. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/14f7537d8a7090ad8f6531bd9ecfadd9d727f2bf0c620afde878e8765d596cc8.txt +0 -0
  52. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/176241ffb6774d19531593769c50349debb431f8c888f8e4fb46178af6f8f9e6.txt +0 -0
  53. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/17e25775e4ce9b0fcb34b7af659d7d72f53262b1b59c21190f450c4eda8bb6a2.txt +0 -0
  54. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1a9cea8b7b788598502df8771b6c03f6b393613e1d911f04959ec59f3b7e9869.txt +0 -0
  55. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1b2ee53405771f837aa234d5a8d128c3f1fd6f16306ec5c71e30df1a55f0eab8.txt +0 -0
  56. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1c265542a4a6dac9cdc557ba271a9022d5f5bfa044d7ae4201a302ee59517542.txt +0 -0
  57. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1dd72f0779d1616cc4683de1565d1cc4242dee18987cfe5c9ead6ec445ab952f.txt +0 -0
  58. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1f0f6484841d5396cfb19f060ada806f54d62594a2a6f81af4ed70d379bdb82e.txt +0 -0
  59. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/1f4854573b520c1a6e0fb4cd8488263f823a61a6867e4c7d92cdce74b4cb4d1b.txt +0 -0
  60. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/200787ede572c7eee4ff7cd579a936b8ab0ecf6f25bb2f6ac89dbd04fdac1ef7.txt +0 -0
  61. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/22fb4c5aa3fea197c71b90824449eca45095da4bd1c7bc76dbfb689abcd5cc49.txt +0 -0
  62. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/29cd9403e9ab3dac5cc3a95fa0ede278decb57cf7183eaad8e29aed9903aba26.txt +0 -0
  63. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/2aa8195d533da9ee878d5ff7e7c4574ad9dc54c57e85f0be801d9aa5ba7e9d65.txt +0 -0
  64. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/2df4412a93598e76038f722e112a5519bbca58e31a27a471346aecf3c5d486b8.txt +0 -0
  65. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/2f04b6777f986f64bbdcdd828eb4a7fa5aa67872fc0d61e891d2af9ec51a6fb8.txt +0 -0
  66. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/3114f2804efe81842b21a85a4bc9eb2ef9f975c28e9220564e6cd2185fed11f7.txt +0 -0
  67. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/3240cf436c636223d89029d2859dc8b8bbc059ea3b8b9a3cdcececb6e75d6da9.txt +0 -0
  68. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/3a03ca37d32ea15316bb77147116bf8eeaa55ea255b7819f1b6350e80cd38481.txt +0 -0
  69. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/4274f27741d2a37b85ea968754ede69180f59300532f1c8e2c8bcc6cb57d93f8.txt +0 -0
  70. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/42c75defbb53e48d8521927f945412100cd487ad492ee1a57a57df3f64831096.txt +0 -0
  71. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/435267ab04edbf55d21c169170faf8eca36f065abb282e9fd731cbf500763757.txt +0 -0
  72. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/448d3ded3b00200238f3782ed0fb5fbe30166139308cfa6cd3e31867f3cf941e.txt +0 -0
  73. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/449ac499b090311eb8b5594f7646d84f67e9da1fad4ad968b772d4d8ab404141.txt +0 -0
  74. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/45f0d5dda63863f163106fbf234ba98c6b2ba88ee63c308b922b6b18b9d6d179.txt +0 -0
  75. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/48a5ea12ce666954aeb22afab26d199f9ceb7c5db99531077bed0298837a4777.txt +0 -0
  76. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/4d6a33d9eaeb38ed7558b7e0162b399580b211cedefdd2a4126b6363b0616b9a.txt +0 -0
  77. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/54822f93bd0f279a2dc67f57f4b49a549938346f606c3ea62f76573ed7c19729.txt +0 -0
  78. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/5592b8582682415bf399fd16bc4e354a8af6979acc7ee5f7d8161b6a2a090a6e.txt +0 -0
  79. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/5697b946b47f9c271273606510662d25c579a1c3cd66a3f73f845178626adf8c.txt +0 -0
  80. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/571cb6737be8d74e05976da2ba022ea1a5e191bdfeafa40b22834b61aca984ec.txt +0 -0
  81. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/592ea99ad61dc416029a0a68a9ea47c765d706d7ffbae9cd697405da2dd8a9ec.txt +0 -0
  82. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/5c0df9216c4f53dc1c2d786266a137dbe326ab4363ddc40307fb21a00a9f94ac.txt +0 -0
  83. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/5ce22f90e1ec6217b95997fad94cc926c12ffdd6f3ef3e278bf0b89ecbcc6d62.txt +0 -0
  84. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/5dc1de7af87cb4091467bc5f0265745e602853afdc3863c267b6e90a26f412c9.txt +0 -0
  85. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/5fff0b4efc09b785f1ee5dee2e5d7ad4e247bdb9c93f41b5814c9db1c04cb8d7.txt +0 -0
  86. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/6249573679ee1a300a25baec32ea72ee34eeffb45f73f676cc0b0f0d11a2d31d.txt +0 -0
  87. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/6258f866ee46c82b3b4584aafd49625b86793f1324318970124c849013397865.txt +0 -0
  88. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/640e6e9edd64f8ed1f4928e9af1f9890c17386cdbc86d329cc2256628e7c50bb.txt +0 -0
  89. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/643717af84fd6f09302e9656f696f853b85dc10bdd144cc4b3ea064c0ee39056.txt +0 -0
  90. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/65ed38867aa3162db6899d4f1b76907655d6af699cff567e2b776ec997f65b9e.txt +0 -0
  91. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/67196d9894f03b07594d654caf016388b13842a7b3d11466a7b7532727d11bfa.txt +0 -0
  92. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/6c6f4e1f9e1d09af3d8a7c10dd243df92781e6ebbbf4f1215c189d74b7a16e01.txt +0 -0
  93. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/6cfadf5d61982d2bb941416d5fefc22202df0bd4dde584321be50716843f2a4e.txt +0 -0
  94. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/6dbade43d62180ae1367c70744d985615fe64768efba5c77317ea4c349aa7958.txt +0 -0
  95. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/6e20e5b86fbf934bbe180ab38a81e259006f0fc43b4d650820994dea3ead8075.txt +0 -0
  96. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/705ec2d0ab89a76fbc02a18d23d8bf10b26eebd5144911cb398e46e2374524cf.txt +0 -0
  97. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/73f1fdec89c242b1c28093dcc12e830a4467c5c5197286879a25feda693b3ede.txt +0 -0
  98. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/745e2b17c9b412d9d89d380626ceb2eb088b2d24e1a4f26be948061a8daaccdd.txt +0 -0
  99. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/74bf1dc40d9b884a5312567e5bc923389e9bcd10e9efa1eb87a01c50b1e11ef1.txt +0 -0
  100. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/758f6bd9fa04989fe968fb80567eb4a4d028e9dd6ca9c482c0a919a7c9da6dad.txt +0 -0
  101. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/762dfb3969ac05cfd8ed58ea34abea8b4e4756ec5c8ef7496e49bb6f824439af.txt +0 -0
  102. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/7880b26ed67f9abd746b4e5c7ccc009f97a16cc5245b4fb04e9e51faf2e99b43.txt +0 -0
  103. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/7b530ebb0d7be5cb364886c326ac09fedb208520170ec424c0d66f2a049cd735.txt +0 -0
  104. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/7d4e0f51f0fa21846dfda5ceebb79cf53d0e8abf1b2f86ecd09ddf06f85cd3bc.txt +0 -0
  105. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/7d79d72b0ff97ae7703118b1c3edc22a3e9aad968baaeb1210281e1b3e0fdf75.txt +0 -0
  106. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/81d4cf35489f009f64aba1f01c0a9c73ac256391d5369dbbae2b3f92c912afb0.txt +0 -0
  107. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/89124ab34d06feebcf91d5fa7fd8d3f36493f0d62ae79b0f339f87a229333a3b.txt +0 -0
  108. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/8a1456d96d430228501f6c305ba67912312bfdd48b2841e2456160a02498ea5b.txt +0 -0
  109. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/8bc79492c38d7124f4214f0437350fb1cfadaf6635bc4391c69fe64c6e8f6096.txt +0 -0
  110. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/8c95072ee427abdb9a07444bf26dc78e72cf93ed9e898d77dd9aa643f6f5b913.txt +0 -0
  111. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/98060d6195be5fb98d6098eb947853a25a305bce1ebf5a4218ffb791379b9dc6.txt +0 -0
  112. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/98b2832dd79c7972eb441b3102f1f6aa40ccb867d7771ec238142564a3b4a117.txt +0 -0
  113. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/98b76a32c3a05f7d91b8b81518f28b613f7ccb373575858fd6aa2711ddbc382e.txt +0 -0
  114. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/9a5fd2d8be3b1e8ef2343f9a19bd75adba3687b2cb8234ee341d6cdc3ab1f361.txt +0 -0
  115. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/9c80158f162aadb87f84195c4496a1c24f68ceca3535852835de9cf4e428d028.txt +0 -0
  116. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/a9594b8f4f25e5b378fcc883960fa7afb2dea9d80851cb5d52f18d856be95219.txt +0 -0
  117. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/abacaab899684c1677f97720dcfc4a6c1fbf98d2cfa44e25f040959586ccaa20.txt +0 -0
  118. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/ac65e45db9f2c51a484173eb31b907c1cb007c5cacca21396790f5345968ca72.txt +0 -0
  119. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/ac8641710e4c96567edad6364d218a08630ff20af9f075f61c20d013f9369648.txt +0 -0
  120. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/ad798be6fa338bd3ee7fc49048192e39d3b2b78837051208815b817e5ca96793.txt +0 -0
  121. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/b04c0955b68f788125018525e308e82987ada00d3943e21cb159f577319ccf11.txt +0 -0
  122. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/b1b9c6d1eefe14c5076aa214fe4f98242f99ed9b146214d0305224539d8e78a1.txt +0 -0
  123. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/b39bb289db5f9e4f31c67766f5e08333d10f384a2d5f6b71fb44522bc4f17f80.txt +0 -0
  124. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/b64736bbdd8fe7ca1ff2ef98558f16f145ca437255ccebca44bf1041b0afbd55.txt +0 -0
  125. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/b898cd80aa00ebdfda4ef314a4e245e62ee96c21935a7f332243a67b0072d1a0.txt +0 -0
  126. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/c1a4508b9a74b3d1649f25dbd474780e6212ced036bbca6b4aac06d324ff10e9.txt +0 -0
  127. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/c3c33582bb37fb71235e9d0fd2b8d2cc8c926cfcb014261356ea917db6417ebd.txt +0 -0
  128. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/c63907ae1cb41e59de75df3d6e0dff27db2ce2434cac5f283a428e4fd9bee301.txt +0 -0
  129. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/d2402b2d42c975305d4866353935ce285eb67ff7f2a2d74ee9be559d022c86f6.txt +0 -0
  130. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/d4e8e439058ef24fb0671ee6674a5b854c17e0b93b012d2dbe8ed85928afe560.txt +0 -0
  131. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/d8c8f51da7a2bc8977320248883adabe9a4d9da131e99f7dfe18a9c826b1c8b1.txt +0 -0
  132. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/dbd79a71f323da5dc1570d5c8d6b99e73b642128697b6c51ab240379fa74f763.txt +0 -0
  133. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/de09b36cc3fd06274fcdbfc7d431f170afe40b4fa8ddd5c0a281581ee03eabec.txt +0 -0
  134. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/dfd45c97a1da7d27da6790c1b24048f584ed4f831e971cf3f4c366b7d8687980.txt +0 -0
  135. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/e138fb7f4303433003aeeaf67b15d783b253696d3d24fd7dfacc50f619db04fd.txt +0 -0
  136. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/e1ca31c715894314164641ba9d80dc13f7e8e146e8f77a995bc3650057ee3ba3.txt +0 -0
  137. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/e6f0fb5f2688faeaa4875724c32f27e79d8a9710bbb91d2a950b84b3481fc374.txt +0 -0
  138. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/e707578cd4b2132eae2e3bdfa918555c2a8f1f4ac52fd6dbc6fc9a347c44221b.txt +0 -0
  139. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/ea0fc86903a5bd1f02832cc3eed4446d55e16dc7df0298c5d74afa56a89a8ca7.txt +0 -0
  140. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/eab81978291f4725b9433192c5b7f4b5409cdcdeb80ffab9884c79ef230bdcdd.txt +0 -0
  141. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/f04828b2b54922581d7cde5351807a457896b2940fd748e8d706fd5dc4bed971.txt +0 -0
  142. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/f04b4f70fe5292dc485164699342c03f3cf4715ba0d5efa815cb7a332dd78c0b.txt +0 -0
  143. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/f2012bd41aa48cd2e3f56611f32b041bd41863b681a79d5ff5f515a97e7e1ddc.txt +0 -0
  144. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/f35c437708355261ca868cf38ade97384e86f24de9aab20849113dc78eb8564c.txt +0 -0
  145. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/f638dfe4edbde834bd968f4d479c1c535dff1dfac10f3e003ec8673d5eca5864.txt +0 -0
  146. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/f916ed291897b4afb5f8a55f5e333a53f11540e2ade24f691a7828885aa77a32.txt +0 -0
  147. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/fa3b737ee93d45bfff6e78245a5ecad2476dc7010c75c772abc1c272cddae072.txt +0 -0
  148. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/fd1133b3a420133590ffb1c050a65477a4751902ca9b832db1c23a6fb90200b8.txt +0 -0
  149. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/fe3df7b68f7041d210336363f5b11faf963427dbcf4027172e19db05f7b24fa1.txt +0 -0
  150. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/grep_content/ff6b896f93f2ac018a3af519be3001d1e4c8ca6ef9ae3e051aa646b409b6773f.txt +0 -0
  151. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/index.json +0 -0
  152. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/ls/4f2cd109869e06f70f28f7aaaa3163fea4731bbb92dc4da8ac25177d6f122f87.json +0 -0
  153. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/ls/768197391db12061fb74d56cad07e9331db0bd832503b5e40be76b49208a111a.json +0 -0
  154. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/ls/a560ae7492ac913282b703abd48897905727acc058d0f9346b17d450f32e1a8a.json +0 -0
  155. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/01f0c4c39cc01ec7d59077fa8bfca183cbd6c93d0a7083261f228badca115eba.txt +0 -0
  156. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/03079608ffe5b120094798aababb67671a20f8466c0197044eacaea56fa12d30.txt +0 -0
  157. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/08e5d1cdde9e2d6dff5435ee87c6710470709d83c271185eaaaa6d652068d80e.txt +0 -0
  158. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/10f74765725e10bd94d92eb25cea495ea8cb9d9151397b05b200ed44a852d882.txt +0 -0
  159. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/3faa3ddc36161e84da99e18707d61b7ffbbbeb8217c28a55a027134f8def5d17.txt +0 -0
  160. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/45cd4ad764e19e3fc0481b8d8649c235ae51634eb41da0806f9f00ab1bdb640d.txt +0 -0
  161. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/4fdacfc564ff558dd602f672edfbb4a72494d8e3c8937bcf0a3d15e085c4a0b7.txt +0 -0
  162. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/50eb11fb5aa96e54b2a7e68c0b9278ec3c07d222bad92270f4a51df58ca69e03.txt +0 -0
  163. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/5a1f18c61191f6b4c1635363748a2aca49ad2183f046035728b5c23ee3df1123.txt +0 -0
  164. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/72718c187cf24910d3c21d7e719e004efa27b4f5d7315bbe2b9a33e2494cc0f9.txt +0 -0
  165. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/7fa851f7100b6e3e652604de11be2767b7a679aea40e941b0b1218478e5935ed.txt +0 -0
  166. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/9d3ace7b725f6aa5809ca4bc298c5ac3d022cb92c29684c7709d63c9c5fd2ad4.txt +0 -0
  167. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/dbeea3cc8bd22fdb703675e202063e7f4ce21ef00c5c83f74268cd6328ad912d.txt +0 -0
  168. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/tool_result/ea66ecb02621262c26d0368c108d2f2f94e2d1f75dea6b38bf958c5bdbaa2ee7.txt +0 -0
  169. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/webfetch/2669c40a92ce6395790ae997503be646bdc3af4a49f799b38d8380e5ecd1e015.md +0 -0
  170. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/webfetch/5701edea87e370ce51349413bcba507833f48f2ad7337eef3deccc82c7d45a8d.md +0 -0
  171. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/webfetch/5c0eeec3d9ab0a6881d12ebd5a95b6b71b90d47640e38c914232d75704332f54.md +0 -0
  172. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/webfetch/80baa6870df61f51b68fadde829aa2ab889fd487f8a8171db36ea3b67ded24db.md +0 -0
  173. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/webfetch/915acd44f3846631527a3cd62e81d9908bb7e8769b970208ffa3326c65df8778.md +0 -0
  174. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/webfetch/a758c9f6242610e875e36aed11e99ac337359cbe512df15db6544504fa9e68b8.md +0 -0
  175. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/artifacts/webfetch/eca7d820f7461f58ee9b2b1e931842de54cd1ec023eca7a27e3bfb387efc6aa2.md +0 -0
  176. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/scheduled_prompts.json +0 -0
  177. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/SKILL.md +0 -0
  178. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/html2pptx.md +0 -0
  179. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  180. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  181. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  182. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  183. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  184. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  185. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  186. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  187. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  188. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  189. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  190. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  191. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  192. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  193. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  194. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  195. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  196. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  197. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  198. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  199. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  200. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  201. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  202. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  203. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  204. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  205. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  206. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  207. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  208. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  209. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  210. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/mce/mc.xsd +0 -0
  211. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  212. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  213. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  214. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  215. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  216. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  217. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  218. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/scripts/pack.py +0 -0
  219. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/scripts/unpack.py +0 -0
  220. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/scripts/validate.py +0 -0
  221. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/scripts/validation/base.py +0 -0
  222. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/scripts/validation/docx.py +0 -0
  223. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/scripts/validation/pptx.py +0 -0
  224. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml/scripts/validation/redlining.py +0 -0
  225. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/references/ooxml.md +0 -0
  226. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/scripts/html2pptx.js +0 -0
  227. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/scripts/inventory.py +0 -0
  228. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/scripts/rearrange.py +0 -0
  229. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/scripts/replace.py +0 -0
  230. {comate_cli-0.10.9 → comate_cli-0.10.10}/.agent/skills/powerpoint/scripts/thumbnail.py +0 -0
  231. {comate_cli-0.10.9 → comate_cli-0.10.10}/.gitignore +0 -0
  232. {comate_cli-0.10.9 → comate_cli-0.10.10}/CHANGELOG.md +0 -0
  233. {comate_cli-0.10.9 → comate_cli-0.10.10}/CONTEXT.md +0 -0
  234. {comate_cli-0.10.9 → comate_cli-0.10.10}/README.md +0 -0
  235. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/__init__.py +0 -0
  236. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/__main__.py +0 -0
  237. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/distribution.py +0 -0
  238. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/main.py +0 -0
  239. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/mcp_cli.py +0 -0
  240. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/__init__.py +0 -0
  241. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/animations.py +0 -0
  242. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/approval_bridge.py +0 -0
  243. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/assistant_render.py +0 -0
  244. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/builtin_commands/.keep +0 -0
  245. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/builtin_commands/implement-plan.md +0 -0
  246. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/builtin_commands/learn.md +0 -0
  247. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/codenames.py +0 -0
  248. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/config/__init__.py +0 -0
  249. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/config/model.py +0 -0
  250. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/config/picker.py +0 -0
  251. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/config/picker_state.py +0 -0
  252. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/config/store.py +0 -0
  253. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/custom_slash_commands.py +0 -0
  254. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/env_utils.py +0 -0
  255. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/error_display.py +0 -0
  256. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/event_renderer.py +0 -0
  257. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/figures.py +0 -0
  258. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/file_ref_hint.py +0 -0
  259. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/fragment_utils.py +0 -0
  260. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/goal_edit_view.py +0 -0
  261. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/goal_resume_view.py +0 -0
  262. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/history_printer.py +0 -0
  263. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/input_geometry.py +0 -0
  264. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/layout_coordinator.py +0 -0
  265. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/logging_adapter.py +0 -0
  266. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/logo.py +0 -0
  267. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/markdown_render.py +0 -0
  268. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/mention_completer.py +0 -0
  269. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/message_style.py +0 -0
  270. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/models.py +0 -0
  271. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/path_context_hint.py +0 -0
  272. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/__init__.py +0 -0
  273. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/components/__init__.py +0 -0
  274. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/components/detail_view.py +0 -0
  275. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/components/plugin_list.py +0 -0
  276. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/components/search_box.py +0 -0
  277. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/components/tab_bar.py +0 -0
  278. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/marketplace_install_view.py +0 -0
  279. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/operation_state.py +0 -0
  280. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/plugin_picker.py +0 -0
  281. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/tabs/__init__.py +0 -0
  282. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/tabs/discover_tab.py +0 -0
  283. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/tabs/errors_tab.py +0 -0
  284. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/tabs/installed_tab.py +0 -0
  285. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py +0 -0
  286. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/preflight.py +0 -0
  287. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/preflight_wizard.py +0 -0
  288. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/print_mode.py +0 -0
  289. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/question_view.py +0 -0
  290. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/recap/__init__.py +0 -0
  291. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/recap/controller.py +0 -0
  292. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/resume_picker.py +0 -0
  293. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/resume_preview.py +0 -0
  294. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/resume_selector.py +0 -0
  295. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/__init__.py +0 -0
  296. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/approval.py +0 -0
  297. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/options.py +0 -0
  298. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/protocol.py +0 -0
  299. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/serde.py +0 -0
  300. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/server.py +0 -0
  301. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/session_host.py +0 -0
  302. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/stdin_reader.py +0 -0
  303. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc/stdio.py +0 -0
  304. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc_protocol.py +0 -0
  305. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/rpc_stdio.py +0 -0
  306. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/selection_menu.py +0 -0
  307. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/skill_slash_input.py +0 -0
  308. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/slash_commands.py +0 -0
  309. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/startup.py +0 -0
  310. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/startup_profile.py +0 -0
  311. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/status_bar.py +0 -0
  312. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/statusline/__init__.py +0 -0
  313. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/statusline/model.py +0 -0
  314. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/statusline/picker.py +0 -0
  315. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/statusline/picker_state.py +0 -0
  316. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/statusline/store.py +0 -0
  317. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/text_effects.py +0 -0
  318. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/theme.py +0 -0
  319. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tips.py +0 -0
  320. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tool_approval_view.py +0 -0
  321. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tool_fold.py +0 -0
  322. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tool_result_formatters.py +0 -0
  323. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tool_result_store.py +0 -0
  324. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tool_result_viewer.py +0 -0
  325. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tool_view.py +0 -0
  326. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/transcript_viewer.py +0 -0
  327. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/__init__.py +0 -0
  328. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/btw_view.py +0 -0
  329. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/commands.py +0 -0
  330. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/history_sync.py +0 -0
  331. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/input_behavior.py +0 -0
  332. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/key_bindings.py +0 -0
  333. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/mcp_connecting_view.py +0 -0
  334. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/slash_command_registry.py +0 -0
  335. {comate_cli-0.10.9 → comate_cli-0.10.10}/comate_cli/terminal_agent/tui_parts/ui_mode.py +0 -0
  336. {comate_cli-0.10.9 → comate_cli-0.10.10}/dist-comate/.gitignore +0 -0
  337. {comate_cli-0.10.9 → comate_cli-0.10.10}/dist-comate/comate_cli-0.7.10-py3-none-any.whl +0 -0
  338. {comate_cli-0.10.9 → comate_cli-0.10.10}/dist-comate/comate_cli-0.7.10.tar.gz +0 -0
  339. {comate_cli-0.10.9 → comate_cli-0.10.10}/dist-hico/.gitignore +0 -0
  340. {comate_cli-0.10.9 → comate_cli-0.10.10}/dist-hico/hico_cli-0.7.17-py3-none-any.whl +0 -0
  341. {comate_cli-0.10.9 → comate_cli-0.10.10}/dist-hico/hico_cli-0.7.17.tar.gz +0 -0
  342. {comate_cli-0.10.9 → comate_cli-0.10.10}/docs/cli-rpc-stdio-guide.md +0 -0
  343. {comate_cli-0.10.9 → comate_cli-0.10.10}/docs/startup-performance.md +0 -0
  344. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/config/__init__.py +0 -0
  345. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/config/test_model.py +0 -0
  346. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/config/test_picker_state.py +0 -0
  347. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/config/test_picker_ui.py +0 -0
  348. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/config/test_roundtrip.py +0 -0
  349. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/config/test_store_load.py +0 -0
  350. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/config/test_store_save.py +0 -0
  351. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/conftest.py +0 -0
  352. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/fixtures/fake_mcp_misbehaving_stdout.py +0 -0
  353. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/recap/test_idle_recap_controller.py +0 -0
  354. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/recap/test_recap_history_rendering.py +0 -0
  355. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/recap/test_tui_idle_recap_integration.py +0 -0
  356. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/statusline/__init__.py +0 -0
  357. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/statusline/test_model.py +0 -0
  358. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/statusline/test_picker_state.py +0 -0
  359. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/statusline/test_store.py +0 -0
  360. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_animations_styles.py +0 -0
  361. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_animator_shuffle.py +0 -0
  362. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_mcp_preload.py +0 -0
  363. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_preflight_gate.py +0 -0
  364. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_print_mode.py +0 -0
  365. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_profile_threading.py +0 -0
  366. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_pty_smoke.py +0 -0
  367. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_shutdown.py +0 -0
  368. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_startup_latency.py +0 -0
  369. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_token_cost_config.py +0 -0
  370. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_app_usage_line.py +0 -0
  371. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_approval_bridge.py +0 -0
  372. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_btw_slash_command.py +0 -0
  373. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_busy_slash_gating.py +0 -0
  374. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_cli_project_root.py +0 -0
  375. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_compact_command_semantics.py +0 -0
  376. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_completion_context_activation.py +0 -0
  377. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_completion_status_panel.py +0 -0
  378. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_context_command.py +0 -0
  379. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_custom_slash_commands.py +0 -0
  380. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_discover_tab.py +0 -0
  381. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_distribution_contract.py +0 -0
  382. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_errors_tab.py +0 -0
  383. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer.py +0 -0
  384. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_approval_wait.py +0 -0
  385. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_boundary.py +0 -0
  386. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_e2e.py +0 -0
  387. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_log_boundary.py +0 -0
  388. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_log_queue.py +0 -0
  389. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_stream_staging.py +0 -0
  390. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_streaming.py +0 -0
  391. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_tool_args_progress.py +0 -0
  392. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_event_renderer_tool_fold.py +0 -0
  393. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_file_ref_hint.py +0 -0
  394. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_format_error.py +0 -0
  395. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_goal_edit_handlers.py +0 -0
  396. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_goal_edit_view.py +0 -0
  397. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_goal_resume_tui.py +0 -0
  398. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_goal_resume_view.py +0 -0
  399. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_goal_slash_command.py +0 -0
  400. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_handle_error.py +0 -0
  401. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_drain_throttle.py +0 -0
  402. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_printer.py +0 -0
  403. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_printer_log.py +0 -0
  404. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_printer_styles.py +0 -0
  405. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_printer_subtitle_position.py +0 -0
  406. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_printer_tool_fold.py +0 -0
  407. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_sync.py +0 -0
  408. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_history_sync_tool_fold.py +0 -0
  409. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_import_weight.py +0 -0
  410. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_input_behavior.py +0 -0
  411. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_input_history.py +0 -0
  412. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_installed_tab.py +0 -0
  413. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_interrupt_exit_semantics.py +0 -0
  414. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_layout_coordinator.py +0 -0
  415. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_logging_adapter.py +0 -0
  416. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_logo.py +0 -0
  417. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_main_args.py +0 -0
  418. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_main_args_yolo.py +0 -0
  419. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_main_profile_entry.py +0 -0
  420. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_markdown_render.py +0 -0
  421. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_marketplaces_tab.py +0 -0
  422. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_mcp_cli.py +0 -0
  423. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_mcp_slash_command.py +0 -0
  424. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_mention_completer.py +0 -0
  425. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_menu_cursor_unification.py +0 -0
  426. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_message_style.py +0 -0
  427. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_model_switch_command.py +0 -0
  428. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_no_raw_colors.py +0 -0
  429. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_path_context_hint.py +0 -0
  430. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_permission_mode_cycle.py +0 -0
  431. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_plugin_operation_state.py +0 -0
  432. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_plugin_slash_commands.py +0 -0
  433. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_plugin_tui_components.py +0 -0
  434. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_preflight.py +0 -0
  435. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_preflight_copilot.py +0 -0
  436. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_pty_output_integrity.py +0 -0
  437. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_question_key_bindings.py +0 -0
  438. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_question_view.py +0 -0
  439. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_resume_picker.py +0 -0
  440. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_resume_preview.py +0 -0
  441. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_resume_selector.py +0 -0
  442. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rewind_command_semantics.py +0 -0
  443. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_approval.py +0 -0
  444. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_options.py +0 -0
  445. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_protocol.py +0 -0
  446. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_serde.py +0 -0
  447. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_server_methods.py +0 -0
  448. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_session_host.py +0 -0
  449. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_stdin_reader.py +0 -0
  450. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_rpc_stdio_transport.py +0 -0
  451. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_selection_menu.py +0 -0
  452. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_session_query_token_summary.py +0 -0
  453. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_shutdown_noise_guard.py +0 -0
  454. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_shutdown_noise_integration.py +0 -0
  455. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_skill_slash_input.py +0 -0
  456. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_skills_slash_command.py +0 -0
  457. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_slash_argument_hint.py +0 -0
  458. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_slash_clear.py +0 -0
  459. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_slash_completer.py +0 -0
  460. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_slash_registry.py +0 -0
  461. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_startup_import_budget.py +0 -0
  462. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_startup_profile.py +0 -0
  463. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_status_bar.py +0 -0
  464. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_status_bar_transient.py +0 -0
  465. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_stream_staging_panel.py +0 -0
  466. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_style_class_coverage.py +0 -0
  467. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_task_panel_format.py +0 -0
  468. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_task_panel_key_bindings.py +0 -0
  469. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_task_panel_rendering.py +0 -0
  470. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_task_poll.py +0 -0
  471. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_theme.py +0 -0
  472. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tips.py +0 -0
  473. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_approval_key_bindings.py +0 -0
  474. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_approval_tui.py +0 -0
  475. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_approval_view.py +0 -0
  476. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_fold.py +0 -0
  477. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_fold_panel.py +0 -0
  478. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_result_formatters.py +0 -0
  479. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_result_store.py +0 -0
  480. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_result_viewer.py +0 -0
  481. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_result_viewer_key_bindings.py +0 -0
  482. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_view.py +0 -0
  483. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tool_view_styles.py +0 -0
  484. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_transcript_viewer.py +0 -0
  485. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_transcript_viewer_tool_fold.py +0 -0
  486. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_builtin_slash_chain.py +0 -0
  487. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_elapsed_status.py +0 -0
  488. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_esc_queue.py +0 -0
  489. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_llm_retry_panel.py +0 -0
  490. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_local_interactive_barrier.py +0 -0
  491. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_mcp_init_gate.py +0 -0
  492. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_paste_newline_guard.py +0 -0
  493. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_paste_placeholder.py +0 -0
  494. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_provider_error_shield.py +0 -0
  495. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_queue_preview.py +0 -0
  496. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_queue_sdk_source.py +0 -0
  497. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_scheduled_fire_log.py +0 -0
  498. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_split_invariance.py +0 -0
  499. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_startup_latency.py +0 -0
  500. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_team_messages.py +0 -0
  501. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_thinking_display.py +0 -0
  502. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_tool_result_registry_lifecycle.py +0 -0
  503. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_tui_window_too_small_fallback.py +0 -0
  504. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_usage_command.py +0 -0
  505. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_wellformed_terminal_input.py +0 -0
  506. {comate_cli-0.10.9 → comate_cli-0.10.10}/tests/test_wrap_user_text.py +0 -0
  507. {comate_cli-0.10.9 → comate_cli-0.10.10}/tools/logo_lab.py +0 -0
  508. {comate_cli-0.10.9 → comate_cli-0.10.10}/tools/nico_preview.py +0 -0
  509. {comate_cli-0.10.9 → comate_cli-0.10.10}/tools/startup_bench.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comate-cli
3
- Version: 0.10.9
3
+ Version: 0.10.10
4
4
  Summary: Comate terminal CLI built on comate-agent-sdk
5
5
  Project-URL: Homepage, https://github.com/AndyLee1024/agent-sdk
6
6
  Project-URL: Repository, https://github.com/AndyLee1024/agent-sdk
@@ -105,23 +105,6 @@ async def _handle_update_on_launch(
105
105
  return False
106
106
 
107
107
 
108
- def _show_startup_update_result(target: UpdateTarget) -> None:
109
- """Display a detached updater result file if one exists."""
110
- try:
111
- from comate_cli.terminal_agent.windows_updater import (
112
- consume_update_result,
113
- format_update_result_message,
114
- )
115
-
116
- result = consume_update_result(target.package)
117
- if result is None:
118
- return
119
- style = "green" if result.status == "success" else "yellow"
120
- console.print(f"[{style}]{format_update_result_message(result, target=target)}[/]")
121
- except Exception:
122
- logger.debug("startup update result display failed", exc_info=True)
123
-
124
-
125
108
  async def _handle_background_update_on_launch(
126
109
  info: UpdateInfo,
127
110
  *,
@@ -788,8 +771,6 @@ async def run(
788
771
  return
789
772
 
790
773
  if interactive:
791
- _show_startup_update_result(update_target)
792
-
793
774
  _check_update_func, get_pending_update_prompt_info = _import_update_check_core()
794
775
  pending_info = get_pending_update_prompt_info(target=update_target)
795
776
  if pending_info is not None:
@@ -277,6 +277,7 @@ class TerminalAgentTUI(
277
277
  self._compact_cancel_requested = False
278
278
  self._pending_exit_after_compact_cancel = False
279
279
  self._queued_display_by_message_id: dict[str, str] = {}
280
+ self._submitted_queue_preview_suppressed_ids: set[str] = set()
280
281
  self._waiting_for_input = False
281
282
  self._pending_questions: list[dict[str, Any]] | None = None
282
283
  self._ui_mode = UIMode.NORMAL
@@ -1685,7 +1686,16 @@ class TerminalAgentTUI(
1685
1686
 
1686
1687
  try:
1687
1688
  with self._first_turn_span("submit_user_message.session_send"):
1688
- await self._session.send(text)
1689
+ message_id = await self._session.send(text)
1690
+ suppressed_ids = getattr(
1691
+ self,
1692
+ "_submitted_queue_preview_suppressed_ids",
1693
+ None,
1694
+ )
1695
+ if not isinstance(suppressed_ids, set):
1696
+ suppressed_ids = set()
1697
+ self._submitted_queue_preview_suppressed_ids = suppressed_ids
1698
+ suppressed_ids.add(str(message_id))
1689
1699
  except Exception as exc:
1690
1700
  logger.exception("send failed")
1691
1701
  await self._handle_error(exc)
@@ -1709,6 +1719,17 @@ class TerminalAgentTUI(
1709
1719
  QueueDirtyReason.CANCELLED,
1710
1720
  QueueDirtyReason.CLEARED,
1711
1721
  }:
1722
+ suppressed_ids = getattr(
1723
+ self,
1724
+ "_submitted_queue_preview_suppressed_ids",
1725
+ None,
1726
+ )
1727
+ if isinstance(suppressed_ids, set):
1728
+ if event.reason is QueueDirtyReason.CLEARED:
1729
+ suppressed_ids.clear()
1730
+ else:
1731
+ for message_id in event.message_ids:
1732
+ suppressed_ids.discard(str(message_id))
1712
1733
  for message_id in event.message_ids:
1713
1734
  self._queued_display_by_message_id.pop(
1714
1735
  str(message_id),
@@ -1716,8 +1737,15 @@ class TerminalAgentTUI(
1716
1737
  )
1717
1738
  self._clear_queued_admission_busy_if_stale()
1718
1739
  if event.reason is QueueDirtyReason.CONSUMED:
1740
+ suppressed_ids = getattr(
1741
+ self,
1742
+ "_submitted_queue_preview_suppressed_ids",
1743
+ None,
1744
+ )
1719
1745
  consumed_human_displays: list[str] = []
1720
1746
  for message_id, origin in zip(event.message_ids, event.origins):
1747
+ if isinstance(suppressed_ids, set):
1748
+ suppressed_ids.discard(str(message_id))
1721
1749
  if origin is not MessageOrigin.HUMAN:
1722
1750
  continue
1723
1751
  display_text = self._queued_display_by_message_id.pop(
@@ -28,7 +28,6 @@ from comate_cli.terminal_agent.figures import (
28
28
  DOWN_ARROW,
29
29
  ELLIPSIS,
30
30
  FAST_PLAY_ICON,
31
- PAUSE_ICON,
32
31
  TASK_IN_PROGRESS,
33
32
  TASK_PENDING,
34
33
  TASK_BLOCKED,
@@ -169,10 +168,14 @@ class RenderPanelsMixin:
169
168
  except Exception:
170
169
  logger.debug("failed to read queue preview snapshot", exc_info=True)
171
170
  return []
171
+ suppressed_ids = getattr(self, "_submitted_queue_preview_suppressed_ids", set())
172
+ if not isinstance(suppressed_ids, set):
173
+ suppressed_ids = set()
172
174
  return [
173
175
  message
174
176
  for message in snapshot
175
177
  if getattr(message, "origin", None) == MessageOrigin.HUMAN
178
+ and str(getattr(message, "message_id", "")) not in suppressed_ids
176
179
  ]
177
180
 
178
181
  def _visible_queued_message_ids(self) -> set[str] | None:
@@ -3,7 +3,6 @@ from __future__ import annotations
3
3
  import asyncio
4
4
  import contextlib
5
5
  import importlib.metadata
6
- import locale
7
6
  import logging
8
7
  import os
9
8
  import ssl
@@ -105,6 +104,25 @@ class UpdateTarget:
105
104
  )
106
105
 
107
106
 
107
+ def windows_update_command(target: UpdateTarget) -> tuple[str, ...]:
108
+ """Windows manual update command with venv repair via --reinstall."""
109
+ return (
110
+ "uv",
111
+ "tool",
112
+ "install",
113
+ f"{target.package}@latest",
114
+ "--force",
115
+ "--reinstall",
116
+ "--refresh-package",
117
+ target.package,
118
+ *target.install_args,
119
+ )
120
+
121
+
122
+ def windows_update_command_text(target: UpdateTarget) -> str:
123
+ return " ".join(windows_update_command(target))
124
+
125
+
108
126
  @dataclass(frozen=True, slots=True)
109
127
  class UpdateInfo:
110
128
  package: str
@@ -154,21 +172,15 @@ def _coerce_update_target(
154
172
 
155
173
 
156
174
  def _is_chinese_locale() -> bool:
157
- """判断当前系统 locale 是否为中文环境。"""
158
- # zh_tw(台湾)和 zh_hk(香港)不走清华镜像源
175
+ """判断当前系统 locale 是否为中国大陆简体环境(决定是否走清华镜像源)。"""
176
+ from comate_cli.terminal_agent.update_messages import system_locale_candidates
177
+
178
+ # zh_tw(台湾)和 zh_hk(香港)不走清华镜像源;OR 语义:任一来源为中文即用镜像。
159
179
  cn_prefixes = ("zh_cn", "zh_sg", "zh_mo", "zh_hans")
160
- for env_var in ("LC_ALL", "LC_MESSAGES", "LANG", "LANGUAGE"):
161
- val = os.environ.get(env_var, "").lower()
162
- if any(val.startswith(prefix) for prefix in cn_prefixes):
180
+ for candidate in system_locale_candidates():
181
+ value = candidate.lower()
182
+ if any(value.startswith(prefix) for prefix in cn_prefixes):
163
183
  return True
164
- try:
165
- lang, _ = locale.getlocale()
166
- if lang:
167
- lang_lower = lang.lower()
168
- if any(lang_lower.startswith(prefix) for prefix in cn_prefixes):
169
- return True
170
- except Exception:
171
- pass
172
184
  return False
173
185
 
174
186
 
@@ -411,8 +423,6 @@ def format_update_hint(info: UpdateInfo, target: UpdateTarget | None = None) ->
411
423
  is_windows = sys.platform == "win32"
412
424
  command = _format_update_command(update_target)
413
425
  if is_windows:
414
- from comate_cli.terminal_agent.windows_updater import windows_update_command_text
415
-
416
426
  command = windows_update_command_text(update_target)
417
427
  hint_template = messages.windows_hint if is_windows else messages.hint
418
428
  return hint_template.format(
@@ -595,34 +605,17 @@ async def run_update_command(
595
605
  command_text = " ".join(command)
596
606
  messages = get_update_messages()
597
607
  if sys.platform == "win32":
598
- from comate_cli.terminal_agent.windows_updater import (
599
- spawn_detached_updater,
600
- windows_update_command_text,
601
- )
602
-
603
- windows_command_text = windows_update_command_text(update_target)
604
-
605
- if spawn_detached_updater(info, target=update_target):
606
- console.out(
607
- messages.windows_update_scheduled.format(
608
- product=update_target.product_label,
609
- latest=info.latest_version,
610
- current=info.current_version,
611
- ),
612
- end="\n",
613
- )
614
- return True
615
608
  console.out(
616
609
  messages.windows_manual_update.format(
617
610
  product=update_target.product_label,
618
611
  package=update_target.package,
619
- command=windows_command_text,
612
+ command=windows_update_command_text(update_target),
620
613
  current=info.current_version,
621
614
  latest=info.latest_version,
622
615
  ),
623
616
  end="\n",
624
617
  )
625
- return False
618
+ return True
626
619
 
627
620
  console.print(f"Updating {update_target.product_label} via `{command_text}`...")
628
621
 
@@ -1,9 +1,13 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import locale
4
+ import logging
4
5
  import os
6
+ import sys
5
7
  from dataclasses import dataclass
6
8
 
9
+ logger = logging.getLogger(__name__)
10
+
7
11
 
8
12
  @dataclass(frozen=True, slots=True)
9
13
  class UpdateMessages:
@@ -16,10 +20,6 @@ class UpdateMessages:
16
20
  skip_until_next_version_label: str
17
21
  continue_label: str
18
22
  windows_manual_update: str
19
- windows_update_scheduled: str
20
- windows_update_result_success: str
21
- windows_update_result_failed: str
22
- windows_update_result_timeout: str
23
23
  success: str
24
24
  failure: str
25
25
 
@@ -35,7 +35,7 @@ _MESSAGES: dict[str, UpdateMessages] = {
35
35
  "Close {product}, then run `{command}` in a new CMD or PowerShell to update."
36
36
  ),
37
37
  title="✨ Update available! {current} -> {latest}",
38
- show_update_command_label="Update now (completes after exit)",
38
+ show_update_command_label="Show update command and exit",
39
39
  update_now_label="Update now (runs `{command}`)",
40
40
  skip_label="Skip",
41
41
  skip_until_next_version_label="Skip until next version",
@@ -48,23 +48,6 @@ _MESSAGES: dict[str, UpdateMessages] = {
48
48
  "uv tool uninstall {package}\n\n"
49
49
  "Then run the install command again."
50
50
  ),
51
- windows_update_scheduled=(
52
- "🚀 Background update scheduled: {product} will update to {latest} "
53
- "automatically once this {product} process exits. "
54
- "The result will be shown on next launch."
55
- ),
56
- windows_update_result_success=(
57
- "🎉 {product} was updated to {latest} in the background (previous: {current})."
58
- ),
59
- windows_update_result_failed=(
60
- "Background update to {latest} failed (exit code {code}). Close all {product} "
61
- "windows and run `{command}` in a new CMD or PowerShell to update manually."
62
- ),
63
- windows_update_result_timeout=(
64
- "Background update to {latest} did not run: {product} did not finish "
65
- 'shutting down before the wait limit. Choose "Update now" again, or run '
66
- "`{command}` manually."
67
- ),
68
51
  success="🎉 Update ran successfully! Please restart {product}.",
69
52
  failure=(
70
53
  "Update failed with exit code {code}. The current installation may still "
@@ -81,7 +64,7 @@ _MESSAGES: dict[str, UpdateMessages] = {
81
64
  "请关闭 {product},然后在新的 CMD 或 PowerShell 中运行 `{command}` 更新。"
82
65
  ),
83
66
  title="✨ 发现新版本!{current} -> {latest}",
84
- show_update_command_label="立即更新(退出后自动完成)",
67
+ show_update_command_label="显示更新命令并退出",
85
68
  update_now_label="立即更新(运行 `{command}`)",
86
69
  skip_label="跳过",
87
70
  skip_until_next_version_label="跳过此版本",
@@ -94,21 +77,6 @@ _MESSAGES: dict[str, UpdateMessages] = {
94
77
  "uv tool uninstall {package}\n\n"
95
78
  "然后再次运行安装命令。"
96
79
  ),
97
- windows_update_scheduled=(
98
- "🚀 已安排后台更新:当前 {product} 进程退出后将自动升级到 {latest},"
99
- "结果将在下次启动时显示。"
100
- ),
101
- windows_update_result_success=(
102
- "🎉 {product} 已在后台自动更新到 {latest}(原 {current})。"
103
- ),
104
- windows_update_result_failed=(
105
- "后台更新到 {latest} 失败(退出码 {code})。请关闭所有 {product} 窗口后,"
106
- "在新的 CMD 或 PowerShell 中运行 `{command}` 手动更新。"
107
- ),
108
- windows_update_result_timeout=(
109
- "后台更新到 {latest} 未执行:{product} 退出未完成,等待超时。"
110
- "可再次选择“立即更新”,或手动运行 `{command}`。"
111
- ),
112
80
  success="🎉 更新命令已成功执行!请重启 {product}。",
113
81
  failure=(
114
82
  "更新失败,退出码:{code}。当前安装可能仍可使用;如果 {product} "
@@ -125,7 +93,7 @@ _MESSAGES: dict[str, UpdateMessages] = {
125
93
  "請關閉 {product},然後在新的 CMD 或 PowerShell 中執行 `{command}` 更新。"
126
94
  ),
127
95
  title="✨ 發現新版本!{current} -> {latest}",
128
- show_update_command_label="立即更新(結束後自動完成)",
96
+ show_update_command_label="顯示更新命令並退出",
129
97
  update_now_label="立即更新(執行 `{command}`)",
130
98
  skip_label="略過",
131
99
  skip_until_next_version_label="略過此版本",
@@ -138,21 +106,6 @@ _MESSAGES: dict[str, UpdateMessages] = {
138
106
  "uv tool uninstall {package}\n\n"
139
107
  "然後再次執行安裝命令。"
140
108
  ),
141
- windows_update_scheduled=(
142
- "🚀 已排定背景更新:目前 {product} 程序結束後將自動升級到 {latest},"
143
- "結果將於下次啟動時顯示。"
144
- ),
145
- windows_update_result_success=(
146
- "🎉 {product} 已在背景自動更新到 {latest}(原 {current})。"
147
- ),
148
- windows_update_result_failed=(
149
- "背景更新到 {latest} 失敗(結束碼 {code})。請關閉所有 {product} 視窗後,"
150
- "在新的 CMD 或 PowerShell 中執行 `{command}` 手動更新。"
151
- ),
152
- windows_update_result_timeout=(
153
- "背景更新到 {latest} 未執行:{product} 結束未完成,等待逾時。"
154
- "可再次選擇「立即更新」,或手動執行 `{command}`。"
155
- ),
156
109
  success="🎉 更新命令已成功執行!請重新啟動 {product}。",
157
110
  failure=(
158
111
  "更新失敗,結束碼:{code}。目前安裝可能仍可使用;如果 {product} "
@@ -169,7 +122,7 @@ _MESSAGES: dict[str, UpdateMessages] = {
169
122
  "{product} を閉じてから、新しい CMD または PowerShell で `{command}` を実行してください。"
170
123
  ),
171
124
  title="✨ 新しいバージョンがあります!{current} -> {latest}",
172
- show_update_command_label="今すぐ更新(終了後に自動実行)",
125
+ show_update_command_label="更新コマンドを表示して終了",
173
126
  update_now_label="今すぐ更新(`{command}` を実行)",
174
127
  skip_label="スキップ",
175
128
  skip_until_next_version_label="このバージョンをスキップ",
@@ -182,23 +135,6 @@ _MESSAGES: dict[str, UpdateMessages] = {
182
135
  "uv tool uninstall {package}\n\n"
183
136
  "その後、インストールコマンドをもう一度実行してください。"
184
137
  ),
185
- windows_update_scheduled=(
186
- "🚀 バックグラウンド更新を予約しました:現在の {product} プロセスが終了すると"
187
- "自動的に {latest} へ更新されます。結果は次回起動時に表示されます。"
188
- ),
189
- windows_update_result_success=(
190
- "🎉 {product} はバックグラウンドで {latest} に更新されました(以前:{current})。"
191
- ),
192
- windows_update_result_failed=(
193
- "{latest} へのバックグラウンド更新に失敗しました(終了コード {code})。"
194
- "すべての {product} ウィンドウを閉じてから、新しい CMD または PowerShell で `{command}` "
195
- "を実行して手動で更新してください。"
196
- ),
197
- windows_update_result_timeout=(
198
- "{latest} へのバックグラウンド更新は実行されませんでした:{product} が"
199
- "待機時間内に終了しませんでした。もう一度「今すぐ更新」を選ぶか、"
200
- "`{command}` を手動で実行してください。"
201
- ),
202
138
  success="🎉 更新コマンドが正常に完了しました。{product} を再起動してください。",
203
139
  failure=(
204
140
  "更新に失敗しました。終了コード:{code}。現在のインストールはまだ使える"
@@ -209,16 +145,45 @@ _MESSAGES: dict[str, UpdateMessages] = {
209
145
  }
210
146
 
211
147
 
212
- def detect_update_locale() -> str:
148
+ def _windows_ui_locale() -> str | None:
149
+ """Return the Windows user UI locale string, or None when unavailable."""
150
+ if sys.platform != "win32":
151
+ return None
152
+ try:
153
+ import ctypes
154
+
155
+ lang_id = ctypes.windll.kernel32.GetUserDefaultUILanguage()
156
+ return locale.windows_locale.get(lang_id)
157
+ except Exception:
158
+ logger.debug("windows UI locale detection failed", exc_info=True)
159
+ return None
160
+
161
+
162
+ def system_locale_candidates() -> list[str]:
163
+ """Return non-empty locale candidates in user-intent priority order."""
164
+ candidates: list[str] = []
213
165
  for env_var in ("LC_ALL", "LC_MESSAGES", "LANG", "LANGUAGE"):
214
- normalized = _normalize_locale(os.environ.get(env_var))
215
- if normalized:
216
- return normalized
166
+ value = os.environ.get(env_var)
167
+ if value:
168
+ candidates.append(value)
169
+ windows_locale = _windows_ui_locale()
170
+ if windows_locale:
171
+ candidates.append(windows_locale)
217
172
  try:
218
173
  lang, _encoding = locale.getlocale()
219
174
  except Exception:
220
- return "en"
221
- return _normalize_locale(lang) or "en"
175
+ lang = None
176
+ if lang:
177
+ candidates.append(lang)
178
+ return candidates
179
+
180
+
181
+ def detect_update_locale() -> str:
182
+ for candidate in system_locale_candidates():
183
+ normalized = _normalize_locale(candidate)
184
+ if normalized:
185
+ return normalized
186
+ return "en"
222
187
 
223
188
 
224
189
  def get_update_messages(locale_key: str | None = None) -> UpdateMessages: