webscout 8.3.2__py3-none-any.whl → 8.3.3__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 (94) hide show
  1. webscout/AIutel.py +146 -37
  2. webscout/Bing_search.py +1 -2
  3. webscout/Provider/AISEARCH/__init__.py +1 -0
  4. webscout/Provider/AISEARCH/stellar_search.py +132 -0
  5. webscout/Provider/ExaChat.py +84 -58
  6. webscout/Provider/HeckAI.py +85 -80
  7. webscout/Provider/Jadve.py +56 -50
  8. webscout/Provider/MiniMax.py +207 -0
  9. webscout/Provider/Nemotron.py +41 -13
  10. webscout/Provider/Netwrck.py +34 -51
  11. webscout/Provider/OPENAI/BLACKBOXAI.py +0 -1
  12. webscout/Provider/OPENAI/MiniMax.py +298 -0
  13. webscout/Provider/OPENAI/README.md +30 -29
  14. webscout/Provider/OPENAI/TogetherAI.py +4 -17
  15. webscout/Provider/OPENAI/__init__.py +3 -1
  16. webscout/Provider/OPENAI/autoproxy.py +752 -17
  17. webscout/Provider/OPENAI/base.py +7 -76
  18. webscout/Provider/OPENAI/deepinfra.py +42 -108
  19. webscout/Provider/OPENAI/flowith.py +179 -166
  20. webscout/Provider/OPENAI/friendli.py +233 -0
  21. webscout/Provider/OPENAI/monochat.py +329 -0
  22. webscout/Provider/OPENAI/pydantic_imports.py +1 -172
  23. webscout/Provider/OPENAI/toolbaz.py +1 -0
  24. webscout/Provider/OPENAI/typegpt.py +1 -1
  25. webscout/Provider/OPENAI/utils.py +19 -42
  26. webscout/Provider/OPENAI/x0gpt.py +14 -2
  27. webscout/Provider/OpenGPT.py +54 -32
  28. webscout/Provider/PI.py +58 -84
  29. webscout/Provider/StandardInput.py +32 -13
  30. webscout/Provider/TTI/README.md +9 -9
  31. webscout/Provider/TTI/__init__.py +2 -1
  32. webscout/Provider/TTI/aiarta.py +92 -78
  33. webscout/Provider/TTI/infip.py +212 -0
  34. webscout/Provider/TTI/monochat.py +220 -0
  35. webscout/Provider/TeachAnything.py +11 -3
  36. webscout/Provider/TextPollinationsAI.py +78 -70
  37. webscout/Provider/TogetherAI.py +32 -48
  38. webscout/Provider/Venice.py +37 -46
  39. webscout/Provider/VercelAI.py +27 -24
  40. webscout/Provider/WiseCat.py +35 -35
  41. webscout/Provider/WrDoChat.py +22 -26
  42. webscout/Provider/WritingMate.py +26 -22
  43. webscout/Provider/__init__.py +2 -2
  44. webscout/Provider/granite.py +48 -57
  45. webscout/Provider/koala.py +51 -39
  46. webscout/Provider/learnfastai.py +49 -64
  47. webscout/Provider/llmchat.py +79 -93
  48. webscout/Provider/llmchatco.py +63 -78
  49. webscout/Provider/multichat.py +51 -40
  50. webscout/Provider/oivscode.py +1 -1
  51. webscout/Provider/scira_chat.py +159 -96
  52. webscout/Provider/scnet.py +13 -13
  53. webscout/Provider/searchchat.py +13 -13
  54. webscout/Provider/sonus.py +12 -11
  55. webscout/Provider/toolbaz.py +25 -8
  56. webscout/Provider/turboseek.py +41 -42
  57. webscout/Provider/typefully.py +27 -12
  58. webscout/Provider/typegpt.py +41 -46
  59. webscout/Provider/uncovr.py +55 -90
  60. webscout/Provider/x0gpt.py +33 -17
  61. webscout/Provider/yep.py +79 -96
  62. webscout/auth/__init__.py +12 -1
  63. webscout/auth/providers.py +27 -5
  64. webscout/auth/routes.py +128 -104
  65. webscout/auth/server.py +367 -312
  66. webscout/client.py +121 -116
  67. webscout/litagent/Readme.md +68 -55
  68. webscout/litagent/agent.py +99 -9
  69. webscout/version.py +1 -1
  70. {webscout-8.3.2.dist-info → webscout-8.3.3.dist-info}/METADATA +102 -90
  71. {webscout-8.3.2.dist-info → webscout-8.3.3.dist-info}/RECORD +75 -87
  72. webscout/Provider/TTI/fastflux.py +0 -233
  73. webscout/Provider/Writecream.py +0 -246
  74. webscout/auth/static/favicon.svg +0 -11
  75. webscout/auth/swagger_ui.py +0 -203
  76. webscout/auth/templates/components/authentication.html +0 -237
  77. webscout/auth/templates/components/base.html +0 -103
  78. webscout/auth/templates/components/endpoints.html +0 -750
  79. webscout/auth/templates/components/examples.html +0 -491
  80. webscout/auth/templates/components/footer.html +0 -75
  81. webscout/auth/templates/components/header.html +0 -27
  82. webscout/auth/templates/components/models.html +0 -286
  83. webscout/auth/templates/components/navigation.html +0 -70
  84. webscout/auth/templates/static/api.js +0 -455
  85. webscout/auth/templates/static/icons.js +0 -168
  86. webscout/auth/templates/static/main.js +0 -784
  87. webscout/auth/templates/static/particles.js +0 -201
  88. webscout/auth/templates/static/styles.css +0 -3353
  89. webscout/auth/templates/static/ui.js +0 -374
  90. webscout/auth/templates/swagger_ui.html +0 -170
  91. {webscout-8.3.2.dist-info → webscout-8.3.3.dist-info}/WHEEL +0 -0
  92. {webscout-8.3.2.dist-info → webscout-8.3.3.dist-info}/entry_points.txt +0 -0
  93. {webscout-8.3.2.dist-info → webscout-8.3.3.dist-info}/licenses/LICENSE.md +0 -0
  94. {webscout-8.3.2.dist-info → webscout-8.3.3.dist-info}/top_level.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  webscout/AIauto.py,sha256=zRQcmNzQCCPOD6ancQlRlSRqEM24rtb-Xlpqg6bt5Pg,10557
2
2
  webscout/AIbase.py,sha256=MbtLlwMNrRu1nKJkj-4ZYUL8YVzDzLdboIAA_7yextM,14529
3
- webscout/AIutel.py,sha256=7aUbn_gbIVnv1yRbnkjeWjY6EPVOJ8qVj4QWymwbaV0,30947
3
+ webscout/AIutel.py,sha256=lHubbAm9JxNDFd6NTeDPdV6bwgi491f_Cq_KMYKzBWM,35723
4
4
  webscout/Bard.py,sha256=VTvnSapEleBnw-O6CM_-4PiijhsLFx_B7gauknV58p4,45280
5
- webscout/Bing_search.py,sha256=bcw6VFwlOV742yZS5havsi3f9vmrYubAOYdlK9TBmYc,16391
5
+ webscout/Bing_search.py,sha256=eFeqR6aOF_Drdie5GdYGMfxsrjcfOBB62o20Avd04GA,16347
6
6
  webscout/DWEBS.py,sha256=OnoKtIkrlNtYlGL_CCPsLet8cj2wKxqquFB8RdBxXfk,18621
7
7
  webscout/__init__.py,sha256=AVG0wCun0afiuNnWoF8BJ46nCpT3ax2ecOjVqcUAxJk,1142
8
8
  webscout/__main__.py,sha256=qtkMZK5jzQ79ZkFAuZBxMgayuhmw3aRDj1F8Pt06NW4,108
