naeural-client 2.1.2__py3-none-any.whl → 2.1.4__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.
naeural_client/_ver.py CHANGED
@@ -1,4 +1,4 @@
1
- __VER__ = "2.1.2"
1
+ __VER__ = "2.1.4"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -1717,7 +1717,7 @@ class GenericSession(BaseDecentrAIObject):
1717
1717
  *,
1718
1718
  node,
1719
1719
  name,
1720
- signature=PLUGIN_SIGNATURES.BASIC_TELEGRAM_BOT_01,
1720
+ signature=PLUGIN_SIGNATURES.TELEGRAM_BASIC_BOT_01,
1721
1721
  message_handler=None,
1722
1722
  telegram_bot_token=None,
1723
1723
  telegram_bot_token_env_key=ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY,
@@ -1725,7 +1725,41 @@ class GenericSession(BaseDecentrAIObject):
1725
1725
  telegram_bot_name_env_key=ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY,
1726
1726
  **kwargs
1727
1727
  ):
1728
+ """
1729
+ Create a new basic Telegram bot on a node.
1730
+
1731
+ Parameters
1732
+ ----------
1728
1733
 
1734
+ node : str
1735
+ Address or Name of the Naeural Edge Protocol edge node that will handle this Telegram bot.
1736
+
1737
+ name : str
1738
+ Name of the Telegram bot.
1739
+
1740
+ signature : str, optional
1741
+ The signature of the plugin that will be used. Defaults to PLUGIN_SIGNATURES.TELEGRAM_BASIC_BOT_01.
1742
+
1743
+ message_handler : callable, optional
1744
+ The message handler function that will be called when a message is received. Defaults to None.
1745
+
1746
+ telegram_bot_token : str, optional
1747
+ The Telegram bot token. Defaults to None.
1748
+
1749
+ telegram_bot_token_env_key : str, optional
1750
+ The environment variable key that holds the Telegram bot token. Defaults to ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY.
1751
+
1752
+ telegram_bot_name : str, optional
1753
+ The Telegram bot name. Defaults to None.
1754
+
1755
+ telegram_bot_name_env_key : str, optional
1756
+ The environment variable key that holds the Telegram bot name. Defaults to ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY.
1757
+
1758
+ Returns
1759
+ -------
1760
+ tuple
1761
+ `Pipeline` and a `Instance` objects tuple.
1762
+ """
1729
1763
  assert callable(message_handler), "The `message_handler` method parameter must be provided."
1730
1764
 
1731
1765
  if telegram_bot_token is None:
@@ -1765,6 +1799,115 @@ class GenericSession(BaseDecentrAIObject):
1765
1799
  )
1766
1800
  return pipeline, instance
1767
1801
 
