agentle 0.9.4__py3-none-any.whl → 0.9.28__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.
Files changed (85) hide show
  1. agentle/agents/agent.py +175 -10
  2. agentle/agents/agent_run_output.py +8 -1
  3. agentle/agents/apis/__init__.py +79 -6
  4. agentle/agents/apis/api.py +342 -73
  5. agentle/agents/apis/api_key_authentication.py +43 -0
  6. agentle/agents/apis/api_key_location.py +11 -0
  7. agentle/agents/apis/api_metrics.py +16 -0
  8. agentle/agents/apis/auth_type.py +17 -0
  9. agentle/agents/apis/authentication.py +32 -0
  10. agentle/agents/apis/authentication_base.py +42 -0
  11. agentle/agents/apis/authentication_config.py +117 -0
  12. agentle/agents/apis/basic_authentication.py +34 -0
  13. agentle/agents/apis/bearer_authentication.py +52 -0
  14. agentle/agents/apis/cache_strategy.py +12 -0
  15. agentle/agents/apis/circuit_breaker.py +69 -0
  16. agentle/agents/apis/circuit_breaker_error.py +7 -0
  17. agentle/agents/apis/circuit_breaker_state.py +11 -0
  18. agentle/agents/apis/endpoint.py +413 -254
  19. agentle/agents/apis/file_upload.py +23 -0
  20. agentle/agents/apis/hmac_authentication.py +56 -0
  21. agentle/agents/apis/no_authentication.py +27 -0
  22. agentle/agents/apis/oauth2_authentication.py +111 -0
  23. agentle/agents/apis/oauth2_grant_type.py +12 -0
  24. agentle/agents/apis/object_schema.py +86 -1
  25. agentle/agents/apis/params/__init__.py +10 -1
  26. agentle/agents/apis/params/boolean_param.py +44 -0
  27. agentle/agents/apis/params/number_param.py +56 -0
  28. agentle/agents/apis/rate_limit_error.py +7 -0
  29. agentle/agents/apis/rate_limiter.py +57 -0
  30. agentle/agents/apis/request_config.py +126 -4
  31. agentle/agents/apis/request_hook.py +16 -0
  32. agentle/agents/apis/response_cache.py +49 -0
  33. agentle/agents/apis/retry_strategy.py +12 -0
  34. agentle/agents/whatsapp/human_delay_calculator.py +462 -0
  35. agentle/agents/whatsapp/models/audio_message.py +6 -4
  36. agentle/agents/whatsapp/models/key.py +2 -2
  37. agentle/agents/whatsapp/models/whatsapp_bot_config.py +375 -21
  38. agentle/agents/whatsapp/models/whatsapp_response_base.py +31 -0
  39. agentle/agents/whatsapp/models/whatsapp_webhook_payload.py +5 -1
  40. agentle/agents/whatsapp/providers/base/whatsapp_provider.py +51 -0
  41. agentle/agents/whatsapp/providers/evolution/evolution_api_provider.py +237 -10
  42. agentle/agents/whatsapp/providers/meta/meta_whatsapp_provider.py +126 -0
  43. agentle/agents/whatsapp/v2/batch_processor_manager.py +4 -0
  44. agentle/agents/whatsapp/v2/bot_config.py +188 -0
  45. agentle/agents/whatsapp/v2/message_limit.py +9 -0
  46. agentle/agents/whatsapp/v2/payload.py +0 -0
  47. agentle/agents/whatsapp/v2/whatsapp_bot.py +13 -0
  48. agentle/agents/whatsapp/v2/whatsapp_cloud_api_provider.py +0 -0
  49. agentle/agents/whatsapp/v2/whatsapp_provider.py +0 -0
  50. agentle/agents/whatsapp/whatsapp_bot.py +827 -45
  51. agentle/generations/providers/google/adapters/generate_generate_content_response_to_generation_adapter.py +13 -10
  52. agentle/generations/providers/google/google_generation_provider.py +35 -5
  53. agentle/generations/providers/openrouter/_adapters/openrouter_message_to_generated_assistant_message_adapter.py +35 -1
  54. agentle/mcp/servers/stdio_mcp_server.py +23 -4
  55. agentle/parsing/parsers/docx.py +8 -0
  56. agentle/parsing/parsers/file_parser.py +4 -0
  57. agentle/parsing/parsers/pdf.py +7 -1
  58. agentle/storage/__init__.py +11 -0
  59. agentle/storage/file_storage_manager.py +44 -0
  60. agentle/storage/local_file_storage_manager.py +122 -0
  61. agentle/storage/s3_file_storage_manager.py +124 -0
  62. agentle/tts/audio_format.py +6 -0
  63. agentle/tts/elevenlabs_tts_provider.py +108 -0
  64. agentle/tts/output_format_type.py +26 -0
  65. agentle/tts/speech_config.py +14 -0
  66. agentle/tts/speech_result.py +15 -0
  67. agentle/tts/tts_provider.py +16 -0
  68. agentle/tts/voice_settings.py +30 -0
  69. agentle/utils/parse_streaming_json.py +39 -13
  70. agentle/voice_cloning/__init__.py +0 -0
  71. agentle/voice_cloning/voice_cloner.py +0 -0
  72. agentle/web/extractor.py +282 -148
  73. {agentle-0.9.4.dist-info → agentle-0.9.28.dist-info}/METADATA +1 -1
  74. {agentle-0.9.4.dist-info → agentle-0.9.28.dist-info}/RECORD +78 -39
  75. agentle/tts/real_time/definitions/audio_data.py +0 -20
  76. agentle/tts/real_time/definitions/speech_config.py +0 -27
  77. agentle/tts/real_time/definitions/speech_result.py +0 -14
  78. agentle/tts/real_time/definitions/tts_stream_chunk.py +0 -15
  79. agentle/tts/real_time/definitions/voice_gender.py +0 -9
  80. agentle/tts/real_time/definitions/voice_info.py +0 -18
  81. agentle/tts/real_time/real_time_speech_to_text_provider.py +0 -66
  82. /agentle/{tts/real_time → agents/whatsapp/v2}/__init__.py +0 -0
  83. /agentle/{tts/real_time/definitions/__init__.py → agents/whatsapp/v2/in_memory_batch_processor_manager.py} +0 -0
  84. {agentle-0.9.4.dist-info → agentle-0.9.28.dist-info}/WHEEL +0 -0
  85. {agentle-0.9.4.dist-info → agentle-0.9.28.dist-info}/licenses/LICENSE +0 -0
@@ -1,13 +1,13 @@
1
1
  agentle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  agentle/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  agentle/agents/__init__.py,sha256=Y_Vh4954BlEehGOufH79lCvWlgDaVPN6TF9bo4OXioY,10