9
9
  webscout/cli.py,sha256=_ZeVKRKw6ZX0RScC5BeKNK81gak89qkik168FqB9BH8,20239
10
- webscout/client.py,sha256=SFH-2IKFECDI7hxFXftbb9KTqoKUQGtVf9eslQ1ZnfE,5480
10
+ webscout/client.py,sha256=HHnOL9I14uEJHCpGcyjlpZwna_DEJehHD5sqmti7sd8,5588
11
11
  webscout/conversation.py,sha256=6U6MepqYlYFev-HR2ZSqCKYhoU816E00jmxtYhYUQ2I,16955
12
12
  webscout/exceptions.py,sha256=cj0BDCZhB46g_vJ0r2PH0U_T35dqZro-rWu6tvtIZ3c,12833
13
13
  webscout/models.py,sha256=C7QY-KDkqFCI698t9pvTHQ27rYadPIvwaYHJ3-AOCJI,6566
@@ -16,7 +16,7 @@ webscout/prompt_manager.py,sha256=j4MLYx3SpeeTxzsbgUGAHWLtJ1HAF6eaWOzJCAiGND4,10
16
16
  webscout/tempid.py,sha256=lqTTOjVSwDMmC0UoThdyshFyIAxTikVaN613-6K3g_s,4968
17
17
  webscout/update_checker.py,sha256=vZKTk4HkDED8x5cujKK0Bjq3UjncyESWM7nNm4LR1fg,3825
18
18
  webscout/utils.py,sha256=o2hU3qaVPk25sog3e4cyVZO3l8xwaZpYRziZPotEzNo,3075
19
- webscout/version.py,sha256=RjZSJtbPTmeSVF0Iuri6xhKitGhGcWZfRDcI58hPcv4,46
19
+ webscout/version.py,sha256=tXuUoGx31cy5oli5VRLPRDr09_trXLM-IC9Gj3YbiF0,46
20
20
  webscout/webscout_search.py,sha256=e8n03H11N_6Eaey99SvdD9rYEwMERnurNwwrX8ORGVs,47825
21
21
  webscout/webscout_search_async.py,sha256=xjwSPpQSbeemwRfJYZJA8pJ8WqEHj93Nm4ouH_JddLc,27110
22
22
  webscout/yep_search.py,sha256=WwdbHtHjgrqc4j9vChf601UB-6ShVcd0iuWem-9qi_8,11730
@@ -78,7 +78,7 @@ webscout/Provider/Cloudflare.py,sha256=tcjXK50ghqxmLP0VC8kUQkslgVn9JDB7adxlJHNHI
78
78
  webscout/Provider/Cohere.py,sha256=oL9kAv--RSkEQxwkPTq1Wi57Wkgg0WNvL82CpTj22YY,8264
79
79
  webscout/Provider/Deepinfra.py,sha256=lCjsAMxhoq-FbJ-8ztZCU0HbL1jT9PHqQy29joK1jcU,15057
80
80
  webscout/Provider/ExaAI.py,sha256=plbjF5LYyZS4elLWKtD6AURDQS3O9xAGBScpDGPHWiY,9783
81
- webscout/Provider/ExaChat.py,sha256=us5sOKwGR7a36Oe24yinXvszLd5IKHMa93QgmeZwV60,13119
81
+ webscout/Provider/ExaChat.py,sha256=dz5c101OuwT--oeitwcVQiqRB7XHZg91TN1Xq8AAoGg,14484
82
82
  webscout/Provider/Flowith.py,sha256=w5rpUmRkoAL-WqrKMyRrsTTDmsPN2Cc5zyRBy7_48mY,8605
83
83
  webscout/Provider/FreeGemini.py,sha256=lpsTlkzk7kcTfTODFKZFayQox9DmOM4Az7zTMV5bla0,11004
84
84
  webscout/Provider/Gemini.py,sha256=sM25PD6AxOFmiIab3ASbnrb-mbVHYJJ9Dc6bo1L4PJo,6806
@@ -87,38 +87,38 @@ webscout/Provider/GithubChat.py,sha256=vBPjsLchav-kuond0D2kaIo8_QsrYDPYNwKF-D4yK
87
87
  webscout/Provider/GizAI.py,sha256=o8liIlSPz0MDTqLLGwtLiX3iSAsEuJfX1Cl8UNGOpfQ,10865
88
88
  webscout/Provider/Glider.py,sha256=MbgKflBwSrvsOKW3Ya-ijKc3Hxh_L6LnD6tfUSFKsoQ,9342
89
89
  webscout/Provider/Groq.py,sha256=V6nDhue-AEOJLc1-BP6ZOwsUxpjXP1SqBLTG07dhwWc,36880
90
- webscout/Provider/HeckAI.py,sha256=prob1oYb5tHI2_-3ZmVkjPa3vRefWi6US56kLWZBHwg,16536
90
+ webscout/Provider/HeckAI.py,sha256=19LH3UMpLUKWHgzPZHSDLnDaQ0Nv_Q_qTQa4_mObgYQ,16567
91
91
  webscout/Provider/HuggingFaceChat.py,sha256=xRhaXs22ipUE8qbZ40PljA6nssRwow0xdYedXHYXuCY,21854
92
92
  webscout/Provider/Hunyuan.py,sha256=FjFcqVhexIpEuljUsGJN4t12bMQvGmzrmc4D1kBLdNk,12332
93
- webscout/Provider/Jadve.py,sha256=oJEdqchuS6a8FquVc26fxM_OJEPzWSMmjwRcHpw_18g,13052
93
+ webscout/Provider/Jadve.py,sha256=5TwX4cxB5X4JAuEw_9BjjvNtiGeaISkqX4s9mMTRSC4,12972
94
94
  webscout/Provider/Koboldai.py,sha256=K_bAuRMYRkHzN1Qjh0hP6N3oWN_2KoqHpucROmoyLUY,15363
95
95
  webscout/Provider/LambdaChat.py,sha256=jtlvMBQ2BSA2Cgcf2p3e7TZhOwWyH7wVo9q-WA9Fyco,18881
96
96
  webscout/Provider/Llama3.py,sha256=9f-7ha23OdvUthKUqLwBpSBBZzWPmadJPESyDOUKbC0,10770
97
97
  webscout/Provider/MCPCore.py,sha256=EFykzoDvifeLAiW6HJ-dtjPnaBB8EvxTGhPHi_uix8E,13070
98
98
  webscout/Provider/Marcus.py,sha256=JDjjpmimsWCgrRqZFPGxuHIZ5M98d2ijFzMie86CZvs,8352
99
- webscout/Provider/Nemotron.py,sha256=_hCFLNhynRX-rMtKXKRpKzrKKFzyWGlQ8uQC-8v0l6w,7948
100
- webscout/Provider/Netwrck.py,sha256=Fstf8bK5dnE4fRLKDumbdFsiF0EIW147AEgsbzezM6A,11812
99
+ webscout/Provider/MiniMax.py,sha256=OLZBUY9tuopLlTxX1XhoI5yhBnM2zKD8VHDBlygKzq4,9303
100
+ webscout/Provider/Nemotron.py,sha256=xA8tQlckUMa5LXSlEeLnf9vbC9x3nCHxh9hChBFb7_Q,9097
101
+ webscout/Provider/Netwrck.py,sha256=Mdv0_GcT-BgfAZj-0L_oA6e5eUsEK7rrblwWb292Xuc,10726
101
102
  webscout/Provider/OLLAMA.py,sha256=k8EbK_EqH02xiTtqubViKsHebyJFLUwug5zeP1HkDa4,15155
