webscout 8.3__py3-none-any.whl → 8.3.2__py3-none-any.whl

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.

Potentially problematic release.


This version of webscout might be problematic. Click here for more details.

Files changed (120) hide show
  1. webscout/AIauto.py +4 -4
  2. webscout/AIbase.py +61 -1
  3. webscout/AIutel.py +46 -53
  4. webscout/Bing_search.py +418 -0
  5. webscout/Extra/YTToolkit/ytapi/patterns.py +45 -45
  6. webscout/Extra/YTToolkit/ytapi/stream.py +1 -1
  7. webscout/Extra/YTToolkit/ytapi/video.py +10 -10
  8. webscout/Extra/autocoder/autocoder_utiles.py +1 -1
  9. webscout/Extra/gguf.py +706 -177
  10. webscout/Litlogger/formats.py +9 -0
  11. webscout/Litlogger/handlers.py +18 -0
  12. webscout/Litlogger/logger.py +43 -1
  13. webscout/Provider/AISEARCH/genspark_search.py +7 -7
  14. webscout/Provider/AISEARCH/scira_search.py +3 -2
  15. webscout/Provider/GeminiProxy.py +140 -0
  16. webscout/Provider/LambdaChat.py +7 -1
  17. webscout/Provider/MCPCore.py +78 -75
  18. webscout/Provider/OPENAI/BLACKBOXAI.py +1046 -1017
  19. webscout/Provider/OPENAI/GeminiProxy.py +328 -0
  20. webscout/Provider/OPENAI/Qwen3.py +303 -303
  21. webscout/Provider/OPENAI/README.md +5 -0
  22. webscout/Provider/OPENAI/README_AUTOPROXY.md +238 -0
  23. webscout/Provider/OPENAI/TogetherAI.py +355 -0
  24. webscout/Provider/OPENAI/__init__.py +16 -1
  25. webscout/Provider/OPENAI/autoproxy.py +332 -0
  26. webscout/Provider/OPENAI/base.py +101 -14
  27. webscout/Provider/OPENAI/chatgpt.py +15 -2
  28. webscout/Provider/OPENAI/chatgptclone.py +14 -3
  29. webscout/Provider/OPENAI/deepinfra.py +339 -328
  30. webscout/Provider/OPENAI/e2b.py +295 -74
  31. webscout/Provider/OPENAI/mcpcore.py +109 -70
  32. webscout/Provider/OPENAI/opkfc.py +18 -6
  33. webscout/Provider/OPENAI/scirachat.py +59 -50
  34. webscout/Provider/OPENAI/toolbaz.py +2 -10
  35. webscout/Provider/OPENAI/writecream.py +166 -166
  36. webscout/Provider/OPENAI/x0gpt.py +367 -367
  37. webscout/Provider/OPENAI/xenai.py +514 -0
  38. webscout/Provider/OPENAI/yep.py +389 -383
  39. webscout/Provider/STT/__init__.py +3 -0
  40. webscout/Provider/STT/base.py +281 -0
  41. webscout/Provider/STT/elevenlabs.py +265 -0
  42. webscout/Provider/TTI/__init__.py +4 -1
  43. webscout/Provider/TTI/aiarta.py +399 -365
  44. webscout/Provider/TTI/base.py +74 -2
  45. webscout/Provider/TTI/bing.py +231 -0
  46. webscout/Provider/TTI/fastflux.py +63 -30
  47. webscout/Provider/TTI/gpt1image.py +149 -0
  48. webscout/Provider/TTI/imagen.py +196 -0
  49. webscout/Provider/TTI/magicstudio.py +60 -29
  50. webscout/Provider/TTI/piclumen.py +43 -32
  51. webscout/Provider/TTI/pixelmuse.py +232 -225
  52. webscout/Provider/TTI/pollinations.py +43 -32
  53. webscout/Provider/TTI/together.py +287 -0
  54. webscout/Provider/TTI/utils.py +2 -1
  55. webscout/Provider/TTS/README.md +1 -0
  56. webscout/Provider/TTS/__init__.py +2 -1
  57. webscout/Provider/TTS/freetts.py +140 -0
  58. webscout/Provider/TTS/speechma.py +45 -39
  59. webscout/Provider/TogetherAI.py +366 -0
  60. webscout/Provider/UNFINISHED/ChutesAI.py +314 -0
  61. webscout/Provider/UNFINISHED/fetch_together_models.py +95 -0
  62. webscout/Provider/XenAI.py +324 -0
  63. webscout/Provider/__init__.py +8 -0
  64. webscout/Provider/deepseek_assistant.py +378 -0
  65. webscout/Provider/scira_chat.py +3 -2
  66. webscout/Provider/toolbaz.py +0 -1
  67. webscout/auth/__init__.py +44 -0
  68. webscout/auth/api_key_manager.py +189 -0
  69. webscout/auth/auth_system.py +100 -0
  70. webscout/auth/config.py +76 -0
  71. webscout/auth/database.py +400 -0
  72. webscout/auth/exceptions.py +67 -0
  73. webscout/auth/middleware.py +248 -0
  74. webscout/auth/models.py +130 -0
  75. webscout/auth/providers.py +257 -0
  76. webscout/auth/rate_limiter.py +254 -0
  77. webscout/auth/request_models.py +127 -0
  78. webscout/auth/request_processing.py +226 -0
  79. webscout/auth/routes.py +526 -0
  80. webscout/auth/schemas.py +103 -0
  81. webscout/auth/server.py +312 -0
  82. webscout/auth/static/favicon.svg +11 -0
  83. webscout/auth/swagger_ui.py +203 -0
  84. webscout/auth/templates/components/authentication.html +237 -0
  85. webscout/auth/templates/components/base.html +103 -0
  86. webscout/auth/templates/components/endpoints.html +750 -0
  87. webscout/auth/templates/components/examples.html +491 -0
  88. webscout/auth/templates/components/footer.html +75 -0
  89. webscout/auth/templates/components/header.html +27 -0
  90. webscout/auth/templates/components/models.html +286 -0
  91. webscout/auth/templates/components/navigation.html +70 -0
  92. webscout/auth/templates/static/api.js +455 -0
  93. webscout/auth/templates/static/icons.js +168 -0
  94. webscout/auth/templates/static/main.js +784 -0
  95. webscout/auth/templates/static/particles.js +201 -0
  96. webscout/auth/templates/static/styles.css +3353 -0
  97. webscout/auth/templates/static/ui.js +374 -0
  98. webscout/auth/templates/swagger_ui.html +170 -0
  99. webscout/client.py +49 -3
  100. webscout/litagent/Readme.md +12 -3
  101. webscout/litagent/agent.py +99 -62
  102. webscout/scout/core/scout.py +104 -26
  103. webscout/scout/element.py +139 -18
  104. webscout/swiftcli/core/cli.py +14 -3
  105. webscout/swiftcli/decorators/output.py +59 -9
  106. webscout/update_checker.py +31 -49
  107. webscout/version.py +1 -1
  108. webscout/webscout_search.py +4 -12
  109. webscout/webscout_search_async.py +3 -10
  110. webscout/yep_search.py +2 -11
  111. {webscout-8.3.dist-info → webscout-8.3.2.dist-info}/METADATA +41 -11
  112. {webscout-8.3.dist-info → webscout-8.3.2.dist-info}/RECORD +116 -68
  113. {webscout-8.3.dist-info → webscout-8.3.2.dist-info}/entry_points.txt +1 -1
  114. webscout/Provider/HF_space/__init__.py +0 -0
  115. webscout/Provider/HF_space/qwen_qwen2.py +0 -206
  116. webscout/Provider/OPENAI/api.py +0 -1035
  117. webscout/Provider/TTI/artbit.py +0 -0
  118. {webscout-8.3.dist-info → webscout-8.3.2.dist-info}/WHEEL +0 -0
  119. {webscout-8.3.dist-info → webscout-8.3.2.dist-info}/licenses/LICENSE.md +0 -0
  120. {webscout-8.3.dist-info → webscout-8.3.2.dist-info}/top_level.txt +0 -0
@@ -1,28 +1,29 @@
1
- webscout/AIauto.py,sha256=xkTaQFXNCScE8P-w_oJ6jnWxnYodhLn-3-fiSbT0a9c,10504
2
- webscout/AIbase.py,sha256=oT1z3Z6vWD7HgKAuqGYhDMJJdwVe7UbA_GzkFU9b7u8,12368
3
- webscout/AIutel.py,sha256=U_U2ccopCLRjAKyRQiibr3FF4oTls8xHOfFZpWSkcaI,30709
1
+ webscout/AIauto.py,sha256=zRQcmNzQCCPOD6ancQlRlSRqEM24rtb-Xlpqg6bt5Pg,10557
2
+ webscout/AIbase.py,sha256=MbtLlwMNrRu1nKJkj-4ZYUL8YVzDzLdboIAA_7yextM,14529
3
+ webscout/AIutel.py,sha256=7aUbn_gbIVnv1yRbnkjeWjY6EPVOJ8qVj4QWymwbaV0,30947
4
4
  webscout/Bard.py,sha256=VTvnSapEleBnw-O6CM_-4PiijhsLFx_B7gauknV58p4,45280
5
+ webscout/Bing_search.py,sha256=bcw6VFwlOV742yZS5havsi3f9vmrYubAOYdlK9TBmYc,16391
5
6
  webscout/DWEBS.py,sha256=OnoKtIkrlNtYlGL_CCPsLet8cj2wKxqquFB8RdBxXfk,18621
