@auto-ai/agent 2.1.224 → 2.1.228

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 (507) hide show
  1. package/dist/safe-a/404/index.html +1 -1
  2. package/dist/safe-a/404.html +1 -1
  3. package/dist/safe-a/_next/static/{fhaXRM3OAGMzPpk072rJg → 6V1592_KuRHKu2MxCBymu}/_buildManifest.js +1 -1
  4. package/dist/safe-a/_next/static/chunks/{ab522ef4566e28db.js → 01766c1e2fdff227.js} +1 -1
  5. package/dist/safe-a/_next/static/chunks/01e41aa8ba643318.js +1 -0
  6. package/dist/safe-a/_next/static/chunks/{aa34ec2d74f7775c.js → 04c9439163b67552.js} +1 -1
  7. package/dist/safe-a/_next/static/chunks/05e1926dc5c477b7.js +1 -0
  8. package/dist/safe-a/_next/static/chunks/{e7d6284971d07422.js → 06b923aa1177f43f.js} +1 -1
  9. package/dist/safe-a/_next/static/chunks/{9924bd3807982f9c.js → 092c97532613af2a.js} +1 -1
  10. package/dist/safe-a/_next/static/chunks/0b5e5b964346a287.js +1 -0
  11. package/dist/safe-a/_next/static/chunks/0b639ff4f1971d14.js +1 -0
  12. package/dist/safe-a/_next/static/chunks/{7cd0d9159e722599.js → 0b69dba7f1e63f30.js} +1 -1
  13. package/dist/safe-a/_next/static/chunks/{af07509fa7bac8c4.js → 0ce6504fc10ce408.js} +1 -1
  14. package/dist/safe-a/_next/static/chunks/{e07906d264057e7b.js → 0e1e7d5f7a375308.js} +1 -1
  15. package/dist/safe-a/_next/static/chunks/{00b0744649a5e608.js → 0e8139882ad093d2.js} +1 -1
  16. package/dist/safe-a/_next/static/chunks/0ea5a62c3f30dc56.js +1 -0
  17. package/dist/safe-a/_next/static/chunks/0f1810e4c6b0dd0c.js +1 -0
  18. package/dist/safe-a/_next/static/chunks/{70b95d96e33a5d63.js → 0fa097a572705cfa.js} +1 -1
  19. package/dist/safe-a/_next/static/chunks/{faf267ae8eaabb78.js → 0fb0d030e8dee231.js} +1 -1
  20. package/dist/safe-a/_next/static/chunks/{ed4322c3137a7cbf.js → 0fd3876e0d9e8acc.js} +1 -1
  21. package/dist/safe-a/_next/static/chunks/{c43009f5a3f83289.js → 106955e3cc6a6843.js} +1 -1
  22. package/dist/safe-a/_next/static/chunks/{3f18c3fa64301e74.js → 1078bc1642db53ad.js} +1 -1
  23. package/dist/safe-a/_next/static/chunks/{a0256e00bbdc334c.js → 108a0b77418f1d31.js} +1 -1
  24. package/dist/safe-a/_next/static/chunks/1289fc2bb1119e18.js +1 -0
  25. package/dist/safe-a/_next/static/chunks/{967dfe61a543e533.js → 13b54d70a1ee1de7.js} +1 -1
  26. package/dist/safe-a/_next/static/chunks/{54a2df4508a1c311.js → 13f94fc3dda88c90.js} +1 -1
  27. package/dist/safe-a/_next/static/chunks/155374df9f6b4b9a.js +1 -0
  28. package/dist/safe-a/_next/static/chunks/{12932eb7d288b09b.js → 16ea1d3cf6db8a53.js} +1 -1
  29. package/dist/safe-a/_next/static/chunks/{23f50ba74d421ab3.js → 170f7361bd4d33e2.js} +1 -1
  30. package/dist/safe-a/_next/static/chunks/17722e3ac4e00587.js +1 -0
  31. package/dist/safe-a/_next/static/chunks/{c0960892f67b4256.js → 179a5dac78ab2cb9.js} +1 -1
  32. package/dist/safe-a/_next/static/chunks/{966730983f55a7c6.js → 1818d7a661948f6b.js} +1 -1
  33. package/dist/safe-a/_next/static/chunks/18977fe8f51209aa.js +1 -0
  34. package/dist/safe-a/_next/static/chunks/{57e13ec897ff78d6.js → 19584f955475ce91.js} +1 -1
  35. package/dist/safe-a/_next/static/chunks/1974f51c298bce94.js +1 -0
  36. package/dist/safe-a/_next/static/chunks/199236daa84a65de.js +1 -0
  37. package/dist/safe-a/_next/static/chunks/{948dc342d4746ffc.js → 19c1491e85e22b3b.js} +1 -1
  38. package/dist/safe-a/_next/static/chunks/{a8696c4a576878ae.js → 19ca17e5015c42a3.js} +1 -1
  39. package/dist/safe-a/_next/static/chunks/{03039556684e9812.js → 1a4b553856a8ffdf.js} +1 -1
  40. package/dist/safe-a/_next/static/chunks/{93588b2335ca95de.js → 1b55c29b8cad4a50.js} +1 -1
  41. package/dist/safe-a/_next/static/chunks/{878dd96f8fcd6bd4.js → 1bb28f71c19fa824.js} +1 -1
  42. package/dist/safe-a/_next/static/chunks/1bfa645704d9149a.js +1 -0
  43. package/dist/safe-a/_next/static/chunks/{fd3f75ac79c1d04e.js → 1c9321874fea5f0d.js} +1 -1
  44. package/dist/safe-a/_next/static/chunks/{8b1990cf2eb41663.js → 1d3e7886be9f671c.js} +1 -1
  45. package/dist/safe-a/_next/static/chunks/{d2bba4dbd6e24f7e.js → 1e17456ccebc9cd2.js} +1 -1
  46. package/dist/safe-a/_next/static/chunks/{2bd512c6acf9ee9b.js → 1e43922998a0ed2f.js} +1 -1
  47. package/dist/safe-a/_next/static/chunks/{d653880800910810.js → 1fec17d16aff9eed.js} +1 -1
  48. package/dist/safe-a/_next/static/chunks/{a39dba23f5098cde.js → 2046937bffedf074.js} +1 -1
  49. package/dist/safe-a/_next/static/chunks/219a3413675ba6f1.js +1 -0
  50. package/dist/safe-a/_next/static/chunks/{8cee526b3846c40b.js → 2326118ef1328bc5.js} +1 -1
  51. package/dist/safe-a/_next/static/chunks/236775e4ec4f8a94.js +1 -0
  52. package/dist/safe-a/_next/static/chunks/{afab34a5bb437673.js → 242529c986baeb00.js} +1 -1
  53. package/dist/safe-a/_next/static/chunks/24ba1398a8b25d78.js +1 -0
  54. package/dist/safe-a/_next/static/chunks/24baa106665e0774.js +1 -0
  55. package/dist/safe-a/_next/static/chunks/27069b3f310e0a86.js +1 -0
  56. package/dist/safe-a/_next/static/chunks/{dfd8167d74bbaa3a.js → 270d7571d2eea071.js} +1 -1
  57. package/dist/safe-a/_next/static/chunks/{591fe54d06e0a33e.js → 27c407347ce26b78.js} +1 -1
  58. package/dist/safe-a/_next/static/chunks/{03af20498d43b518.js → 27ff2e69b2fd19e5.js} +1 -1
  59. package/dist/safe-a/_next/static/chunks/291c07da1c127dc1.js +1 -0
  60. package/dist/safe-a/_next/static/chunks/29676075a0390867.js +1 -0
  61. package/dist/safe-a/_next/static/chunks/{2be2d49054d4606c.js → 2c6d585a97629311.js} +1 -1
  62. package/dist/safe-a/_next/static/chunks/{1409701c73ffe517.js → 2df3e464b6247e75.js} +1 -1
  63. package/dist/safe-a/_next/static/chunks/2e574acbf68e77ff.js +1 -0
  64. package/dist/safe-a/_next/static/chunks/{c537d051140acc61.js → 2ec6d7ddb4c04987.js} +1 -1
  65. package/dist/safe-a/_next/static/chunks/{dee1daaeed29e5a2.js → 2f7d30e66e995b02.js} +1 -1
  66. package/dist/safe-a/_next/static/chunks/{66247e9b3cf471f5.js → 2fab2306850ac97b.js} +1 -1
  67. package/dist/safe-a/_next/static/chunks/{9721e6d173bcda17.js → 2fcc6298b6dd7a82.js} +1 -1
  68. package/dist/safe-a/_next/static/chunks/{ccbe0fe39b523768.js → 303d9c2a2c956f25.js} +1 -1
  69. package/dist/safe-a/_next/static/chunks/32a7ca0a75a897da.js +1 -0
  70. package/dist/safe-a/_next/static/chunks/{06e2cd3fae94aae8.js → 32b4d63e10d31351.js} +1 -1
  71. package/dist/safe-a/_next/static/chunks/{4f55f5dfceddc1fe.js → 32b9bdd82a961878.js} +1 -1
  72. package/dist/safe-a/_next/static/chunks/3509a66e019ceae3.js +1 -0
  73. package/dist/safe-a/_next/static/chunks/{ae7e9c73a1d653fd.js → 3520f1af0a1b7f66.js} +1 -1
  74. package/dist/safe-a/_next/static/chunks/{7b6898a7f9df6495.js → 354aaa2e36b75b81.js} +1 -1
  75. package/dist/safe-a/_next/static/chunks/{e4776ea06fa1720a.js → 3590c4a4f40cdb5d.js} +1 -1
  76. package/dist/safe-a/_next/static/chunks/{2ccdfcf9ecfa2ea8.js → 35f1637c2feb232d.js} +1 -1
  77. package/dist/safe-a/_next/static/chunks/{94d40dcd515ca4ad.js → 37bbbf907196a5bf.js} +1 -1
  78. package/dist/safe-a/_next/static/chunks/{7ed753f2db91bc38.js → 37cfaa4963ac51f3.js} +1 -1
  79. package/dist/safe-a/_next/static/chunks/{29a317486c4ab7d7.js → 3934bd57f459566e.js} +1 -1
  80. package/dist/safe-a/_next/static/chunks/{a3af4dcdb725b47f.js → 3a947667fddbdd53.js} +1 -1
  81. package/dist/safe-a/_next/static/chunks/3aac5736e5781b46.js +1 -0
  82. package/dist/safe-a/_next/static/chunks/3acf5ab47f7ac8fe.js +1 -0
  83. package/dist/safe-a/_next/static/chunks/{f7d33f46dfbddf65.js → 3ae23df392f9bed8.js} +1 -1
  84. package/dist/safe-a/_next/static/chunks/{65ee07c4b6209141.js → 3ae4e2529aa621fb.js} +1 -1
  85. package/dist/safe-a/_next/static/chunks/{30f37e8e02339538.js → 3b2bb9f17546ee3e.js} +1 -1
  86. package/dist/safe-a/_next/static/chunks/{02339beb679bec8d.js → 3bcd531d40d6c019.js} +1 -1
  87. package/dist/safe-a/_next/static/chunks/3c695d1c2efbc749.js +1 -0
  88. package/dist/safe-a/_next/static/chunks/3d8e9a96a69193d4.js +1 -0
  89. package/dist/safe-a/_next/static/chunks/3dcb1dcf23e7ab9c.js +1 -0
  90. package/dist/safe-a/_next/static/chunks/3e2ea3a7fe64826d.js +1 -0
  91. package/dist/safe-a/_next/static/chunks/{472047ea96adfca5.js → 3e9c98df7d56e9b2.js} +1 -1
  92. package/dist/safe-a/_next/static/chunks/{3da255bcf22e013d.js → 3ec05a61e93547d3.js} +1 -1
  93. package/dist/safe-a/_next/static/chunks/3f6fe8a1903009ea.js +1 -0
  94. package/dist/safe-a/_next/static/chunks/3fb4674edcb2d726.js +1 -0
  95. package/dist/safe-a/_next/static/chunks/{c013a3a3b1574b7d.js → 3fd03b9ed21b30fc.js} +1 -1
  96. package/dist/safe-a/_next/static/chunks/40268f8e3ff0314e.js +1 -0
  97. package/dist/safe-a/_next/static/chunks/{dabd2cc5e900d556.js → 40cc0252b2f1d855.js} +1 -1
  98. package/dist/safe-a/_next/static/chunks/{19a47cfc8ca4c0a7.js → 413a7be096275d7f.js} +1 -1
  99. package/dist/safe-a/_next/static/chunks/43c4ed555aa7688a.js +1 -0
  100. package/dist/safe-a/_next/static/chunks/{435e18828af1d066.js → 459d401d9f9e5b9f.js} +1 -1
  101. package/dist/safe-a/_next/static/chunks/45ab9a1f693d609c.js +1 -0
  102. package/dist/safe-a/_next/static/chunks/{9db0d8129d6b7b5e.js → 481a2858f7df907d.js} +1 -1
  103. package/dist/safe-a/_next/static/chunks/{de208f3610c12b2c.js → 49df9708d6328c4a.js} +1 -1
  104. package/dist/safe-a/_next/static/chunks/{ad22e1613386ba8d.js → 4a340ea4ac145216.js} +1 -1
  105. package/dist/safe-a/_next/static/chunks/4a426c156537f974.js +1 -0
  106. package/dist/safe-a/_next/static/chunks/4be4ca8f1ec9c171.js +1 -0
  107. package/dist/safe-a/_next/static/chunks/4be779bcbd94352d.js +1 -0
  108. package/dist/safe-a/_next/static/chunks/4c33a1cc6db74105.js +1 -0
  109. package/dist/safe-a/_next/static/chunks/4d129d4e15c8c424.js +1 -0
  110. package/dist/safe-a/_next/static/chunks/{c84ea2dc8d3281e6.js → 4df298f5b420f474.js} +1 -1
  111. package/dist/safe-a/_next/static/chunks/{dfe4d8ffc37b96da.js → 4dfbfdff43b8479b.js} +1 -1
  112. package/dist/safe-a/_next/static/chunks/5069ee4aa806b0ea.js +1 -0
  113. package/dist/safe-a/_next/static/chunks/519049cd74a40910.js +1 -0
  114. package/dist/safe-a/_next/static/chunks/5208bff6c40e7fd0.js +1 -0
  115. package/dist/safe-a/_next/static/chunks/522518d740397639.js +1 -0
  116. package/dist/safe-a/_next/static/chunks/52e2164e45febae6.js +1 -0
  117. package/dist/safe-a/_next/static/chunks/{f8757d2c1a969081.js → 534b5acf573aa491.js} +1 -1
  118. package/dist/safe-a/_next/static/chunks/538cc02e54714b23.js +1 -0
  119. package/dist/safe-a/_next/static/chunks/{97d506a00590396c.js → 53be52c43a14557c.js} +1 -1
  120. package/dist/safe-a/_next/static/chunks/54c43751bf4c4da2.js +1 -0
  121. package/dist/safe-a/_next/static/chunks/{0c19efa935cdd816.js → 55087cc98e6237f1.js} +1 -1
  122. package/dist/safe-a/_next/static/chunks/{5c2a7e118fa66960.js → 55f8de91b4803778.js} +1 -1
  123. package/dist/safe-a/_next/static/chunks/{569dda34679bca70.js → 560ca23f77c0e819.js} +1 -1
  124. package/dist/safe-a/_next/static/chunks/{7c2d68248d759f50.js → 5798600d2ea8a3e8.js} +1 -1
  125. package/dist/safe-a/_next/static/chunks/{6e145bea7acc82b4.js → 57bb853857f3de83.js} +1 -1
  126. package/dist/safe-a/_next/static/chunks/{65963496d7fa49bc.js → 588e6975a7bd6671.js} +1 -1
  127. package/dist/safe-a/_next/static/chunks/{648649ebbc7565b9.js → 5a0b630678282d4f.js} +1 -1
  128. package/dist/safe-a/_next/static/chunks/{1f90e84b5a4dad81.js → 5a3e355216280144.js} +1 -1
  129. package/dist/safe-a/_next/static/chunks/{63f33483697b26ca.js → 5a4c198fd41e8ec4.js} +1 -1
  130. package/dist/safe-a/_next/static/chunks/5b916c9dc09e323c.js +1 -0
  131. package/dist/safe-a/_next/static/chunks/5ccd5a6ac9c2f980.js +1 -0
  132. package/dist/safe-a/_next/static/chunks/{eb248f97f593a288.js → 5d5333084191fb10.js} +1 -1
  133. package/dist/safe-a/_next/static/chunks/5d79b7f202080232.js +1 -0
  134. package/dist/safe-a/_next/static/chunks/{a367a4ab4b91ce6b.js → 5ea79c109cbe8a86.js} +1 -1
  135. package/dist/safe-a/_next/static/chunks/{daaffc256846db90.js → 5ee72092303043ef.js} +1 -1
  136. package/dist/safe-a/_next/static/chunks/{9583c5cc3861200c.js → 5fc8a5235ddfa787.js} +1 -1
  137. package/dist/safe-a/_next/static/chunks/{8c97e3b556b32001.js → 61ce261738313b8a.js} +1 -1
  138. package/dist/safe-a/_next/static/chunks/{503bbec2e3179a3c.js → 62d925bcc8518b6f.js} +1 -1
  139. package/dist/safe-a/_next/static/chunks/63ec034afca4b5d6.js +1 -0
  140. package/dist/safe-a/_next/static/chunks/{547eb82208058c71.js → 644aa76620718c98.js} +1 -1
  141. package/dist/safe-a/_next/static/chunks/{6d0bf0ac1fdb7eab.js → 648b653b36802fdc.js} +1 -1
  142. package/dist/safe-a/_next/static/chunks/{1d737ed6e08d2466.js → 6522643341a0921c.js} +1 -1
  143. package/dist/safe-a/_next/static/chunks/{829196dbf7eddb51.js → 65fb49c8a7f59842.js} +1 -1
  144. package/dist/safe-a/_next/static/chunks/{e878ffaf394e2c30.js → 65fe0975412ff703.js} +1 -1
  145. package/dist/safe-a/_next/static/chunks/6677c64fd587e78c.js +1 -0
  146. package/dist/safe-a/_next/static/chunks/{ea136b1a439307e8.js → 66b30159915524db.js} +1 -1
  147. package/dist/safe-a/_next/static/chunks/{cf99b249b986e2bd.js → 66ed07a735eac6e3.js} +1 -1
  148. package/dist/safe-a/_next/static/chunks/6785757cc05fec19.js +1 -0
  149. package/dist/safe-a/_next/static/chunks/{dc982433a82e2718.js → 67a7cf262202c942.js} +1 -1
  150. package/dist/safe-a/_next/static/chunks/{8aafb8ec5208a445.js → 67c9db5577080125.js} +1 -1
  151. package/dist/safe-a/_next/static/chunks/{ada2807c297fe674.js → 68bd2bd64624e20d.js} +1 -1
  152. package/dist/safe-a/_next/static/chunks/{774e554c11c8759a.js → 692e7ee14236fefb.js} +1 -1
  153. package/dist/safe-a/_next/static/chunks/696e3ddd135b85b4.js +1 -0
  154. package/dist/safe-a/_next/static/chunks/{dcdc329f64f1a7a8.js → 69cfdbc51cf2d3c3.js} +1 -1
  155. package/dist/safe-a/_next/static/chunks/{1aaf9fb00fb53ef9.js → 6ae709c575c74979.js} +1 -1
  156. package/dist/safe-a/_next/static/chunks/{dfbd9d8a4137edd6.js → 6b652524b5ffdd9e.js} +1 -1
  157. package/dist/safe-a/_next/static/chunks/{645741ee91707763.js → 6b7c3c962a14dc29.js} +1 -1
  158. package/dist/safe-a/_next/static/chunks/{ec24f7a0593636d9.js → 6bc7c57f119ad4f6.js} +1 -1
  159. package/dist/safe-a/_next/static/chunks/{2c0b2fd9fb2fea66.js → 6c3b2d0be1c633b6.js} +1 -1
  160. package/dist/safe-a/_next/static/chunks/{29cf9e89be8a7f75.js → 6cc2f7f962cdd082.js} +1 -1
  161. package/dist/safe-a/_next/static/chunks/{3e45de4a81d1f7a6.js → 6d4209e94b1aafe6.js} +1 -1
  162. package/dist/safe-a/_next/static/chunks/{c43f94053172eb84.js → 6f3afa83656eab67.js} +1 -1
  163. package/dist/safe-a/_next/static/chunks/{b4d570502774dffb.js → 6f4460bd0b8a57af.js} +1 -1
  164. package/dist/safe-a/_next/static/chunks/{ec048ffab26ebcd6.js → 6fe835d41fdbd638.js} +1 -1
  165. package/dist/safe-a/_next/static/chunks/{6349c7cf3b394b81.js → 70459a2a4c45653e.js} +1 -1
  166. package/dist/safe-a/_next/static/chunks/{c5fd875d1d9fd6c4.js → 7137c7537c459c31.js} +1 -1
  167. package/dist/safe-a/_next/static/chunks/{740732a162598c49.js → 715c085d7c10eeda.js} +1 -1
  168. package/dist/safe-a/_next/static/chunks/{42d0ae4192d72f8e.js → 71668b2d16d048d8.js} +1 -1
  169. package/dist/safe-a/_next/static/chunks/71d3a80bc9d53b07.js +1 -0
  170. package/dist/safe-a/_next/static/chunks/{5c076874caf0532e.js → 71e3a90489469c28.js} +1 -1
  171. package/dist/safe-a/_next/static/chunks/{d0d06ea64246c2e0.js → 72a56bd75075fd83.js} +1 -1
  172. package/dist/safe-a/_next/static/chunks/{957b35b92a00be9d.js → 72ef1696f44fcf61.js} +1 -1
  173. package/dist/safe-a/_next/static/chunks/{5076e29ddf662e81.js → 736441266ceb14e2.js} +1 -1
  174. package/dist/safe-a/_next/static/chunks/{0f93a62e5e2db48b.js → 73cbf0064096e28c.js} +1 -1
  175. package/dist/safe-a/_next/static/chunks/{ae1404fdd6ec935a.js → 751de74a23cc9036.js} +1 -1
  176. package/dist/safe-a/_next/static/chunks/{e632e1b120215697.js → 756b6c2e620386ff.js} +1 -1
  177. package/dist/safe-a/_next/static/chunks/{5ca0c9bb26daf732.js → 75a396e1752cd59d.js} +1 -1
  178. package/dist/safe-a/_next/static/chunks/764c541428e1c6eb.js +1 -0
  179. package/dist/safe-a/_next/static/chunks/{e7f1683dcd85bf06.js → 79128afded6e01d9.js} +1 -1
  180. package/dist/safe-a/_next/static/chunks/7988d5ea63356e10.js +1 -0
  181. package/dist/safe-a/_next/static/chunks/{cd733da27bed8af2.js → 7aa69fd5d97b7146.js} +1 -1
  182. package/dist/safe-a/_next/static/chunks/7b9c09d0ce43f1c2.js +1 -0
  183. package/dist/safe-a/_next/static/chunks/{9ae8f05f80dedfa4.js → 7d3bf918bccde738.js} +1 -1
  184. package/dist/safe-a/_next/static/chunks/7dbb8abebf50d816.js +1 -0
  185. package/dist/safe-a/_next/static/chunks/7ef348801eff6590.js +1 -0
  186. package/dist/safe-a/_next/static/chunks/{2f35f32799fb08ac.js → 7f6e82ac63db5eff.js} +1 -1
  187. package/dist/safe-a/_next/static/chunks/{738c808ddc82ea44.js → 7fd45fb9cf0995f3.js} +1 -1
  188. package/dist/safe-a/_next/static/chunks/{a12eeb7c77a7506f.js → 84185f4bb07ccbd7.js} +1 -1
  189. package/dist/safe-a/_next/static/chunks/85fc05549f7f100c.js +1 -0
  190. package/dist/safe-a/_next/static/chunks/{b0638abf4a6eb85f.js → 87e12ecbe9521f9b.js} +1 -1
  191. package/dist/safe-a/_next/static/chunks/{86c0a63bf95598a3.js → 88a999988f915988.js} +1 -1
  192. package/dist/safe-a/_next/static/chunks/88bc97899d2ce4e5.js +1 -0
  193. package/dist/safe-a/_next/static/chunks/{8e33e395e6224908.js → 8bdc142fad5847ed.js} +1 -1
  194. package/dist/safe-a/_next/static/chunks/{6818b9385873d081.js → 8deb0392842e5a01.js} +1 -1
  195. package/dist/safe-a/_next/static/chunks/{99ce8e2a747001a9.js → 8f038ff914c4b0df.js} +1 -1
  196. package/dist/safe-a/_next/static/chunks/{eaa820432740042a.js → 8f5be275907dd98c.js} +1 -1
  197. package/dist/safe-a/_next/static/chunks/{0518cc63903bebac.js → 9037530b0f1d5783.js} +1 -1
  198. package/dist/safe-a/_next/static/chunks/{b4db35dceb9577e1.js → 9078ad91aa20dca0.js} +1 -1
  199. package/dist/safe-a/_next/static/chunks/91e0df5a4c9d0bcd.js +1 -0
  200. package/dist/safe-a/_next/static/chunks/92c3617a4e22a464.js +1 -0
  201. package/dist/safe-a/_next/static/chunks/{eb34cdf40f4c4d62.js → 932d3fcc2596e8d5.js} +1 -1
  202. package/dist/safe-a/_next/static/chunks/937e26e6e01d9ec9.js +1 -0
  203. package/dist/safe-a/_next/static/chunks/93bfaf233e66b48c.js +1 -0
  204. package/dist/safe-a/_next/static/chunks/{3422b2c2f9bdf0e0.js → 94029062f236cadc.js} +1 -1
  205. package/dist/safe-a/_next/static/chunks/94e88cfda11697d2.js +1 -0
  206. package/dist/safe-a/_next/static/chunks/{55e32e78e4db3889.js → 95c4d26e469d1d8f.js} +1 -1
  207. package/dist/safe-a/_next/static/chunks/{b717d3610f87602f.js → 96026b5eb5d2566b.js} +1 -1
  208. package/dist/safe-a/_next/static/chunks/{ede1765e6899133a.js → 962a27e9c634b823.js} +1 -1
  209. package/dist/safe-a/_next/static/chunks/{093669121f3b7aa1.js → 966fb5830ce1029c.js} +1 -1
  210. package/dist/safe-a/_next/static/chunks/{aa8c7d3d99a14fdb.js → 9724567275720686.js} +1 -1
  211. package/dist/safe-a/_next/static/chunks/{aff6654f4fbc26b0.js → 98e243fb5992a71c.js} +1 -1
  212. package/dist/safe-a/_next/static/chunks/992d07434795e693.js +1 -0
  213. package/dist/safe-a/_next/static/chunks/{fddfcced721d9669.js → 9a7b2a483b109c0a.js} +1 -1
  214. package/dist/safe-a/_next/static/chunks/9b3df6b20a9625d5.js +1 -0
  215. package/dist/safe-a/_next/static/chunks/9c6c00fa68012026.js +1 -0
  216. package/dist/safe-a/_next/static/chunks/{46568a8bad984d09.js → 9cb28a1dacb7ea6d.js} +1 -1
  217. package/dist/safe-a/_next/static/chunks/9ccf7a8bca1730bf.js +1 -0
  218. package/dist/safe-a/_next/static/chunks/9e37e70d0f4b69de.js +1 -0
  219. package/dist/safe-a/_next/static/chunks/{c2e5be103cef6113.js → 9e96c84b86d1bbf3.js} +1 -1
  220. package/dist/safe-a/_next/static/chunks/{0fb74192c4e23fbe.js → 9ee8d3b992ef970c.js} +1 -1
  221. package/dist/safe-a/_next/static/chunks/{38dcdbfb8c6966a9.js → 9f0ee4783140adf1.js} +1 -1
  222. package/dist/safe-a/_next/static/chunks/9fefea69ec034a63.js +1 -0
  223. package/dist/safe-a/_next/static/chunks/{d9bf3f0f6088ac8c.js → a1b9abf15c0f7655.js} +1 -1
  224. package/dist/safe-a/_next/static/chunks/{65159d9aa3ecc0c9.js → a37aa474433d29e3.js} +1 -1
  225. package/dist/safe-a/_next/static/chunks/a437ab944fe911da.js +1 -0
  226. package/dist/safe-a/_next/static/chunks/a4776dc3e00e5ab0.js +1 -0
  227. package/dist/safe-a/_next/static/chunks/{2331e2a388a9bd50.js → a5df6158856685f1.js} +1 -1
  228. package/dist/safe-a/_next/static/chunks/{8d76667bd2633e46.js → a6737fc58619eae5.js} +1 -1
  229. package/dist/safe-a/_next/static/chunks/{217c50478c5ea4d7.js → a6a98f9278704b6a.js} +1 -1
  230. package/dist/safe-a/_next/static/chunks/{6ecccb36549d3028.js → a7277c96f3669bea.js} +1 -1
  231. package/dist/safe-a/_next/static/chunks/{9b0ac8da8e1c0d7e.js → a9fed5c43d754a96.js} +1 -1
  232. package/dist/safe-a/_next/static/chunks/{6e663a2e3562125c.js → aa0a4c596151b22b.js} +1 -1
  233. package/dist/safe-a/_next/static/chunks/{f7ad257814e6e947.js → aa867a1fa8b105e1.js} +1 -1
  234. package/dist/safe-a/_next/static/chunks/{009ad4aad9cfa502.js → aab87c3b5c253757.js} +1 -1
  235. package/dist/safe-a/_next/static/chunks/abdf99ba76e0f571.js +1 -0
  236. package/dist/safe-a/_next/static/chunks/ad4ba491cf12423f.js +5 -0
  237. package/dist/safe-a/_next/static/chunks/{f40b91cb7cc58cf2.js → ad50a7d15cd9d9d8.js} +1 -1
  238. package/dist/safe-a/_next/static/chunks/{0708a65cc3ecf56b.js → af7b0bd1b40ad066.js} +1 -1
  239. package/dist/safe-a/_next/static/chunks/{9e9339584dbc8172.js → b24e3802454a5567.js} +1 -1
  240. package/dist/safe-a/_next/static/chunks/{e1416a0b2152bdbf.js → b29a85c3dae2bb9c.js} +1 -1
  241. package/dist/safe-a/_next/static/chunks/b30ee3cb6af32088.js +1 -0
  242. package/dist/safe-a/_next/static/chunks/b30f1da4e57f459a.js +1 -0
  243. package/dist/safe-a/_next/static/chunks/{129875fd1b096964.js → b360c9fc22dbf831.js} +1 -1
  244. package/dist/safe-a/_next/static/chunks/{ddc8a591c8943264.js → b3e79c76be269ccc.js} +1 -1
  245. package/dist/safe-a/_next/static/chunks/{82aea21a16d00076.js → b429be4e16fa1e00.js} +1 -1
  246. package/dist/safe-a/_next/static/chunks/{e66819cb4afcfe87.js → b61ec36c9bbca3e0.js} +1 -1
  247. package/dist/safe-a/_next/static/chunks/{405cd8dd7faa6eaf.js → b65565677c3e8c0a.js} +1 -1
  248. package/dist/safe-a/_next/static/chunks/{37f3ea0b3cf40bca.js → b66afb4b0be97af8.js} +1 -1
  249. package/dist/safe-a/_next/static/chunks/{d53ff6336a32e4c5.js → b69f987a60b05db3.js} +1 -1
  250. package/dist/safe-a/_next/static/chunks/{9d65a2db77bf6c63.js → b78822282754a47c.js} +1 -1
  251. package/dist/safe-a/_next/static/chunks/b92c67520afabac2.js +1 -0
  252. package/dist/safe-a/_next/static/chunks/bbcb68bcca448018.js +1 -0
  253. package/dist/safe-a/_next/static/chunks/{43392297dd43555d.js → bbcf9daa108b22fb.js} +1 -1
  254. package/dist/safe-a/_next/static/chunks/{f05af2c706c87fb5.js → bc7bda699a7ccda1.js} +1 -1
  255. package/dist/safe-a/_next/static/chunks/{f0a3b313fc0fcace.js → bd1f33816fa01c16.js} +1 -1
  256. package/dist/safe-a/_next/static/chunks/bd2dcf98c9b362f6.js +1 -0
  257. package/dist/safe-a/_next/static/chunks/{cb8a82631d87b798.js → bd984c5404403e7d.js} +1 -1
  258. package/dist/safe-a/_next/static/chunks/{6fc97877fbcf3403.js → bf2262100cea8c64.js} +1 -1
  259. package/dist/safe-a/_next/static/chunks/bf2c1c402dbcccdf.js +1 -0
  260. package/dist/safe-a/_next/static/chunks/bfc6ee42cec583d5.js +1 -0
  261. package/dist/safe-a/_next/static/chunks/{c5932397b84e3c27.js → c15069059c9d1f53.js} +1 -1
  262. package/dist/safe-a/_next/static/chunks/{9de7a5feb6be8bc3.js → c1615032cbbf5b56.js} +1 -1
  263. package/dist/safe-a/_next/static/chunks/{4c87634b39751c56.js → c2546d2b493dd907.js} +1 -1
  264. package/dist/safe-a/_next/static/chunks/{82cdf7e6dbe7070d.js → c3669d468d3f2b3a.js} +1 -1
  265. package/dist/safe-a/_next/static/chunks/c3b49937059d3d70.js +1 -0
  266. package/dist/safe-a/_next/static/chunks/{5a43f7cd89a42167.js → c5b5aba98d38ef23.js} +1 -1
  267. package/dist/safe-a/_next/static/chunks/c5be27a596acfa18.js +1 -0
  268. package/dist/safe-a/_next/static/chunks/{6e4e92cbcf961542.js → c6cc32860b96278f.js} +1 -1
  269. package/dist/safe-a/_next/static/chunks/{997894582876b3bb.js → c725524ea13a50ab.js} +1 -1
  270. package/dist/safe-a/_next/static/chunks/c8942bee3aebddae.js +1 -0
  271. package/dist/safe-a/_next/static/chunks/{fc3c1b765cc5906d.js → c8e45be36912e439.js} +1 -1
  272. package/dist/safe-a/_next/static/chunks/{5e4225518ccc365e.js → c933951b3113492f.js} +1 -1
  273. package/dist/safe-a/_next/static/chunks/c9813626ba898586.js +1 -0
  274. package/dist/safe-a/_next/static/chunks/ca2725c2b45709c1.js +1 -0
  275. package/dist/safe-a/_next/static/chunks/{47098fcba8e98974.js → caf4049dc563940e.js} +1 -1
  276. package/dist/safe-a/_next/static/chunks/cafadd69e03e6c4b.js +1 -0
  277. package/dist/safe-a/_next/static/chunks/{57bc9169370081d7.js → cba2741f84ef36ed.js} +1 -1
  278. package/dist/safe-a/_next/static/chunks/{47d485f30e419da8.js → cccecf726769787f.js} +1 -1
  279. package/dist/safe-a/_next/static/chunks/{261bf96e2331ea0a.js → cd0e7e3cc303b4e4.js} +1 -1
  280. package/dist/safe-a/_next/static/chunks/cd4556cbed1f8957.js +1 -0
  281. package/dist/safe-a/_next/static/chunks/{2f104b4be1990722.js → cd5eec7d305aa041.js} +1 -1
  282. package/dist/safe-a/_next/static/chunks/{564507763428bfb0.js → d09636e7bcf60ad1.js} +1 -1
  283. package/dist/safe-a/_next/static/chunks/{dd59d0e313916320.js → d2d432a9facf4278.js} +1 -1
  284. package/dist/safe-a/_next/static/chunks/{fdf535baa39c0e26.js → d2e37b6d5ff62bcb.js} +1 -1
  285. package/dist/safe-a/_next/static/chunks/{fe840e6cda1c115e.js → d33a24782888b869.js} +1 -1
  286. package/dist/safe-a/_next/static/chunks/{7f611b9b215dfcef.js → d33e49aabd798892.js} +1 -1
  287. package/dist/safe-a/_next/static/chunks/{7d7ef3758ed7347b.js → d3990c1e87ef3e23.js} +1 -1
  288. package/dist/safe-a/_next/static/chunks/d433c87b0bc69cda.js +1 -0
  289. package/dist/safe-a/_next/static/chunks/{9a63abc493c1c840.js → d47cd27ac08f5429.js} +1 -1
  290. package/dist/safe-a/_next/static/chunks/{0e68cace7cf0464c.js → d599ef4d0f84a93d.js} +1 -1
  291. package/dist/safe-a/_next/static/chunks/{18570009118a0e76.js → d5e3d29f769997cc.js} +1 -1
  292. package/dist/safe-a/_next/static/chunks/{7e5b28d162f1ea9d.js → d69b21102305d19e.js} +1 -1
  293. package/dist/safe-a/_next/static/chunks/{b92da682bccc569b.js → d715e874b8ee8540.js} +1 -1
  294. package/dist/safe-a/_next/static/chunks/{1a91a01fbaf01e7e.js → d729414ff836cd53.js} +1 -1
  295. package/dist/safe-a/_next/static/chunks/{333630802bd6f1a6.js → d82740475fc07e98.js} +1 -1
  296. package/dist/safe-a/_next/static/chunks/{9bedfcbe8f9ff43f.js → d842d30dcb0f50a9.js} +1 -1
  297. package/dist/safe-a/_next/static/chunks/{502779251884e330.js → d8af8dadd0889c71.js} +1 -1
  298. package/dist/safe-a/_next/static/chunks/{50c602f1b79d61a7.js → d9b92ed2d544fca5.js} +1 -1
  299. package/dist/safe-a/_next/static/chunks/{d147ab3cf51edc42.js → da346aeed70dd39a.js} +1 -1
  300. package/dist/safe-a/_next/static/chunks/da9d2b7d381c1953.js +1 -0
  301. package/dist/safe-a/_next/static/chunks/dbbd673619a7f82f.js +1 -0
  302. package/dist/safe-a/_next/static/chunks/dc0bc471de951daf.js +1 -0
  303. package/dist/safe-a/_next/static/chunks/{9d8fff267f5576eb.js → dc2186b66132ca97.js} +1 -1
  304. package/dist/safe-a/_next/static/chunks/{d3fc1847f85d724b.js → de0ee516f6a1aa07.js} +1 -1
  305. package/dist/safe-a/_next/static/chunks/{473249ae7830085a.js → e04bace22e04d63c.js} +1 -1
  306. package/dist/safe-a/_next/static/chunks/{9b94620a86d2a1c2.js → e0c76ff7114dc8dc.js} +1 -1
  307. package/dist/safe-a/_next/static/chunks/{dc7f280eee64d574.js → e11d4fd8de65621d.js} +1 -1
  308. package/dist/safe-a/_next/static/chunks/{ec7ee73b22712e55.js → e1999bcadd3448e5.js} +1 -1
  309. package/dist/safe-a/_next/static/chunks/{232cc01daaf29e5d.js → e3fe320ec1b8f889.js} +1 -1
  310. package/dist/safe-a/_next/static/chunks/{50cbc92b0512838a.js → e4973ad5c183f17a.js} +1 -1
  311. package/dist/safe-a/_next/static/chunks/{c8b301b059ee1946.js → e5275dcacbabc3e3.js} +1 -1
  312. package/dist/safe-a/_next/static/chunks/e60ef129113f6e24.js +1 -0
  313. package/dist/safe-a/_next/static/chunks/{8ebfebffa66b3ca7.js → e61019aedfdf554e.js} +1 -1
  314. package/dist/safe-a/_next/static/chunks/e6324292aef80338.js +1 -0
  315. package/dist/safe-a/_next/static/chunks/{e89655c05e6b5b1f.js → e7003dbd5d8cb2d1.js} +1 -1
  316. package/dist/safe-a/_next/static/chunks/{0d7d0d2beb29f175.js → e7bcbeb465fa49cf.js} +1 -1
  317. package/dist/safe-a/_next/static/chunks/e7f1a043618e43cf.js +1 -0
  318. package/dist/safe-a/_next/static/chunks/e8105dbb23b8e514.js +1 -0
  319. package/dist/safe-a/_next/static/chunks/e8575bc1450f83ef.js +1 -0
  320. package/dist/safe-a/_next/static/chunks/{06a64fef342a5832.js → e96518d9cb5cbe1e.js} +1 -1
  321. package/dist/safe-a/_next/static/chunks/{e7731336476789d7.js → ea12d36cdfbaafa9.js} +1 -1
  322. package/dist/safe-a/_next/static/chunks/{05ac495e860ba7c2.js → ea2a84258a02d5c5.js} +1 -1
  323. package/dist/safe-a/_next/static/chunks/{b9b23fa418eacd67.js → ea36a5ae7c6ce34f.js} +1 -1
  324. package/dist/safe-a/_next/static/chunks/{fbb5b0d1f5b25465.js → eb2d81df9fe374a8.js} +1 -1
  325. package/dist/safe-a/_next/static/chunks/{30c0274cb379ab0d.js → eb9ae8e95cac1197.js} +1 -1
  326. package/dist/safe-a/_next/static/chunks/{abf043c7dd51a07b.js → ebb0ee69f6a7883e.js} +1 -1
  327. package/dist/safe-a/_next/static/chunks/{d84ed83f568f41c6.js → ebcbb5070eb8e29f.js} +1 -1
  328. package/dist/safe-a/_next/static/chunks/ebcd85ff4a1db0dc.js +5 -0
  329. package/dist/safe-a/_next/static/chunks/{5ad5a5ee1cc648ae.js → ee79511740d19885.js} +1 -1
  330. package/dist/safe-a/_next/static/chunks/eed0c3ef6a5c3706.js +1 -0
  331. package/dist/safe-a/_next/static/chunks/{404f44571be80b78.js → ef51763a796dde8b.js} +1 -1
  332. package/dist/safe-a/_next/static/chunks/{025f9752d60b79ce.js → f0cb9b2226c53ef9.js} +1 -1
  333. package/dist/safe-a/_next/static/chunks/{c5b0f8f27c2db9f1.js → f0d9f0621f8ec46d.js} +1 -1
  334. package/dist/safe-a/_next/static/chunks/f12f45a558c3fed2.js +1 -0
  335. package/dist/safe-a/_next/static/chunks/{868f60fa1a2ff26b.js → f1e5e295d4db5c0f.js} +1 -1
  336. package/dist/safe-a/_next/static/chunks/{3b0acee8a8035ee7.js → f1f911d553a62027.js} +1 -1
  337. package/dist/safe-a/_next/static/chunks/{36897fabf62bf445.js → f235a8df2f905e6a.js} +1 -1
  338. package/dist/safe-a/_next/static/chunks/{27b3d30516d46fc8.js → f36595b9995a49a9.js} +1 -1
  339. package/dist/safe-a/_next/static/chunks/f42a71992d139302.js +1 -0
  340. package/dist/safe-a/_next/static/chunks/{dd03bb14e8e590f0.js → f42d74f288f2229c.js} +1 -1
  341. package/dist/safe-a/_next/static/chunks/{f39ec71d70b31fe1.js → f461a75ec3b0e4e9.js} +1 -1
  342. package/dist/safe-a/_next/static/chunks/{9f7b593a28b4dbe4.js → f50fd84e477dbaeb.js} +1 -1
  343. package/dist/safe-a/_next/static/chunks/{4c19e1ee54dac526.js → f659a364f48244ea.js} +1 -1
  344. package/dist/safe-a/_next/static/chunks/{7c4b1ab5c0f1b167.js → f813c3d77459119f.js} +1 -1
  345. package/dist/safe-a/_next/static/chunks/{cac08e0e891f58d2.js → f9cb4b70f67c86d8.js} +1 -1
  346. package/dist/safe-a/_next/static/chunks/{2854919e0953bd0d.js → fa39b9f8bced4bcd.js} +1 -1
  347. package/dist/safe-a/_next/static/chunks/{4df5dd4e3c591164.js → fa5b61b8e7219fe6.js} +1 -1
  348. package/dist/safe-a/_next/static/chunks/{1386362cdfd92116.js → facb82117d49a6e1.js} +1 -1
  349. package/dist/safe-a/_next/static/chunks/{e1626e173f56ae31.js → fb05f79f5e4b514e.js} +1 -1
  350. package/dist/safe-a/_next/static/chunks/{18e062f9f23f27c0.js → fb0f4d868b87961b.js} +1 -1
  351. package/dist/safe-a/_next/static/chunks/{3d9ee9c4bc8e29b2.js → fb2f1266493dd820.js} +1 -1
  352. package/dist/safe-a/_next/static/chunks/fc2efa33a196ee45.js +1 -0
  353. package/dist/safe-a/_next/static/chunks/{a4ab363af889263f.js → fd3d43eb8557ee49.js} +1 -1
  354. package/dist/safe-a/_next/static/chunks/{8ead3da37182ce4c.js → fdfce6fa0b958336.js} +1 -1
  355. package/dist/safe-a/_next/static/chunks/{04ed04c00511a337.js → ff12eca45020947a.js} +1 -1
  356. package/dist/safe-a/_next/static/chunks/ff6860dcd793aa23.js +1 -0
  357. package/dist/safe-a/_next/static/chunks/{turbopack-25307b1915d537a0.js → turbopack-3d84668fefd38b4b.js} +1 -1
  358. package/dist/safe-a/_next/static/chunks/{turbopack-fd95f1c0ef78a441.js → turbopack-63952675b1d69124.js} +1 -1
  359. package/dist/safe-a/_next/static/chunks/turbopack-8b41433c9a94981f.js +3 -0
  360. package/dist/safe-a/index.html +2 -2
  361. package/dist/safe-a/index.txt +17 -17
  362. package/dist/safe-a/manage/about/index.html +2 -2
  363. package/dist/safe-a/manage/about/index.txt +15 -15
  364. package/dist/safe-a/manage/env/index.html +2 -2
  365. package/dist/safe-a/manage/env/index.txt +17 -17
  366. package/dist/safe-a/manage/geelib/index.html +2 -2
  367. package/dist/safe-a/manage/geelib/index.txt +17 -17
  368. package/dist/safe-a/manage/general/index.html +2 -2
  369. package/dist/safe-a/manage/general/index.txt +15 -15
  370. package/dist/safe-a/manage/git/index.html +2 -2
  371. package/dist/safe-a/manage/git/index.txt +17 -17
  372. package/dist/safe-a/manage/im/index.html +2 -2
  373. package/dist/safe-a/manage/im/index.txt +17 -17
  374. package/dist/safe-a/manage/index.html +2 -2
  375. package/dist/safe-a/manage/index.txt +12 -12
  376. package/dist/safe-a/manage/library/index.html +2 -2
  377. package/dist/safe-a/manage/library/index.txt +15 -15
  378. package/dist/safe-a/manage/mcp/index.html +2 -2
  379. package/dist/safe-a/manage/mcp/index.txt +15 -15
  380. package/dist/safe-a/manage/permissions/index.html +2 -2
  381. package/dist/safe-a/manage/permissions/index.txt +15 -15
  382. package/dist/safe-a/manage/skills/index.html +2 -2
  383. package/dist/safe-a/manage/skills/index.txt +15 -15
  384. package/dist/safe-a/manage/task/index.html +2 -2
  385. package/dist/safe-a/manage/task/index.txt +15 -15
  386. package/dist/safe-a/manage/teams/index.html +2 -2
  387. package/dist/safe-a/manage/teams/index.txt +15 -15
  388. package/dist/safe-a/manage/tools/index.html +2 -2
  389. package/dist/safe-a/manage/tools/index.txt +15 -15
  390. package/dist/ws-test/ws-test.css +6 -613
  391. package/dist/ws-test/ws-test.html +7 -23
  392. package/dist/ws-test/ws-test.js +89 -345
  393. package/package.json +6 -6
  394. package/tools-runtime/git-tool/index.cjs +31 -32
  395. package/tools-runtime/git-tool/src/workspace.ts +5 -42
  396. package/tools-runtime/git-tool/src/wsInit.ts +2 -13
  397. package/.env.example +0 -7
  398. package/dist/safe-a/_next/static/chunks/00f91b7d88f62204.js +0 -1
  399. package/dist/safe-a/_next/static/chunks/03d9139a7df67167.js +0 -1
  400. package/dist/safe-a/_next/static/chunks/0699439b4e026cf9.js +0 -5
  401. package/dist/safe-a/_next/static/chunks/101f70bebf1522b2.js +0 -1
  402. package/dist/safe-a/_next/static/chunks/1116b1064a071974.js +0 -1
  403. package/dist/safe-a/_next/static/chunks/11f35a289d90c8f7.js +0 -1
  404. package/dist/safe-a/_next/static/chunks/16ee3f2be4586638.js +0 -1
  405. package/dist/safe-a/_next/static/chunks/19023abd5e1bf1d1.js +0 -1
  406. package/dist/safe-a/_next/static/chunks/1a900b3c5a00d59b.js +0 -1
  407. package/dist/safe-a/_next/static/chunks/1b739dfdbcce05bd.js +0 -1
  408. package/dist/safe-a/_next/static/chunks/1d0273aae0bc102c.js +0 -1
  409. package/dist/safe-a/_next/static/chunks/1df41f8d439107ef.js +0 -1
  410. package/dist/safe-a/_next/static/chunks/1faaa282be969b14.js +0 -1
  411. package/dist/safe-a/_next/static/chunks/27d9a47efb23fd17.js +0 -1
  412. package/dist/safe-a/_next/static/chunks/29105a13d179d5b2.js +0 -1
  413. package/dist/safe-a/_next/static/chunks/29403b19d94e37bb.js +0 -1
  414. package/dist/safe-a/_next/static/chunks/2954e8f94d83412a.js +0 -1
  415. package/dist/safe-a/_next/static/chunks/29f39316c32518a2.js +0 -1
  416. package/dist/safe-a/_next/static/chunks/2a07e0d1ef712b41.js +0 -1
  417. package/dist/safe-a/_next/static/chunks/2b38c2b26760e4cb.js +0 -1
  418. package/dist/safe-a/_next/static/chunks/2bb180b50bafe979.js +0 -1
  419. package/dist/safe-a/_next/static/chunks/2c300e2a1fb17288.js +0 -1
  420. package/dist/safe-a/_next/static/chunks/2ce249001ad95013.js +0 -1
  421. package/dist/safe-a/_next/static/chunks/33e878df066811db.js +0 -1
  422. package/dist/safe-a/_next/static/chunks/37615c61dd14fc8d.js +0 -1
  423. package/dist/safe-a/_next/static/chunks/38d88de54642e44e.js +0 -1
  424. package/dist/safe-a/_next/static/chunks/38decd5cd3fe2525.js +0 -1
  425. package/dist/safe-a/_next/static/chunks/39fc6ad79e44f4df.js +0 -1
  426. package/dist/safe-a/_next/static/chunks/3ecc6705303560ea.js +0 -1
  427. package/dist/safe-a/_next/static/chunks/3fe95be4b92470e2.js +0 -1
  428. package/dist/safe-a/_next/static/chunks/4064e59727cba9b0.js +0 -1
  429. package/dist/safe-a/_next/static/chunks/44e9e0394b7b6f31.js +0 -1
  430. package/dist/safe-a/_next/static/chunks/4ae2c56fab8c060d.js +0 -1
  431. package/dist/safe-a/_next/static/chunks/4ca36e3fb45c2e71.js +0 -1
  432. package/dist/safe-a/_next/static/chunks/4cd41b402679f77d.js +0 -1
  433. package/dist/safe-a/_next/static/chunks/50f270f87470ca73.js +0 -1
  434. package/dist/safe-a/_next/static/chunks/5385bf74559eeabd.js +0 -1
  435. package/dist/safe-a/_next/static/chunks/54169c1554845574.js +0 -1
  436. package/dist/safe-a/_next/static/chunks/592e7a6b713dc645.js +0 -1
  437. package/dist/safe-a/_next/static/chunks/599abea9ac64aaf1.js +0 -1
  438. package/dist/safe-a/_next/static/chunks/5ae21c9105c6abb4.js +0 -1
  439. package/dist/safe-a/_next/static/chunks/5b4c1faefda9575b.js +0 -1
  440. package/dist/safe-a/_next/static/chunks/68255bcd6345edfd.js +0 -1
  441. package/dist/safe-a/_next/static/chunks/68f27d4f860d8f88.js +0 -1
  442. package/dist/safe-a/_next/static/chunks/6960a33147147a27.js +0 -1
  443. package/dist/safe-a/_next/static/chunks/6a199e5f9da2ec4e.js +0 -1
  444. package/dist/safe-a/_next/static/chunks/6f6140cbad7cdeea.js +0 -1
  445. package/dist/safe-a/_next/static/chunks/6faa53698dc67904.js +0 -1
  446. package/dist/safe-a/_next/static/chunks/727dc45d24782155.js +0 -1
  447. package/dist/safe-a/_next/static/chunks/74d8d2b653f61b70.js +0 -1
  448. package/dist/safe-a/_next/static/chunks/7562ab6463e9fc3f.js +0 -1
  449. package/dist/safe-a/_next/static/chunks/784ee151431c6634.js +0 -1
  450. package/dist/safe-a/_next/static/chunks/7afa34c1dc058648.js +0 -1
  451. package/dist/safe-a/_next/static/chunks/7b34873e2b22211d.js +0 -1
  452. package/dist/safe-a/_next/static/chunks/7bd04dff1e0d3a01.js +0 -1
  453. package/dist/safe-a/_next/static/chunks/7ccd9e31b61da21f.js +0 -1
  454. package/dist/safe-a/_next/static/chunks/7f167fb0dbc03180.js +0 -1
  455. package/dist/safe-a/_next/static/chunks/80bd106b26a076af.js +0 -1
  456. package/dist/safe-a/_next/static/chunks/8249026c4faf64b8.js +0 -1
  457. package/dist/safe-a/_next/static/chunks/826c64c8601264b1.js +0 -1
  458. package/dist/safe-a/_next/static/chunks/8465e859bae24fbd.js +0 -1
  459. package/dist/safe-a/_next/static/chunks/84e8e1e50a6b3ab7.js +0 -1
  460. package/dist/safe-a/_next/static/chunks/87b0002602934525.js +0 -1
  461. package/dist/safe-a/_next/static/chunks/882686dd3b63f9d1.js +0 -1
  462. package/dist/safe-a/_next/static/chunks/88e4cdcdeff36154.js +0 -1
  463. package/dist/safe-a/_next/static/chunks/8c8b1e40b00409f5.js +0 -1
  464. package/dist/safe-a/_next/static/chunks/8ed5273cea590ac8.js +0 -1
  465. package/dist/safe-a/_next/static/chunks/92c1de3b7b8ff353.js +0 -1
  466. package/dist/safe-a/_next/static/chunks/9311fdc96f82fdcc.js +0 -1
  467. package/dist/safe-a/_next/static/chunks/996147dc11d8e745.js +0 -1
  468. package/dist/safe-a/_next/static/chunks/9a5e8d11c09774ed.js +0 -1
  469. package/dist/safe-a/_next/static/chunks/9f8b67e210121299.js +0 -1
  470. package/dist/safe-a/_next/static/chunks/a333240ca95e9cf9.js +0 -1
  471. package/dist/safe-a/_next/static/chunks/a4b35c64097aeb05.js +0 -1
  472. package/dist/safe-a/_next/static/chunks/a6fda6a41633eb93.js +0 -1
  473. package/dist/safe-a/_next/static/chunks/a86fedb173944e90.js +0 -1
  474. package/dist/safe-a/_next/static/chunks/a9a12415c8875ad5.js +0 -1
  475. package/dist/safe-a/_next/static/chunks/ab91b57996557cd5.js +0 -1
  476. package/dist/safe-a/_next/static/chunks/ac0062f74360e8a1.js +0 -1
  477. package/dist/safe-a/_next/static/chunks/b0f0f19c125de544.js +0 -1
  478. package/dist/safe-a/_next/static/chunks/b31fde4b83862330.js +0 -1
  479. package/dist/safe-a/_next/static/chunks/b4b8918a2dbddca7.js +0 -1
  480. package/dist/safe-a/_next/static/chunks/b594aa86704b6429.js +0 -1
  481. package/dist/safe-a/_next/static/chunks/b725c08f4efec3ab.js +0 -1
  482. package/dist/safe-a/_next/static/chunks/b882523826ac1c83.js +0 -1
  483. package/dist/safe-a/_next/static/chunks/c2a354d059dc2745.js +0 -1
  484. package/dist/safe-a/_next/static/chunks/c3bcc6eb84ed7d30.js +0 -1
  485. package/dist/safe-a/_next/static/chunks/c6362bd055df6043.js +0 -1
  486. package/dist/safe-a/_next/static/chunks/c6bad34be1aacd05.js +0 -5
  487. package/dist/safe-a/_next/static/chunks/c7ce2c0e40c62b6b.js +0 -1
  488. package/dist/safe-a/_next/static/chunks/c9527036b1a95d19.js +0 -1
  489. package/dist/safe-a/_next/static/chunks/ca31fc9ca02421c7.js +0 -1
  490. package/dist/safe-a/_next/static/chunks/d2644966a8736893.js +0 -1
  491. package/dist/safe-a/_next/static/chunks/d2b5664aa6eb613c.js +0 -1
  492. package/dist/safe-a/_next/static/chunks/d3072ff0f4d0f613.js +0 -1
  493. package/dist/safe-a/_next/static/chunks/d78975cda9119543.js +0 -1
  494. package/dist/safe-a/_next/static/chunks/dbf36b536a6c59ef.js +0 -1
  495. package/dist/safe-a/_next/static/chunks/e79d1db952916e66.js +0 -1
  496. package/dist/safe-a/_next/static/chunks/e814d6bb4f565a59.js +0 -1
  497. package/dist/safe-a/_next/static/chunks/f15c8b2639bebe0f.js +0 -1
  498. package/dist/safe-a/_next/static/chunks/f42445d9866f6b16.js +0 -1
  499. package/dist/safe-a/_next/static/chunks/fa0cb747819a4b88.js +0 -1
  500. package/dist/safe-a/_next/static/chunks/fb7bf2e8cee9c72f.js +0 -1
  501. package/dist/safe-a/_next/static/chunks/fe4fddbf85e1554b.js +0 -1
  502. package/dist/safe-a/_next/static/chunks/ff9ec21502a3b775.js +0 -1
  503. package/dist/safe-a/_next/static/chunks/turbopack-c8295da8707d94de.js +0 -3
  504. package/dist/ws-test/agent-teams.html +0 -1400
  505. package/dist/ws-test/team-chat.js +0 -760
  506. /package/dist/safe-a/_next/static/{fhaXRM3OAGMzPpk072rJg → 6V1592_KuRHKu2MxCBymu}/_clientMiddlewareManifest.json +0 -0
  507. /package/dist/safe-a/_next/static/{fhaXRM3OAGMzPpk072rJg → 6V1592_KuRHKu2MxCBymu}/_ssgManifest.js +0 -0