102
- webscout/Provider/OpenGPT.py,sha256=yzJkYC8ePmx5p5r-tBNLMqsGBV2Fq1cHRtgEAfHNGjk,8898
103
+ webscout/Provider/OpenGPT.py,sha256=uyQx2l4U-NhBEB3IHXR1-pMnsRRVyfedjZ7lo6oXWAo,9594
103
104
  webscout/Provider/Openai.py,sha256=TC4BkezoLqimaqOwzX-nYC9w7hXbDCajm-bzkdyl-gA,20433
104
- webscout/Provider/PI.py,sha256=BN7O_R8Dky2_c2NiVeJhwCgqMfgWWvm8Gc7mW20TzhY,18666
105
+ webscout/Provider/PI.py,sha256=XbOILpmUoVN5px10mg8vMvUMRaaOHrCbfwxXNBxw2M4,16608
105
106
  webscout/Provider/Perplexitylabs.py,sha256=e0k7tuh99dedBTkQxytvfwPS6x6hlaFVpZyrpvy4_Xs,16621
106
107
  webscout/Provider/QwenLM.py,sha256=lxnSF38wrupb1e7XhN8f0py8v6efwOndFh2SwvIy7Sc,10430
107
108
  webscout/Provider/Reka.py,sha256=dWw4vX91nJhAn-X1SXK72gttRaTqWNGUBFaeRJobTJg,8519
108
- webscout/Provider/StandardInput.py,sha256=N9sgXqXxI9DlsIpHji5VTf8ryAKGTR2rCLOB0BuKBBY,14177
109
- webscout/Provider/TeachAnything.py,sha256=vFPTEJRk-P7PdYZF2-_h6_61P12dBCIx5MWu4elkYyM,9990
110
- webscout/Provider/TextPollinationsAI.py,sha256=p-N9HkaSGAoVfJi3ME1DXXzh10LoxGsUN01u9wU6Cxk,12826
111
- webscout/Provider/TogetherAI.py,sha256=-UjR2v1-qthI7DFE1tQYWjM7ind2ZrOPDnq3f-ABgr4,14844
109
+ webscout/Provider/StandardInput.py,sha256=hBNHn6EqjrJ5LG0W4hTsFcJYRpNCt1WpRJaK6IQK0uw,15084
110
+ webscout/Provider/TeachAnything.py,sha256=Wy1fFxi_K4G8oFvcBlmDHJBhP1OMihpnBJKt6IA0c38,10416
111
+ webscout/Provider/TextPollinationsAI.py,sha256=9jdX89ixla8NU828FWrOwyOirqJqZP3XkQT9V9OgWpw,13279
112
+ webscout/Provider/TogetherAI.py,sha256=NIHt9b1QzozKZi-vc9Z5zhGoDqj7ZHYmEsq8KvkHND8,14488
112
113
  webscout/Provider/TwoAI.py,sha256=T7EVecu9QnuESmDYTyxikOIJiMsfpPKtx4hp4CZ7tps,19951
113
114
  webscout/Provider/TypliAI.py,sha256=lfOyX2mGZBsmqqB4GafAzAhiV0U0C9RJf9I--hTw9Ik,11919
114
- webscout/Provider/Venice.py,sha256=Ggo2lAp4soViM6Z_LU9d9_cbadcpfrzOZ-3KreTEFxA,11044
115
- webscout/Provider/VercelAI.py,sha256=4gNSfkI28mdeg6G0YUry6N3SNEfuobEpDqPMbelpl3Q,9571
116
- webscout/Provider/WiseCat.py,sha256=TgsGFi6nSTls1_9yuGY-iITB5y2LobHoi5zvWZ8yWlY,9217
117
- webscout/Provider/WrDoChat.py,sha256=Idjrg0IEmeRU6V2qm8SGuqkNowSh5iVsC9N3krPP-l4,13902
118
- webscout/Provider/Writecream.py,sha256=_uNU1EcGpv80Xo47fye40FbQVuIWAUd6m9OUYZ3Khcc,9332
119
- webscout/Provider/WritingMate.py,sha256=fOZ5Tu1A-PKFpl10ekheEy0h0qclSoO__KkBrci_aiI,12332
115
+ webscout/Provider/Venice.py,sha256=knVMQGZESmx1cfUfBKboXlBKFsGtQxShYJZ3Cf_8Saw,10216
116
+ webscout/Provider/VercelAI.py,sha256=MFmx-hMcu6-Xbx3-1ZRtyGSA0VF8I8wGqwQIX9i8AQ0,9978
117
+ webscout/Provider/WiseCat.py,sha256=6ReKCCDHzOV7icExqpHs564y-smrtwyuc4eH3VczwE4,9279
118
+ webscout/Provider/WrDoChat.py,sha256=wHq46_0kn1i4rDN4Y72Uctb-jXXpXT20Z43-MPtfFLs,14100
119
+ webscout/Provider/WritingMate.py,sha256=kvUD3E1nY9w0G79T4lqCKvyWrzX5MP3X9a3HCd8t72U,12203
120
120
  webscout/Provider/XenAI.py,sha256=GZL9J_1yGc3ft2Uo3eq7jS2cZy0ytIPgQ6eNyEN1MAM,13514
121
- webscout/Provider/__init__.py,sha256=l7yu0Cl8PKp250N9oojbEhlkpZCgfxQOd0jMfarFKhA,4050
121
+ webscout/Provider/__init__.py,sha256=yvR6zuVRtWu6B3R5WlFSKeDAuhy2ZW9Y3S8JVnW8A2w,4041
122
122
  webscout/Provider/ai4chat.py,sha256=4PvQxPAWlaDgSyo5Dg1W6BVIUDTHq0rFK0H7rcBiCOI,6845
123
123
  webscout/Provider/akashgpt.py,sha256=iJke-aCmTT_8RmrJbSAZayhtIimum1h680diJwBxdOI,13045
124
124
  webscout/Provider/asksteve.py,sha256=qDRe4X6EmgOkhzRz8AAMYUSQFuO5k_84jwgPWKFkjGY,8985
@@ -130,106 +130,111 @@ webscout/Provider/deepseek_assistant.py,sha256=KdQ_Ldg_7jUpSIWmxgz6tXS-uOmE5rPKm
130
130
  webscout/Provider/elmo.py,sha256=PiiRLwkyHsPmAY8uydd_TuWe2qVXbs_wfW5u4Ytbqp8,12875
131
131
  webscout/Provider/freeaichat.py,sha256=yKTGYYrv_v3xoOcsXc83F0qTBv5rjFKPuZQLX-vRhIQ,9963
132
132
  webscout/Provider/geminiapi.py,sha256=-_QbDBF_IiYyOJ0_uAIcE-gfzIs8H86nA5VWX52SRoY,8505
133
- webscout/Provider/granite.py,sha256=7a9cCqS0JmJ0klUVoiIFz7qmsbcPIfvlBXY2Ag_z7tg,12181
133
+ webscout/Provider/granite.py,sha256=orHpbcM0_7YWTjp90w1DhNlqkJUyTkx2dH_KPi7VknM,11251
134
134
  webscout/Provider/hermes.py,sha256=Dw3zQQ1r850_qhNSMGwQBO6EfpTsN91yV9QZaDVHCi0,10720
135
135
  webscout/Provider/julius.py,sha256=ra20kGPafLDgV8gd2Z-Yce5eKlgSjFl4CpyHtEmHIlg,8583