4
- agentle/agents/agent.py,sha256=jNMLHAQy8Ywv9ZXGzKkLP3uvcSyO3brDoYZxRipBCPw,205204
4
+ agentle/agents/agent.py,sha256=e5tiq87bBfGI8gp5FU8mIVlxEs81GUpg-JTkptA0EeU,213449
5
5
  agentle/agents/agent_config.py,sha256=tkssVo-cmldiQ6rDDkJ2xeK5NRIG3F-NgVhlXZGwCbM,4555
6
6
  agentle/agents/agent_config_dict.py,sha256=BzGyKdm0Hv86P0_r7xzK4HtzNVdwM0HtrtuDVCSGbI8,2813
7
7
  agentle/agents/agent_input.py,sha256=qckT3_pOGHclT8UViOjUeKCuGo0qigB_h6tYxOtwTXs,1447
8
8
  agentle/agents/agent_pipeline.py,sha256=YJAMoHUfcChiwYLwe_vTXaS2QCkgq3DAThsjb0WxA_A,17160
9
9
  agentle/agents/agent_protocol.py,sha256=7UTKSLwoM37zgWNWZxSPgEpBctPAxA4Zqiz4qiq6yCM,771
10
- agentle/agents/agent_run_output.py,sha256=O2WcdJW9rEBiQGvMAoTTpfiRtHQpOHWLkapWTEHeSE0,22419
10
+ agentle/agents/agent_run_output.py,sha256=UsFT48FsPlzWT8aQgNfajkt7IjXBbugI9EbRaXQ40tA,22669
11
11
  agentle/agents/agent_team.py,sha256=bUQzLMhOp2UXmj1XhevqB0ZBqqzkhrTAUNV3BwSv7hc,30193
12
12
  agentle/agents/context.py,sha256=ap8gSTqiBvYGrAegPOE5O2rz_dWPbiAgOJ5uahi1e0M,16391
13
13
  agentle/agents/context_state.py,sha256=4EMxfuRvmAkNbH1ImdoP7MDFQSm9NYORsaCSaAicus0,135
@@ -62,21 +62,46 @@ agentle/agents/a2a/tasks/task_status_update_event.py,sha256=vF9WFfQV5nNmQpSKPU91
62
62
  agentle/agents/a2a/tasks/managment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  agentle/agents/a2a/tasks/managment/in_memory.py,sha256=_G5VuXqEPBMtE6XJg1d7WmqFr1qzd0-99FoqM_qMwAE,23841
64
64
  agentle/agents/a2a/tasks/managment/task_manager.py,sha256=rBCuzu4DqIs55xDnwXY0w5Rs9ybv6OJpgpugAQLhtoU,3112
65
- agentle/agents/apis/__init__.py,sha256=gyNhlhFriKxTXezxEpgZN9lxrYJfbJyhXSIpI80v6XQ,533
66
- agentle/agents/apis/api.py,sha256=1nbLf34vDlYbdgd5yP-iaNdl-uk_KxIToAZfSem6a_Q,16938
65
+ agentle/agents/apis/__init__.py,sha256=PX7oAe0hRGvyLB295DrBF1VBsqgp5ZmGI4BCZvLUozo,2811
66
+ agentle/agents/apis/api.py,sha256=PyYcZJJR0f8c7VceQMLzUfnvj3belNbCJJNmVdXfdXo,26610
67
+ agentle/agents/apis/api_key_authentication.py,sha256=MtMA4qkCjM3ou42a1fDgKI4u3NQkB_Zr-gEA5_oysZ0,1311
68
+ agentle/agents/apis/api_key_location.py,sha256=0pj_8rTkd0pkUJ2eP_Kur3AvT3JD8JpFIxQsWDzeg_c,188
69
+ agentle/agents/apis/api_metrics.py,sha256=SyvJdvEMKp7rGij-tDZ6vxjwc26MIFrKrcckMc4Q1Zg,380
67
70
  agentle/agents/apis/array_schema.py,sha256=BepcBl3q6iMvlihnbBNV11zxyhIPk95C2MgUJ-c5wSM,757
68
- agentle/agents/apis/endpoint.py,sha256=Ge4lJxzKJnZcptw28f9eVM9D1LJ4x2hBcoJ_ZQFhfq4,15874
71
+ agentle/agents/apis/auth_type.py,sha256=7OjQbzNN2lwg44HzcPcFjQucvm5STDyw2_gIxgSGc4o,325
72
+ agentle/agents/apis/authentication.py,sha256=VMUkQ1quKTC4rm_D93VwKJEE8Pid83jDDJ9PjQy453c,1259
73
+ agentle/agents/apis/authentication_base.py,sha256=wuJ4h2wqXJfAZjd6gjqoN2kJWnjvuOA5dq3VXvzasKU,1016
74
+ agentle/agents/apis/authentication_config.py,sha256=c6oFj-nQmAtsSuQEtKmAIUYyKHtDy2MU0Al0HUg5kSs,4430
75
+ agentle/agents/apis/basic_authentication.py,sha256=QYpUm2-P9BaL5PyWeSjONRWY4JcXcM_HU1DyydlLhy8,986
76
+ agentle/agents/apis/bearer_authentication.py,sha256=ThZK8U24Fj61ZYK_OjvPrCE5KQwnoCTKoqNaM_Qk-j0,1542
77
+ agentle/agents/apis/cache_strategy.py,sha256=uoAvmUm1EE8426anuLR4PoygLgO4SPN1Qm_RiYFK1xM,193
78
+ agentle/agents/apis/circuit_breaker.py,sha256=9yopLPoZ6WMlPMWPoacayORoGN1CZq2EGWB0gCu3GOY,2371
79
+ agentle/agents/apis/circuit_breaker_error.py,sha256=I5XyCWwFCXTDzhvS7CpMZwBRxMyCk96g7MfBLBqAvhg,127
80
+ agentle/agents/apis/circuit_breaker_state.py,sha256=6IwcWWKNmE0cnpogcfsnhpy_EVIk7crQ7WiDN9YkkbE,277
81
+ agentle/agents/apis/endpoint.py,sha256=MEaWIGJHK7uq9QZONTf6aGum9ak5gCN8cLqWJ9ltdVE,22657
69
82
  agentle/agents/apis/endpoint_parameter.py,sha256=A_SVje6AyNeeJNDxWL__uGc4ZNZ2se6GvawS--kUYEU,20230
70
83
  agentle/agents/apis/endpoints_to_tools.py,sha256=5KzxRLjfUYx7MGKHe65NMPHyTKOcd8tdK0uYzfGnO5g,999
84
+ agentle/agents/apis/file_upload.py,sha256=PzJ1197EKLCdBHrLDztgifM3WWFQZ8K2CKkTeeYpJas,587
85
+ agentle/agents/apis/hmac_authentication.py,sha256=jk0FAH6CBDOmEZr4KVpr41-zAuFF1LQKbyYSe_74T8A,1561
71
86
  agentle/agents/apis/http_method.py,sha256=QhiUJvftOaVJXIMDzhdOnvrPxrwrjikOePm664HPTyE,236