@@ -167,63 +167,6 @@
167
167
  const mcpPackageImportInput = $('mcpPackageImportInput')
168
168
  const sessionListEl = $('sessionList')
169
169
  const sessionListMetaEl = $('sessionListMeta')
170
- /** 侧栏会话来源:ws / tuitui / geelib / team / legacy */
171
- var SESSION_KIND_LABELS = {
172
- ws: '网页',
173
- tuitui: '推推',
174
- geelib: 'GeeLib',
175
- team: '群聊',
176
- legacy: '会话',
177
- }
178
- function resolveSessionKindForItem(s) {
179
- if (!s || typeof s !== 'object') return 'ws'
180
- var kind = s.sessionKind
181
- if (kind && SESSION_KIND_LABELS[kind]) return kind
182
- if (kind === 'user') return 'ws'
183
- var sid = typeof s.sessionId === 'string' ? s.sessionId : ''
184
- if (sid.indexOf('team-') === 0) return 'team'
185
- if (sid.indexOf('tuitui-') === 0) return 'tuitui'
186
- if (sid.indexOf('geelib-') === 0) return 'geelib'
187
- if (sid.indexOf('ws-') === 0) return 'ws'
188
- return 'legacy'
189
- }
190
- var SESSION_KIND_ICON_SVG = {
191
- ws:
192
- '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">' +
193
- '<rect x="3" y="4" width="18" height="14" rx="2"/>' +
194
- '<path d="M8 20h8"/>' +
195
- '</svg>',
196
- tuitui:
197
- '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">' +
198
- '<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/>' +
199
- '<path d="M13.73 21a2 2 0 0 1-3.46 0"/>' +
200
- '</svg>',
201
- geelib:
202
- '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">' +
203
- '<path d="M4 4h16v16H4z"/>' +
204
- '<path d="M4 9h16M9 4v16"/>' +
205
- '</svg>',
206
- team:
207
- '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">' +
208
- '<circle cx="8" cy="8" r="2.8"/>' +
209
- '<circle cx="16.2" cy="9.2" r="2.4"/>' +
210
- '<path d="M3.2 18c.8-2.7 2.8-4.2 4.8-4.2s4 1.5 4.8 4.2"/>' +
211
- '<path d="M13.2 18c.6-2 2.2-3.2 4-3.2 1.6 0 3.1 1 3.8 2.7"/>' +
212
- '</svg>',
213
- legacy:
214
- '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">' +
215
- '<path d="M21 11.5a8.4 8.4 0 0 1-9 8.4 8.4 8.4 0 0 1-3.8-.9L3 20l1.9-5.2A8.4 8.4 0 1 1 21 11.5z"/>' +
216
- '</svg>',
217
- }
218
- function createSessionKindIcon(kind) {
219
- var resolved = SESSION_KIND_LABELS[kind] ? kind : 'ws'
220
- var icon = document.createElement('span')
221
- icon.className = 'sidebar-session-kind-icon sidebar-session-kind-icon--' + resolved
222
- icon.setAttribute('aria-hidden', 'true')
223
- icon.title = SESSION_KIND_LABELS[resolved]
224
- icon.innerHTML = SESSION_KIND_ICON_SVG[resolved]
225
- return icon
226
- }
227
170
  /** 侧栏会话列表运行时状态轮询定时器 */