136
- webscout/Provider/koala.py,sha256=pOxU-bptIZYi4JDiBoqxbMeVLpFRIROVbL8HHv5wgNE,6611
137
- webscout/Provider/learnfastai.py,sha256=wTjlUAIBcwuku1BivWTg3-A8gr9Tede31vtXXeGjaws,13740
136
+ webscout/Provider/koala.py,sha256=JU-_PG0nzPdsuB2naaHTxe2ObZPDD5TtUwTzYx9AEoE,7100
137
+ webscout/Provider/learnfastai.py,sha256=Ch8PGpDlAh5tnwLeugD2_pOUwVuQZyVNtCtn7u9ffFs,12368
138
138
  webscout/Provider/llama3mitril.py,sha256=FU98n5qsYnmd0y1jPz48FqTktC50zQunpSaMwDQnh_A,9210
139
- webscout/Provider/llmchat.py,sha256=XglP8x0V0XYVmJPF0RQAVdoiW8HbXKeDzh2qigLKJGw,10764
140
- webscout/Provider/llmchatco.py,sha256=xW6ZtlYUVbiUsYIFixFDup2lIZgzhzjZM2bl2C-N6Ns,12638
139
+ webscout/Provider/llmchat.py,sha256=uCkrTjS41_PwlvT2SdlcXaQa3zS9Y6DV_nlBq9j3dco,9737
140
+ webscout/Provider/llmchatco.py,sha256=Fiqljgb2QN4lDLPAZefRX4_A0-Lmxzcyd1v6ydrepKE,11530
141
141
  webscout/Provider/lmarena.py,sha256=wPwj0xv1x1cPx10DgYTsJatl5MIqjc61Q0GypfGigOA,9640
142
142
  webscout/Provider/meta.py,sha256=uQw0yS80eXoPqVfmWvwE_pvjTVYDDiTu4xrmfKmrqI0,30741
143
- webscout/Provider/multichat.py,sha256=3ZxV7C7KG4T6sKttHf0jO83eGjgaPlRszVZnZBR2JI8,15043
144
- webscout/Provider/oivscode.py,sha256=LkHqRzsQ4XbYLo64oUVztTuUGffqiBWw8bdB8Q8aEXU,12720
143
+ webscout/Provider/multichat.py,sha256=DOt1E4e9X01UxqbDcNy2RPjvgVP3_4ZJb-EWyAn-sgg,15277
144
+ webscout/Provider/oivscode.py,sha256=3QR2_8nq1ceVTz_TZHCYTuAeK00orOWkpieSK6cgo3o,12713
145
145
  webscout/Provider/samurai.py,sha256=xwl5CXgV5E_93ATMDXh6QtUKuLK7h0kuGN7JWAJLOCc,8446
146
- webscout/Provider/scira_chat.py,sha256=04-aUFYP2H29cv25W4fHA0JcsJQJbmZu6Aj_I-L8fAo,12520
147
- webscout/Provider/scnet.py,sha256=L-9rJNyl5JLrVBvM8u0rOsR0mqn8x-grr10CjHC_Emk,11427
148
- webscout/Provider/searchchat.py,sha256=AMKFIMhAfnmIYCHtKmePf_rUvcbboDoi65H4WOCdInw,12464
149
- webscout/Provider/sonus.py,sha256=OaXzLYC7RndmVV4rDbBThhOhmOpAq3EYDG11NdYEgV8,11300
146
+ webscout/Provider/scira_chat.py,sha256=i6DuGFEhOGUCvMLj9ErI7Taq4DxkKvZYm-HQtSxIYBU,15102
147
+ webscout/Provider/scnet.py,sha256=FgdOFixINiP9ONoMOUmAgMq_i8wiVfb_oW20R4CTe7M,11418
148
+ webscout/Provider/searchchat.py,sha256=2mrI-qcc_XwypuTDywGnU8l94SKRImZMwmtT05aNEKw,12426
149
+ webscout/Provider/sonus.py,sha256=yDe_00pIFBlMngj7vHO3hNjbKowOTR6i-ZGsvJpz3UQ,11342
150
150
  webscout/Provider/talkai.py,sha256=18EB9FPx2rOWdnuqMtBZc_QbLWKNFj06n1Xdtm6npwg,7613
151
- webscout/Provider/toolbaz.py,sha256=uPKwvQWlXzYqFHXAfffW2HNPpSNfomOhOphKaUcsMFg,14471
152
- webscout/Provider/turboseek.py,sha256=wVWiTRvvlLHXynEISAAO4gxY-BDIyiR1fs2mhNnFc0U,11666
153
- webscout/Provider/typefully.py,sha256=0gNov3A6G_kaxPslj9vrn-iI2788keyVSnoZMhefy5A,8228
154
- webscout/Provider/typegpt.py,sha256=DKfivGksbn9hj9ma_zkSAl0K7Drq-7spbh7vL_vTBIU,12378
155
- webscout/Provider/uncovr.py,sha256=Flj8ntsUVx0c2568YbcxB2GldO6_WxR5ZwGbm8_sCPY,16304
156
- webscout/Provider/x0gpt.py,sha256=MFfgGUi50zInrmJ6V9YruexF8n19Zjf-ityZxAqLd9g,11770
157
- webscout/Provider/yep.py,sha256=D48R4JaPtGzYmqLC4tq9O0_Jeab2B-UrCphCQxwEdYM,18317
151
+ webscout/Provider/toolbaz.py,sha256=x3VyljJCZ0G3byohS18xBe37SJNtGftOQlcuX7OuIx8,15038
152
+ webscout/Provider/turboseek.py,sha256=hWVWlQiNYHCejWcc28RtsbYQa5Zm_4FOCh9thHESCuQ,11244
153
+ webscout/Provider/typefully.py,sha256=sxzh7zYvuKGHM4y9nN3nzz_IBFUJ37W_V_TjJarVy2Q,8797
154
+ webscout/Provider/typegpt.py,sha256=jeuxZlY8K6JXTum16l5rT10IzZCyTVF2jW9UekIWA24,12391
155
+ webscout/Provider/uncovr.py,sha256=Fjq1YTbNCDVetbkNMpphzVJOKC4DZpWs9d-Bo-jqvyA,14534
156
+ webscout/Provider/x0gpt.py,sha256=-6E1N3wI9cB_AqWmeHwOGqyJRbrdVggWf41c5jDDznw,12458
157
+ webscout/Provider/yep.py,sha256=WA6Z14ikRHy53XoAy9AThwryrHE1B6UDaBuvAjMU5DY,17041
158
158
  webscout/Provider/AISEARCH/DeepFind.py,sha256=nYS9wCAj5ODkIjGaNKPRfYkJ1kQai7kL32QCnh_oOuQ,10117
159
159
  webscout/Provider/AISEARCH/Perplexity.py,sha256=AcKqelQfjR5TULqCSA7s6U5-T3zv4HXvV13pFrdj4Dk,15138
160
160
  webscout/Provider/AISEARCH/README.md,sha256=3WlTa-icOdDyyJpHsgmL0mfJ2BV_ViIC-hlMlRwbZYI,9693
161
- webscout/Provider/AISEARCH/__init__.py,sha256=wifrJ_94dA8eoD4fZplo4fPU2CvaJdjvmCPgPTTN_ls,261
161
+ webscout/Provider/AISEARCH/__init__.py,sha256=SvvTHqJZs9eF6w6G9NZKEk8MBSbu8imjhgHetUguHHg,292
162
162
  webscout/Provider/AISEARCH/felo_search.py,sha256=UPr6pOAoVIsEfqf_w9c10qv7HWtqHeXia0WMJEb8VMY,8408
163
163
  webscout/Provider/AISEARCH/genspark_search.py,sha256=dsTaopBuuiK09uo_Dw5yQQTkB3jL4UHdy60nPZmryoA,16670
164
164
  webscout/Provider/AISEARCH/hika_search.py,sha256=puGSf65CCVCj9w-C1lh2wPgNFlWr9TCNVjxO4WSj3O4,6757