6
7
  webscout/__init__.py,sha256=AVG0wCun0afiuNnWoF8BJ46nCpT3ax2ecOjVqcUAxJk,1142
7
8
  webscout/__main__.py,sha256=qtkMZK5jzQ79ZkFAuZBxMgayuhmw3aRDj1F8Pt06NW4,108
8
9
  webscout/cli.py,sha256=_ZeVKRKw6ZX0RScC5BeKNK81gak89qkik168FqB9BH8,20239
9
- webscout/client.py,sha256=qPO3zmCGB_GE3G8SyOV0ELy5qWPcy7G9hHQqlMaf9qQ,3464
10
+ webscout/client.py,sha256=SFH-2IKFECDI7hxFXftbb9KTqoKUQGtVf9eslQ1ZnfE,5480
10
11
  webscout/conversation.py,sha256=6U6MepqYlYFev-HR2ZSqCKYhoU816E00jmxtYhYUQ2I,16955
11
12
  webscout/exceptions.py,sha256=cj0BDCZhB46g_vJ0r2PH0U_T35dqZro-rWu6tvtIZ3c,12833
12
13
  webscout/models.py,sha256=C7QY-KDkqFCI698t9pvTHQ27rYadPIvwaYHJ3-AOCJI,6566
13
14
  webscout/optimizers.py,sha256=lwIV6c7fKW4rFbZZdhBi7RTJig8KtmziA4979_GByCk,10373
14
15
  webscout/prompt_manager.py,sha256=j4MLYx3SpeeTxzsbgUGAHWLtJ1HAF6eaWOzJCAiGND4,10090
15
16
  webscout/tempid.py,sha256=lqTTOjVSwDMmC0UoThdyshFyIAxTikVaN613-6K3g_s,4968
16
- webscout/update_checker.py,sha256=5FCr6p1zLVASXcXkxKEgR7bFvICbpzJdgRTr3teKFCs,4217
17
+ webscout/update_checker.py,sha256=vZKTk4HkDED8x5cujKK0Bjq3UjncyESWM7nNm4LR1fg,3825
17
18
  webscout/utils.py,sha256=o2hU3qaVPk25sog3e4cyVZO3l8xwaZpYRziZPotEzNo,3075
18
- webscout/version.py,sha256=J20fRfjuVn8-snJv1OWxrqOoA8ioIRHgqwh_-JsIzaA,44
19
- webscout/webscout_search.py,sha256=PfkBjaIKwTkL3JmpLz8Z1FNdQIqwvCMeSSMLi2tI9Jg,48185
20
- webscout/webscout_search_async.py,sha256=rf2dAWw8z78M-UN6CQU-vbW8IXYLdCGyO6R7jVSkQck,27502
21
- webscout/yep_search.py,sha256=gCXleUK_1Gy6B6fMPZ8MurwboPiMmbft3bhk1qISCdQ,12295
19
+ webscout/version.py,sha256=RjZSJtbPTmeSVF0Iuri6xhKitGhGcWZfRDcI58hPcv4,46
20
+ webscout/webscout_search.py,sha256=e8n03H11N_6Eaey99SvdD9rYEwMERnurNwwrX8ORGVs,47825
21
+ webscout/webscout_search_async.py,sha256=xjwSPpQSbeemwRfJYZJA8pJ8WqEHj93Nm4ouH_JddLc,27110
22
+ webscout/yep_search.py,sha256=WwdbHtHjgrqc4j9vChf601UB-6ShVcd0iuWem-9qi_8,11730
22
23
  webscout/Extra/Act.md,sha256=Mn1AsEOJnVzeNU727o92qwDlGkxfDk9f4ugkI2T2cW4,19261
23
24
  webscout/Extra/__init__.py,sha256=KvJRsRBRO-fZp2jSCl6KQnPppi93hriA6O_U1O1s31c,177
24
25
  webscout/Extra/gguf.md,sha256=Q6Cc8FPq_vlywTGiHTw7xkkwlPZdDYrVUy1lpKGyUYk,12864
25
- webscout/Extra/gguf.py,sha256=NhtgQnx9Sz3maRxQdYCOaCgpQXVXRLA8bBR3li1HN9U,29279
26
+ webscout/Extra/gguf.py,sha256=wmS_par39HshZYM3crtyRFhqTsPpFtSvfG-2u1QUHhA,56896
26
27
  webscout/Extra/weather.md,sha256=4eV07wV3-hkEnvF-cBRL91N4-QF5qOmaV-1I6TDPBLY,10062
27
28
  webscout/Extra/weather.py,sha256=Xfxzt43U5m7qpK3h4pzQ55Zh9JVu5HS6XUeLJccASkE,7841
28
29
  webscout/Extra/weather_ascii.py,sha256=k6U0F9w5xXPvYK-Wq3pjUh7W0gGJG4e_YhxeUI65Vpk,2612
@@ -42,16 +43,16 @@ webscout/Extra/YTToolkit/ytapi/channel.py,sha256=MQCi1uQAVkMY6VafQqp1G65YAOMVZmc
42
43
  webscout/Extra/YTToolkit/ytapi/errors.py,sha256=MOlIMUmQzlgL08VgllbIayg6lURqdGRlycUC5A7553c,303
43
44
  webscout/Extra/YTToolkit/ytapi/extras.py,sha256=Z8zGsfBkqYSPs10cwq52B1pn8MvtWemRW-bY8TZcU34,4527
44
45
  webscout/Extra/YTToolkit/ytapi/https.py,sha256=APsIeyE430T685q2coPRW1N82O1as1crdK_730u_wqM,2201
45
- webscout/Extra/YTToolkit/ytapi/patterns.py,sha256=RXL6Rr5hfki9HlpFR12qPV_ELvM6SGqUqOtjy3KwxPc,3053
46
+ webscout/Extra/YTToolkit/ytapi/patterns.py,sha256=3X4jK9d31TJ75Xt6-_fhQz_sMdmElGEkoHWn0Xhj4ks,3097
46
47
  webscout/Extra/YTToolkit/ytapi/playlist.py,sha256=7_ed-3v8NvRaWqfuXEWAAKlRX3VmNQY1XfDM5iUBMf4,1793
47
48
  webscout/Extra/YTToolkit/ytapi/pool.py,sha256=7sM_ncFqmkcPzqMY8O9dAeJsxO1eYU49HU0GLeJFJIo,274
48
49
  webscout/Extra/YTToolkit/ytapi/query.py,sha256=A5WJv3ZCz-s_92PFjJwRnmYFv6T7N39daZysdiKavGU,1545
49
- webscout/Extra/YTToolkit/ytapi/stream.py,sha256=yjIrAFgSNN0Ba8JxwN3M85EgrAMnknZp631w_udAiJ8,2101
50
+ webscout/Extra/YTToolkit/ytapi/stream.py,sha256=oXnpxpqzM8KHnt6yH4E1twL5GnxsXImILcaBX2ddly0,2102
50
51
  webscout/Extra/YTToolkit/ytapi/utils.py,sha256=mmmUCDMXy3TKauPj6T7PWfEYBAcQ8WiR13xspmlT_SM,2028
51
- webscout/Extra/YTToolkit/ytapi/video.py,sha256=KeqFa-YMgXUndrSIaK0AKg2cBUiUNvNt0JZJyHIZgdY,9144
52
+ webscout/Extra/YTToolkit/ytapi/video.py,sha256=lLM0WkSRmYu82_FRMD_3C_Sm2AcOmtJCT5gW27hRRnY,9153
52
53
  webscout/Extra/autocoder/__init__.py,sha256=Py5-Lq6xLwzp4odeJdGVJ91EgKpPLRMcNyX6jAZpOvQ,230
53
54
  webscout/Extra/autocoder/autocoder.py,sha256=MlmDMA3hjNOKqlfpVz0Y-NnYcqSqRy-ZnRgXANN61U8,42476
54
- webscout/Extra/autocoder/autocoder_utiles.py,sha256=uN3-wv73R1vPhkb7q6mKqVwQGpziVMC_DqdJks-7-nY,21946
55
+ webscout/Extra/autocoder/autocoder_utiles.py,sha256=BxzdqzDrzexFw1xZjGRCmwRGF68nRaRhAskRA9qZar0,21943
55
56
  webscout/Extra/tempmail/README.md,sha256=zYzi73T7JZqc2fwfVzojpnxzey0qm2boIIPFaCJ5i-U,21313
56
57
  webscout/Extra/tempmail/__init__.py,sha256=lyTR6X-ybgg7uRa62f2uFOmqeiW3sHK35Zx2byYN-k0,641
57
58
  webscout/Extra/tempmail/async_utils.py,sha256=2IB6OY8NcfYPTqjWd_RLOk1lzYsuzWeJHlmbtWA-E10,4415
@@ -62,10 +63,10 @@ webscout/Extra/tempmail/mail_tm.py,sha256=yDGZjVcMU_gJsXJKs3ceLULoon71QZBt4HS26D
62
63
  webscout/Extra/tempmail/temp_mail_io.py,sha256=CrF7VERHqxdgAUHDmhijko3DzaWbsoQsem2DhNotUSM,9715
63
64
  webscout/Litlogger/README.md,sha256=mnT4_9_UOCFWs4PXUt6URYW6hVuhoQlvtPt3F_dNDbc,425
64
65
  webscout/Litlogger/__init__.py,sha256=l8ppZiEVYIjG2IWW7RQYik_PeR7BPhmWjiHvAoLeVJE,368