228
171
  let sessionRuntimePollTimer = null
229
172
  /** 当前附着 session 的 turn 是否进行中(由 query.progress 驱动) */
@@ -337,21 +280,18 @@
337
280
  const composerToolAskSelect = $('composerToolAskSelect')
338
281
  const btnSaveAgentConfig = $('btnSaveAgentConfig')
339
282
  const pickerManageView = $('pickerManageView')
283
+ const pickerNavPanel = $('pickerNavPanel')
284
+ const pickerNavList = $('pickerNavList')
340
285
  const pickerSearch = $('pickerSearch')
341
286
  const btnPickerMcpJson = $('btnPickerMcpJson')
342
287
  const btnPickerImport = $('btnPickerImport')
343
- const btnPickerSkillStore = $('btnPickerSkillStore')
344
288
  const btnPickerCancel = $('btnPickerCancel')
345
289
  const btnPickerSave = $('btnPickerSave')
346
290
  const pickerEntriesTable = $('pickerEntriesTable')
347
291
  const pickerTableHeadRow = $('pickerTableHeadRow')
348
292
  const pickerEntriesBody = $('pickerEntriesBody')
293
+ const pickerCloudPanel = $('pickerCloudPanel')
349
294
  const pickerContentState = $('pickerContentState')
350
- const skillStoreModal = $('skillStoreModal')
351
- const skillStoreModalBackdrop = $('skillStoreModalBackdrop')
352
- const skillStoreModalBody = $('skillStoreModalBody')
353
- const btnSkillStoreModalClose = $('btnSkillStoreModalClose')
354
- const btnSkillStoreClose = $('btnSkillStoreClose')
355
295
  const pickerImportInput = $('pickerImportInput')