1802
+
1803
+ def create_telegram_conversational_bot(
1804
+ self,
1805
+ *,
1806
+ node,
1807
+ name,
1808
+ signature=PLUGIN_SIGNATURES.TELEGRAM_CONVERSATIONAL_BOT_01,
1809
+ telegram_bot_token=None,
1810
+ telegram_bot_token_env_key=ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY,
1811
+ telegram_bot_name=None,
1812
+ telegram_bot_name_env_key=ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY,
1813
+
1814
+ system_prompt=None,
1815
+ agent_type="API",
1816
+ api_token_env_key=ENVIRONMENT.TELEGRAM_API_AGENT_TOKEN_ENV_KEY,
1817
+ api_token=None,
1818
+ rag_source_url=None,
1819
+ **kwargs
1820
+ ):
1821
+
1822
+ """
1823
+ Create a new conversational Telegram bot on a node.
1824
+
1825
+ Parameters
1826
+ ----------
1827
+
1828
+ node : str
1829
+ Address or Name of the Naeural Edge Protocol edge node that will handle this Telegram bot.
1830
+
1831
+ name : str
1832
+ Name of the Telegram bot.
1833
+
1834
+ signature : str, optional
1835
+ The signature of the plugin that will be used. Defaults to PLUGIN_SIGNATURES.TELEGRAM_BASIC_BOT_01.
1836
+
1837
+ telegram_bot_token : str, optional
1838
+ The Telegram bot token. Defaults to None.
1839
+
1840
+ telegram_bot_token_env_key : str, optional
1841
+ The environment variable key that holds the Telegram bot token. Defaults to ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY.
1842
+
1843
+ telegram_bot_name : str, optional
1844
+ The Telegram bot name. Defaults to None.
1845
+
1846
+ telegram_bot_name_env_key : str, optional
1847
+ The environment variable key that holds the Telegram bot name. Defaults to ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY.
1848
+
1849
+ system_prompt : str, optional
1850
+ The system prompt. Defaults to None.
1851
+
1852
+ agent_type : str, optional
1853
+ The agent type. Defaults to "API".
1854
+
1855
+ api_token_env_key : str, optional
1856
+ The environment variable key that holds the API token. Defaults to ENVIRONMENT.TELEGRAM_API_AGENT_TOKEN_ENV_KEY.
1857
+
1858
+ api_token : str, optional
1859
+ The API token. Defaults to None.
1860
+
1861
+ rag_source_url : str, optional
1862
+ The RAG database source URL upon which the bot will be able to generate responses. Defaults to None.
1863
+
1864
+ Returns
1865
+ -------
1866
+ tuple
1867
+ `Pipeline` and a `Instance` objects tuple.
1868
+ """
1869
+ if agent_type == "API":
1870
+ if api_token is None:
1871
+ api_token = os.getenv(api_token_env_key)
1872
+ if api_token is None:
1873
+ message = f"Warning! No API token provided as via env {ENVIRONMENT.TELEGRAM_API_AGENT_TOKEN_ENV_KEY} or explicitly as `api_token` param."
1874
+ raise ValueError(message)
1875
+
1876
+ if telegram_bot_token is None:
1877
+ telegram_bot_token = os.getenv(telegram_bot_token_env_key)
1878
+ if telegram_bot_token is None:
1879
+ message = f"Warning! No Telegram bot token provided as via env {ENVIRONMENT.TELEGRAM_BOT_TOKEN_ENV_KEY} or explicitly as `telegram_bot_token` param."
1880
+ raise ValueError(message)
1881
+
1882
+ if telegram_bot_name is None:
1883
+ telegram_bot_name = os.getenv(telegram_bot_name_env_key)
1884
+ if telegram_bot_name is None:
1885
+ message = f"Warning! No Telegram bot name provided as via env {ENVIRONMENT.TELEGRAM_BOT_NAME_ENV_KEY} or explicitly as `telegram_bot_name` param."
1886
+ raise ValueError(message)
1887
+
1888
+
1889
+ pipeline: Pipeline = self.create_pipeline(
1890
+ node=node,
1891
+ name=name,
1892
+ # default TYPE is "Void"
1893
+ )
1894
+
1895
+
1896
+ obfuscated_token = telegram_bot_token[:4] + "*" * (len(telegram_bot_token) - 4)
1897
+ self.P(f"Creating telegram bot {telegram_bot_name} with token {obfuscated_token}...", color='b')
1898
+ instance = pipeline.create_plugin_instance(
1899
+ signature=signature,
1900
+ instance_id=self.log.get_unique_id(),
1901
+ telegram_bot_token=telegram_bot_token,
1902
+ telegram_bot_name=telegram_bot_name,
1903
+ system_prompt=system_prompt,
1904
+ agent_type=agent_type,
1905
+ api_token=api_token,
1906
+ rag_source_url=rag_source_url,
1907
+ **kwargs
1908
+ )
1909
+ return pipeline, instance
1910
+
1768
1911
 