65
- webscout/Litlogger/formats.py,sha256=YSK_MWlB6vcT9CnpxjQtndaGBp9Xoo4I5H5jCKUMj1Y,108
66
- webscout/Litlogger/handlers.py,sha256=O_16_0lfEkEh85KdhVec0RhP3F1IwkgDyNVQ8zgqaw8,3472
66
+ webscout/Litlogger/formats.py,sha256=ijauAaQbob9r3BBt7QO4LdI_vYSsfH1jmKPHrCh7w-I,435
67
+ webscout/Litlogger/handlers.py,sha256=46Gw-vWTfEVUbfYH2TsAsfx_jl-DAbfAXvppuKfxa5U,4159
67
68
  webscout/Litlogger/levels.py,sha256=Q0N3vDIQ9gcyR3XHjGxdm6EzPNZJcLlDpo9hDwb26SY,259
68
- webscout/Litlogger/logger.py,sha256=OMYCuKLfNinmCuH-2tI9Poo1KwRMAEom-2fCAiMX9Zo,3007
69
+ webscout/Litlogger/logger.py,sha256=2zIvCQUjTieWtV4nf81bbrxlaiKl2-gaDFVUpiy3eeI,4939
69
70
  webscout/Provider/AI21.py,sha256=kyr07xbalGQuR-wP9L5W7c_ri5-PEEvyj42jLV56XaE,6225
70
71
  webscout/Provider/Aitopia.py,sha256=m01z55uTYvtCANJ-kSCkvVMsYAIDT_1F5HBxVWLNz2I,12948
71
72
  webscout/Provider/AllenAI.py,sha256=pCj0OktBSeFp90KzrC16F4P9qB3CqHnpfEYY_0zZFPs,19270
@@ -81,6 +82,7 @@ webscout/Provider/ExaChat.py,sha256=us5sOKwGR7a36Oe24yinXvszLd5IKHMa93QgmeZwV60,
81
82
  webscout/Provider/Flowith.py,sha256=w5rpUmRkoAL-WqrKMyRrsTTDmsPN2Cc5zyRBy7_48mY,8605
82
83
  webscout/Provider/FreeGemini.py,sha256=lpsTlkzk7kcTfTODFKZFayQox9DmOM4Az7zTMV5bla0,11004
83
84
  webscout/Provider/Gemini.py,sha256=sM25PD6AxOFmiIab3ASbnrb-mbVHYJJ9Dc6bo1L4PJo,6806
85
+ webscout/Provider/GeminiProxy.py,sha256=7Lo9ffAqoHcSrMnBcnICuQmY0YOi_1F8oamPVfxPm1I,5589
84
86
  webscout/Provider/GithubChat.py,sha256=vBPjsLchav-kuond0D2kaIo8_QsrYDPYNwKF-D4yKPs,14662
85
87
  webscout/Provider/GizAI.py,sha256=o8liIlSPz0MDTqLLGwtLiX3iSAsEuJfX1Cl8UNGOpfQ,10865
86
88
  webscout/Provider/Glider.py,sha256=MbgKflBwSrvsOKW3Ya-ijKc3Hxh_L6LnD6tfUSFKsoQ,9342
@@ -90,9 +92,9 @@ webscout/Provider/HuggingFaceChat.py,sha256=xRhaXs22ipUE8qbZ40PljA6nssRwow0xdYed
90
92
  webscout/Provider/Hunyuan.py,sha256=FjFcqVhexIpEuljUsGJN4t12bMQvGmzrmc4D1kBLdNk,12332
91
93
  webscout/Provider/Jadve.py,sha256=oJEdqchuS6a8FquVc26fxM_OJEPzWSMmjwRcHpw_18g,13052
92
94
  webscout/Provider/Koboldai.py,sha256=K_bAuRMYRkHzN1Qjh0hP6N3oWN_2KoqHpucROmoyLUY,15363
93
- webscout/Provider/LambdaChat.py,sha256=V2WbFNPOsf5WxUvRHhMoWr6a5KsMBbNqfEoKV5tbNOM,18701
95
+ webscout/Provider/LambdaChat.py,sha256=jtlvMBQ2BSA2Cgcf2p3e7TZhOwWyH7wVo9q-WA9Fyco,18881
94
96
  webscout/Provider/Llama3.py,sha256=9f-7ha23OdvUthKUqLwBpSBBZzWPmadJPESyDOUKbC0,10770
95
- webscout/Provider/MCPCore.py,sha256=xdcmCvWlt5tA8jqdVbaDfChSLi2zroZiUY555X1zieE,12748
97
+ webscout/Provider/MCPCore.py,sha256=EFykzoDvifeLAiW6HJ-dtjPnaBB8EvxTGhPHi_uix8E,13070
96
98
  webscout/Provider/Marcus.py,sha256=JDjjpmimsWCgrRqZFPGxuHIZ5M98d2ijFzMie86CZvs,8352
97
99
  webscout/Provider/Nemotron.py,sha256=_hCFLNhynRX-rMtKXKRpKzrKKFzyWGlQ8uQC-8v0l6w,7948
98
100
  webscout/Provider/Netwrck.py,sha256=Fstf8bK5dnE4fRLKDumbdFsiF0EIW147AEgsbzezM6A,11812
@@ -106,6 +108,7 @@ webscout/Provider/Reka.py,sha256=dWw4vX91nJhAn-X1SXK72gttRaTqWNGUBFaeRJobTJg,851
106
108
  webscout/Provider/StandardInput.py,sha256=N9sgXqXxI9DlsIpHji5VTf8ryAKGTR2rCLOB0BuKBBY,14177
107
109
  webscout/Provider/TeachAnything.py,sha256=vFPTEJRk-P7PdYZF2-_h6_61P12dBCIx5MWu4elkYyM,9990
108
110
  webscout/Provider/TextPollinationsAI.py,sha256=p-N9HkaSGAoVfJi3ME1DXXzh10LoxGsUN01u9wU6Cxk,12826
111
+ webscout/Provider/TogetherAI.py,sha256=-UjR2v1-qthI7DFE1tQYWjM7ind2ZrOPDnq3f-ABgr4,14844
109
112
  webscout/Provider/TwoAI.py,sha256=T7EVecu9QnuESmDYTyxikOIJiMsfpPKtx4hp4CZ7tps,19951
110
113
  webscout/Provider/TypliAI.py,sha256=lfOyX2mGZBsmqqB4GafAzAhiV0U0C9RJf9I--hTw9Ik,11919
111
114
  webscout/Provider/Venice.py,sha256=Ggo2lAp4soViM6Z_LU9d9_cbadcpfrzOZ-3KreTEFxA,11044
@@ -114,7 +117,8 @@ webscout/Provider/WiseCat.py,sha256=TgsGFi6nSTls1_9yuGY-iITB5y2LobHoi5zvWZ8yWlY,
114
117
  webscout/Provider/WrDoChat.py,sha256=Idjrg0IEmeRU6V2qm8SGuqkNowSh5iVsC9N3krPP-l4,13902
115
118
  webscout/Provider/Writecream.py,sha256=_uNU1EcGpv80Xo47fye40FbQVuIWAUd6m9OUYZ3Khcc,9332
116
119
  webscout/Provider/WritingMate.py,sha256=fOZ5Tu1A-PKFpl10ekheEy0h0qclSoO__KkBrci_aiI,12332
117
- webscout/Provider/__init__.py,sha256=ZrPnNkxVYZqeJWuHXc4r-8kNXY4yP6MhEwHXLbvY38E,3820
120
+ webscout/Provider/XenAI.py,sha256=GZL9J_1yGc3ft2Uo3eq7jS2cZy0ytIPgQ6eNyEN1MAM,13514
121
+ webscout/Provider/__init__.py,sha256=l7yu0Cl8PKp250N9oojbEhlkpZCgfxQOd0jMfarFKhA,4050
118
122
  webscout/Provider/ai4chat.py,sha256=4PvQxPAWlaDgSyo5Dg1W6BVIUDTHq0rFK0H7rcBiCOI,6845
119
123
  webscout/Provider/akashgpt.py,sha256=iJke-aCmTT_8RmrJbSAZayhtIimum1h680diJwBxdOI,13045
120
124
  webscout/Provider/asksteve.py,sha256=qDRe4X6EmgOkhzRz8AAMYUSQFuO5k_84jwgPWKFkjGY,8985
@@ -122,6 +126,7 @@ webscout/Provider/cerebras.py,sha256=1A89aUVgMcwKPrSoQw1vHA1gQfsWxYbxV-MZ4EzwvqQ
122
126
  webscout/Provider/chatglm.py,sha256=CBiRhxe1yznhvyOaQPDf9Qu0SSfFvJ6LhTJCtHxsS0Q,8737
123
127
  webscout/Provider/cleeai.py,sha256=lgIBs5JpNaY-gfwUBorZdSeA_Q7tawfTvkWWTg7EfuI,7981
124
128
  webscout/Provider/copilot.py,sha256=MhDpo1ZHs-Uf-CEIYDB6J3t2rPeI9pP6QDCGffsBoIg,18844
129
+ webscout/Provider/deepseek_assistant.py,sha256=KdQ_Ldg_7jUpSIWmxgz6tXS-uOmE5rPKmJhjbeE6fUs,14557
125
130
  webscout/Provider/elmo.py,sha256=PiiRLwkyHsPmAY8uydd_TuWe2qVXbs_wfW5u4Ytbqp8,12875
126
131
  webscout/Provider/freeaichat.py,sha256=yKTGYYrv_v3xoOcsXc83F0qTBv5rjFKPuZQLX-vRhIQ,9963