356
296
  const mcpJsonInputModal = $('mcpJsonInputModal')
357
297
  const mcpJsonInputModalBackdrop = $('mcpJsonInputModalBackdrop')
@@ -422,7 +362,6 @@
422
362
  let refreshToolPickerRows = null
423
363
  let refreshMcpPickerRows = null
424
364
  let refreshSkillPickerRows = null
425
- let openSkillStoreModalFn = null
426
365
  let pickerRenderContent = null
427
366
  let remoteMcpServers = []
428
367
  const WS_PERMISSION_MODE_KEY = 'WS_PERMISSION_MODE'
@@ -781,8 +720,6 @@
781
720
  let renderScheduled = false
782
721
  /** HTTP 历史回放进行中:暂存实时 conversation.delta,避免与回放竞态写乱 transcript 下标 */
783
722
  let sessionReplayInProgress = false
784
- /** 递增以作废进行中的 HTTP 历史回放,避免快速切换 session 时旧内容回填 */
785
- let hydrateSessionGeneration = 0
786
723
  const pendingConversationDeltaEnvelopes = []
787
724
  /**
788
725
  * 用户点击发送后、服务端 conversation.delta 到达前的本地回显。
@@ -830,7 +767,6 @@
830
767
  source: source,
831
768
  runId: runId,
832
769
  correlationId: correlationId,
833
- turnId: typeof item.turnId === 'string' ? item.turnId : '',
834
770
  text: body,
835
771
  status: status,
836
772
  scheduledTrigger: item.scheduledTrigger === true,
@@ -1564,84 +1500,6 @@
1564
1500
  bodyEl.insertAdjacentElement('afterend', btn)
1565
1501
  }
1566
1502
 
1567
- /**
1568
- * 业务语义:HTTP 回放/初始化 turnId 为 replay|init,需按 user 消息再切分;
1569
- * 实时 turn 每轮 prompt 有独立 UUID turnId,直接按 turnId 分组。
1570
- */
1571
- function shouldSplitTurnOnUserMessage(turnId) {
1572
- const tid = typeof turnId === 'string' ? turnId.trim() : ''
1573
- return !tid || tid === 'replay' || tid === 'init'
1574
- }
1575
-
1576
- function isRealUserPromptMessage(m) {
1577
- if (!m || m.type !== 'user') return false
1578
- if (!shouldShowWsUserMessage(m)) return false
1579
- const blocks = getMessageContentBlocks(m)
1580
- const nonToolBlocks = blocks.filter(function (b) {
1581
- return b && b.type !== 'tool_result'
1582
- })
1583
- if (nonToolBlocks.length === 0) return false
1584
- const rawBody = contentToPlainText(nonToolBlocks).trim()
1585
- return !!unwrapChannelWrappedText(rawBody).body.trim()
1586
- }
1587
-
1588
- function isTimelineUserTurnStart(ev) {
1589
- if (!ev || ev.kind !== 'conversation') return false
1590
- const item = ev.payload
1591
- const m = item && item.message
1592
- return isRealUserPromptMessage(m)
1593
- }
1594
-
1595
- function isToolResultOnlyEvent(ev) {
1596
- if (!ev || ev.kind !== 'conversation') return false
1597
- const m = ev.payload && ev.payload.message
1598
- if (!m || m.type !== 'user') return false
1599
- const blocks = getMessageContentBlocks(m)
1600
- if (!blocks.length) return false
1601
- return blocks.every(function (b) {
1602
- return b && b.type === 'tool_result'
1603
- })
1604
- }
1605
-
1606
- function coalesceToolResultTurns(turns) {
1607
- for (let i = 1; i < turns.length; i++) {
1608
- const turn = turns[i]
1609
- if (turn.items.length > 0 && turn.items.every(isToolResultOnlyEvent)) {
1610
- turns[i - 1].items.push.apply(turns[i - 1].items, turn.items)
1611
- turns.splice(i, 1)
1612
- i -= 1
1613
- }
1614
- }
1615
- return turns
1616
- }
1617
-
1618
- function groupItemsByTurn(blockItems) {
1619
- const turns = []
1620
- for (let i = 0; i < blockItems.length; i++) {
1621
- const ev = blockItems[i]
1622
- const turnId = typeof ev.turnId === 'string' ? ev.turnId.trim() : ''
1623
- const splitOnUser = shouldSplitTurnOnUserMessage(turnId)
1624
- const isUserStart = splitOnUser && isTimelineUserTurnStart(ev)
1625
- let targetTurn = turns.length > 0 ? turns[turns.length - 1] : null
1626
-
1627
- if (splitOnUser) {
1628
- if (isUserStart || !targetTurn) {
1629
- targetTurn = { turnId: turnId || 'unknown', items: [] }
1630
- turns.push(targetTurn)
1631
- }
1632
- targetTurn.items.push(ev)
1633
- continue
1634
- }
1635
-
1636
- if (!targetTurn || targetTurn.turnId !== turnId) {
1637
- targetTurn = { turnId: turnId, items: [] }
1638
- turns.push(targetTurn)
1639
- }
1640
- targetTurn.items.push(ev)
1641
- }
1642
- return coalesceToolResultTurns(turns)
1643
- }
1644
-
1645
1503
  function renderChat() {
1646
1504
  /**
1647
1505
  * 业务语义:run 折叠头需要展示“最后一条消息前三行”预览。
@@ -1856,7 +1714,6 @@
1856
1714
  Number.isInteger(item.arrivalSeq) ? item.arrivalSeq : Number.MAX_SAFE_INTEGER,
1857
1715
  fallbackOrder: timelineFallbackOrder++,
1858
1716
  runId: runId,
1859
- turnId: typeof item.turnId === 'string' ? item.turnId : '',
1860
1717
  sourceAgent: resolveRunDisplayAgent(runId, item.sourceAgent),
1861
1718
  scheduledTrigger: item.scheduledTrigger === true,
1862
1719
  kind: 'conversation',
@@ -1877,7 +1734,6 @@
1877
1734
  Number.isInteger(item.arrivalSeq) ? item.arrivalSeq : Number.MAX_SAFE_INTEGER,
1878
1735
  fallbackOrder: timelineFallbackOrder++,
1879
1736
  runId: rid,
1880
- turnId: typeof item.turnId === 'string' ? item.turnId : '',
1881
1737
  sourceAgent: resolveRunDisplayAgent(rid, item.source),
1882
1738
  scheduledTrigger: item.scheduledTrigger === true,
1883
1739
  kind: 'source',
@@ -1966,24 +1822,16 @@
1966
1822
  const groupContainer = document.createElement('div')
1967
1823
  groupContainer.className = 'chat-run-group' + (blockAllScheduled ? ' chat-run-group--scheduled' : '')
1968
1824
  if (runId === 'main') {
1969
- groupContainer.classList.add('chat-run-group--main')
1970
- const turnGroups = groupItemsByTurn(blockItems)
1971
- for (let t = 0; t < turnGroups.length; t++) {
1972
- const turn = turnGroups[t]
1973
- if (!turn.items.length) continue
1974
- const isLastTurn = t === turnGroups.length - 1
1975
- const isActiveTurn = isLastTurn && sessionTurnActive
1976
- const turnSection = document.createElement('section')
1977
- turnSection.className =
1978
- 'chat-turn' +
1979
- (isActiveTurn ? ' chat-turn--active' : '') +
1980
- (blockAllScheduled ? ' chat-turn--scheduled' : '')
1981
- const turnBody = document.createElement('div')
1982
- turnBody.className = 'chat-turn-body'
1983
- appendRunItemsToContainer(turnBody, turn.items, runId, defaultSourceAgent)
1984
- turnSection.appendChild(turnBody)
1985
- groupContainer.appendChild(turnSection)
1986
- }
1825
+ const fixedHeader = document.createElement('div')
1826
+ fixedHeader.className = 'chat-msg-label'
1827
+ fixedHeader.textContent = blockAllScheduled
1828
+ ? '⏱ 定时任务 · ' + summaryText
1829
+ : summaryText
1830
+ groupContainer.appendChild(fixedHeader)
1831
+ const groupBody = document.createElement('div')
1832
+ groupBody.className = 'chat-run-group-body'
1833
+ appendRunItemsToContainer(groupBody, blockItems, runId, defaultSourceAgent)
1834
+ groupContainer.appendChild(groupBody)
1987
1835
  } else {
1988
1836
  const summaryCard = document.createElement('div')
1989
1837
  summaryCard.className =
@@ -2017,12 +1865,9 @@
2017
1865
  chatThreadEl.appendChild(groupContainer)
2018
1866
  }
2019
1867
  if (pendingUserEcho) {
2020
- const echoWrap = document.createElement('section')
2021
- echoWrap.className = 'chat-turn chat-turn--active chat-turn--pending-echo'
2022
- const echoBody = document.createElement('div')
2023
- echoBody.className = 'chat-turn-body'
2024
- appendPendingUserEchoToContainer(echoBody)
2025
- echoWrap.appendChild(echoBody)
1868
+ const echoWrap = document.createElement('div')
1869
+ echoWrap.className = 'chat-run-group chat-run-group--pending-echo'
1870
+ appendPendingUserEchoToContainer(echoWrap)
2026
1871
  chatThreadEl.appendChild(echoWrap)
2027
1872
  }
2028
1873
  if (streamEntries.length > 0) {
@@ -2318,7 +2163,6 @@
2318
2163
  const runMessage = {
2319
2164
  message: msg,
2320
2165
  sourceAgent: sourceAgent,
2321
- turnId: typeof data.turnId === 'string' ? data.turnId : '',
2322
2166
  scheduledTrigger: payload.scheduledTrigger === true,
2323
2167
  ts:
2324
2168
  typeof data.ts === 'string' && data.ts
@@ -2361,7 +2205,6 @@
2361
2205
  source: source,
2362
2206
  runId: runId,
2363
2207
  correlationId: corr,
2364
- turnId: typeof data.turnId === 'string' ? data.turnId : '',
2365
2208
  status: payload.status === 'resolved' ? 'resolved' : 'failed',
2366
2209
  text: text,
2367
2210
  scheduledTrigger: payload.scheduledTrigger === true,
@@ -2443,7 +2286,6 @@
2443
2286
  source: source,
2444
2287
  runId: runId,
2445
2288
  correlationId: '',
2446
- turnId: typeof data.turnId === 'string' ? data.turnId : '',
2447
2289
  status: type === 'session.error' ? 'failed' : 'resolved',
2448
2290
  text: payloadText,
2449
2291
  key: typeof data.eventId === 'string' ? data.eventId : '',
@@ -2463,24 +2305,8 @@
2463
2305
  if (type === 'session.ready') {
2464
2306
  serverReady = true
2465
2307
  if (payload.agent) updateBrandAgent(payload.agent)
2466
- const mc =
2467
- typeof payload.messageCount === 'number' ? payload.messageCount : 0
2468
- const sid =
2469
- typeof payload.sessionId === 'string' && payload.sessionId.trim()
2470
- ? payload.sessionId.trim()
2471
- : sessionIdInput.value.trim()
2472
- if (mc === 0) {
2473
- resetChatUi()
2474
- } else if (sid) {
2475
- void hydrateSessionHistoryFromHttp(sid)
2476
- }
2308
+ setStatus('已就绪', 'ready')
2477
2309
  void loadPendingPrompts()
2478
- void loadSessions({ silent: true }).then(function () {
2479
- if (!syncRunningStatusForCurrentSession(window.__lastSessions)) {
2480
- setStatus('已就绪', 'ready')
2481
- }
2482
- updateButtons()
2483
- })
2484
2310
  return true
2485
2311
  }
2486
2312
  if (type === 'session.meta') {
@@ -2530,7 +2356,6 @@
2530
2356
  }
2531
2357
  void loadSessions({ silent: true })
2532
2358
  }
2533
- requestRenderChat()
2534
2359
  return true
2535
2360
  }
2536
2361
  if (type === 'session.error') {
@@ -2801,60 +2626,6 @@
2801
2626
  return u.toString()
2802
2627
  }
2803
2628
 
2804
- /**
2805
- * HTTP replay 信封中需跳过的类型:replay.start 会把 serverReady 置 false 并重新打开全屏 loading。
2806
- */
2807
- function shouldSkipHttpReplayEnvelope(ev) {
2808
- if (!ev || typeof ev !== 'object') return true
2809
- const replayType = typeof ev.type === 'string' ? ev.type : ''
2810
- if (replayType === 'history.replay') return true
2811
- if (replayType !== 'run.lifecycle') return false
2812
- const payload = ev.data && typeof ev.data === 'object' ? ev.data : {}
2813
- const state = typeof payload.state === 'string' ? payload.state : ''
2814
- return state === 'replay.start' || state === 'replay.end'
2815
- }
2816
-
2817
- /**
2818
- * meta-only snapshot 后异步拉 HTTP replay 补全聊天区,不阻塞 session.ready 与 prompt 发送。
2819
- */
2820
- async function hydrateSessionHistoryFromHttp(sessionId) {
2821
- const sid = typeof sessionId === 'string' ? sessionId.trim() : ''
2822
- if (!sid) return
2823
- const generation = hydrateSessionGeneration
2824
- const wasReady = serverReady
2825
- try {
2826
- resetChatUi()
2827
- sessionReplayInProgress = true
2828
- pendingConversationDeltaEnvelopes.length = 0
2829
- const r = await fetch(buildSessionReplayUrl(sid))
2830
- if (generation !== hydrateSessionGeneration) return
2831
- if (!r.ok) {
2832
- logLine('error', 'hydrateSessionHistoryFromHttp: HTTP ' + r.status)
2833
- return
2834
- }
2835
- const data = await r.json()
2836
- const envelopes = Array.isArray(data.envelopes) ? data.envelopes : []
2837
- for (let i = 0; i < envelopes.length; i++) {
2838
- if (generation !== hydrateSessionGeneration) return
2839
- const ev = envelopes[i]
2840
- if (shouldSkipHttpReplayEnvelope(ev)) continue
2841
- applyWsEnvelopeV3(ev)
2842
- }
2843
- } catch (e) {
2844
- logLine('error', 'hydrateSessionHistoryFromHttp: ' + String(e))
2845
- } finally {
2846
- if (generation !== hydrateSessionGeneration) return
2847
- sessionReplayInProgress = false
2848
- flushPendingConversationDeltas()
2849
- requestRenderChat()
2850
- if (wasReady || serverReady) {
2851
- serverReady = true
2852
- setStatus('已就绪', 'ready')
2853
- updateButtons()
2854
- }
2855
- }
2856
- }
2857
-
2858
2629
  /** UI 不展示 resume 合成 assistant 占位(与 messages.SYNTHETIC_MESSAGES 对齐) */
2859
2630
  const WS_SYNTHETIC_ASSISTANT_TEXTS = new Set(['No response requested.'])
2860
2631
 
@@ -3506,10 +3277,12 @@
3506
3277
  return (pickerSearch && pickerSearch.value.trim().toLowerCase()) || ''
3507
3278
  }