72
- agentle/agents/apis/object_schema.py,sha256=zBLvg8oS7fE68fTglTsE6tTfaZBnzTFn9yODy4X21BE,1320
87
+ agentle/agents/apis/no_authentication.py,sha256=s8q5sE6VyUhBmtPAuH18fkc0Dhu-fA_a2jjfvPOF1aE,654
88
+ agentle/agents/apis/oauth2_authentication.py,sha256=ql-wUfD5sWPy5WqbrMO7k7d7l12z14qf8OGnHgQCOD8,3959
89
+ agentle/agents/apis/oauth2_grant_type.py,sha256=rx2LvkqMZ32-zzJrKyJZofdii9u4E2cIHeQXoX0MuRM,271
90
+ agentle/agents/apis/object_schema.py,sha256=OSV-tkpTyYZ0B7iDe0G3c0fqkhfEisemPwcrqMvMi0Y,4595
73
91
  agentle/agents/apis/object_serialization_style.py,sha256=sHt23Spp6TH0KLDH7WuGL7hvLnz-B_NnTkJQboewt4o,482
74
92
  agentle/agents/apis/parameter_location.py,sha256=k4vSvrljwsxorV_sf2Ch_OP4zvIGvhHDXonxrg-32eg,283
75
93
  agentle/agents/apis/primitive_schema.py,sha256=fmDiMrXxtixORKIDvg8dx_h7w1AqPXpFOK8q_XxS_UQ,705
76
- agentle/agents/apis/request_config.py,sha256=Zpq76nJU49X8zRWUiULdo4HYaZte6likJGw4Fsw8B0A,575
77
- agentle/agents/apis/params/__init__.py,sha256=EZh__ZrPnLU2we_DFm0274BqkiXe9sL4ILulbFGOJTc,243
94
+ agentle/agents/apis/rate_limit_error.py,sha256=9ukRInSwf6PPEg5fPLm-eq4xfgYOExraOgGCRKzVbQk,116
95
+ agentle/agents/apis/rate_limiter.py,sha256=EZ-39YMDNeotygdvxP3B735cJexSk0-20zO0pxaGKiU,1842
96
+ agentle/agents/apis/request_config.py,sha256=vHKtoW9uxh2lTsuuZ38B2_EMcrLmOtUvVhL8VkOxjZY,4850
97
+ agentle/agents/apis/request_hook.py,sha256=C9p6obF0myGkHoIScWuJTMp2RZlg3eEsbn80mDlE_sw,369
98
+ agentle/agents/apis/response_cache.py,sha256=l-Ec_YVf1phhaTKWNdAORBDWZS3pXK_BBUHGP-oQkqQ,1617
99
+ agentle/agents/apis/retry_strategy.py,sha256=_W8ZXXmA0kPFLJ0uwwV9ZycmSnj4dsicisFrbN8FtAU,219
100
+ agentle/agents/apis/params/__init__.py,sha256=7aXlrfQTXpGT2GxuyugnFsF74l4AszSkFgxb0keyPRE,383
78
101
  agentle/agents/apis/params/array_param.py,sha256=dHcKGNdsYnze0AdMKGuxidM81Hwydb264JFdLhJEVeA,1036
102
+ agentle/agents/apis/params/boolean_param.py,sha256=tns69WfA-EEMNcMthclVaCG7HqUfJR3QN6-ghRC6cP4,1301
79
103
  agentle/agents/apis/params/integer_param.py,sha256=DEEOoOmLVzTFAQOJnLAr2MTcgLFYbavBDrf4CJ_-P_E,788
104
+ agentle/agents/apis/params/number_param.py,sha256=dZpN-9BJElTlqbjLq_kXAq14xcYnSSLQBE1tHjKco_o,1683
80
105
  agentle/agents/apis/params/object_param.py,sha256=_zR7t4aQoK7NSRH0yS3-iZqMeKzHCc2vtKqDRfdDp1M,1044
81
106
  agentle/agents/apis/params/string_param.py,sha256=0cLqPLsljw_7AHYXESib9mtJRRLOreH3-4ObJR8CFUk,710
82
107
  agentle/agents/asgi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -111,22 +136,23 @@ agentle/agents/templates/data_collection/progressive_profilling_agent.py,sha256=
111
136
  agentle/agents/ui/__init__.py,sha256=IjHRV0k2DNwvFrEHebmsXiBvmITE8nQUnsR07h9tVkU,7
112
137
  agentle/agents/ui/streamlit.py,sha256=9afICL0cxtG1o2pWh6vH39-NdKiVfADKiXo405F2aB0,42829
113
138
  agentle/agents/whatsapp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
- agentle/agents/whatsapp/whatsapp_bot.py,sha256=7In6QChma-GhY07DMsU9TzwH_BWDTzkXBBSC2UHcbK0,126236
139
+ agentle/agents/whatsapp/human_delay_calculator.py,sha256=BGCDeoNTPsMn4d_QYmG0BWGCG8SiUJC6Fk295ulAsAk,18268
140
+ agentle/agents/whatsapp/whatsapp_bot.py,sha256=7B1ZCQYMJ6qgRINFzSQVSshDr-4L1F5H3MHqJYI7w3g,161962
115
141
  agentle/agents/whatsapp/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
- agentle/agents/whatsapp/models/audio_message.py,sha256=Cb4uYi4O4ANam8NGZkKVjwsrl8nCeuaHVwV9RvqvE8M,2656
142
+ agentle/agents/whatsapp/models/audio_message.py,sha256=kUqG1HdNW6DCYD-CqscJ6WHlAyv9ufmTSKMdjio9XWk,2705
117
143
  agentle/agents/whatsapp/models/context_info.py,sha256=sk80KuNE36S6VRnLh7n6UXmzZCXIB4E4lNxnRyVizg8,563
118
144
  agentle/agents/whatsapp/models/data.py,sha256=iertlmc2zbzjuIdTubkO-4RuwB0ni1qx7UvvW7Dlhuo,1245
119
145
  agentle/agents/whatsapp/models/device_list_metadata.py,sha256=Nki7esmgi9Zq70L2t4yjJH77clvaljStchVGrXiDlbU,808
120
146
  agentle/agents/whatsapp/models/document_message.py,sha256=aZaJCp33GwP1fP5j2DVSWBSVQ4udoE0vj21mc3zjbWQ,2502
121
147
  agentle/agents/whatsapp/models/downloaded_media.py,sha256=TAZEX2oyXp4m4Dk8eRcgoaQCjDyUTN3E6BqkA4pIB9k,204
122
148
  agentle/agents/whatsapp/models/image_message.py,sha256=9inTFNzJq-VJbUaUNzeHfrI7l6Qx7gSM5ydNF0FuRLY,3859