127
132
  webscout/Provider/geminiapi.py,sha256=-_QbDBF_IiYyOJ0_uAIcE-gfzIs8H86nA5VWX52SRoY,8505
@@ -138,12 +143,12 @@ webscout/Provider/meta.py,sha256=uQw0yS80eXoPqVfmWvwE_pvjTVYDDiTu4xrmfKmrqI0,307
138
143
  webscout/Provider/multichat.py,sha256=3ZxV7C7KG4T6sKttHf0jO83eGjgaPlRszVZnZBR2JI8,15043
139
144
  webscout/Provider/oivscode.py,sha256=LkHqRzsQ4XbYLo64oUVztTuUGffqiBWw8bdB8Q8aEXU,12720
140
145
  webscout/Provider/samurai.py,sha256=xwl5CXgV5E_93ATMDXh6QtUKuLK7h0kuGN7JWAJLOCc,8446
141
- webscout/Provider/scira_chat.py,sha256=EhyHT3PIYWo6L3Bpc3zOsabLjQQ83kNTJGrFsX6CCv0,12416
146
+ webscout/Provider/scira_chat.py,sha256=04-aUFYP2H29cv25W4fHA0JcsJQJbmZu6Aj_I-L8fAo,12520
142
147
  webscout/Provider/scnet.py,sha256=L-9rJNyl5JLrVBvM8u0rOsR0mqn8x-grr10CjHC_Emk,11427
143
148
  webscout/Provider/searchchat.py,sha256=AMKFIMhAfnmIYCHtKmePf_rUvcbboDoi65H4WOCdInw,12464
144
149
  webscout/Provider/sonus.py,sha256=OaXzLYC7RndmVV4rDbBThhOhmOpAq3EYDG11NdYEgV8,11300
145
150
  webscout/Provider/talkai.py,sha256=18EB9FPx2rOWdnuqMtBZc_QbLWKNFj06n1Xdtm6npwg,7613
146
- webscout/Provider/toolbaz.py,sha256=jvL1OtnNlfv5ZV2QN6eCAbz7fcTC4vETotpDvGCfGsU,14493
151
+ webscout/Provider/toolbaz.py,sha256=uPKwvQWlXzYqFHXAfffW2HNPpSNfomOhOphKaUcsMFg,14471
147
152
  webscout/Provider/turboseek.py,sha256=wVWiTRvvlLHXynEISAAO4gxY-BDIyiR1fs2mhNnFc0U,11666
148
153
  webscout/Provider/typefully.py,sha256=0gNov3A6G_kaxPslj9vrn-iI2788keyVSnoZMhefy5A,8228
149
154
  webscout/Provider/typegpt.py,sha256=DKfivGksbn9hj9ma_zkSAl0K7Drq-7spbh7vL_vTBIU,12378
@@ -155,34 +160,35 @@ webscout/Provider/AISEARCH/Perplexity.py,sha256=AcKqelQfjR5TULqCSA7s6U5-T3zv4HXv
155
160
  webscout/Provider/AISEARCH/README.md,sha256=3WlTa-icOdDyyJpHsgmL0mfJ2BV_ViIC-hlMlRwbZYI,9693
156
161
  webscout/Provider/AISEARCH/__init__.py,sha256=wifrJ_94dA8eoD4fZplo4fPU2CvaJdjvmCPgPTTN_ls,261
157
162
  webscout/Provider/AISEARCH/felo_search.py,sha256=UPr6pOAoVIsEfqf_w9c10qv7HWtqHeXia0WMJEb8VMY,8408
158
- webscout/Provider/AISEARCH/genspark_search.py,sha256=GAsWWCY0ETTSCkD3u8lD-jDIASKXrA2cvYunkF0YZuc,16698
163
+ webscout/Provider/AISEARCH/genspark_search.py,sha256=dsTaopBuuiK09uo_Dw5yQQTkB3jL4UHdy60nPZmryoA,16670
159
164
  webscout/Provider/AISEARCH/hika_search.py,sha256=puGSf65CCVCj9w-C1lh2wPgNFlWr9TCNVjxO4WSj3O4,6757
160
165
  webscout/Provider/AISEARCH/iask_search.py,sha256=48f5z7hV_y_hAYH4J3Ywsj-sPG_7UHjsSbs90AUDKZA,17629
161
166
  webscout/Provider/AISEARCH/monica_search.py,sha256=5-6XHPCXw7eNyJt5WHosqegCAN39aGZauz4AEmuCdP0,8614
162
- webscout/Provider/AISEARCH/scira_search.py,sha256=VI-0t-jb926xYrs3rt_5f8WKEph4QSS6giqbI3Fdm6A,11267
167
+ webscout/Provider/AISEARCH/scira_search.py,sha256=OoozAGcyB4--XkohCltgdgBK1aNw4lEVTWQJI3D_0Z4,11371
163
168
  webscout/Provider/AISEARCH/webpilotai_search.py,sha256=eBjfuXB_HNkTL5Z_--JyrwH8e4cJ52hcwrB-rV0_KQU,11511
164
- webscout/Provider/HF_space/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
- webscout/Provider/HF_space/qwen_qwen2.py,sha256=IulE7bAMSbR530pFTanWzMFb4UJ9qF_NKoGiHkXxcjc,7612
166
- webscout/Provider/OPENAI/BLACKBOXAI.py,sha256=975iNMVKKSDgPdJanhnV8WHxaYlJa8tHW0aItpK4i7g,45066
169
+ webscout/Provider/OPENAI/BLACKBOXAI.py,sha256=NKH_iztuizDvT4aLugSgApZJdMLs26RFf5LiSafpkD8,48010
167
170
  webscout/Provider/OPENAI/Cloudflare.py,sha256=jGvB6iInA2U1hjZ5TVy_Pt3U47u0zEgyZireNYQVHIY,14765
168
171
  webscout/Provider/OPENAI/FalconH1.py,sha256=ISWDHCuR7hKZbmWesxG83n5ihq1v3a8HTWs_0gktse0,22454
169
172
  webscout/Provider/OPENAI/FreeGemini.py,sha256=8QNiVs4s9eh0g-lKSL4Y3J35C3P47GIe5MhuEmsI6Vw,11227
173
+ webscout/Provider/OPENAI/GeminiProxy.py,sha256=9_6VHFylM3-ct0m5XDvxfZ1tmd70RnyZl5HT-qv1g4E,11266
170
174
  webscout/Provider/OPENAI/NEMOTRON.py,sha256=ZwBgNe3b466zkJ7JYtzLvobQte-Gppk1_YOBGGk6Mc8,9731
171
175
  webscout/Provider/OPENAI/PI.py,sha256=MHkX7wsXJIdItwOfMMGEo8OzlZXIaolopBda7b_SpfQ,15185
172
- webscout/Provider/OPENAI/Qwen3.py,sha256=PoHqRSrJjPoR-7Yrb-4lwKL0UlpCUjA92pH0_evWVjQ,15770
173
- webscout/Provider/OPENAI/README.md,sha256=79byCKwbN7dsanSOyNpGHY7hA7qNdIVi0nuezUHtJaY,25051
176
+ webscout/Provider/OPENAI/Qwen3.py,sha256=91wKmXhM8gXyP6pat7fspr1XW0clN91Spx_Cq8WBL7o,16073
177
+ webscout/Provider/OPENAI/README.md,sha256=Euuu_O5OMn52i6CPLWJLht_11LoFH2V7ygHun40e72o,25109
178
+ webscout/Provider/OPENAI/README_AUTOPROXY.md,sha256=EqZ8MJOg8LPdH5wzNHvvu40bUNYwqtozXaT7BL-NbEo,6244
179
+ webscout/Provider/OPENAI/TogetherAI.py,sha256=i4XhBnYiS9t05qjUJMks8auMfnXAXmk1DrCVMsVaubM,14507
174
180
  webscout/Provider/OPENAI/TwoAI.py,sha256=seRAKgp10vg5ilacJ6f5kfXytVshM1Bx4b1VJvVNk34,14590
175
- webscout/Provider/OPENAI/__init__.py,sha256=Y5LMQdVAMLzrEDsl8zfaFr-rRuJ5sY2hlik7G9NBL14,1189
181
+ webscout/Provider/OPENAI/__init__.py,sha256=wTeN_8MbB1upR0C4P6laA4asqOEM5OyofPT0ukDB-do,1590
176
182
  webscout/Provider/OPENAI/ai4chat.py,sha256=I0o7ZnGzG_2-PZfDDEbTMPh5OCx-4LfqfNcUFFdZAGY,11273
177
- webscout/Provider/OPENAI/api.py,sha256=4llWqSPLQkjz6wpSXIN2Aj1Jy0B2uCQz7XkMHO96foE,47485
178
- webscout/Provider/OPENAI/base.py,sha256=bfBELRMcFaUrZO2KFUvUO-FK1rMEjOekIPQeFLvPwFc,9527
183
+ webscout/Provider/OPENAI/autoproxy.py,sha256=cuV_BkfN7lSRrNBceNaHi0zD_-ptdmrSY129kTPo_To,9910
184
+ webscout/Provider/OPENAI/base.py,sha256=RFWLMYVCpg1XtHvVAFrm2by0ZQAf7CMNXZ0vDlmNmE4,13820
179
185
  webscout/Provider/OPENAI/c4ai.py,sha256=f0rzU1a5B3NJDNfOjvFoyTlDdmwuwL_3NfFr2uKqkxY,15636