3508
3279
 
3509
- /** 切换 Picker 内容为表格模式 */
3510
- function setPickerContentMode() {
3511
- if (pickerEntriesTable) pickerEntriesTable.hidden = false
3512
- if (pickerContentState) {
3280
+ /** 切换表格与云端面板显示 */
3281
+ function setPickerContentMode(mode) {
3282
+ const isCloud = mode === 'cloud'
3283
+ if (pickerEntriesTable) pickerEntriesTable.hidden = isCloud
3284
+ if (pickerCloudPanel) pickerCloudPanel.hidden = !isCloud
3285
+ if (!isCloud && pickerContentState) {
3513
3286
  pickerContentState.hidden = true
3514
3287
  pickerContentState.textContent = ''
3515
3288
  }
@@ -3556,6 +3329,34 @@
3556
3329
  return td
3557
3330
  }
3558
3331
 
3332
+ /** 控制 Picker 左侧分类栏显隐(仅 Skill 页保留分类,其余合并为单表) */
3333
+ function setPickerNavPanelVisible(visible) {
3334
+ if (!pickerNavPanel) return
3335
+ pickerNavPanel.hidden = !visible
3336
+ if (!visible && pickerNavList) pickerNavList.innerHTML = ''
3337
+ }
3338
+
3339
+ /** 渲染 Picker 左侧分类导航 */
3340
+ function renderPickerNavTabs(tabDefs, activeId, onChange) {
3341
+ if (!pickerNavList) return
3342
+ pickerNavList.innerHTML = ''
3343
+ pickerManageState.activeTab = activeId
3344
+ for (let i = 0; i < tabDefs.length; i++) {
3345
+ const tab = tabDefs[i]
3346
+ const btn = document.createElement('button')
3347
+ btn.type = 'button'
3348
+ btn.className = 'picker-nav-item' + (tab.id === activeId ? ' is-selected' : '')
3349
+ btn.setAttribute('role', 'tab')
3350
+ btn.setAttribute('aria-selected', tab.id === activeId ? 'true' : 'false')
3351
+ btn.textContent = tab.label
3352
+ btn.addEventListener('click', function () {
3353
+ if (tab.id === activeId) return
3354
+ onChange(tab.id)
3355
+ })
3356
+ pickerNavList.appendChild(btn)
3357
+ }
3358
+ }
3359
+
3559
3360
  /** 设置 entries/history 面板加载或错误态 */
3560
3361
  function setRepoPanelState(el, message, isError) {
3561
3362
  if (!el) return
@@ -5113,13 +4914,6 @@
5113
4914
  skillPackageModal.setAttribute('aria-hidden', 'true')
5114
4915
  document.body.style.overflow = ''
5115
4916
  }
5116
-
5117
- function closeSkillStoreModal() {
5118
- if (!skillStoreModal) return
5119
- skillStoreModal.classList.remove('is-open')
5120
- skillStoreModal.setAttribute('aria-hidden', 'true')
5121
- document.body.style.overflow = ''
5122
- }
5123
4917
  function closeRunGroupModal() {
5124
4918
  if (!runGroupModal) return
5125
4919
  runGroupModal.classList.remove('is-open')
@@ -5664,7 +5458,7 @@
5664
5458
  if (!list.length) {
5665
5459
  const empty = document.createElement('span')
5666
5460
  empty.className = 'session-tabs-empty'
5667
- empty.textContent = '暂无会话'
5461
+ empty.textContent = '暂无历史会话'
5668
5462
  sessionListEl.appendChild(empty)
5669
5463
  return
5670
5464
  }
@@ -5690,7 +5484,6 @@
5690
5484
  const mainBtn = document.createElement('button')
5691
5485
  mainBtn.type = 'button'
5692
5486
  mainBtn.className = 'sidebar-session-main'
5693
- mainBtn.appendChild(createSessionKindIcon(resolveSessionKindForItem(s)))
5694
5487
  if (isRunning) {
5695
5488
  const runBadge = document.createElement('span')
5696
5489
  runBadge.className = 'sidebar-session-running-badge'
@@ -5779,7 +5572,7 @@
5779
5572
  return u.toString()
5780
5573
  }
5781
5574
 
5782
- /** 列表里是否存在运行中 session(主 run query 进行中或当前页 turn 进行中) */
5575
+ /** 列表里是否存在运行中 session(子进程存活或当前页 turn 进行中) */
5783
5576
  function sessionListHasRunning(sessions) {
5784
5577
  if (!Array.isArray(sessions)) return false
5785
5578
  const current = sessionIdInput ? sessionIdInput.value.trim() : ''
@@ -5794,28 +5587,6 @@
5794
5587
  })
5795
5588
  }
5796
5589
 
5797
- /**
5798
- * 将会话列表中的 running 同步到顶栏与 sessionTurnActive(刷新重连后 WS 可能尚未收到 query.progress)。
5799
- */
5800
- function syncRunningStatusForCurrentSession(sessions) {
5801
- const sid = sessionIdInput ? sessionIdInput.value.trim() : ''
5802
- if (!sid || !Array.isArray(sessions)) return false
5803
- const cur = sessions.find(function (s) {
5804
- return s && s.sessionId === sid
5805
- })
5806
- if (!cur || cur.running !== true) return false
5807
- sessionTurnActive = true
5808
- if (serverReady) {
5809
- setStatus('任务进行中…', 'loading')
5810
- }
5811
- if (window.__lastSessions) {
5812
- renderSessionList(window.__lastSessions)
5813
- }
5814
- kickSessionRuntimePoll()
5815
- requestRenderChat()
5816
- return true
5817
- }
5818
-
5819
5590
  /** 轮询间隔:有运行中或本页 turn 时 1.5s,否则 4s */
5820
5591
  function sessionRuntimePollDelayMs() {
5821
5592
  if (sessionTurnActive || sessionListHasRunning(window.__lastSessions)) {
@@ -5942,9 +5713,6 @@
5942
5713
  }
5943
5714
  sessionIdInput.value = nextSid
5944
5715
  currentSessionContextPercent = null
5945
- sessionTurnActive = false
5946
- hydrateSessionGeneration += 1
5947
- resetChatUi()
5948
5716
  void loadPendingPrompts()
5949
5717
  if (nextSid) {
5950
5718
  void loadSessionOverridesIntoComposer()
@@ -7652,18 +7420,15 @@
7652
7420
  kind === 'mcp' ? '导入 MCP' : kind === 'skills' ? '导入 Skill' : '导入 zip'
7653
7421
  btnPickerImport.disabled = false
7654
7422
  }
7655
- if (btnPickerSkillStore) {
7656
- btnPickerSkillStore.hidden = kind !== 'skills'
7657
- btnPickerSkillStore.disabled = false
7658
- }
7659
7423
  if (btnPickerMcpJson) {
7660
7424
  btnPickerMcpJson.hidden = kind !== 'mcp'
7661
7425
  btnPickerMcpJson.disabled = false
7662
7426
  }
7663
7427
  if (btnPickerCancel) btnPickerCancel.hidden = kind === 'skills' || kind === 'mcp'
7664
7428
  if (btnPickerSave) btnPickerSave.hidden = kind === 'skills' || kind === 'mcp'
7429
+ setPickerNavPanelVisible(kind === 'skills')
7665
7430
  setPickerContentState('加载中…', false)
7666
- setPickerContentMode()
7431
+ setPickerContentMode('table')
7667
7432
  clearPickerTableBody()
7668
7433
 
7669
7434
  if (kind === 'tools') {
@@ -7788,7 +7553,7 @@
7788
7553
  return tr
7789
7554
  }
7790
7555
  const renderToolsRows = function () {
7791
- setPickerContentMode()
7556
+ setPickerContentMode('table')
7792
7557
  setPickerTableHead(['名称', '类型', '详细信息', '操作'])
7793
7558
  clearPickerTableBody()
7794
7559
  setPickerContentState('', false)
@@ -7962,7 +7727,7 @@
7962
7727
  return tr
7963
7728
  }
7964
7729
  const renderMcpRows = function () {
7965
- setPickerContentMode()
7730
+ setPickerContentMode('table')
7966
7731
  setPickerTableHead(['名称', '来源', '操作'])
7967
7732
  clearPickerTableBody()
7968
7733
  setPickerContentState('', false)
@@ -8063,7 +7828,7 @@
8063
7828
  return (tags.length ? tags.join(' ') : '—') + (summary ? ' — ' + summary : '')
8064
7829
  }
8065
7830
  const renderAgentTeamsRows = function () {
8066
- setPickerContentMode()
7831
+ setPickerContentMode('table')
8067
7832
  setPickerTableHead(['成员', '配置', '操作'])
8068
7833
  clearPickerTableBody()
8069
7834
  setPickerContentState('', false)
@@ -8116,6 +7881,7 @@
8116
7881
  })
8117
7882
  } else {
8118
7883
  const skillPickerState = {
7884
+ activeTab: 'list',
8119
7885
  baseRows: [],
8120
7886
  installedRows: [],
8121
7887
  cloudRows: [],
@@ -8229,8 +7995,8 @@
8229
7995
  return tr
8230
7996
  }
8231
7997
  const renderCloudSkillPanel = function () {
8232
- if (!skillStoreModalBody) return
8233
- skillStoreModalBody.innerHTML = ''
7998
+ if (!pickerCloudPanel) return
7999
+ pickerCloudPanel.innerHTML = ''
8234
8000
  const cloudSearch = document.createElement('input')
8235
8001
  cloudSearch.type = 'search'
8236
8002
  cloudSearch.className = 'agent-picker-cloud-search'
@@ -8241,13 +8007,13 @@
8241
8007
  skillPickerState.cloudPage = 1
8242
8008
  void loadCloudSkillRows()
8243
8009
  }
8244
- skillStoreModalBody.appendChild(cloudSearch)
8010
+ pickerCloudPanel.appendChild(cloudSearch)
8245
8011
  const meta = document.createElement('div')
8246
8012
  meta.className = 'agent-picker-cloud-meta'
8247
8013
  if (skillPickerState.cloudLoading) meta.textContent = '加载中…'
8248
8014
  else if (skillPickerState.cloudError) meta.textContent = '加载失败:' + skillPickerState.cloudError
8249
8015
  else meta.textContent = '展示前 ' + skillPickerState.cloudRows.length + ' 项'
8250
- skillStoreModalBody.appendChild(meta)
8016
+ pickerCloudPanel.appendChild(meta)
8251
8017
  if (!skillPickerState.cloudError && skillPickerState.cloudRows.length) {
8252
8018
  for (let i = 0; i < skillPickerState.cloudRows.length; i++) {
8253
8019
  const item = skillPickerState.cloudRows[i]
@@ -8265,7 +8031,7 @@
8265
8031
  installing ? '处理中…' : installed ? '卸载' : '安装', '', function () {
8266
8032
  if (installBtn.disabled) return
8267
8033
  skillPickerState.installingMap[item.id] = true
8268
- renderCloudSkillPanel()
8034
+ renderSkillRows()
8269
8035
  const request = installed
8270
8036
  ? fetch(buildRuntimeSkillDeleteUrl(item.packageId), { method: 'DELETE' })
8271
8037
  : fetch(buildCloudSkillInstallUrl(), {
@@ -8283,23 +8049,21 @@
8283
8049
  else pickerSelected.add(item.skillName || item.id)
8284
8050
  setStatus('云端技能已' + (installed ? '卸载' : '安装') + ':' + item.title, serverReady ? 'ready' : '')
8285
8051
  return persistSkillSelectionNow().then(function () {
8286
- return refreshSkillPickerRows().then(function () {
8287
- return loadCloudSkillRows()
8288
- })
8052
+ return refreshSkillPickerRows()
8289
8053
  })
8290
8054
  })
8291
8055
  .catch(function (e) { window.alert((installed ? '卸载' : '安装') + '失败: ' + e) })
8292
8056
  .finally(function () {
8293
8057
  delete skillPickerState.installingMap[item.id]
8294
- renderCloudSkillPanel()
8058
+ renderSkillRows()
8295
8059
  })
8296
8060
  }, { disabled: installing },
8297
8061
  )
8298
8062
  actions.appendChild(installBtn)
8299
8063
  row.appendChild(actions)
8300
- skillStoreModalBody.appendChild(row)
8064
+ pickerCloudPanel.appendChild(row)
8301
8065
  }
8302
- skillStoreModalBody.appendChild(createCloudPager({
8066
+ pickerCloudPanel.appendChild(createCloudPager({
8303
8067
  page: skillPickerState.cloudPage,
8304
8068
  totalPages: skillPickerState.cloudTotalPages,
8305
8069
  loading: skillPickerState.cloudLoading,
@@ -8311,11 +8075,24 @@
8311
8075
  const empty = document.createElement('div')
8312
8076
  empty.className = 'agent-picker-empty'
8313
8077
  empty.textContent = skillPickerState.cloudLoading ? '(技能商店加载中)' : '(无匹配项)'
8314
- skillStoreModalBody.appendChild(empty)
8078
+ pickerCloudPanel.appendChild(empty)
8315
8079
  }
8316
8080
  }
8317
8081
  const renderSkillRows = function () {
8318
- setPickerContentMode()
8082
+ renderPickerNavTabs(
8083
+ [
8084
+ { id: 'list', label: 'Skill' },
8085
+ { id: 'cloud', label: 'skill商店' },
8086
+ ],
8087
+ skillPickerState.activeTab,
8088
+ function (id) { skillPickerState.activeTab = id; renderSkillRows() },
8089
+ )
8090
+ if (skillPickerState.activeTab === 'cloud') {
8091
+ setPickerContentMode('cloud')
8092
+ renderCloudSkillPanel()
8093
+ return
8094
+ }
8095
+ setPickerContentMode('table')
8319
8096
  setPickerTableHead(['名称', '描述', '操作'])
8320
8097
  clearPickerTableBody()
8321
8098
  setPickerContentState('', false)
@@ -8341,7 +8118,7 @@
8341
8118
  skillPickerState.cloudSeq = seq
8342
8119
  skillPickerState.cloudLoading = true
8343
8120
  skillPickerState.cloudError = ''
8344
- renderCloudSkillPanel()
8121
+ renderSkillRows()
8345
8122
  return fetch(buildCloudSkillCatalogUrl(skillPickerState.cloudQuery, skillPickerState.cloudPage, skillPickerState.cloudPageSize))
8346
8123
  .then(function (r) {
8347
8124
  return r.json().then(function (b) {
@@ -8354,28 +8131,21 @@
8354
8131
  skillPickerState.cloudRows = Array.isArray(x.b.items) ? x.b.items : []
8355
8132
  skillPickerState.cloudTotalPages = Number(x.b.totalPages || 0)
8356
8133
  skillPickerState.cloudLoading = false
8357
- renderCloudSkillPanel()
8134
+ renderSkillRows()
8358
8135
  })
8359
8136
  .catch(function (e) {
8360
8137
  if (seq !== skillPickerState.cloudSeq) return
8361
8138
  skillPickerState.cloudRows = []
8362
8139
  skillPickerState.cloudLoading = false
8363
8140
  skillPickerState.cloudError = String(e)
8364
- renderCloudSkillPanel()
8141
+ renderSkillRows()
8365
8142
  })
8366
8143
  }
8367
- openSkillStoreModalFn = function () {
8368
- if (!skillStoreModal) return
8369
- skillStoreModal.classList.add('is-open')
8370
- skillStoreModal.setAttribute('aria-hidden', 'false')
8371
- document.body.style.overflow = 'hidden'
8372
- skillPickerState.cloudPage = 1
8373
- void loadCloudSkillRows()
8374
- }
8375
8144
  refreshSkillPickerRows = function () {
8376
8145
  return Promise.all([
8377
8146
  fetchSkillRows(buildSkillBaseListUrl),
8378
8147
  fetchSkillRows(buildSkillInstalledListUrl),
8148
+ loadCloudSkillRows(),
8379
8149
  ])
8380
8150
  .then(function (allRows) {
8381
8151
  skillPickerState.baseRows = allRows[0]
@@ -9330,20 +9100,6 @@
9330
9100
  openSkillPackageModal()
9331
9101
  })
9332
9102
  }
9333
- if (btnPickerSkillStore) {
9334
- btnPickerSkillStore.addEventListener('click', function () {
9335
- if (typeof openSkillStoreModalFn === 'function') openSkillStoreModalFn()
9336
- })
9337
- }
9338
- if (btnSkillStoreModalClose) {
9339
- btnSkillStoreModalClose.addEventListener('click', closeSkillStoreModal)
9340
- }
9341
- if (btnSkillStoreClose) {
9342
- btnSkillStoreClose.addEventListener('click', closeSkillStoreModal)
9343
- }
9344
- if (skillStoreModalBackdrop) {
9345
- skillStoreModalBackdrop.addEventListener('click', closeSkillStoreModal)
9346
- }
9347
9103
  if (btnSkillPackageModalClose) {
9348
9104
  btnSkillPackageModalClose.addEventListener('click', closeSkillPackageModal)
9349
9105
  }
@@ -9697,20 +9453,8 @@
9697
9453
  async function bootstrapSessionSelection() {
9698
9454
  await loadSessions({ activateFirstIfEmpty: true })
9699
9455
  kickSessionRuntimePoll()
9700
- const sid = sessionIdInput ? sessionIdInput.value.trim() : ''
9701
- if (!sid) {
9702
- switchToSession('')
9703
- return
9704
- }
9705
- syncRunningStatusForCurrentSession(window.__lastSessions)
9706
- // 刷新后 sessionId 已有值但 WS 未建连时须 attach
9707
- if (
9708
- !socket ||
9709
- socket.readyState === WebSocket.CLOSED ||
9710
- socket.readyState === WebSocket.CLOSING
9711
- ) {
9712
- switchToSession(sid)
9713
- }
9456
+ if (!sessionIdInput || sessionIdInput.value.trim()) return
9457
+ switchToSession('')
9714
9458
  }
9715
9459
 
9716
9460
  document.addEventListener('visibilitychange', function () {