1769
1912
  def broadcast_instance_command_and_wait_for_response_payload(
1770
1913
  self,
@@ -7,5 +7,6 @@ class PLUGIN_SIGNATURES:
7
7
  VIEW_SCENE_01 = 'VIEW_SCENE_01'
8
8
  CUSTOM_WEB_APP_01 = 'CUSTOM_CODE_FASTAPI_01'
9
9
  CHAIN_DIST_CUSTOM_JOB_01 = 'PROCESS_REAL_TIME_COLLECTED_DATA_CUSTOM_EXEC_CHAIN_DIST'
10
- BASIC_TELEGRAM_BOT_01 = 'BASIC_TELEGRAM_BOT_01'
10
+ TELEGRAM_BASIC_BOT_01 = 'TELEGRAM_BASIC_BOT_01'
11
+ TELEGRAM_CONVERSATIONAL_BOT_01 = 'TELEGRAM_CONVERSATIONAL_BOT_01'
11
12
  # INSERT_NEW_PLUGIN_HERE
@@ -2,6 +2,17 @@ EE_ID = 'EE_ID'
2
2
  SB_ID = 'SB_ID' # change to SB_ID = EE_ID post mod from sb to ee
3
3
 
4
4
 
5
+ class DCT_TYPES:
6
+ VOID_PIPELINE = 'Void'
7
+ NETWORK_LISTENER = 'NetworkListener'
8
+ METASTREAM_PIPELINE = 'MetaStream'
9
+
10
+
11
+ class DCT_OPTIONS:
12
+ NETWORK_LISTENER_PATH_FILTER = "PATH_FILTER"
13
+ NETWORK_LISTENER_MESSAGE_FILTER = "MESSAGE_FILTER"
14
+ ADMIN_PIPELINE_VER = 'ADMIN_PIPELINE_VER'
15
+
5
16
  class CONFIG_STREAM:
6
17
  K_URL = 'URL'
7
18
  K_TYPE = 'TYPE'
@@ -22,7 +33,7 @@ class CONFIG_STREAM:
22
33
  K_PIPELINE_COMMAND = 'PIPELINE_COMMAND'
23
34
  K_USE_LOCAL_COMMS_ONLY = 'USE_LOCAL_COMMS_ONLY'
24
35
 
25
- METASTREAM = 'MetaStream'
36
+ METASTREAM = DCT_TYPES.METASTREAM_PIPELINE
26
37
 
27
38
  INITIATOR_ID = K_INITIATOR_ID
28
39
  SESSION_ID = K_SESSION_ID
@@ -53,10 +64,14 @@ class CONFIG_STREAM:
53
64
 
54
65
  MANDATORY = [K_NAME, K_TYPE]
55
66
 
56
- VOID_STREAM = 'VOID'
67
+ VOID_STREAM = DCT_TYPES.VOID_PIPELINE
68
+
69
+ DEFAULT_ADMIN_PIPELINE_TYPE = DCT_TYPES.NETWORK_LISTENER
57
70
 
58
71
  NO_DATA_STREAMS = [VOID_STREAM]
59
-
72
+
73
+ PIPELINE_OPTIONS = DCT_OPTIONS
74
+ PIPELINE_TYPES = DCT_TYPES
60
75
 
61
76
  class BIZ_PLUGIN_DATA:
62
77
  INSTANCE_ID = 'INSTANCE_ID'
@@ -31,3 +31,5 @@ class ENVIRONMENT:
31
31
 
32
32
  TELEGRAM_BOT_TOKEN_ENV_KEY = 'TELEGRAM_BOT_TOKEN'
33
33
  TELEGRAM_BOT_NAME_ENV_KEY = 'TELEGRAM_BOT_NAME'
34
+
35
+ TELEGRAM_API_AGENT_TOKEN_ENV_KEY = 'TELEGRAM_API_AGENT_TOKEN'
@@ -181,6 +181,8 @@ class PAYLOAD_DATA:
181
181
  EE_SENDER = BC_CT.SENDER
182
182
  EE_HASH = BC_CT.HASH
183
183
  EE_SIGN = BC_CT.SIGN
184
+
185
+ EE_DESTINATION = "EE_DEST"
184
186
 
185
187
  NOTIFICATION = 'NOTIFICATION'
186
188
  INFO = 'INFO'
@@ -188,3 +190,5 @@ class PAYLOAD_DATA:
188
190
  TAGS = 'TAGS'
189
191
 
190
192
  ID_TAGS = 'ID_TAGS'
193
+
194
+
@@ -2,7 +2,7 @@ from .net_mon_01_plugin import NetMon01
2
2
  from .view_scene_01_plugin import ViewScene01
3
3
  from .custom_web_app_01_plugin import CustomWebApp01
4
4
  from .chain_dist_custom_job_01_plugin import ChainDistCustomJob01
5
- from .basic_telegram_bot_01_plugin import BasicTelegramBot01
5
+ from .telegram_basic_bot_01_plugin import BasicTelegramBot01
6
6
 
7
7
 
8
8
  class PLUGIN_TYPES:
@@ -13,4 +13,4 @@ class PLUGIN_TYPES:
13
13
  VIEW_SCENE_01 = ViewScene01
14
14
  CUSTOM_WEB_APP_01 = CustomWebApp01
15
15
  CHAIN_DIST_CUSTOM_JOB_01 = ChainDistCustomJob01
16
- BASIC_TELEGRAM_BOT_01 = BasicTelegramBot01
16
+ TELEGRAM_BASIC_BOT_01 = BasicTelegramBot01
@@ -2,6 +2,6 @@ from ...base import Instance
2
2
  from ...const import PLUGIN_SIGNATURES
3
3
 
4
4
  class BasicTelegramBot01(Instance):
5
- signature = PLUGIN_SIGNATURES.BASIC_TELEGRAM_BOT_01
5
+ signature = PLUGIN_SIGNATURES.TELEGRAM_BASIC_BOT_01
6
6
 
7
7
 
@@ -0,0 +1,7 @@
1
+ from ...base import Instance
2
+ from ...const import PLUGIN_SIGNATURES
3
+
4
+ class TelegramConversationalBot01(Instance):
5
+ signature = PLUGIN_SIGNATURES.TELEGRAM_CONVERSATIONAL_BOT_01
6
+
7
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: naeural_client
3
- Version: 2.1.2
3
+ Version: 2.1.4
4
4
  Summary: `naeural_client` is the Python SDK required for client app development for the Naeural Edge Protocol Edge Protocol framework
5
5
  Project-URL: Homepage, https://github.com/Naeural Edge ProtocolEdgeProtocol/naeural_client
6
6
  Project-URL: Bug Tracker, https://github.com/Naeural Edge ProtocolEdgeProtocol/naeural_client/issues
@@ -1,10 +1,10 @@
1
1
  naeural_client/__init__.py,sha256=UKEDGS0wFYyxwmhEAKJGecO2vYbIfRYUP4SQgnK10IE,578
2
- naeural_client/_ver.py,sha256=aZEmCx4AtKydTHCcglvjwC1deqUrkwRDirx73Nslguk,330
2
+ naeural_client/_ver.py,sha256=xBEfgRn61jifjfZ85domduA0fNz-XprciKiFP-TRh_M,330
3
3
  naeural_client/base_decentra_object.py,sha256=qDBpitcyhr1eEXPD8cGFtcNPNf71fqNRsmOEcCpx4sM,4180
4
4
  naeural_client/plugins_manager_mixin.py,sha256=X1JdGLDz0gN1rPnTN_5mJXR8JmqoBFQISJXmPR9yvCo,11106
5
5
  naeural_client/base/__init__.py,sha256=hACh83_cIv7-PwYMM3bQm2IBmNqiHw-3PAfDfAEKz9A,259
6
6
  naeural_client/base/distributed_custom_code_presets.py,sha256=cvz5R88P6Z5V61Ce1vHVVh8bOkgXd6gve_vdESDNAsg,2544
7
- naeural_client/base/generic_session.py,sha256=o5pWWvWPSqZQ15y6YdPdfeSDolos_xa0ufiwMHetGqk,70519
7
+ naeural_client/base/generic_session.py,sha256=BtpuXJFZgFESHwvzJp1XYw687u2OiP72A-NBaLRFN7s,75929
8
8
  naeural_client/base/instance.py,sha256=kcZJmjLBtx8Bjj_ysIOx1JmLA-qSpG7E28j5rq6IYus,20444
9
9
  naeural_client/base/pipeline.py,sha256=KwcPWD2XMvHotWFMpcnIycFhqiNnZuyUTUWiLU0PM5Y,57519
10
10
  naeural_client/base/plugin_template.py,sha256=qGaXByd_JZFpjvH9GXNbT7KaitRxIJB6-1IhbKrZjq4,138123
@@ -26,20 +26,21 @@ naeural_client/comm/amqp_wrapper.py,sha256=hzj6ih07DnLQy2VSfA88giDIFHaCp9uSdGLTA
26
26
  naeural_client/comm/mqtt_wrapper.py,sha256=Ig3bFZkCbWd4y_Whn2PPa91Z3aLgNbNPau6Tn5yLPZ8,16167
27
27
  naeural_client/const/README.md,sha256=6OHesr-f5NBuuJGryEoi_TCu2XdlhfQYlDKx_IJoXeg,177
28
28
  naeural_client/const/__init__.py,sha256=G7Fa50SpEhAPOnL8_mxgVmJ0Xq1qEncWd75pg2BkiG4,416
29
- naeural_client/const/apps.py,sha256=i0MNCM1Wf7QUCB4OKO1vGNUonPs6EsnZV6-XZjknppw,439
30
- naeural_client/const/base.py,sha256=V94oaT7xYrrTGxmLJlynxmbFujVX0G9wIfC8TilH5MU,2548
29
+ naeural_client/const/apps.py,sha256=TJpbD7-1tIKxMdpVgZMHOka1k7a6vtW45rQL87K-jvE,507
30
+ naeural_client/const/base.py,sha256=HrvXVYS1HMEh0zKZ3VUue-hTdcXEFZ1ukhlbP9kbVWE,2996
31
31
  naeural_client/const/comms.py,sha256=La6JXWHexH8CfcBCKyT4fCIoeaoZlcm7KtZ57ab4ZgU,2201
32
- naeural_client/const/environment.py,sha256=1yM4HDX36Evi0fjLou9eHWlO8ywyOhFCqx-pXYfiYPs,803
32
+ naeural_client/const/environment.py,sha256=iytmTDgbOjvORPwHQmc0K0r-xJx7dnnzNnqAJJiFCDA,870
33
33
  naeural_client/const/formatter.py,sha256=AW3bWlqf39uaqV4BBUuW95qKYfF2OkkU4f9hy3kSVhM,200
34
34
  naeural_client/const/heartbeat.py,sha256=jGHmKfeHTFOXJaKUT3o_ocnQyF-EpcLeunW-ifkYKfU,2534
35
35
  naeural_client/const/misc.py,sha256=1ypROmZsOyp_8zG2LARwPeo-YfXuyYqZnml0elTP4kw,211
36
- naeural_client/const/payload.py,sha256=k24vH9iJIBBPnCXx7HAEuli2fNAETK7h8ZuVKyKLgbk,5725
36
+ naeural_client/const/payload.py,sha256=jBzXQZ-jQ1Ft6eRsb8WvT-OPpQd1j4Y-uu_V26-EY0Y,5763
37
37
  naeural_client/default/__init__.py,sha256=ozU6CMMuWl0LhG8Ae3LrZ65a6tLrptfscVYGf83zjxM,46
38
- naeural_client/default/instance/__init__.py,sha256=pHR9_5t3xv9ug3nu-8202yW-rqq-KR3C_L5N2xaADTA,548
39
- naeural_client/default/instance/basic_telegram_bot_01_plugin.py,sha256=4674YFg5DfGO8_bYA1Uo77duZgKYGFX1J0Xp8YzjyPM,161
38
+ naeural_client/default/instance/__init__.py,sha256=Itb4l6_DR6CCw8KAxyQKlCmALyzDasNHIfM9VB-Umak,548
40
39
  naeural_client/default/instance/chain_dist_custom_job_01_plugin.py,sha256=QtHi3uXKsVs9eyMgbnvBVbMylErhV1Du4X2-7zDL7Y0,1915
41
40
  naeural_client/default/instance/custom_web_app_01_plugin.py,sha256=ZDe-QXmr6KLyUx5wzA3xVrMPg8yHnWLUbGjZtB0PFgg,4785
42
41
  naeural_client/default/instance/net_mon_01_plugin.py,sha256=u85i2AiYHkLJnam0wOx-m71hlp0EYyNtk3JwbkOrvHg,1208
42
+ naeural_client/default/instance/telegram_basic_bot_01_plugin.py,sha256=P_W2K_ng7svbhoIoYGvkGxa4v9UUoxuOAAgtoM36wDo,161
43
+ naeural_client/default/instance/telegram_conversational_bot_01_plugin.py,sha256=XkyE-uNbtFnTSGA1nOf-XNmUipAUjhg0xXV1glRb7gc,179
43
44
  naeural_client/default/instance/view_scene_01_plugin.py,sha256=5kMhd23kL5AYCdOJzrdCqi2ohoQNvmpv8oE6hWQtUWk,720
44
45
  naeural_client/default/session/mqtt_session.py,sha256=dpQcBhhVZDo458v0IqJMZb1CsTn-TxXhYjNlyJp9Rp8,2414
45
46
  naeural_client/io_formatter/__init__.py,sha256=_wy7c-Z9kgb26jN7uNTDq88G7xZ3wI_ObuQd3QWNPkQ,85
@@ -74,7 +75,7 @@ naeural_client/logging/tzlocal/windows_tz.py,sha256=Sv9okktjZJfRGGUOOppsvQuX_eXy
74
75
  naeural_client/utils/__init__.py,sha256=mAnke3-MeRzz3nhQvhuHqLnpaaCSmDxicd7Ck9uwpmI,77
75
76
  naeural_client/utils/comm_utils.py,sha256=4cS9llRr_pK_3rNgDcRMCQwYPO0kcNU7AdWy_LtMyCY,1072
76
77
  naeural_client/utils/dotenv.py,sha256=_AgSo35n7EnQv5yDyu7C7i0kHragLJoCGydHjvOkrYY,2008
77
- naeural_client-2.1.2.dist-info/METADATA,sha256=jz3-SkppEKJeRwqNP9KoSQ0E9NETayW7VLl6Nm3gxLU,14457
78
- naeural_client-2.1.2.dist-info/WHEEL,sha256=3U_NnUcV_1B1kPkYaPzN-irRckL5VW_lytn0ytO_kRY,87
79
- naeural_client-2.1.2.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
80
- naeural_client-2.1.2.dist-info/RECORD,,
78
+ naeural_client-2.1.4.dist-info/METADATA,sha256=dG-mroHJtnAAOf0uWeUbCHLqcojvpZUA_dIBoaBKQ-w,14457
79
+ naeural_client-2.1.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
80
+ naeural_client-2.1.4.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
81
+ naeural_client-2.1.4.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.26.1
2
+ Generator: hatchling 1.26.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any