165
165
  webscout/Provider/AISEARCH/iask_search.py,sha256=48f5z7hV_y_hAYH4J3Ywsj-sPG_7UHjsSbs90AUDKZA,17629
166
166
  webscout/Provider/AISEARCH/monica_search.py,sha256=5-6XHPCXw7eNyJt5WHosqegCAN39aGZauz4AEmuCdP0,8614
167
167
  webscout/Provider/AISEARCH/scira_search.py,sha256=OoozAGcyB4--XkohCltgdgBK1aNw4lEVTWQJI3D_0Z4,11371
168
+ webscout/Provider/AISEARCH/stellar_search.py,sha256=N5GByrBLrXlFREJFDaARyCH6laao4XX38vrvIa1U4Jg,6588
168
169
  webscout/Provider/AISEARCH/webpilotai_search.py,sha256=eBjfuXB_HNkTL5Z_--JyrwH8e4cJ52hcwrB-rV0_KQU,11511
169
- webscout/Provider/OPENAI/BLACKBOXAI.py,sha256=NKH_iztuizDvT4aLugSgApZJdMLs26RFf5LiSafpkD8,48010
170
+ webscout/Provider/OPENAI/BLACKBOXAI.py,sha256=36PMvkkArXeMf_oxI_bqly5cTSPwZ92BFRipsk1AiU8,48008
170
171
  webscout/Provider/OPENAI/Cloudflare.py,sha256=jGvB6iInA2U1hjZ5TVy_Pt3U47u0zEgyZireNYQVHIY,14765
171
172
  webscout/Provider/OPENAI/FalconH1.py,sha256=ISWDHCuR7hKZbmWesxG83n5ihq1v3a8HTWs_0gktse0,22454
172
173
  webscout/Provider/OPENAI/FreeGemini.py,sha256=8QNiVs4s9eh0g-lKSL4Y3J35C3P47GIe5MhuEmsI6Vw,11227
173
174
  webscout/Provider/OPENAI/GeminiProxy.py,sha256=9_6VHFylM3-ct0m5XDvxfZ1tmd70RnyZl5HT-qv1g4E,11266
175
+ webscout/Provider/OPENAI/MiniMax.py,sha256=hWrKiiXm5geUqTHDwKcOfhanb2eoejeOTjdCDZnKyic,14426
174
176
  webscout/Provider/OPENAI/NEMOTRON.py,sha256=ZwBgNe3b466zkJ7JYtzLvobQte-Gppk1_YOBGGk6Mc8,9731
175
177
  webscout/Provider/OPENAI/PI.py,sha256=MHkX7wsXJIdItwOfMMGEo8OzlZXIaolopBda7b_SpfQ,15185
176
178
  webscout/Provider/OPENAI/Qwen3.py,sha256=91wKmXhM8gXyP6pat7fspr1XW0clN91Spx_Cq8WBL7o,16073
177
- webscout/Provider/OPENAI/README.md,sha256=Euuu_O5OMn52i6CPLWJLht_11LoFH2V7ygHun40e72o,25109
179
+ webscout/Provider/OPENAI/README.md,sha256=eqiEm3vL4kMOk1hi0ba5V1rIqW0SveXW1co_Uqthpxo,25083
178
180
  webscout/Provider/OPENAI/README_AUTOPROXY.md,sha256=EqZ8MJOg8LPdH5wzNHvvu40bUNYwqtozXaT7BL-NbEo,6244
179
- webscout/Provider/OPENAI/TogetherAI.py,sha256=i4XhBnYiS9t05qjUJMks8auMfnXAXmk1DrCVMsVaubM,14507
181
+ webscout/Provider/OPENAI/TogetherAI.py,sha256=tvOKKaIy6PRtQq4Z_B7hrNzbcvNfdUgKsqB0cUr0ixc,13800
180
182
  webscout/Provider/OPENAI/TwoAI.py,sha256=seRAKgp10vg5ilacJ6f5kfXytVshM1Bx4b1VJvVNk34,14590
181
- webscout/Provider/OPENAI/__init__.py,sha256=wTeN_8MbB1upR0C4P6laA4asqOEM5OyofPT0ukDB-do,1590
183
+ webscout/Provider/OPENAI/__init__.py,sha256=JOqDyCP1j0Fvd6rGkR8m0pPzX78HnN_x6olft166s90,1688
182
184
  webscout/Provider/OPENAI/ai4chat.py,sha256=I0o7ZnGzG_2-PZfDDEbTMPh5OCx-4LfqfNcUFFdZAGY,11273
183
- webscout/Provider/OPENAI/autoproxy.py,sha256=cuV_BkfN7lSRrNBceNaHi0zD_-ptdmrSY129kTPo_To,9910
184
- webscout/Provider/OPENAI/base.py,sha256=RFWLMYVCpg1XtHvVAFrm2by0ZQAf7CMNXZ0vDlmNmE4,13820
185
+ webscout/Provider/OPENAI/autoproxy.py,sha256=UYWkCKj9dRXZvsn4Zqeux2-OdrQIw9R7kQeCExYgElU,41314
186
+ webscout/Provider/OPENAI/base.py,sha256=pjyz1e4Y1A9nttOZRMsihqhcP6ujGctzr7BNTXEtNd8,10507
185
187
  webscout/Provider/OPENAI/c4ai.py,sha256=f0rzU1a5B3NJDNfOjvFoyTlDdmwuwL_3NfFr2uKqkxY,15636
186
188
  webscout/Provider/OPENAI/chatgpt.py,sha256=z2R7GmsI-xVSrzVjnwmSXqm-SBuZAt9UE0DNvYXlPlc,20787
187
189
  webscout/Provider/OPENAI/chatgptclone.py,sha256=XHrp4lw9AD3wr9MW2Aar9H-6Aw8l-TgmCLXM9OiH8fE,20423
188
190
  webscout/Provider/OPENAI/chatsandbox.py,sha256=nmFQdZaj6puw28Hux57f-E8UYqNQnaMnQBOdhnd-ZQY,6999
189
191
  webscout/Provider/OPENAI/copilot.py,sha256=6I6BsRTRfYehZxraTf5r0flWUl3-QBwLMVFuc6XWe-Y,9395
190
- webscout/Provider/OPENAI/deepinfra.py,sha256=_P0ugEOVF1FffMXsa_SIQesXciqpOe3MMziK9jF3cM4,14684
192
+ webscout/Provider/OPENAI/deepinfra.py,sha256=mcyKcpbtVheuiDmrfXKcQENc3kP-qFhSY-MMUsRuvF4,11605
191
193
  webscout/Provider/OPENAI/e2b.py,sha256=sgLJ5FF-thlY8SYW0pqzFfQltiQfH6QwZqELydtUPFo,71438
192
194
  webscout/Provider/OPENAI/exaai.py,sha256=D7i2zpxQhjo_LRnO0nzAU651aOWgXM_9_AQjcRX2IY0,15066
193
195
  webscout/Provider/OPENAI/exachat.py,sha256=z95aqrunxVNlF_y_REGz_hhxirQP18DrBrGYlabiMlA,15632
194
- webscout/Provider/OPENAI/flowith.py,sha256=x9pZBfD_RLI1WhSmM8DitkGgcWSbbXzaC18nQUwBh9M,6481
196
+ webscout/Provider/OPENAI/flowith.py,sha256=ieMIuIlEQeaPQX599GSY4us3nmalik02oSLIAoJKmJA,6580
195
197
  webscout/Provider/OPENAI/freeaichat.py,sha256=4lReAFaRRWobeH_A8WNcqlaOqA-uc0kWqAa10gocasY,12229