123
- agentle/agents/whatsapp/models/key.py,sha256=s1oU79XSU29VBe0QV2h8Ek86xhqnZMG5te8gkghdmDY,418
149
+ agentle/agents/whatsapp/models/key.py,sha256=BXntl5i2qL110Bja3ZE2INQqC-tf_rone2YU6JVpqbI,434
124
150
  agentle/agents/whatsapp/models/message.py,sha256=HqCqra8vOn3fig53SxnxPgtph20tBEjODlXTLiSErps,1446
125
151
  agentle/agents/whatsapp/models/message_context_info.py,sha256=msCSuu8uMN3G9GDaXdP6mefmOxSjeY-7iL-gN6Q9-i8,741
126
152
  agentle/agents/whatsapp/models/quoted_message.py,sha256=QC4sp7eLPE9g9i-_f3avb0sDO7gKpkzZR2qkbxqptts,1073
127
153
  agentle/agents/whatsapp/models/video_message.py,sha256=-wujSwdYaE3tst7K_rUYCvx6v4lySTW1JZ5burF6slg,3422
128
154
  agentle/agents/whatsapp/models/whatsapp_audio_message.py,sha256=AAcnjzJC1O5VjyWZaSWpG_tmZFc2-CdcPn9abjyLrpc,378
129
- agentle/agents/whatsapp/models/whatsapp_bot_config.py,sha256=G8MVkSlYed3yGJxM0KlvzyJbRluY37H0WyPxL8RSVCs,20168
155
+ agentle/agents/whatsapp/models/whatsapp_bot_config.py,sha256=hkbOAdSZbSt634mZEARuPQSer7wf3biL7dL9TFW-a7o,37164
130
156
  agentle/agents/whatsapp/models/whatsapp_contact.py,sha256=6iO6xmFs7z9hd1N9kZzGyNHYvCaUoCHn3Yi1DAJN4YU,240
131
157
  agentle/agents/whatsapp/models/whatsapp_document_message.py,sha256=ECM_hXF-3IbC9itbtZI0eA_XRNXFVefw9Mr-Lo_lrH0,323
132
158
  agentle/agents/whatsapp/models/whatsapp_image_message.py,sha256=xOAPRRSgqj9gQ2ZZOGdFWfOgtmNpE1W8mIUAmB5YTpo,314
@@ -135,23 +161,33 @@ agentle/agents/whatsapp/models/whatsapp_media_message.py,sha256=-FY15vezGILzGMiU
135
161
  agentle/agents/whatsapp/models/whatsapp_message.py,sha256=QtGAJKOF1ykZycsNDld25gk-JUeg3uV7hNXx0ZXO0Rg,1217
136
162
  agentle/agents/whatsapp/models/whatsapp_message_status.py,sha256=jDWShdvSve5EhkgtDkh1jZmpRVNoXCokv4M6at1eSIU,214
137
163
  agentle/agents/whatsapp/models/whatsapp_message_type.py,sha256=GctIGOC1Bc_D_L0ehEmEwgxePFx0ioTEUoBlZEdxdG8,279
164
+ agentle/agents/whatsapp/models/whatsapp_response_base.py,sha256=IIDONx9Ipt593tAZvoc8dPDUISeNH-WOpRP1x_-Q6Gk,1145
138
165
  agentle/agents/whatsapp/models/whatsapp_session.py,sha256=9G1HC-A2G9jTdpwYy3w9bnYkOGK2vvA7kdYAf32oWMU,15640
139
166
  agentle/agents/whatsapp/models/whatsapp_text_message.py,sha256=GpSwFrPC4qpQlVCWKKgYjQJKNv0qvwgYfuoD3ttLzdQ,441
140
167
  agentle/agents/whatsapp/models/whatsapp_video_message.py,sha256=-d-4hnkkxyLVNoje3a1pOEAvzWqoCLFcBn70wUpnyXY,346
141
- agentle/agents/whatsapp/models/whatsapp_webhook_payload.py,sha256=YWBAsfn-iRZ_9gaCqkP_wTeNeIrSbnfL00XFPH0diDQ,3988
168
+ agentle/agents/whatsapp/models/whatsapp_webhook_payload.py,sha256=xL8p10ICuGjyplJ42K_YLqmMf0EoThI8YPJ8c7jrFyk,4122
142
169
  agentle/agents/whatsapp/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
170
  agentle/agents/whatsapp/providers/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
- agentle/agents/whatsapp/providers/base/whatsapp_provider.py,sha256=C8lWW45qKTRwujnSGmt8kkcyeNeLKLUsGD3rAFUEfMg,4017
171
+ agentle/agents/whatsapp/providers/base/whatsapp_provider.py,sha256=Iaywrv0xer4fhZprMttC-NP4-rRYdU_45UzIZQ7dkYA,5349
145
172
  agentle/agents/whatsapp/providers/evolution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
173
  agentle/agents/whatsapp/providers/evolution/evolution_api_config.py,sha256=mc3jVJ1olnFgt7jP6P_eygvUVhN3XYSAYp1ozIxtAsc,1288
147
- agentle/agents/whatsapp/providers/evolution/evolution_api_provider.py,sha256=u6iM58yaruTQL4FSrjbgBUR7U7uYorXAA20cQ2wqjCw,59648
174
+ agentle/agents/whatsapp/providers/evolution/evolution_api_provider.py,sha256=rE0OwJma7mnLiPXcK2oBFFmr69zQxTRfmHNrEvj4NoU,68539
148
175
  agentle/agents/whatsapp/providers/meta/__init__.py,sha256=ArZ2y9qUALahP2-c0j0ESFKmRjDHiZIurqxYC7MTWA8,1038
149
176
  agentle/agents/whatsapp/providers/meta/meta_whatsapp_config.py,sha256=ECzb76Sba0ExrO4NAB7v9HLlgAxsjyTg57mewdVt8EY,1257
150
- agentle/agents/whatsapp/providers/meta/meta_whatsapp_provider.py,sha256=76RENzoH7eMyd4u11D2QYTazWxH95tZ8hzjgU-o6BTs,31290
177
+ agentle/agents/whatsapp/providers/meta/meta_whatsapp_provider.py,sha256=95xvVrqp6f5Ku49fqOEHUhJUIJPGb1rRvCntoIY2JSM,35953
151
178
  agentle/agents/whatsapp/providers/twilio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
179
  agentle/agents/whatsapp/providers/twilio/twilio_api_config.py,sha256=Xd9Ui5w3eAMfB12zJb_uQfzMFN5Gbx1Dgz7OIlUk0Yo,1580
153
180
  agentle/agents/whatsapp/providers/twilio/twilio_api_provider.py,sha256=7QbHEuQGozNVTf8xpxOR5RkYeA3om60nUlYbB4zmn5Y,29250