180
- webscout/Provider/OPENAI/chatgpt.py,sha256=OGMexhPL7T6C114tfI4Ne9JUeInxQ8KXq8jvstB5Wwo,20351
181
- webscout/Provider/OPENAI/chatgptclone.py,sha256=Ek4dCDl0wjfamtLlU6T9gOfymfRUY7FtLuNWMIvk3TQ,19990
186
+ webscout/Provider/OPENAI/chatgpt.py,sha256=z2R7GmsI-xVSrzVjnwmSXqm-SBuZAt9UE0DNvYXlPlc,20787
187
+ webscout/Provider/OPENAI/chatgptclone.py,sha256=XHrp4lw9AD3wr9MW2Aar9H-6Aw8l-TgmCLXM9OiH8fE,20423
182
188
  webscout/Provider/OPENAI/chatsandbox.py,sha256=nmFQdZaj6puw28Hux57f-E8UYqNQnaMnQBOdhnd-ZQY,6999
183
189
  webscout/Provider/OPENAI/copilot.py,sha256=6I6BsRTRfYehZxraTf5r0flWUl3-QBwLMVFuc6XWe-Y,9395
184
- webscout/Provider/OPENAI/deepinfra.py,sha256=-R7jmS2XJE6v6xVln3e4oqq6d-7w-HBzOG6FSaX2YyQ,13986
185
- webscout/Provider/OPENAI/e2b.py,sha256=G14AEMB-PgMNxMHXr33Jmnolzl86h9W8IBMWEUYkhnE,60813
190
+ webscout/Provider/OPENAI/deepinfra.py,sha256=_P0ugEOVF1FffMXsa_SIQesXciqpOe3MMziK9jF3cM4,14684
191
+ webscout/Provider/OPENAI/e2b.py,sha256=sgLJ5FF-thlY8SYW0pqzFfQltiQfH6QwZqELydtUPFo,71438
186
192
  webscout/Provider/OPENAI/exaai.py,sha256=D7i2zpxQhjo_LRnO0nzAU651aOWgXM_9_AQjcRX2IY0,15066
187
193
  webscout/Provider/OPENAI/exachat.py,sha256=z95aqrunxVNlF_y_REGz_hhxirQP18DrBrGYlabiMlA,15632
188
194
  webscout/Provider/OPENAI/flowith.py,sha256=x9pZBfD_RLI1WhSmM8DitkGgcWSbbXzaC18nQUwBh9M,6481
@@ -191,67 +197,109 @@ webscout/Provider/OPENAI/glider.py,sha256=DpVOvgZZQXCuaHJPKGqrvis4EkVlXxX5s207nD
191
197
  webscout/Provider/OPENAI/groq.py,sha256=if3RBZmFwqSKtYPwlVzK_YGGGlFv4dRxw2obGs8MvRE,14564
192
198
  webscout/Provider/OPENAI/heckai.py,sha256=br0Zj_rvOCL1w_N3SVltiVlQQQhlCwAb-WOhaFaEwh4,11709
193
199
  webscout/Provider/OPENAI/llmchatco.py,sha256=CUcFgZuuV4njk9HEocnCGnLg7zcTB1k1awRJSHX5NFA,15371
194
- webscout/Provider/OPENAI/mcpcore.py,sha256=9cIelx-TjiFk3fiKVWSFuyyQkJqogKhWveoQ-PmIov8,17313
200
+ webscout/Provider/OPENAI/mcpcore.py,sha256=UsIAKXiO9F3p6m5yptjslAo60NJa5AmtcaQOqzDD3EU,18939
195
201
  webscout/Provider/OPENAI/multichat.py,sha256=r65SxO4GxolYCs5Phoys_1xZtIEqolyW-I539Zj_mXM,13989
196
202
  webscout/Provider/OPENAI/netwrck.py,sha256=vWeh8T3VdC4EdD6Rd-9PrdPOFQnl4RRqlBuXlSenvfE,13287
197
203
  webscout/Provider/OPENAI/oivscode.py,sha256=Gjw2SETSIkIGREk5BfdEkkQL_RjnI8jFcwxLmUvlzOE,11875
198
- webscout/Provider/OPENAI/opkfc.py,sha256=LAzGgt87eVpSYNLgfS7drCd2eY779Fe32yuMqgaBmZE,21584
204
+ webscout/Provider/OPENAI/opkfc.py,sha256=2YdpcNxMn2p3w9Z7mQ7g0dFJ17zzAgvnIM4UwCgynpM,21877
199
205
  webscout/Provider/OPENAI/pydantic_imports.py,sha256=Sg4zmm4xHWGZSsVwtUG9eS24JQLRECNjZLmrwce8ADc,3362
200
- webscout/Provider/OPENAI/scirachat.py,sha256=ezUpCRUC3d8th-uq6TyToZ9n3vO2cLkdc8bQKIwqf1A,19426
206
+ webscout/Provider/OPENAI/scirachat.py,sha256=T9C04sjdqV3wgjcqufuhxXoIicMG2bOu00FJ88Uvvt0,19173
201
207
  webscout/Provider/OPENAI/sonus.py,sha256=nRUJkK0T08Ao1WLF5ySmCpfH4x9C8wUXjezW4mygqJo,11159
202
208
  webscout/Provider/OPENAI/standardinput.py,sha256=xBHWMRZcPwDJZaQvszaZmKwFzV3wCpwnoynSvsIqhTQ,19547
203
209
  webscout/Provider/OPENAI/textpollinations.py,sha256=6KHxk41zvqPqhDNPSASHO-_QzpKPCM6KL4tpchgW3yw,13134
204
- webscout/Provider/OPENAI/toolbaz.py,sha256=W0FZ2FJEAO2cXVc69-1A2MtQA53Y4Y7izquOhsQBvmc,14623
210
+ webscout/Provider/OPENAI/toolbaz.py,sha256=jshJ8CY8K2pT3Lzl1dsoprjmiGlp5VxGU3hnHr4RSDk,14248
205
211
  webscout/Provider/OPENAI/typefully.py,sha256=yuOf1Idb6LCkK_YT4c9ABnjTuwRzSzffX-OAumSqrJQ,13004
206
212
  webscout/Provider/OPENAI/typegpt.py,sha256=AmujoLfxQnBt-2C_aWOnF6ra-xn5WKCASKTRuVjTv8k,14147
207
213
  webscout/Provider/OPENAI/uncovrAI.py,sha256=3a6h1ixmLZGglRuPVV1rhoDRgNkxTCVTuklegJ-6JY4,18333
208
214
  webscout/Provider/OPENAI/utils.py,sha256=CsYjGuw05dgwH0kBs0-NXRsOrcW7Xa0hyrOzxlLo4QA,10492
209
215
  webscout/Provider/OPENAI/venice.py,sha256=OLexvhEDEBe0r9mHiclwzDovU8OStQqouUUyeJrEcr0,16141
210
216
  webscout/Provider/OPENAI/wisecat.py,sha256=fvD_Lz1wIpHiWTG2zdA5lr53vR3biHtMJ-1WZbkNnJQ,14071
211
- webscout/Provider/OPENAI/writecream.py,sha256=c7q42oLXyxb9njsIl3I7Agg_-vFY_biu64U7MfNlKd8,6363
212
- webscout/Provider/OPENAI/x0gpt.py,sha256=gQ2zzaz-Xc7tx5VJb6OKnSIUUio1xGAvbc8VVwVXhx0,12676
213
- webscout/Provider/OPENAI/yep.py,sha256=7usplghYdHEEmBZtp2xtb_qSFdLJAvU0GVnM0ceak1c,15505
217
+ webscout/Provider/OPENAI/writecream.py,sha256=kiOJ-9iT5RNR1LDyZ_XoQCeVXZuPPnO_CdvEuZdk1s4,6529
218
+ webscout/Provider/OPENAI/x0gpt.py,sha256=hPxmALMfGfOfkVBvMLYtImmlWXpHOW2adSbmvfKppx8,13043
219
+ webscout/Provider/OPENAI/xenai.py,sha256=wPXB9uam_igQ9iOjXBARmYBzD4hzRKy4vxGh8BosPEc,22531
220
+ webscout/Provider/OPENAI/yep.py,sha256=ksuKhFSbVw6_50pdg5Uf2qKjV-ND1WRkonLZuG2oBrk,16261
221
+ webscout/Provider/STT/__init__.py,sha256=BWYNyzX5tgt68dL_WO6fQIZ8H6NpRJz-JQcEPXCy7Uc,98
222
+ webscout/Provider/STT/base.py,sha256=Xue1mo6Lj00rRxU1lRsv_zQ7_igU7hLON7lHkw_Li28,8404
223
+ webscout/Provider/STT/elevenlabs.py,sha256=lZs3HwGrnJ3jY81WeV1H7yJTVulitTE1lI2Lhkx42HA,9168
214
224
  webscout/Provider/TTI/README.md,sha256=v76lwYPMMKKsFyE6IAWISlQ06ergXFIUZrKeKk-RXa0,3040