198
+ webscout/Provider/OPENAI/friendli.py,sha256=vIOlpc-HBVSi-kfb956wEpBzabtU6HY-Tm5yf-THfvI,10446
196
199
  webscout/Provider/OPENAI/glider.py,sha256=DpVOvgZZQXCuaHJPKGqrvis4EkVlXxX5s207nDz7evE,13758
197
200
  webscout/Provider/OPENAI/groq.py,sha256=if3RBZmFwqSKtYPwlVzK_YGGGlFv4dRxw2obGs8MvRE,14564
198
201
  webscout/Provider/OPENAI/heckai.py,sha256=br0Zj_rvOCL1w_N3SVltiVlQQQhlCwAb-WOhaFaEwh4,11709
199
202
  webscout/Provider/OPENAI/llmchatco.py,sha256=CUcFgZuuV4njk9HEocnCGnLg7zcTB1k1awRJSHX5NFA,15371
200
203
  webscout/Provider/OPENAI/mcpcore.py,sha256=UsIAKXiO9F3p6m5yptjslAo60NJa5AmtcaQOqzDD3EU,18939
204
+ webscout/Provider/OPENAI/monochat.py,sha256=ugoYn6Wwl_xbDEj8k0n_r0cYQXS18gh5pxUBL2b176E,11509
201
205
  webscout/Provider/OPENAI/multichat.py,sha256=r65SxO4GxolYCs5Phoys_1xZtIEqolyW-I539Zj_mXM,13989
202
206
  webscout/Provider/OPENAI/netwrck.py,sha256=vWeh8T3VdC4EdD6Rd-9PrdPOFQnl4RRqlBuXlSenvfE,13287
203
207
  webscout/Provider/OPENAI/oivscode.py,sha256=Gjw2SETSIkIGREk5BfdEkkQL_RjnI8jFcwxLmUvlzOE,11875
204
208
  webscout/Provider/OPENAI/opkfc.py,sha256=2YdpcNxMn2p3w9Z7mQ7g0dFJ17zzAgvnIM4UwCgynpM,21877
205
- webscout/Provider/OPENAI/pydantic_imports.py,sha256=Sg4zmm4xHWGZSsVwtUG9eS24JQLRECNjZLmrwce8ADc,3362
209
+ webscout/Provider/OPENAI/pydantic_imports.py,sha256=argzn_wiEY1Ymf2eU5W41V93aZOU0EPEbCtpL0X-TEQ,24
206
210
  webscout/Provider/OPENAI/scirachat.py,sha256=T9C04sjdqV3wgjcqufuhxXoIicMG2bOu00FJ88Uvvt0,19173
207
211
  webscout/Provider/OPENAI/sonus.py,sha256=nRUJkK0T08Ao1WLF5ySmCpfH4x9C8wUXjezW4mygqJo,11159
208
212
  webscout/Provider/OPENAI/standardinput.py,sha256=xBHWMRZcPwDJZaQvszaZmKwFzV3wCpwnoynSvsIqhTQ,19547
209
213
  webscout/Provider/OPENAI/textpollinations.py,sha256=6KHxk41zvqPqhDNPSASHO-_QzpKPCM6KL4tpchgW3yw,13134
210
- webscout/Provider/OPENAI/toolbaz.py,sha256=jshJ8CY8K2pT3Lzl1dsoprjmiGlp5VxGU3hnHr4RSDk,14248
214
+ webscout/Provider/OPENAI/toolbaz.py,sha256=nFbfZ9f-V8LvK3C-A_jKAqi1SVs70Bn9PE5f484V8JA,14266
211
215
  webscout/Provider/OPENAI/typefully.py,sha256=yuOf1Idb6LCkK_YT4c9ABnjTuwRzSzffX-OAumSqrJQ,13004
212
- webscout/Provider/OPENAI/typegpt.py,sha256=AmujoLfxQnBt-2C_aWOnF6ra-xn5WKCASKTRuVjTv8k,14147
216
+ webscout/Provider/OPENAI/typegpt.py,sha256=AQwXHMGF8NNoVR1MpOfZN-y1xXndaoJCRFfAxJdg2Mg,14136
213
217
  webscout/Provider/OPENAI/uncovrAI.py,sha256=3a6h1ixmLZGglRuPVV1rhoDRgNkxTCVTuklegJ-6JY4,18333
214
- webscout/Provider/OPENAI/utils.py,sha256=CsYjGuw05dgwH0kBs0-NXRsOrcW7Xa0hyrOzxlLo4QA,10492
218
+ webscout/Provider/OPENAI/utils.py,sha256=UB9MBoPEXl7zinIeZ3sQU1K5PTZjtzV-CBj9KiS3CYk,9374
215
219
  webscout/Provider/OPENAI/venice.py,sha256=OLexvhEDEBe0r9mHiclwzDovU8OStQqouUUyeJrEcr0,16141
216
220
  webscout/Provider/OPENAI/wisecat.py,sha256=fvD_Lz1wIpHiWTG2zdA5lr53vR3biHtMJ-1WZbkNnJQ,14071
217
221
  webscout/Provider/OPENAI/writecream.py,sha256=kiOJ-9iT5RNR1LDyZ_XoQCeVXZuPPnO_CdvEuZdk1s4,6529
218
- webscout/Provider/OPENAI/x0gpt.py,sha256=hPxmALMfGfOfkVBvMLYtImmlWXpHOW2adSbmvfKppx8,13043
222
+ webscout/Provider/OPENAI/x0gpt.py,sha256=iqcTzDTiiMD-YOskZu_ZpXn55mKooQ4NFacK4049aMQ,13400
219
223
  webscout/Provider/OPENAI/xenai.py,sha256=wPXB9uam_igQ9iOjXBARmYBzD4hzRKy4vxGh8BosPEc,22531
220
224
  webscout/Provider/OPENAI/yep.py,sha256=ksuKhFSbVw6_50pdg5Uf2qKjV-ND1WRkonLZuG2oBrk,16261
221
225
  webscout/Provider/STT/__init__.py,sha256=BWYNyzX5tgt68dL_WO6fQIZ8H6NpRJz-JQcEPXCy7Uc,98
222
226
  webscout/Provider/STT/base.py,sha256=Xue1mo6Lj00rRxU1lRsv_zQ7_igU7hLON7lHkw_Li28,8404
223
227
  webscout/Provider/STT/elevenlabs.py,sha256=lZs3HwGrnJ3jY81WeV1H7yJTVulitTE1lI2Lhkx42HA,9168
224
- webscout/Provider/TTI/README.md,sha256=v76lwYPMMKKsFyE6IAWISlQ06ergXFIUZrKeKk-RXa0,3040
225
- webscout/Provider/TTI/__init__.py,sha256=4dwSFRz0LbmD1s6GZZkJAXkdDohIwQXVySWvSIhxT9M,251
226
- webscout/Provider/TTI/aiarta.py,sha256=0EA7HDOOl_IB-hLY8ythuxmJF0DSEEUSghoMfHV53hs,15962
228
+ webscout/Provider/TTI/README.md,sha256=10mWDIrA39EhWGRnTWrVhhS3CwKT97yOkSc0dMLUQxM,2983
229
+ webscout/Provider/TTI/__init__.py,sha256=4M_7yW3ekcT2GWEoKQCXv1bIutw8UYtU5ICcQ2B9k5s,273
230
+ webscout/Provider/TTI/aiarta.py,sha256=s7_ovvGJXTpH7TMMqBaQi00JKhUM5lcsG3PDdLp90Ps,15369
227
231
  webscout/Provider/TTI/base.py,sha256=DCf8UfTM64D93DToY9Dc8KA-VgNIDFWVM-_nHp-wN5Q,5224
228
232
  webscout/Provider/TTI/bing.py,sha256=OvB76EYAjNU3hsDZ76YqI-LpinCzFO4mWk3GXMIjG1A,10551