154
181
  agentle/agents/whatsapp/providers/twilio/twilio_webhook_parser.py,sha256=j9KCOZlbv9horcaFeQJ9fM9bGOr1YWsGqBWGuIhkFqY,10274
182
+ agentle/agents/whatsapp/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
+ agentle/agents/whatsapp/v2/batch_processor_manager.py,sha256=2cwnFSstbfgIVdlHeMyf5qAr4fEQx_V7Jlt_4O5scWA,55
184
+ agentle/agents/whatsapp/v2/bot_config.py,sha256=eRuDZgrb5EvnRUh8qWSOcyoWZfjOZ2dTEAWZtdHCYVc,7705
185
+ agentle/agents/whatsapp/v2/in_memory_batch_processor_manager.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
+ agentle/agents/whatsapp/v2/message_limit.py,sha256=ea-ISLPNtm-jGsMLKF-gr0hQPDpB7HLqX7N5mh1WN28,199
187
+ agentle/agents/whatsapp/v2/payload.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
+ agentle/agents/whatsapp/v2/whatsapp_bot.py,sha256=B6wrsv7oJswATxsjvwgBLJxCpFjpgf9crzuhcLmmz8g,413
189
+ agentle/agents/whatsapp/v2/whatsapp_cloud_api_provider.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
+ agentle/agents/whatsapp/v2/whatsapp_provider.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
191
  agentle/autonomous_systems/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
192
  agentle/autonomous_systems/agent.py,sha256=tGrYTD4Rs4hgCF4mfHhjgMLPM0rNQZ5JACU_kA2cXe8,5078
157
193
  agentle/autonomous_systems/agent_input_type.py,sha256=mnzELBiKwgj0EYYM4U8GE50XRkys3m6ds_VR7aS-SGA,201
@@ -291,10 +327,10 @@ agentle/generations/providers/failover/__init__.py,sha256=VBv_ZZlBFwwBRD2PZUEKi2
291
327
  agentle/generations/providers/failover/failover_generation_provider.py,sha256=ixZk1zAP_Gu3HTf6nSo_ZDTl91U6x8vR0AyNHKB2b8k,24562
292
328
  agentle/generations/providers/google/__init__.py,sha256=6H9LKSrN7Xyz5ZJ3PI4DIwOsAi8A84YoLSO9ms67cYI,105
293
329
  agentle/generations/providers/google/function_calling_config.py,sha256=5ZL1FDCfeVVe9a04BpHC0_nBlLhmWg9nGoHVvCXNcI4,1226
294
- agentle/generations/providers/google/google_generation_provider.py,sha256=zWpD2JdaV75czsw8ngGcAiXbzYzTwXoJg3TBrUetm5w,24540
330
+ agentle/generations/providers/google/google_generation_provider.py,sha256=9Dl8D7npzpHL7qwO7Mgqiu6fzmWzPh-7jfvB6ZuUdYI,25590
295
331
  agentle/generations/providers/google/adapters/__init__.py,sha256=sUwLR-CDzvWHn6hwqSsHYztws6DGx6ZiKp32vYeVMfk,1003
296
332
  agentle/generations/providers/google/adapters/agentle_tool_to_google_tool_adapter.py,sha256=XQM_aL5zVfrRbNwtO_lDwXqvT8iX83trDNbEPSjZLmI,28482
297
- agentle/generations/providers/google/adapters/generate_generate_content_response_to_generation_adapter.py,sha256=PCm0imfvMFssMENrQGbHJKSOG1hOqMyilX3Eo2PO3Ls,16960
333
+ agentle/generations/providers/google/adapters/generate_generate_content_response_to_generation_adapter.py,sha256=akzh75PmFnRF3X4L0QmF-lRokOTB9PR0ZFBv7nPTB3A,17234
298
334
  agentle/generations/providers/google/adapters/google_content_to_generated_assistant_message_adapter.py,sha256=4sOcT9VLr58YfEnkOm392odhNzzmbTspnnmrz5K6bHc,7829
299
335
  agentle/generations/providers/google/adapters/google_part_to_part_adapter.py,sha256=infqHs_LVjpzIOipIVbRHQesXTKoOHVLiTUFaPhaBV8,6520
300
336
  agentle/generations/providers/google/adapters/message_to_google_content_adapter.py,sha256=sJ6MEn_R-KkLTEsNhxmKhBDbzlKwOUYqinydag6hqi4,6071
@@ -324,7 +360,7 @@ agentle/generations/providers/openrouter/_adapters/__init__.py,sha256=orgZeEBqH4
324
360
  agentle/generations/providers/openrouter/_adapters/agentle_message_to_openrouter_message_adapter.py,sha256=xqLumYTs__1UHD1_WwvHsHhzpEUKOAwMAj4pvo4BWMU,4957
325
361
  agentle/generations/providers/openrouter/_adapters/agentle_part_to_openrouter_part_adapter.py,sha256=eIfwQQ9BokHy3FQ90GJ4i_J3L46XCiSBd1RWnzu-gAo,5967
326
362
  agentle/generations/providers/openrouter/_adapters/agentle_tool_to_openrouter_tool_adapter.py,sha256=41i3B6awaTNZsdQ46Oi1e10cuNhQqWL-KBJ5V_sHkiI,9547
327
- agentle/generations/providers/openrouter/_adapters/openrouter_message_to_generated_assistant_message_adapter.py,sha256=FGXuVwQlVTwvdqUzF65WcPczDOoKoltWQ_Dn-muEn0M,3850
363
+ agentle/generations/providers/openrouter/_adapters/openrouter_message_to_generated_assistant_message_adapter.py,sha256=uB4TYc0fuwsoYdRnEnLhbwQISyaZ2Z2RWkPFGQXUc80,5295
328
364
  agentle/generations/providers/openrouter/_adapters/openrouter_response_to_generation_adapter.py,sha256=-QrOeUcKChVChOg7EY0EHLnjUSgQclk-df_sifwCE1M,7292
329
365
  agentle/generations/providers/openrouter/_adapters/openrouter_stream_to_generation_adapter.py,sha256=5eQ2sfWiBB9GJ0EkTA_7A0wK2LqixLHFGI83lwg0_i0,10181
330
366
  agentle/generations/providers/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -408,7 +444,7 @@ agentle/mcp/sampling/messages/user_message.py,sha256=1kNnDuGdOAY5NuLlqyR2uw55E9U
408
444
  agentle/mcp/servers/__init__.py,sha256=THYvB8GnbDr-sUq8cXAXWVqDw-lRg86flls9VzDrDVk,589
409
445
  agentle/mcp/servers/mcp_server_protocol.py,sha256=0Opc7zHb0taV2ktwdsmd7mxBE-tHEcszhN24mbMvOtg,5370