215
- webscout/Provider/TTI/__init__.py,sha256=8Yk672eXLvwPzNu5jqoY99HaW6iSQJclrp6Doi38jM0,158
216
- webscout/Provider/TTI/aiarta.py,sha256=XaJoSbWEilsdp-skA8cbYJ7FIvmGrQJUBma01djTj-k,15052
217
- webscout/Provider/TTI/artbit.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
- webscout/Provider/TTI/base.py,sha256=2QJJsnL2LP8lkTQ4FPOLx6WMiAlLEC8wQJL-0HosocM,1971
219
- webscout/Provider/TTI/fastflux.py,sha256=h83V-y8RkRUUNNU_1x9gKfEXRmHQmHfG62HEXfex-YM,9003
220
- webscout/Provider/TTI/magicstudio.py,sha256=p4yaqzGoNzHyUeznH2poz4Bq-8G0xVdmvRfoBfgosdM,8780
221
- webscout/Provider/TTI/piclumen.py,sha256=B1szULc6Mwp9jyeRpfAu-KniMm94yDwyucEr0dX3BP4,7852
222
- webscout/Provider/TTI/pixelmuse.py,sha256=tOIRLA12s_TE7Jfly4j_K2b96-JNNKygd5U7E4g1Jy0,8370
223
- webscout/Provider/TTI/pollinations.py,sha256=lLJ5TZd8S41pVl0z062Z3mlN-8Zzt8p1sdbD9NFZRVE,8538
224
- webscout/Provider/TTI/utils.py,sha256=oYPWb7LzVbQhzOhQurPoSmegRgeYxEVLUF9yOQJDe7k,315
225
- webscout/Provider/TTS/README.md,sha256=qEiFoZFTFHzODZ_FAsMUfRqUkRHWUPAx5zz7tDEDgg8,4640
226
- webscout/Provider/TTS/__init__.py,sha256=7-_Sr9MnTd2NxUlSx7icNb1kyaOrJ6UGXamSKdWs8aE,282
225
+ webscout/Provider/TTI/__init__.py,sha256=4dwSFRz0LbmD1s6GZZkJAXkdDohIwQXVySWvSIhxT9M,251
226
+ webscout/Provider/TTI/aiarta.py,sha256=0EA7HDOOl_IB-hLY8ythuxmJF0DSEEUSghoMfHV53hs,15962
227
+ webscout/Provider/TTI/base.py,sha256=DCf8UfTM64D93DToY9Dc8KA-VgNIDFWVM-_nHp-wN5Q,5224
228
+ webscout/Provider/TTI/bing.py,sha256=OvB76EYAjNU3hsDZ76YqI-LpinCzFO4mWk3GXMIjG1A,10551
229
+ webscout/Provider/TTI/fastflux.py,sha256=-Qqg-BTCb9JBI86abttQ55UtWbIud-lPi6Z6U7aHlN0,9674
230
+ webscout/Provider/TTI/gpt1image.py,sha256=4xE5MFfjuKMc3lO3QCsEYvgidyoDhmvF7J1_sBqzmoU,4980
231
+ webscout/Provider/TTI/imagen.py,sha256=1qoyUeoqrzbQ660P5TFIJQVuZnwZQL65tCNEIXjD7CY,6684
232
+ webscout/Provider/TTI/magicstudio.py,sha256=9V2xK7k-7f-ohZgxJNXYZkVDTY5hSCjWQTcRK7KI86g,9286
233
+ webscout/Provider/TTI/piclumen.py,sha256=JM7aLa1Mdv4xuB0d1XLqS0t9yMR9C8Rgtv7979wtETc,7978
234
+ webscout/Provider/TTI/pixelmuse.py,sha256=k2NypIvZ1Xfe9ubL0Hkg5zkY-VLLvk4uZtPHmUFlmQg,8625
235
+ webscout/Provider/TTI/pollinations.py,sha256=tu1FAvAetET9KnwiXVlhsIEjfJZPghgSDdl7oFqLBso,8688
236
+ webscout/Provider/TTI/together.py,sha256=N5F4hArDSw14T4C411hUVDsVT9wK7ZVk19FffnRErso,10347
237
+ webscout/Provider/TTI/utils.py,sha256=vM63GCFRDKLUlqPVIFJC0H6asNh-8rVR_NWCfnfc8l4,317
238
+ webscout/Provider/TTS/README.md,sha256=rC8EPG3UHILHTs46thPM96S5eNdlmGOv5fcJP3J3MpQ,4656
239
+ webscout/Provider/TTS/__init__.py,sha256=XrDg3HucBXoIL5_q-8W0RLHNs7WIZK9xAUO0i1qthnc,306
227
240
  webscout/Provider/TTS/base.py,sha256=-_bFU2PPftjgMBF04YLIp_58pOPrJl9_lDY81eCzIaU,6127
228
241
  webscout/Provider/TTS/deepgram.py,sha256=pMNhfez_Yr1FJn8fKtCb8xFhg_K-OnxpZuoWVWIx7f4,6329
229
242
  webscout/Provider/TTS/elevenlabs.py,sha256=IzpyeHmADDhJcS2H4p7YK6PvA5LP22AoSBCw2Mt3-AY,5408
243
+ webscout/Provider/TTS/freetts.py,sha256=a8CbhjI1Kb07T8O519DtF9Rg_oAi8l8Kn56cgYTxV5c,5411
230
244
  webscout/Provider/TTS/gesserit.py,sha256=v4ybdEMbux8J21Y7PSp3_axL3W2Naru5P_pmwP1ENeU,5594
231
245
  webscout/Provider/TTS/murfai.py,sha256=9WA7_4n1p4OXbZY3WxwxDRTvsWN2ohDxKGqgYrZol84,4910
232
246
  webscout/Provider/TTS/openai_fm.py,sha256=WAbkBdGd0q_9QgXBm5hllSCr8TEmXEY2voaDjjbUfxI,5210
233
247
  webscout/Provider/TTS/parler.py,sha256=-JbH01Kq_sLVahu6PoJwq6c7JY_JtQOi8YmU1cLFZqU,4144
234
- webscout/Provider/TTS/speechma.py,sha256=v7o1NBMIsQDHVi3HaJOrVFjVsiYYo1v1QehM-LfwocU,28078
248
+ webscout/Provider/TTS/speechma.py,sha256=KOB56mmXNRG4_Dw1pjQnA25L4o_lvG-5Rh0anLp0Sf8,28605
235
249
  webscout/Provider/TTS/sthir.py,sha256=vEYmu4faOIeTcSfdSedUYVD3Vp3zu8-voq-g5aaMAog,3704
236
250
  webscout/Provider/TTS/streamElements.py,sha256=RowMh1VktGD9W_lGBqVJon_Bq8Ee2PRZNeUCDtDN8FU,10238
237
251
  webscout/Provider/TTS/utils.py,sha256=pO3GsBmIZ7CHywjOGyrdpHdvch40QMvfAfvAeRBp-O0,10886
238
252
  webscout/Provider/UNFINISHED/ChatHub.py,sha256=Xu2mvdTx-NjiDaTyyvRBkeGa8CgUJuMs14-5HLE0Y-A,7355
253
+ webscout/Provider/UNFINISHED/ChutesAI.py,sha256=i3GA93puWB5RoSiJat_OC1zWZI8XDG_CAri7SU_N-2w,13026
239
254
  webscout/Provider/UNFINISHED/Youchat.py,sha256=dkvwp7Jub4dF5l463hHX7L7MHzwyY14TU7BsTl3zlGk,13058
255
+ webscout/Provider/UNFINISHED/fetch_together_models.py,sha256=IkGppAIbwIfvJRwzpyiBtfeWlUcwMlJiNRQZaREm6Bc,3328
240
256
  webscout/Provider/UNFINISHED/liner_api_request.py,sha256=yTVXbqZMTyo5oOPX_FO95fO56TT5hkbt8r4PK7ahFqw,10558
241
257
  webscout/Provider/UNFINISHED/puterjs.py,sha256=Hhtz9PS8wSuG2BDUbPp2qLS5AQSAZzQ2viqC_-F-9yM,28225
242
258
  webscout/Provider/UNFINISHED/test_lmarena.py,sha256=-BfHfe14HbozIkYUNl2RqI5Ih2VdSXv6DInBlUfvMZk,3853