229
- webscout/Provider/TTI/fastflux.py,sha256=-Qqg-BTCb9JBI86abttQ55UtWbIud-lPi6Z6U7aHlN0,9674
230
233
  webscout/Provider/TTI/gpt1image.py,sha256=4xE5MFfjuKMc3lO3QCsEYvgidyoDhmvF7J1_sBqzmoU,4980
231
234
  webscout/Provider/TTI/imagen.py,sha256=1qoyUeoqrzbQ660P5TFIJQVuZnwZQL65tCNEIXjD7CY,6684
235
+ webscout/Provider/TTI/infip.py,sha256=QQYBsof2pC0lqC1oAy6lex2LoRlDVg6Uu6qao0bZnsE,7294
232
236
  webscout/Provider/TTI/magicstudio.py,sha256=9V2xK7k-7f-ohZgxJNXYZkVDTY5hSCjWQTcRK7KI86g,9286
237
+ webscout/Provider/TTI/monochat.py,sha256=1brykP1FyOEJOxbVM-Dpi4VKvo25eSlNYIssRQ-RES8,8632
233
238
  webscout/Provider/TTI/piclumen.py,sha256=JM7aLa1Mdv4xuB0d1XLqS0t9yMR9C8Rgtv7979wtETc,7978
234
239
  webscout/Provider/TTI/pixelmuse.py,sha256=k2NypIvZ1Xfe9ubL0Hkg5zkY-VLLvk4uZtPHmUFlmQg,8625
235
240
  webscout/Provider/TTI/pollinations.py,sha256=tu1FAvAetET9KnwiXVlhsIEjfJZPghgSDdl7oFqLBso,8688
@@ -256,7 +261,7 @@ webscout/Provider/UNFINISHED/fetch_together_models.py,sha256=IkGppAIbwIfvJRwzpyi
256
261
  webscout/Provider/UNFINISHED/liner_api_request.py,sha256=yTVXbqZMTyo5oOPX_FO95fO56TT5hkbt8r4PK7ahFqw,10558
257
262
  webscout/Provider/UNFINISHED/puterjs.py,sha256=Hhtz9PS8wSuG2BDUbPp2qLS5AQSAZzQ2viqC_-F-9yM,28225
258
263
  webscout/Provider/UNFINISHED/test_lmarena.py,sha256=-BfHfe14HbozIkYUNl2RqI5Ih2VdSXv6DInBlUfvMZk,3853
259
- webscout/auth/__init__.py,sha256=vkti-hxpT_1iLcXAELbnLezy7TT3YI60QRt-fJjHyNs,1089
264
+ webscout/auth/__init__.py,sha256=5DRoEayUBirss358dwignHLSqzRCt_svovbi2uBu9Gc,1438
260
265
  webscout/auth/api_key_manager.py,sha256=a3F4d2r7h3GqV-wxNj2vNLkU9o0-ld-XU9udt_CQL0g,6954
261
266
  webscout/auth/auth_system.py,sha256=LPMtrqpi7EQhqdbWQ5RKu4nIhsT4CShvIEaF9Zo-khc,3171
262
267
  webscout/auth/config.py,sha256=PLg6RS59DKdP0BMU71LbnikBuR9eZBouvzUsRQH3Ff4,2911
@@ -264,33 +269,16 @@ webscout/auth/database.py,sha256=OPZTkXtC75cwZkflHc2gheOANqDXrbUdKjfvNHNpWuQ,154
264
269
  webscout/auth/exceptions.py,sha256=FGqNLQmjv2i3Jk_P3csJzT4qkmVdBMdH7vFkM37Xa3Y,2048
265
270
  webscout/auth/middleware.py,sha256=zSQBIt0LacbeyNjwRIfnO-tdE7-p0w77UkPd7aUTri0,9863
266
271
  webscout/auth/models.py,sha256=zlHiAkOoXu5LdpOwVxsYmHXrxIu5DQb0Xli86800vaE,5018
267
- webscout/auth/providers.py,sha256=1GMnqzSJ3J2EchMXdCvxVjxULlUCcxARcdjxKSpgi3I,10636
272
+ webscout/auth/providers.py,sha256=gE0zKl8gwCD2P0e16y6YnbhmBM1qut0wKwAk5jmt8LI,11646
268
273
  webscout/auth/rate_limiter.py,sha256=8l1CpUY5YkY8SPHvZxL2SejAkO93uNklwQeSbjRxU5A,9925
269
274
  webscout/auth/request_models.py,sha256=hgo0AZ5CknEWCmZ4KBMs8T0xjmtlecbk645yU622Ujs,5804
270
275
  webscout/auth/request_processing.py,sha256=1fs-sfiNAR04B5Rj4ui5EEjgPsBCXMqf73li6mQpDEU,10569
271
- webscout/auth/routes.py,sha256=XCfRlOrz9qWFalVw0Qwb8jZVvPRAAUZOII7_uENWgSQ,24732
276
+ webscout/auth/routes.py,sha256=MYZJ2FfMhhbOk1ISyRnQ9CJsB7XFLPnzQFS3J7odHjs,25083
272
277
  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
278
+ webscout/auth/server.py,sha256=1IxZKoMd2uBtEj1XyTmIGRNPgI_mil0z_JsTQFEcU4M,13653
279
+ webscout/litagent/Readme.md,sha256=WoKNgY1np4xmrfbl6mx1iDitAEyfWySVL97VnfN2QbE,7563
292
280
  webscout/litagent/__init__.py,sha256=2HydGSdDVBZ7SRNgGzXX-TJiuol1sxzNJBw7wVAFueo,882
293
- webscout/litagent/agent.py,sha256=KSNLzfhM0XOoE_CuzsOPGf8Gg1pXoNcEnGwSes0vM4k,20548
281
+ webscout/litagent/agent.py,sha256=aflDZYVN_wZQ3OWOUK3ah7bnlFAUBandPfVuxCJZI04,24626
294
282
  webscout/litagent/constants.py,sha256=3_3tWXhmyZ2dFIO8f0YWL4CRkoFoL18h0_jNttTN7mk,2175
295
283
  webscout/litprinter/__init__.py,sha256=dEsi76uca5Art7tOc3ps240PPrWEVOdTLgR2pim1u9I,2510
296
284
  webscout/scout/README.md,sha256=vMMB_XT1F63YfZHpjisgfsuHE3uyT92EAiACCkjRxpE,12487
@@ -330,9 +318,9 @@ webscout/zeroart/__init__.py,sha256=3reMOf41PFtYVhq2wjFpJbIIHWRcy63efeUpolWm1P0,
330
318
  webscout/zeroart/base.py,sha256=nkf3WAE3YxKIpOFJ4Xf01T7dyWlbi98F1mIYo6vDux8,2365
331
319
  webscout/zeroart/effects.py,sha256=DOMPCNk-IwhnUrXsYSx5oSWeYQ6KN7T_jZOYdEofyMg,3345