410
446
  agentle/mcp/servers/sse_mcp_server.py,sha256=MDjN85cxrIeW0BcDrR2Nftfwm_uqd408gg0McPnBdHM,28850
411
- agentle/mcp/servers/stdio_mcp_server.py,sha256=kfA1DTmePfMdKflPKn1nnTCMnijWK6hCKiB_ZtXeqXE,35815
447
+ agentle/mcp/servers/stdio_mcp_server.py,sha256=q3j79YwCRCjAOhQNt1Kz_5O6Z1PM5dJEIhBC9Jgjl5s,36591
412
448
  agentle/mcp/servers/streamable_http_mcp_server.py,sha256=jn7xEoUZdwIANhtUbJyTVDJRveqjTA_4yFY5PoI8MqY,22712
413
449
  agentle/mcp/session_management/__init__.py,sha256=KT_b76wBoeb6khmhia4dybaxRdd5GIGWPagoXRalnz4,508
414
450
  agentle/mcp/session_management/in_memory.py,sha256=4q6y-gvZVQfF7u3BBkBBFWiPbG2Mc-fUjpQCmyD0wb4,2358
@@ -442,13 +478,13 @@ agentle/parsing/page_item/text_page_item.py,sha256=OrG9kbPlglRk4VUzJkdZBTF0tQdF4
442
478
  agentle/parsing/parsers/__init__.py,sha256=2hNuIZ_eDrlVnJTmCo77tI4zUvNU1xY1pbKVTfX1Czk,1723
443
479
  agentle/parsing/parsers/audio.py,sha256=0mt6o5u9_Q4j3voAHqTB1jGIabtmGLi2R6CN-HmBh1g,10023
444
480
  agentle/parsing/parsers/compressed.py,sha256=BmplcCd9fu9QK9uM5wTGicRnngoh9BY9AdkfRLnb7_4,13563
445
- agentle/parsing/parsers/docx.py,sha256=2NCoKQ4ExlgR2EhVsGMiuVJLB-MvUfWlzp7ZYPeTNzA,30866
481
+ agentle/parsing/parsers/docx.py,sha256=aXu_jlSyiruF-0VWlYNw0haNXS06g2iNsfOJIhcsuBM,31334
446
482
  agentle/parsing/parsers/dwg.py,sha256=r8OkkybjKoxPWRYQAt4XMJ-YpSDgzePBiGz5VFjz52U,9673
447
- agentle/parsing/parsers/file_parser.py,sha256=jE8DAXe56sw9cjEGG-IhcVS4SJZdKi4ZupNHdQ8phAk,15476
483
+ agentle/parsing/parsers/file_parser.py,sha256=hGQX5s-NCHz59efS-b35NjhlD7eyRJdh86Duyz7fKis,15651
448
484
  agentle/parsing/parsers/gif.py,sha256=J9jnXUbgutsvpuIP5voT9rrlR9riP4Itf5Gxwox56Hc,8979
449
485
  agentle/parsing/parsers/html.py,sha256=FuK8C1V7X9bYJuG_sQ0VWnoFTLksyAAJpYVJFZOFCmU,10270
450
486
  agentle/parsing/parsers/link.py,sha256=3dPeZr1y-87j613ezYOvik9tCN_fyX7U-QZppt0AEuU,11459
451
- agentle/parsing/parsers/pdf.py,sha256=TOvipdZYHAW_1gdTMcrbGxD1Xs6iN-Rcd3t1hdwTQb8,39592
487
+ agentle/parsing/parsers/pdf.py,sha256=QSk467VjV3aFg6KXC13F6PGpIB9ICj-0OVhy_oCypAg,39922
452
488
  agentle/parsing/parsers/pkt.py,sha256=l-ksyDCB2_wSFsebPNYN5ymOuR_OzmZmv17QsJwAvQ8,6733
453
489
  agentle/parsing/parsers/pptx.py,sha256=tPJmxAlSPiRzkDb5HeiTDNzCpaL-YbIJRYcqHVa2keI,30248
454
490
  agentle/parsing/parsers/rtf.py,sha256=7h7N5pTENuc6hLxEm-d-kGuN6DDJ6CxuWiFpbrD9du0,9290
@@ -891,6 +927,10 @@ agentle/sessions/in_memory_session_store.py,sha256=InrkBXJYhAl4cyYLU9GDCuJADqzIR
891
927
  agentle/sessions/redis_session_store.py,sha256=nSWQscQq6PXtHcRwlQf8FZfK1rUsithslMIxrNaFRZI,8456
892
928
  agentle/sessions/session_manager.py,sha256=-5j9zOGVeedNdwukWgRaQts1-IzYL3bMKI4Flqj4sjw,24004
893
929
  agentle/sessions/session_store.py,sha256=hzLlTovN8MGkjBV4FBqtPLcd_WhUasjQxVoftCK-Pt4,2695
930
+ agentle/storage/__init__.py,sha256=WqwEbb9rElTTA56iMT0x91KRQ-W39STqhmuJcHChOnQ,363
931
+ agentle/storage/file_storage_manager.py,sha256=R8GdjqYx_b6anZdsFhUNDDnC-rDlq0doIHHd1DWX4RM,1077
932
+ agentle/storage/local_file_storage_manager.py,sha256=LNok-muR8lWrqdMzYOk1-ECc5KD9GaZucY-b-Tu00nQ,4324
933
+ agentle/storage/s3_file_storage_manager.py,sha256=5SF0OZN5j9kMakYPWt7NIEAh2AolcpzRDwge52poS3I,4322
894
934
  agentle/stt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
895
935
  agentle/stt/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
896
936
  agentle/stt/models/audio_transcription.py,sha256=TzZbMphLN3S6ozRLuaMC6Hwt4X9kk1kIg04QJ-lQ-hk,4969
@@ -919,22 +959,19 @@ agentle/stt/real_time/definitions/transcript_confidence.py,sha256=ZbMTdleLlf6mIh
919
959
  agentle/stt/real_time/definitions/transcription_result.py,sha256=lJVse6c68uJFFjuIMbSqc_Xp8DLbuvQkz_preCWy_R0,744
920
960
  agentle/stt/real_time/definitions/word_timing.py,sha256=v1zLAYc6a7ZHQl95GZfG5Y69lD1k-0BHHsOY7QGyTtQ,256
921
961
  agentle/tts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