243
- webscout/litagent/Readme.md,sha256=FvvqX2DvAclmXu97J2XAY5GgHa5c68I3fFePaREhO_g,7578
259
+ webscout/auth/__init__.py,sha256=vkti-hxpT_1iLcXAELbnLezy7TT3YI60QRt-fJjHyNs,1089
260
+ webscout/auth/api_key_manager.py,sha256=a3F4d2r7h3GqV-wxNj2vNLkU9o0-ld-XU9udt_CQL0g,6954
261
+ webscout/auth/auth_system.py,sha256=LPMtrqpi7EQhqdbWQ5RKu4nIhsT4CShvIEaF9Zo-khc,3171
262
+ webscout/auth/config.py,sha256=PLg6RS59DKdP0BMU71LbnikBuR9eZBouvzUsRQH3Ff4,2911
263
+ webscout/auth/database.py,sha256=OPZTkXtC75cwZkflHc2gheOANqDXrbUdKjfvNHNpWuQ,15455
264
+ webscout/auth/exceptions.py,sha256=FGqNLQmjv2i3Jk_P3csJzT4qkmVdBMdH7vFkM37Xa3Y,2048
265
+ webscout/auth/middleware.py,sha256=zSQBIt0LacbeyNjwRIfnO-tdE7-p0w77UkPd7aUTri0,9863
266
+ webscout/auth/models.py,sha256=zlHiAkOoXu5LdpOwVxsYmHXrxIu5DQb0Xli86800vaE,5018
267
+ webscout/auth/providers.py,sha256=1GMnqzSJ3J2EchMXdCvxVjxULlUCcxARcdjxKSpgi3I,10636
268
+ webscout/auth/rate_limiter.py,sha256=8l1CpUY5YkY8SPHvZxL2SejAkO93uNklwQeSbjRxU5A,9925
269
+ webscout/auth/request_models.py,sha256=hgo0AZ5CknEWCmZ4KBMs8T0xjmtlecbk645yU622Ujs,5804
270
+ webscout/auth/request_processing.py,sha256=1fs-sfiNAR04B5Rj4ui5EEjgPsBCXMqf73li6mQpDEU,10569
271
+ webscout/auth/routes.py,sha256=XCfRlOrz9qWFalVw0Qwb8jZVvPRAAUZOII7_uENWgSQ,24732
272
+ webscout/auth/schemas.py,sha256=fu3-V9F0n5AZ65A-fGGiBiuQcwk1Ec3urO7N30Nv90o,4577
273
+ webscout/auth/server.py,sha256=8ookrUYm7LEJZ-t4WmWfQ_qR-Si-VN9YeLlVaC50Cbk,12145
274
+ webscout/auth/swagger_ui.py,sha256=TQUt0y0A-TUrBfOH0RCrRCkbq-7fDMlfaeaij-fkRxA,8659
275
+ webscout/auth/static/favicon.svg,sha256=d1vxz4TLRKt2oV9W3gaoQuw1ydKg-Wk3mgQSK0uk8_w,548
276
+ webscout/auth/templates/swagger_ui.html,sha256=2_8rKou9WfqbeeWqfCFQLo9DpNpkpbR-E8qhdIkBQxg,6713
277
+ webscout/auth/templates/components/authentication.html,sha256=UXx2ixnsxdgkeWOoPT6ozYNNxw3lgNqcuqWozS8v-74,11495
278
+ webscout/auth/templates/components/base.html,sha256=R7I7v4s9Vuvl3qg-Peq6lVmU8mErc_uwQZvuycBby7c,4086
279
+ webscout/auth/templates/components/endpoints.html,sha256=631YiwacqNWZSnADBPcMzZD5SzTIdGa72Xap2Ak6twc,36921
280
+ webscout/auth/templates/components/examples.html,sha256=Lu60kvAknIytLcyLxihiTt1ottl_otTpv0Jnr3jA85A,16113
281
+ webscout/auth/templates/components/footer.html,sha256=l7XlPkhgQsCeaP_LkfuZ8C20w2ew28Xc_Yhc5NtM3Hc,3951
282
+ webscout/auth/templates/components/header.html,sha256=sbpcieP4l9yJR8DvxgKdIlIiRN9OSkBjfKkTv1IgN1w,1293
283
+ webscout/auth/templates/components/models.html,sha256=nym-1NzJv0LPh23vO2H-0M730y3D4d9tfB-ptt3eFVE,12311
284
+ webscout/auth/templates/components/navigation.html,sha256=wZOqiu-udzFntp_bs1EvbHD7hXwzf6A1fXXINYio-ho,2299
285
+ webscout/auth/templates/static/api.js,sha256=ds4LXqMnMyZkJOA2PdQbwtPhuabnlrUB5FokEk9fTK8,15738
286
+ webscout/auth/templates/static/icons.js,sha256=JFLe3fMNf7VD0GgXkJpud-LLpXZDso_sB0A1C0hB6to,7907
287
+ webscout/auth/templates/static/main.js,sha256=zRK6KuzZ5a5ZUu0O29mv9CBYbFzJUL25z5D75XmZSBY,29770
288
+ webscout/auth/templates/static/particles.js,sha256=xxcAEXq-D9jii7qMkTCAAr_mx1BHJfI6RekNKo6yZ_M,6748
289
+ webscout/auth/templates/static/styles.css,sha256=34rk8MiJCH4wxjP8Y44iFlbkT4hpU2B3ZhgvJ1nrUxI,79258
290
+ webscout/auth/templates/static/ui.js,sha256=h13Bl0Hm6AzEJpygUJNLCdWi5_ggIrqU5spidI5Wbls,13461
291
+ webscout/litagent/Readme.md,sha256=UKBFkbJV8KXitJ6fievY9iUvZknS-it35xUu8A3hIO8,7806
244
292
  webscout/litagent/__init__.py,sha256=2HydGSdDVBZ7SRNgGzXX-TJiuol1sxzNJBw7wVAFueo,882
245
- webscout/litagent/agent.py,sha256=1ZXAYjADlRQw5FKz9vVy9qryNJUFvS6WRFBsIX6EtSY,19101
293
+ webscout/litagent/agent.py,sha256=KSNLzfhM0XOoE_CuzsOPGf8Gg1pXoNcEnGwSes0vM4k,20548
246
294
  webscout/litagent/constants.py,sha256=3_3tWXhmyZ2dFIO8f0YWL4CRkoFoL18h0_jNttTN7mk,2175
247
295
  webscout/litprinter/__init__.py,sha256=dEsi76uca5Art7tOc3ps240PPrWEVOdTLgR2pim1u9I,2510
248
296
  webscout/scout/README.md,sha256=vMMB_XT1F63YfZHpjisgfsuHE3uyT92EAiACCkjRxpE,12487
249
297
  webscout/scout/__init__.py,sha256=1dy8mhj4d-X_RDnb3Ip2LKC-2fqgP5zRsHkhdQjAGzE,333
250
- webscout/scout/element.py,sha256=D1BAPZrXttkYVMWsVoO7cgsyBWuZZxbi1YV3ua-1fgs,15475
298
+ webscout/scout/element.py,sha256=wLqfBhE2aQjvFEeTK_Qiy3ci-jR9rRrCskqgEo4gzUE,20068
251
299
  webscout/scout/utils.py,sha256=flBUjqjUZbzMDT8PJYMPxqXFpm1NlpIJHdhFC2ApnZ0,1006
252
300
  webscout/scout/core/__init__.py,sha256=ncF9MkM3iO1B2Ew_nOwzLQeeJ1xkCdoJ77CCZADD974,296
253
301
  webscout/scout/core/crawler.py,sha256=YPGUxHymAry_-WW9HM1SoYXjCYkUOvfGJNGpUsnTjPM,7802
254
- webscout/scout/core/scout.py,sha256=ve6IiF1D0qPLqOK8iMxyPz9cfPyF2WttmXJVbrwQNhU,20103
302
+ webscout/scout/core/scout.py,sha256=zbpm9H352HHItsQMrgzBWFILvDbAAjbF40EPt8XRBEE,23484
255
303
  webscout/scout/core/search_result.py,sha256=I5pmOhczAqY2wPgwx9lrZoeD4eHLn2VHlFCicaLXORI,2957
256
304
  webscout/scout/core/text_analyzer.py,sha256=gm30VZAnAH5DPgt6OhYd4bOriK-sSwgtEBqrx4NWm6o,1846
257
305
  webscout/scout/core/text_utils.py,sha256=vo5dVgtcMARWfHdH6NC5gAArBo4HYpqFsHKZYfkE7Jk,10813
@@ -264,13 +312,13 @@ webscout/swiftcli/Readme.md,sha256=KinBRfIqSBhxkKZOqlxxImiB4WGYsB0P1S1qspacQ4E,7
264
312
  webscout/swiftcli/__init__.py,sha256=FAC7D0Yu4KN2WGSpNSIVgGSJ9DlAVzqFLjbyUpxCwmc,1864
265
313
  webscout/swiftcli/exceptions.py,sha256=yd50TpIjxjL4pzgnEIJUThh6F6brI-jmajjuxqgH9EE,529
266
314
  webscout/swiftcli/core/__init__.py,sha256=IZfEWpDaV7_Lo5T0_ryp4ZRrH6egXrCJgdO3g1hGx5k,161
267
- webscout/swiftcli/core/cli.py,sha256=sNBdF8lmkuMrW_MijUYQI4TUv4BMZ6OXuFUn12b287Q,10030
315
+ webscout/swiftcli/core/cli.py,sha256=E9OS3RmG90Nc59nHTnnw2XvZDNnYhqo7qgVhzfrm1Tk,10518
268
316
  webscout/swiftcli/core/context.py,sha256=QTPkxk1HOZ128OFYC7W99ey1GoNi3n4YqjkqCjBjjiY,3043
269
317
  webscout/swiftcli/core/group.py,sha256=moOcP7ec0u80cxpw1bKW9eBti4sgwjJVmGLiU1OwKz0,7605
270
318
  webscout/swiftcli/decorators/__init__.py,sha256=YHsLyXnh4Rvn_hwg28y9lkTq2Hh4QVx4ohHfY3r-Wbw,648
271
319
  webscout/swiftcli/decorators/command.py,sha256=W-LFpXVOB2xbVg8f36phFxCoQFtQ7cwjqeaJ60OsVk8,6291
272
320
  webscout/swiftcli/decorators/options.py,sha256=6K6Ea8EoP98sDO-ia7Kx4GoK5OmRkFfsMPFIJxveByY,6608
273
- webscout/swiftcli/decorators/output.py,sha256=ZoX_Sb97cYiSvyGnNfllmahEya2HOxWkCugF5vkG2kU,7756
321
+ webscout/swiftcli/decorators/output.py,sha256=irVblWEZLq_-SqxcPBNbnPt_8Uev1QjT9FRjTJvcA98,9300
274
322
  webscout/swiftcli/plugins/__init__.py,sha256=1lKYyhzaZuOEwFiA4SjV8tnaxD2MuegkeR0LV0xKGmI,153
275
323
  webscout/swiftcli/plugins/base.py,sha256=mnyEfMD_Cqa_nWuHWZZ9F5YEZgSZK3yiCCRbl93c5Eg,3754