332
320
  webscout/zeroart/fonts.py,sha256=ZiyQqA0BFN2IH5Ldijqe93rTiROmqPgxpeDtUNmmeRw,38812
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,,
321
+ webscout-8.3.3.dist-info/licenses/LICENSE.md,sha256=hyfFlVn7pWcrvuvs-piB8k4J8DlXdOsYje9RyPxc6Ik,7543
322
+ webscout-8.3.3.dist-info/METADATA,sha256=HpTrBBmocXBaHVrH-OoWWaLTGMPUHIQA4OTs-Xd0uTQ,36472
323
+ webscout-8.3.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
324
+ webscout-8.3.3.dist-info/entry_points.txt,sha256=WooZuMBei-kQl5qByoRMkc2cHsaDL1Jd2_tSYsNiUGg,116
325
+ webscout-8.3.3.dist-info/top_level.txt,sha256=nYIw7OKBQDr_Z33IzZUKidRD3zQEo8jOJYkMVMeN334,9
326
+ webscout-8.3.3.dist-info/RECORD,,
@@ -1,233 +0,0 @@
1
- import requests
2
- import os
3
- import tempfile
4
- import time
5
- import base64
6
- from typing import Optional, List, Dict, Any
7
- from webscout.Provider.TTI.utils import (
8
- ImageData,
9
- ImageResponse
10
- )
11
- from webscout.Provider.TTI.base import TTICompatibleProvider, BaseImages
12
- from io import BytesIO
13
- from webscout.litagent import LitAgent
14
-
15
- try:
16
- from PIL import Image
17
- except ImportError:
18
- Image = None
19
-
20
-
21
- class Images(BaseImages):
22
- def __init__(self, client):
23
- self._client = client
24
-
25
- def create(
26
- self,
27
- model: str = "flux_1_schnell",
28
- prompt: str = None,
29
- n: int = 1,
30
- size: str = "1_1",
31
- response_format: str = "url",
32
- user: Optional[str] = None,
33
- style: str = "none",
34
- aspect_ratio: str = "1:1",
35
- timeout: int = 60,
36
- image_format: str = "png",
37
- is_public: bool = False,
38
- **kwargs,
39
- ) -> ImageResponse:
40
- if not prompt:
41
- raise ValueError("Prompt is required!")
42
- agent = LitAgent()
43
- images = []
44
- urls = []
45
- api_url = self._client.api_endpoint
46
- payload = {
47
- "prompt": prompt,
48
- "model": model,
49
- "size": size,
50
- "isPublic": is_public,
51
- }
52
- for _ in range(n):
53
- resp = self._client.session.post(
54
- api_url,
55
- json=payload,
56
- timeout=timeout,
57
- )
58
- resp.raise_for_status()
59
- result = resp.json()
60
- if result and "result" in result:
61
- image_data = result["result"]
62
- base64_data = image_data.split(",")[1]
63
- img_bytes = base64.b64decode(base64_data)
64
- # Convert to png or jpeg in memory if needed
65
- if Image is not None:
66
- with BytesIO(img_bytes) as input_io:
67
- with Image.open(input_io) as im:
68
- out_io = BytesIO()
69
- if image_format.lower() == "jpeg":
70
- im = im.convert("RGB")
71
- im.save(out_io, format="JPEG")
72
- else:
73
- im.save(out_io, format="PNG")
74
- img_bytes = out_io.getvalue()
75
- images.append(img_bytes)
76
- if response_format == "url":
77
-
78
- def upload_file_with_retry(img_bytes, image_format, max_retries=3):
79
- ext = "jpg" if image_format.lower() == "jpeg" else "png"
80
- for attempt in range(max_retries):
81
- tmp_path = None
82
- try:
83
- with tempfile.NamedTemporaryFile(
84
- suffix=f".{ext}", delete=False
85
- ) as tmp:
86
- tmp.write(img_bytes)
87
- tmp.flush()
88
- tmp_path = tmp.name
89
- with open(tmp_path, "rb") as f:
90
- files = {
91
- "fileToUpload": (
92
- f"image.{ext}",
93
- f,
94
- f"image/{ext}",
95
- )
96
- }
97
- data = {"reqtype": "fileupload", "json": "true"}
98
- headers = {"User-Agent": agent.random()}
99
- if attempt > 0:
100
- headers["Connection"] = "close"
101
- resp = requests.post(
102
- "https://catbox.moe/user/api.php",
103
- files=files,
104
- data=data,
105
- headers=headers,
106
- timeout=timeout,
107
- )
108
- if resp.status_code == 200 and resp.text.strip():
109
- text = resp.text.strip()
110
- if text.startswith("http"):
111
- return text
112
- try:
113
- result = resp.json()
114
- if "url" in result:
115
- return result["url"]
116
- except Exception:
117
- if "http" in text:
118
- return text
119
- except Exception:
120
- if attempt < max_retries - 1:
121
- time.sleep(1 * (attempt + 1))
122
- finally:
123
- if tmp_path and os.path.isfile(tmp_path):
124
- try:
125
- os.remove(tmp_path)
126
- except Exception:
127
- pass
128
- return None
129
-
130
- def upload_file_alternative(img_bytes, image_format):
131
- try:
132
- ext = "jpg" if image_format.lower() == "jpeg" else "png"
133
- with tempfile.NamedTemporaryFile(
134
- suffix=f".{ext}", delete=False
135
- ) as tmp:
136
- tmp.write(img_bytes)
137
- tmp.flush()
138
- tmp_path = tmp.name
139
- try:
140
- if not os.path.isfile(tmp_path):
141
- return None
142
- with open(tmp_path, "rb") as img_file:
143
- files = {"file": img_file}
144
- response = requests.post(
145
- "https://0x0.st", files=files
146
- )
147
- response.raise_for_status()
148
- image_url = response.text.strip()
149
- if not image_url.startswith("http"):
150
- return None
151
- return image_url
152
- except Exception:
153
- return None
154
- finally:
155
- try:
156
- os.remove(tmp_path)
157
- except Exception:
158
- pass
159
- except Exception:
160
- return None
161
-
162
- uploaded_url = upload_file_with_retry(img_bytes, image_format)
163
- if not uploaded_url:
164
- uploaded_url = upload_file_alternative(img_bytes, image_format)
165
- if uploaded_url:
166
- urls.append(uploaded_url)
167
- else:
168
- raise RuntimeError(
169
- "Failed to upload image to catbox.moe using all available methods"
170
- )
171
- else:
172
- raise RuntimeError("No image data received from FastFlux API")
173
- result_data = []
174
- if response_format == "url":
175
- for url in urls:
176
- result_data.append(ImageData(url=url))
177
- elif response_format == "b64_json":
178
- import base64
179
-
180
- for img in images:
181
- b64 = base64.b64encode(img).decode("utf-8")
182
- result_data.append(ImageData(b64_json=b64))
183
- else:
184
- raise ValueError("response_format must be 'url' or 'b64_json'")
185
- from time import time as _time
186
-
187
- return ImageResponse(created=int(_time()), data=result_data)
188
-
189
-
190
- class FastFluxAI(TTICompatibleProvider):
191
- AVAILABLE_MODELS = [
192
- "flux_1_schnell",
193
- ]
194
-
195
- def __init__(self, api_key: str = None):
196
- self.api_endpoint = "https://api.freeflux.ai/v1/images/generate"
197
- self.session = requests.Session()
198
- self.user_agent = LitAgent().random()
199
- self.api_key = api_key
200
- self.headers = {
201
- "accept": "application/json, text/plain, */*",
202
- "accept-language": "en-US,en;q=0.9",
203
- "content-type": "application/json",
204
- "origin": "https://freeflux.ai",
205
- "referer": "https://freeflux.ai/",
206
- "user-agent": self.user_agent,
207
- }
208
- if self.api_key:
209
- self.headers["authorization"] = f"Bearer {self.api_key}"
210
- self.session.headers.update(self.headers)
211
- self.images = Images(self)
212
-
213
- @property
214
- def models(self):
215
- class _ModelList:
216
- def list(inner_self):
217
- return type(self).AVAILABLE_MODELS
218
-
219
- return _ModelList()
220
-
221
-
222
- if __name__ == "__main__":
223
- from rich import print
224
-
225
- client = FastFluxAI()
226
- response = client.images.create(
227
- model="flux_1_schnell",
228
- prompt="A cool cyberpunk city at night",
229
- response_format="url",
230
- n=2,
231
- timeout=30,
232
- )
233
- print(response)