922
- agentle/tts/tts_provider.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
923
- agentle/tts/real_time/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
924
- agentle/tts/real_time/real_time_speech_to_text_provider.py,sha256=RHM1IfwjVkUK1m-7_jJ7mj6ojV79fATbgjVuTZqBQ7Q,1869
925
- agentle/tts/real_time/definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
926
- agentle/tts/real_time/definitions/audio_data.py,sha256=CMpSvL2bFSqynoC-zHBURBryYiBhNkZ7jKCKyvCl4Gc,672
927
- agentle/tts/real_time/definitions/speech_config.py,sha256=6YwkrJQewiUTfsAwgFIBLsqpAQxyH14X9NfjZAKpry0,1140
928
- agentle/tts/real_time/definitions/speech_result.py,sha256=HXwsIgJlzMGzBat9FSOisEDwc7wvGWLPuJjMA2UkWSY,329
929
- agentle/tts/real_time/definitions/tts_stream_chunk.py,sha256=oPKfEeUYTqQhRK8sNVoQZNdOokcAJA0iTG8s03ETd2Q,435
930
- agentle/tts/real_time/definitions/voice_gender.py,sha256=qJRvi5VidZV5IIMy5tCDoDC1xwD0L26bNMbkIOF1WWE,152
931
- agentle/tts/real_time/definitions/voice_info.py,sha256=_FdVXovwU62LkcAwNH91yeUdSSeNBshoT2CnP_shWf0,636
962
+ agentle/tts/audio_format.py,sha256=zpgowrcwY3Y0NmRz_XuuqK0luMmLN7BlPsSBA40hFAY,141
963
+ agentle/tts/elevenlabs_tts_provider.py,sha256=ABEdpumJsV3ZIJbdKWXGL-SJe93cAiQau1HGo_BMr2o,3813
964
+ agentle/tts/output_format_type.py,sha256=gR1kE3_JmvGaFuI5veG4lXbMBdgqBYeINR-LCVBnnnA,460
965
+ agentle/tts/speech_config.py,sha256=jWGkyIl1U0JJS7Yh3u4mDG3ZYUYGRQJArbRN57imGag,473
966
+ agentle/tts/speech_result.py,sha256=AIs4mzoUJGsGJqh-b5JOJ-QKzub4zAIvwCWeGgOQg50,441
967
+ agentle/tts/tts_provider.py,sha256=UEqOtNqHqR9zbQk2MOvit4isBhj7jcdNoJIfhrOV10A,468
968
+ agentle/tts/voice_settings.py,sha256=U_KRWpvmObVyryaHs4V83dpwToDta1NaRTc-4x9hk_I,1332
932
969
  agentle/utils/describe_model_for_llm.py,sha256=UVSGl86u4pCHZOLJbabq_RvLvUSyyPaTT8Fwws13574,21017
933
970
  agentle/utils/file_validation.py,sha256=Rv6y_ylBrDoslscCk2lkfr3LRMarY0J8qWhKJjZjeAo,7066
934
971
  agentle/utils/fix_base64_padding.py,sha256=IWBlMP3FYcWs17Y72tVxG7w1lzEKnstaDC9HRKmI56Y,1109
935
972
  agentle/utils/make_fields_optional.py,sha256=pu2u-jJ1pNyoQRyGQzxwXnYbWSzZ2G4ssebJvjYsH8A,7800
936
973
  agentle/utils/needs.py,sha256=JRTVvgVP0w0bpq1_w2Jly2lxXiONdHOYAYMvReFQcJM,5110
937
- agentle/utils/parse_streaming_json.py,sha256=OTEfPhack0s-hgmYR2dNqTaE_SUG_bj9SbscjoIA96o,30710
974
+ agentle/utils/parse_streaming_json.py,sha256=9otgyfU37F-X9qbWHxgFmoYi9MSa9PPCarJ5CJ1Tcr0,31890
938
975
  agentle/utils/raise_error.py,sha256=EYX6WJS5gzJxgTyFYYOFHc-klEyU0tP20N5k_-ze5nQ,138
939
976
  agentle/utils/safe_b64decode.py,sha256=2nkdwUzkeVgtf3kb_zypjJY2KHe7dlLwa4ynjY2Yy1E,1272
940
977
  agentle/utils/safe_dill_dumps.py,sha256=yXQ51P05uSiWnREKJ6UWVjCKnRQTjgPVzoE1nylBbJI,237
@@ -962,10 +999,12 @@ agentle/vector_stores/filters/min_should.py,sha256=Hx8KykmPE1YlIpHpsQjTVq9yhtP-C
962
999
  agentle/vector_stores/filters/range.py,sha256=jq8bEkVv7NrSj6Ry1FrpY9whdCuNnObbvE1aSCR9hlo,840
963
1000
  agentle/vector_stores/filters/range_interface.py,sha256=MNBF3xfWRIWmQIThN7exe6tbdPoOAK2JVu5fjarE4K0,166
964
1001
  agentle/vector_stores/filters/value_variants.py,sha256=ELwM7RTS-FHJxSaZuKpigwuPhcQXeY-ybe4z5rRXyDI,112
1002
+ agentle/voice_cloning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1003
+ agentle/voice_cloning/voice_cloner.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
965
1004
  agentle/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
966
1005
  agentle/web/extraction_preferences.py,sha256=Xb4X6ZgnbDuu4Pp7cI0sdPcv6LaR1Q94FPTNEoHVTGg,985
967
1006
  agentle/web/extraction_result.py,sha256=IsbRdT_wA9RVYGToCiz17XRoWMTtiFzxky96Zwqa4ZY,318
968
- agentle/web/extractor.py,sha256=N3DDUIIj3QXAXoeZG9Q8250UzCfsELCTt86Tox2FNeA,10174
1007
+ agentle/web/extractor.py,sha256=ISNYVoofry47HtB0oDhmb2Eof15ZhTL-qdyes1mYSbQ,15585
969
1008
  agentle/web/location.py,sha256=RZgqb2rW7wUdcbw3PnmDtfr4FkTSSovW0j70ZOvoRiw,64
970
1009
  agentle/web/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
971
1010
  agentle/web/actions/action.py,sha256=krxW5vXaqB1_JfnPpuo5cVJyANrlElu9P0B0TrF_aZs,723
@@ -979,7 +1018,7 @@ agentle/web/actions/scroll.py,sha256=WqVVAORNDK3BL1oASZBPmXJYeSVkPgAOmWA8ibYO82I
979
1018
  agentle/web/actions/viewport.py,sha256=KCwm88Pri19Qc6GLHC69HsRxmdJz1gEEAODfggC_fHo,287
980
1019
  agentle/web/actions/wait.py,sha256=IKEywjf-KC4ni9Gkkv4wgc7bY-hk7HwD4F-OFWlyf2w,571
981
1020
  agentle/web/actions/write_text.py,sha256=9mxfHcpKs_L7BsDnJvOYHQwG8M0GWe61SRJAsKk3xQ8,748