276
324
  webscout/swiftcli/plugins/manager.py,sha256=XtWnPA3pjQetCboAJqGE6M-hdZ12P3dKlawNtkOKYcw,8977
@@ -282,9 +330,9 @@ webscout/zeroart/__init__.py,sha256=3reMOf41PFtYVhq2wjFpJbIIHWRcy63efeUpolWm1P0,
282
330
  webscout/zeroart/base.py,sha256=nkf3WAE3YxKIpOFJ4Xf01T7dyWlbi98F1mIYo6vDux8,2365
283
331
  webscout/zeroart/effects.py,sha256=DOMPCNk-IwhnUrXsYSx5oSWeYQ6KN7T_jZOYdEofyMg,3345
284
332
  webscout/zeroart/fonts.py,sha256=ZiyQqA0BFN2IH5Ldijqe93rTiROmqPgxpeDtUNmmeRw,38812
285
- webscout-8.3.dist-info/licenses/LICENSE.md,sha256=hyfFlVn7pWcrvuvs-piB8k4J8DlXdOsYje9RyPxc6Ik,7543
286
- webscout-8.3.dist-info/METADATA,sha256=GjkxJZaDXwxb-EmtgZbnQnXTO4TOh48pjz06u6hJ-a8,33996
287
- webscout-8.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
288
- webscout-8.3.dist-info/entry_points.txt,sha256=vNBz7_evRXZsauyv4kgW3oXUKS3r_yvMa_YP9-FLD8U,119
289
- webscout-8.3.dist-info/top_level.txt,sha256=nYIw7OKBQDr_Z33IzZUKidRD3zQEo8jOJYkMVMeN334,9
290
- webscout-8.3.dist-info/RECORD,,
333
+ webscout-8.3.2.dist-info/licenses/LICENSE.md,sha256=hyfFlVn7pWcrvuvs-piB8k4J8DlXdOsYje9RyPxc6Ik,7543
334
+ webscout-8.3.2.dist-info/METADATA,sha256=gG1bT7ToPX7-4l2JoSsDT2uldu7613AjdDO8BGOvGw4,34966
335
+ webscout-8.3.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
336
+ webscout-8.3.2.dist-info/entry_points.txt,sha256=WooZuMBei-kQl5qByoRMkc2cHsaDL1Jd2_tSYsNiUGg,116
337
+ webscout-8.3.2.dist-info/top_level.txt,sha256=nYIw7OKBQDr_Z33IzZUKidRD3zQEo8jOJYkMVMeN334,9
338
+ webscout-8.3.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  [console_scripts]
2
2
  WEBS = webscout.cli:main
3
3
  webscout = webscout.cli:main
4
- webscout-server = webscout.client:start_server
4
+ webscout-server = webscout.auth.server:main
File without changes
@@ -1,206 +0,0 @@
1
- from dataclasses import dataclass
2
- from enum import Enum
3
- import requests
4
- import json
5
- import re
6
- import uuid
7
- from typing import Union, List, Dict, Generator, Optional, Any, TypedDict, Final
8
-
9
- # Type definitions
10
- class Role(Enum):
11
- SYSTEM = "system"
12
- USER = "user"
13
- ASSISTANT = "assistant"
14
-
15
- class Message(TypedDict):
16
- role: str
17
- content: str
18
-
19
- class APIResponse(TypedDict):
20
- event_id: str
21
- fn_index: int
22
- data: List[Any]
23
-
24
- class StreamData(TypedDict):
25
- msg: str
26
- output: Dict[str, Any]
27
-
28
- @dataclass
29
- class APIConfig:
30
- url: Final[str] = "https://qwen-qwen2-72b-instruct.hf.space"
31
- api_endpoint: Final[str] = "https://qwen-qwen2-72b-instruct.hf.space/queue/join?"
32
-
33
- @dataclass
34
- class RequestHeaders:
35
- join: Dict[str, str]
36
- data: Dict[str, str]
37
-
38
- @classmethod
39
- def create_default(cls, base_url: str) -> 'RequestHeaders':
40
- common_headers = {
41
- 'accept-language': 'en-US,en;q=0.9',
42
- 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
43
- }
44
-
45
- return cls(
46
- join={
47
- **common_headers,
48
- 'accept': '*/*',
49
- 'content-type': 'application/json',
50
- 'origin': base_url,
51
- 'referer': f'{base_url}/',
52
- },
53
- data={
54
- **common_headers,
55
- 'accept': 'text/event-stream',
56
- 'referer': f'{base_url}/',
57
- }
58
- )
59
-
60
- class QwenAPI:
61
- def __init__(self, config: APIConfig = APIConfig()):
62
- self.config = config
63
- self.headers = RequestHeaders.create_default(config.url)
64
-
65
- @staticmethod
66
- def generate_session_hash() -> str:
67
- """Generate a unique session hash."""
68
- return str(uuid.uuid4()).replace('-', '')[:12]
69
-
70
- @staticmethod
71
- def format_prompt(messages: List[Message]) -> str:
72
- """
73
- Formats a list of messages into a single prompt string.
74
-
75
- Args:
76
- messages: A list of message dictionaries with "role" and "content" keys.
77
-
78
- Returns:
79
- str: The formatted prompt.
80
- """
81
- return "\n".join(f"{message['role']}: {message['content']}" for message in messages)
82
-
83
- def create_sync_generator(
84
- self,
85
- model: str,
86
- messages: List[Message],
87
- proxy: Optional[str] = None,
88
- **kwargs: Any
89
- ) -> Generator[str, None, None]:
90
- """
91
- Synchronously streams responses from the Qwen_Qwen2_72B_Instruct API.
92
-
93
- Args:
94
- model: The model to use for the request.
95
- messages: A list of message dictionaries with "role" and "content" keys.
96
- proxy: Optional proxy URL for the request.
97
- **kwargs: Additional keyword arguments.
98
-
99
- Yields:
100
- str: Text chunks from the API response.
101
-
102
- Raises:
103
- requests.exceptions.RequestException: If the API request fails.
104
- json.JSONDecodeError: If the response cannot be parsed as JSON.
105
- """
106
- session_hash: str = self.generate_session_hash()
107
-
108
- # Prepare the prompt
109
- system_messages: List[str] = [
110
- message["content"]
111
- for message in messages
112
- if message["role"] == Role.SYSTEM.value
113
- ]
114
- system_prompt: str = "\n".join(system_messages)
115
-
116
- user_messages: List[Message] = [
117
- message
118
- for message in messages
119
- if message["role"] != Role.SYSTEM.value
120
- ]
121
- prompt: str = self.format_prompt(user_messages)
122
-
123
- payload_join: Dict[str, Any] = {
124
- "data": [prompt, [], system_prompt],
125
- "event_data": None,
126
- "fn_index": 0,
127
- "trigger_id": 11,
128
- "session_hash": session_hash
129
- }
130
-
131
- with requests.Session() as session:
132
- # Send join request
133
- response = session.post(
134
- self.config.api_endpoint,
135
- headers=self.headers.join,
136
- json=payload_join
137
- )
138
- response.raise_for_status()
139
- event_data: APIResponse = response.json()
140
-
141
- # Prepare data stream request
142
- url_data: str = f'{self.config.url}/queue/data'
143
- params_data: Dict[str, str] = {'session_hash': session_hash}
144
-
145
- # Send data stream request
146
- full_response: str = ""
147
- final_full_response: str = ""
148
-
149
- with session.get(
150
- url_data,
151
- headers=self.headers.data,
152
- params=params_data,
153
- stream=True
154
- ) as response:
155
- response.raise_for_status()
156
-
157
- for line in response.iter_lines():
158
- if line:
159
- decoded_line: str = line.decode('utf-8')
160
- if decoded_line.startswith('data: '):
161
- try:
162
- json_data: StreamData = json.loads(decoded_line[6:])
163
-
164
- if json_data.get('msg') == 'process_generating':
165
- if 'output' in json_data and 'data' in json_data['output']:
166
- output_data: List[Any] = json_data['output']['data']
167
- if len(output_data) > 1 and len(output_data[1]) > 0:
168
- for item in output_data[1]:
169
- if isinstance(item, list) and len(item) > 1:
170
- fragment: str = str(item[1])
171
- if not re.match(r'^\[.*\]$', fragment) and not full_response.endswith(fragment):
172
- full_response += fragment
173
- yield fragment
174
-
175
- if json_data.get('msg') == 'process_completed':
176
- if 'output' in json_data and 'data' in json_data['output']:
177
- output_data = json_data['output']['data']
178
- if len(output_data) > 1 and len(output_data[1]) > 0:
179
- final_full_response = output_data[1][0][1]
180
-
181
- if final_full_response.startswith(full_response):
182
- final_full_response = final_full_response[len(full_response):]
183
-
184
- if final_full_response:
185
- yield final_full_response
186
- break
187
-
188
- except json.JSONDecodeError as e:
189
- print(f"Could not parse JSON: {decoded_line}")
190
- raise e
191
-
192
-
193
- def main() -> None:
194
- messages: List[Message] = [
195
- {"role": Role.SYSTEM.value, "content": "You are a helpful assistant."},
196
- {"role": Role.USER.value, "content": "LOL"}
197
- ]
198
-
199
- api = QwenAPI()
200
- for text in api.create_sync_generator("qwen-qwen2-72b-instruct", messages):
201
- print(text, end="", flush=True)
202
- print("\n---\n")
203
-
204
-
205
- if __name__ == "__main__":
206
- main()