982
- agentle-0.9.4.dist-info/METADATA,sha256=3B-95ANPio9s9n2nvQaxwiLHIQz8RrT_cb2o9nfAKlE,86848
983
- agentle-0.9.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
984
- agentle-0.9.4.dist-info/licenses/LICENSE,sha256=T90S9vqRS6qP-voULxAcvwEs558wRRo6dHuZrjgcOUI,1085
985
- agentle-0.9.4.dist-info/RECORD,,
1021
+ agentle-0.9.28.dist-info/METADATA,sha256=ZY7T2Si68vQ1uj1qjcgtbqbY7XDWEcnvUkOo-pbF7C8,86849
1022
+ agentle-0.9.28.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1023
+ agentle-0.9.28.dist-info/licenses/LICENSE,sha256=T90S9vqRS6qP-voULxAcvwEs558wRRo6dHuZrjgcOUI,1085
1024
+ agentle-0.9.28.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- from rsb.models.base_model import BaseModel
2
- from rsb.models.config_dict import ConfigDict
3
- from rsb.models.field import Field
4
-
5
- from agentle.stt.real_time.definitions.audio_format import AudioFormat
6
-
7
-
8
- class AudioData(BaseModel):
9
- """Audio data with metadata."""
10
-
11
- data: bytes
12
- format: AudioFormat
13
- sample_rate: int = Field(description="Sample rate in Hz")
14
- channels: int = Field(default=1, description="Number of audio channels")
15
- bit_depth: int = Field(default=16, description="Bit depth")
16
- duration_ms: int | None = Field(
17
- default=None, description="Duration in milliseconds"
18
- )
19
-
20
- model_config = ConfigDict(arbitrary_types_allowed=True)
@@ -1,27 +0,0 @@
1
- from rsb.models.base_model import BaseModel
2
- from rsb.models.field import Field
3
-
4
- from agentle.stt.real_time.definitions.audio_format import AudioFormat
5
- from agentle.stt.real_time.definitions.language_code import LanguageCode
6
-
7
-
8
- class SpeechConfig(BaseModel):
9
- """Configuration for speech synthesis."""
10
-
11
- voice_id: str
12
- language: LanguageCode = Field(default=LanguageCode.PT_BR)
13
- speed: float = Field(
14
- default=1.0, ge=0.1, le=3.0, description="Speech rate multiplier"
15
- )
16
- pitch: float = Field(default=1.0, ge=0.1, le=2.0, description="Pitch multiplier")
17
- volume: float = Field(default=1.0, ge=0.0, le=2.0, description="Volume multiplier")
18
- audio_format: AudioFormat = Field(default=AudioFormat.WAV)
19
- sample_rate: int = Field(default=22050)
20
- enable_ssml: bool = Field(
21
- default=False, description="Whether text contains SSML markup"
22
- )
23
- emotion: str | None = Field(default=None, description="Emotional tone")
24
- stability: float | None = Field(
25
- default=None, ge=0.0, le=1.0, description="Voice stability"
26
- )
27
- similarity_boost: float | None = Field(default=None, ge=0.0, le=1.0)
@@ -1,14 +0,0 @@
1
- from rsb.models.base_model import BaseModel
2
-
3
- from agentle.tts.real_time.definitions.audio_data import AudioData
4
-
5
-
6
- class SpeechResult(BaseModel):
7
- """Result from text-to-speech synthesis."""
8
-
9
- audio: AudioData
10
- text: str
11
- voice_id: str
12
- processing_time_ms: float
13
- audio_duration_ms: int
14
- character_count: int
@@ -1,15 +0,0 @@
1
- from rsb.models.base_model import BaseModel
2
- from rsb.models.field import Field
3
-
4
- from agentle.tts.real_time.definitions.audio_data import AudioData
5
-
6
-
7
- class TTSStreamChunk(BaseModel):
8
- """Chunk of streaming TTS data."""
9
-
10
- audio_chunk: AudioData
11
- sequence_number: int
12
- is_final_chunk: bool = Field(default=False)
13
- text_processed: str | None = Field(
14
- default=None, description="Text that generated this chunk"
15
- )
@@ -1,9 +0,0 @@
1
- from enum import StrEnum
2
-
3
-
4
- class VoiceGender(StrEnum):
5
- """Voice gender options."""
6
-
7
- MALE = "male"
8
- FEMALE = "female"
9
- NEUTRAL = "neutral"
@@ -1,18 +0,0 @@
1
- from rsb.models.base_model import BaseModel
2
- from rsb.models.field import Field
3
-
4
- from agentle.stt.real_time.definitions.language_code import LanguageCode
5
- from agentle.tts.real_time.definitions.voice_gender import VoiceGender
6
-
7
-
8
- class VoiceInfo(BaseModel):
9
- """Information about a voice."""
10
-
11
- voice_id: str
12
- name: str
13
- language: LanguageCode
14
- gender: VoiceGender
15
- accent: str | None = Field(default=None, description="Regional accent")
16
- age_group: str | None = Field(default=None, description="Young, adult, elderly")
17
- description: str | None = Field(default=None)
18
- preview_url: str | None = Field(default=None)
@@ -1,66 +0,0 @@
1
- import abc
2
- from collections.abc import AsyncIterator
3
-
4
- from agentle.stt.real_time.definitions.audio_format import AudioFormat
5
- from agentle.stt.real_time.definitions.language_code import LanguageCode
6
- from agentle.tts.real_time.definitions.speech_config import SpeechConfig
7
- from agentle.tts.real_time.definitions.tts_stream_chunk import TTSStreamChunk
8
- from agentle.tts.real_time.definitions.voice_info import VoiceInfo
9
-
10
-
11
- class RealtimeTextToSpeechProvider(abc.ABC):
12
- """Abstract base class for text-to-speech providers."""
13
-
14
- @abc.abstractmethod
15
- async def synthesize_stream(
16
- self,
17
- text: str,
18
- config: SpeechConfig,
19
- ) -> AsyncIterator[TTSStreamChunk]:
20
- """
21
- Convert text to speech with streaming output.
22
-
23
- Args:
24
- text: Text to convert to speech
25
- config: Speech synthesis configuration
26
-
27
- Yields:
28
- Audio chunks as they're generated
29
- """
30
- pass
31
-
32
- @abc.abstractmethod
33
- async def get_available_voices(
34
- self,
35
- language: LanguageCode | None = None,
36
- ) -> list[VoiceInfo]:
37
- """
38
- Get list of available voices.
39
-
40
- Args:
41
- language: Optional language filter
42
-
43
- Returns:
44
- List of available voices
45
- """
46
- pass
47
-
48
- @abc.abstractmethod
49
- async def get_supported_languages(self) -> list[LanguageCode]:
50
- """Get list of supported language codes."""
51
- pass
52
-
53
- @abc.abstractmethod
54
- async def get_supported_formats(self) -> list[AudioFormat]:
55
- """Get list of supported audio formats."""
56
- pass
57
-
58
- @abc.abstractmethod
59
- async def health_check(self) -> bool:
60
- """Check if the provider is healthy and responsive."""
61
- pass
62
-
63
- @abc.abstractmethod
64
- async def close(self) -> None:
65
- """Clean up resources and close connections."""
66
- pass