signalwire-agents 0.1.23__py3-none-any.whl → 0.1.25__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.
- signalwire_agents/__init__.py +1 -1
- signalwire_agents/agent_server.py +2 -1
- signalwire_agents/cli/config.py +61 -0
- signalwire_agents/cli/core/__init__.py +1 -0
- signalwire_agents/cli/core/agent_loader.py +254 -0
- signalwire_agents/cli/core/argparse_helpers.py +164 -0
- signalwire_agents/cli/core/dynamic_config.py +62 -0
- signalwire_agents/cli/execution/__init__.py +1 -0
- signalwire_agents/cli/execution/datamap_exec.py +437 -0
- signalwire_agents/cli/execution/webhook_exec.py +125 -0
- signalwire_agents/cli/output/__init__.py +1 -0
- signalwire_agents/cli/output/output_formatter.py +132 -0
- signalwire_agents/cli/output/swml_dump.py +177 -0
- signalwire_agents/cli/simulation/__init__.py +1 -0
- signalwire_agents/cli/simulation/data_generation.py +365 -0
- signalwire_agents/cli/simulation/data_overrides.py +187 -0
- signalwire_agents/cli/simulation/mock_env.py +271 -0
- signalwire_agents/cli/test_swaig.py +522 -2539
- signalwire_agents/cli/types.py +72 -0
- signalwire_agents/core/agent/__init__.py +1 -3
- signalwire_agents/core/agent/config/__init__.py +1 -3
- signalwire_agents/core/agent/prompt/manager.py +25 -7
- signalwire_agents/core/agent/tools/decorator.py +2 -0
- signalwire_agents/core/agent/tools/registry.py +8 -0
- signalwire_agents/core/agent_base.py +492 -3053
- signalwire_agents/core/function_result.py +31 -42
- signalwire_agents/core/mixins/__init__.py +28 -0
- signalwire_agents/core/mixins/ai_config_mixin.py +373 -0
- signalwire_agents/core/mixins/auth_mixin.py +287 -0
- signalwire_agents/core/mixins/prompt_mixin.py +345 -0
- signalwire_agents/core/mixins/serverless_mixin.py +368 -0
- signalwire_agents/core/mixins/skill_mixin.py +55 -0
- signalwire_agents/core/mixins/state_mixin.py +219 -0
- signalwire_agents/core/mixins/tool_mixin.py +295 -0
- signalwire_agents/core/mixins/web_mixin.py +1130 -0
- signalwire_agents/core/skill_manager.py +3 -1
- signalwire_agents/core/swaig_function.py +10 -1
- signalwire_agents/core/swml_service.py +140 -58
- signalwire_agents/skills/README.md +452 -0
- signalwire_agents/skills/api_ninjas_trivia/README.md +215 -0
- signalwire_agents/skills/datasphere/README.md +210 -0
- signalwire_agents/skills/datasphere_serverless/README.md +258 -0
- signalwire_agents/skills/datetime/README.md +132 -0
- signalwire_agents/skills/joke/README.md +149 -0
- signalwire_agents/skills/math/README.md +161 -0
- signalwire_agents/skills/native_vector_search/skill.py +33 -13
- signalwire_agents/skills/play_background_file/README.md +218 -0
- signalwire_agents/skills/spider/README.md +236 -0
- signalwire_agents/skills/spider/__init__.py +4 -0
- signalwire_agents/skills/spider/skill.py +479 -0
- signalwire_agents/skills/swml_transfer/README.md +395 -0
- signalwire_agents/skills/swml_transfer/__init__.py +1 -0
- signalwire_agents/skills/swml_transfer/skill.py +257 -0
- signalwire_agents/skills/weather_api/README.md +178 -0
- signalwire_agents/skills/web_search/README.md +163 -0
- signalwire_agents/skills/wikipedia_search/README.md +228 -0
- {signalwire_agents-0.1.23.dist-info → signalwire_agents-0.1.25.dist-info}/METADATA +47 -2
- {signalwire_agents-0.1.23.dist-info → signalwire_agents-0.1.25.dist-info}/RECORD +62 -22
- {signalwire_agents-0.1.23.dist-info → signalwire_agents-0.1.25.dist-info}/entry_points.txt +1 -1
- signalwire_agents/core/agent/config/ephemeral.py +0 -176
- signalwire_agents-0.1.23.data/data/schema.json +0 -5611
- {signalwire_agents-0.1.23.dist-info → signalwire_agents-0.1.25.dist-info}/WHEEL +0 -0
- {signalwire_agents-0.1.23.dist-info → signalwire_agents-0.1.25.dist-info}/licenses/LICENSE +0 -0
- {signalwire_agents-0.1.23.dist-info → signalwire_agents-0.1.25.dist-info}/top_level.txt +0 -0
@@ -1,36 +1,60 @@
|
|
1
|
-
signalwire_agents/__init__.py,sha256=
|
2
|
-
signalwire_agents/agent_server.py,sha256=
|
1
|
+
signalwire_agents/__init__.py,sha256=AwHVonFdDJ9C3IoIp_OWPPl-DwzxklaOTwzOLQQQCzk,2707
|
2
|
+
signalwire_agents/agent_server.py,sha256=x9HyWia8D3r6KMqY-Q4DtNVivfJWLTx8B-KzUI8okuA,26880
|
3
3
|
signalwire_agents/schema.json,sha256=M8Mn6pQda2P9jhbmkALrLr1wt-fRuhYRqdmEi9Rbhqk,178075
|
4
4
|
signalwire_agents/cli/__init__.py,sha256=Iy2BfWDWBEZoA1cyHTDsooBSVMx4vH5Ddhr3sEuFe8c,197
|
5
5
|
signalwire_agents/cli/build_search.py,sha256=KLQJBqVSADFyGcKAi0KLwU_UoUd5rtRoKAdfcH91u70,28652
|
6
|
-
signalwire_agents/cli/
|
6
|
+
signalwire_agents/cli/config.py,sha256=SeUcI7bNr_eCdn3oPfdEwDrVIkl7kdmqPvPbQgREm7Q,1862
|
7
|
+
signalwire_agents/cli/test_swaig.py,sha256=5cYX7V5U5uwvOebi0zGdOQzD5zzC8kLPt3QdgkihtmI,30255
|
8
|
+
signalwire_agents/cli/types.py,sha256=fjj3LV6upZDzplxqOYHyi3lxIkKKTWNPUtKt9yPGYXs,1619
|
9
|
+
signalwire_agents/cli/core/__init__.py,sha256=hfGAdbsh-TWkN8KvQGAlfHIs9D-KfG5W6peP47pjV08,38
|
10
|
+
signalwire_agents/cli/core/agent_loader.py,sha256=55wXgJhIZX8gDP0d-EVqTrVYiZgXDGBJq9wErwL46e8,10394
|
11
|
+
signalwire_agents/cli/core/argparse_helpers.py,sha256=x0OmsLzHikZDY4zmv_40RkiwS3377xUJUJT4y_8flEE,6284
|
12
|
+
signalwire_agents/cli/core/dynamic_config.py,sha256=K5DPttmAo1sFM5a6zVsUE_B4nlgyufLLAJ1MfmNk6bE,2495
|
13
|
+
signalwire_agents/cli/execution/__init__.py,sha256=CK1XG7zxUqLxey4yrYIbko3dhDV9YVCypaZg0JvhXLc,32
|
14
|
+
signalwire_agents/cli/execution/datamap_exec.py,sha256=Oykhcz7L92mZTczEDt2vc-d0wiHKCTFzdhcMD4snFSQ,20198
|
15
|
+
signalwire_agents/cli/execution/webhook_exec.py,sha256=NCC8hyUhK_f_7IaVOC84yJWyRRm8mnfdBjJPoNTSYzI,4519
|
16
|
+
signalwire_agents/cli/output/__init__.py,sha256=KA_odlDmJFp7Bat7Z5gjWb1RdbMCDVGov4vWF0OS8qI,43
|
17
|
+
signalwire_agents/cli/output/output_formatter.py,sha256=MidaaCrhOuLJ3L_nsbNFTh92E_uOKeJruuR0pakNZZ0,5577
|
18
|
+
signalwire_agents/cli/output/swml_dump.py,sha256=S0lPhm1-XiZk0TU2SfOPTMRa5iGubStHI6MbQsiAXaw,6449
|
19
|
+
signalwire_agents/cli/simulation/__init__.py,sha256=D-9DVP3Xat3eTxgX-L63cSdtM5X8nGA54bcPGlEm600,45
|
20
|
+
signalwire_agents/cli/simulation/data_generation.py,sha256=ueQ8Ga5mng8jd87dzxN5rzwbbzboMpd6vB7_yUwjGHE,11727
|
21
|
+
signalwire_agents/cli/simulation/data_overrides.py,sha256=nXJp2x7QsCRvCjrhwkaEq-kXu0aKOywhVcx02S6S7Hk,5959
|
22
|
+
signalwire_agents/cli/simulation/mock_env.py,sha256=S6uGDGEO-4dXAyCJEZO1hkwiyJmYXBZx5o8XT0as0fc,9950
|
7
23
|
signalwire_agents/core/__init__.py,sha256=xjPq8DmUnWYUG28sd17n430VWPmMH9oZ9W14gYwG96g,806
|
8
|
-
signalwire_agents/core/agent_base.py,sha256=
|
24
|
+
signalwire_agents/core/agent_base.py,sha256=5U_Wrcairdz42w6E9N_Sw5G3kPV8ad46v9qQDzbDoIg,44651
|
9
25
|
signalwire_agents/core/contexts.py,sha256=RQGIZGR92AC90nv8_hGa8S4YGY-SmMa1giR4g7jLgQI,21283
|
10
26
|
signalwire_agents/core/data_map.py,sha256=0qp3VcrRS0RtZPApoAaGgM-udLBb1ysnyMJuWd6sSew,17134
|
11
|
-
signalwire_agents/core/function_result.py,sha256=
|
27
|
+
signalwire_agents/core/function_result.py,sha256=MZZUoAHN8AXry-OBNA6Od5l-bKvMM2ruvnqHLbNhSiQ,44959
|
12
28
|
signalwire_agents/core/logging_config.py,sha256=x4d_RAjBjVpJOFA2vXnPP2dNr13BZHz091J5rGpC77Y,13142
|
13
29
|
signalwire_agents/core/pom_builder.py,sha256=ywuiIfP8BeLBPo_G4X1teZlG6zTCMkW71CZnmyoDTAQ,6636
|
14
30
|
signalwire_agents/core/skill_base.py,sha256=lOpVTLhD9NjStF7Lxh6bAQUGa3DpNYV4agXJRakRuX0,4258
|
15
|
-
signalwire_agents/core/skill_manager.py,sha256=
|
16
|
-
signalwire_agents/core/swaig_function.py,sha256=
|
31
|
+
signalwire_agents/core/skill_manager.py,sha256=zTuotT8rne_kx9j8lyGe7b8UM8fS0vthwuztax6vhwA,7375
|
32
|
+
signalwire_agents/core/swaig_function.py,sha256=VFIYQWltvYMrUfN_lfda-YzuQ2PqF2vhb-PegAliwCc,7076
|
17
33
|
signalwire_agents/core/swml_builder.py,sha256=tJBFDAVTENEfjGLp2h9_AKOYt5O9FrSYLI-nZZVwM1E,15604
|
18
34
|
signalwire_agents/core/swml_handler.py,sha256=hFDq41dQWL3EdFbq6h0hizE1dIqdVeiTeCrujbZsPzo,8397
|
19
35
|
signalwire_agents/core/swml_renderer.py,sha256=-WAB_5ss836a8nBo5zlb6SaQKFNF4XIo1odWIXM4eE8,6860
|
20
|
-
signalwire_agents/core/swml_service.py,sha256=
|
21
|
-
signalwire_agents/core/agent/__init__.py,sha256=
|
22
|
-
signalwire_agents/core/agent/config/__init__.py,sha256=
|
23
|
-
signalwire_agents/core/agent/config/ephemeral.py,sha256=zoCA8-BE9jR-qvntUlabXozPHTTzgF9RdDA5SR5heeE,6423
|
36
|
+
signalwire_agents/core/swml_service.py,sha256=Tlyr2p1cPFoF3SPi8enFLiYkXepitH2LodOFawPpHos,50181
|
37
|
+
signalwire_agents/core/agent/__init__.py,sha256=qccTmLD9b24tZDAoIPEY6vJ2p1R_ArZ_ZCKbBlKvPQ8,239
|
38
|
+
signalwire_agents/core/agent/config/__init__.py,sha256=5XvTfnYeeGdoLr4tJjbe1OhF26nOcR5VTDIhtMGCu3I,244
|
24
39
|
signalwire_agents/core/agent/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
40
|
signalwire_agents/core/agent/deployment/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
41
|
signalwire_agents/core/agent/prompt/__init__.py,sha256=4pKL3P7q9uAEtbwOKSJ_supaDn8LZl2uKXuWM72f_Pg,288
|
27
|
-
signalwire_agents/core/agent/prompt/manager.py,sha256=
|
42
|
+
signalwire_agents/core/agent/prompt/manager.py,sha256=0jNTufykxuz8O2w-gsHeTxWH-f36suawWjNF5JYZ_X0,10074
|
28
43
|
signalwire_agents/core/agent/routing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
44
|
signalwire_agents/core/agent/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
45
|
signalwire_agents/core/agent/swml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
31
46
|
signalwire_agents/core/agent/tools/__init__.py,sha256=eOcmyeGm6qogT3wsBx7QvdjmTbc1p5hnPR6uIlvTLxI,339
|
32
|
-
signalwire_agents/core/agent/tools/decorator.py,sha256=
|
33
|
-
signalwire_agents/core/agent/tools/registry.py,sha256=
|
47
|
+
signalwire_agents/core/agent/tools/decorator.py,sha256=pC6j1114GwVBd2U3h23I9gKLtu8AgeiuWV0lUzz682U,2961
|
48
|
+
signalwire_agents/core/agent/tools/registry.py,sha256=CgsCUMWBV4Use1baNl2KLYS2ewKjjOwm28kC_T7R6mU,7459
|
49
|
+
signalwire_agents/core/mixins/__init__.py,sha256=NsFpfF7TDP_lNR0Riw4Nbvt4fDbv_A3OoVbBqRrtXQM,652
|
50
|
+
signalwire_agents/core/mixins/ai_config_mixin.py,sha256=t_Hbmox7NbV-aRjnYQSWbp-HGwCsJCJaRp2lkkf4YOo,13155
|
51
|
+
signalwire_agents/core/mixins/auth_mixin.py,sha256=Y9kR423-76U_pKL7KXzseeXX2a-4WxNWyo3odS7TDQM,9879
|
52
|
+
signalwire_agents/core/mixins/prompt_mixin.py,sha256=2cAJpp3Ka-fmgpAg201xeTy-xps99k0vlP7YyqZiCnw,13374
|
53
|
+
signalwire_agents/core/mixins/serverless_mixin.py,sha256=QIIbl_-16XFJi5aqrWpNzORbyCJQmhaplWXnW6U9i68,16137
|
54
|
+
signalwire_agents/core/mixins/skill_mixin.py,sha256=Qz3RKPmq_iMY4NecyxOHk3dW3W-O4iEm2ahhMjAcqRs,1861
|
55
|
+
signalwire_agents/core/mixins/state_mixin.py,sha256=GMYaPBCDqCj0O4Ol6owVnl7kK8OXe3l4BTd-ViOqDCg,9272
|
56
|
+
signalwire_agents/core/mixins/tool_mixin.py,sha256=zVmBAfZpusdkZrYgSThTZt6O7YKi7UBQqZZEcWBDmvo,11333
|
57
|
+
signalwire_agents/core/mixins/web_mixin.py,sha256=BUzmTkPIHGfitzbn1p94SDSqp-7x_IesjliypagB4oI,50324
|
34
58
|
signalwire_agents/core/security/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
35
59
|
signalwire_agents/core/security/session_manager.py,sha256=s5hXYcFnrsYFoyo-zcN7EJy-wInZQI_cWTBHX9MxHR4,9164
|
36
60
|
signalwire_agents/core/state/__init__.py,sha256=qpYIfQBApet6VQsy6diS3yu0lMxCBC6REOUk5l1McUw,379
|
@@ -48,28 +72,45 @@ signalwire_agents/search/index_builder.py,sha256=MHqrLZfNjWAM7EtL1L4wqrS1ICXKI_G
|
|
48
72
|
signalwire_agents/search/query_processor.py,sha256=WMm_jjArQ6-Jpy0Cc0sUI4saidOtDRKx_XLv0qi3N3k,16739
|
49
73
|
signalwire_agents/search/search_engine.py,sha256=KFF33aPsBdwb2N1aTJmAA0xo3KPANoXjwV53uSxih9o,14798
|
50
74
|
signalwire_agents/search/search_service.py,sha256=Src_REgjkcddHBDCaLv2BMJnDSxcE4XV_1U8YStJOh8,8719
|
75
|
+
signalwire_agents/skills/README.md,sha256=sM1_08IsKdRDCzYHPLzppJbaK5MvRelsVL6Kd9A9Ubo,12193
|
51
76
|
signalwire_agents/skills/__init__.py,sha256=j0HambEKTkrFNP2vsaSmfrMJNDabq4EuvYJqRKZXfxU,342
|
52
77
|
signalwire_agents/skills/registry.py,sha256=lnr0XFOQ5YC_WgsAT6Id3RMAJ2-nf2ZCdqB7z_huLQI,4889
|
78
|
+
signalwire_agents/skills/api_ninjas_trivia/README.md,sha256=SoyS7VFh3eVIiVnQ5gfTfs0a_gAlLwnmT2W2FrbNU0A,6762
|
53
79
|
signalwire_agents/skills/api_ninjas_trivia/__init__.py,sha256=HFHBTgOoySlFPLN0thxuhaYFJbK7PUoS_uIHXI1m_xY,76
|
54
80
|
signalwire_agents/skills/api_ninjas_trivia/skill.py,sha256=PzVGM8ep80o-AzPfZIiXlWMghs0f28T1DVYZRQQOG3A,7206
|
81
|
+
signalwire_agents/skills/datasphere/README.md,sha256=7G5t0V04SlnJ39U-3zOoIOfkNFrVEo-s45lCUlYmJGo,7351
|
55
82
|
signalwire_agents/skills/datasphere/__init__.py,sha256=SJJlmeMSeezjINPgkuWN1XzDPN_Z3GzZ_StzO1BtxQs,257
|
56
83
|
signalwire_agents/skills/datasphere/skill.py,sha256=L6GrGwej3sKPcHljKBNf4it5g4DaGzR18KlQx65_XKg,9598
|
84
|
+
signalwire_agents/skills/datasphere_serverless/README.md,sha256=FErV97NEdYD_N1wZxkLqy6DSml5B9mCJmEgCUdGxh6A,9299
|
57
85
|
signalwire_agents/skills/datasphere_serverless/__init__.py,sha256=65hu8_0eqiczLSZ-aJgASpMQqTUjzTQUI1fC8GI7qTI,70
|
58
86
|
signalwire_agents/skills/datasphere_serverless/skill.py,sha256=zgEoTY8Jm6YKJBzM1kn3j7tf492K-NiKG7DbE3GReeE,6787
|
87
|
+
signalwire_agents/skills/datetime/README.md,sha256=95SzVz-Pcm9MPqZ4D3sSYKMwdpsDNwwCpWFRK027-Pc,4534
|
59
88
|
signalwire_agents/skills/datetime/__init__.py,sha256=coPaY-k2EyZWuYckGunhSJ65Y1Jwz66h-iOo0QWb5WY,43
|
60
89
|
signalwire_agents/skills/datetime/skill.py,sha256=aBBdcPV5xWX6uWi9W0VqZ0kKOqC3JHrAhG1bZn58ro8,3900
|
90
|
+
signalwire_agents/skills/joke/README.md,sha256=xUa2_0Pk9neli-UJxI4BPt3Fb1_5Xa3m8RuDlrkfBao,3594
|
61
91
|
signalwire_agents/skills/joke/__init__.py,sha256=R-iS9UMMvOdpkxL9aooVik16eCddJw14Rz4PmFqCdsM,53
|
62
92
|
signalwire_agents/skills/joke/skill.py,sha256=AFaf6fMy0sxUPJHvcnf3CWMuPqpJP4ODscUexMadEcU,3381
|
93
|
+
signalwire_agents/skills/math/README.md,sha256=Nrv7PxkFPSxdnAN6856Fp1CfvsUwdncpRFFDERxmMe0,5335
|
63
94
|
signalwire_agents/skills/math/__init__.py,sha256=lGAFWEmJH2fuwkuZUdDTY5dmucrIwtjfNT8bE2hOSP8,39
|
64
95
|
signalwire_agents/skills/math/skill.py,sha256=5sErd5x1rFHJg2GlmdJB3LvrmvTNOrZsA2jRnG67Zw8,3342
|
65
96
|
signalwire_agents/skills/native_vector_search/__init__.py,sha256=buvncVoH5u8MJA0SLlz1JQgIuyBTQW5aql-ydnc7Wh8,29
|
66
|
-
signalwire_agents/skills/native_vector_search/skill.py,sha256=
|
97
|
+
signalwire_agents/skills/native_vector_search/skill.py,sha256=Ck74rnlZ1HtnmEWRhZW1bSF_-PzpV3q-sNOu_LmeDQ0,18934
|
98
|
+
signalwire_agents/skills/play_background_file/README.md,sha256=omJ_jY5Co6Mk-gJt_hoSl40wemmTbzae3DBll6HL0B4,7026
|
67
99
|
signalwire_agents/skills/play_background_file/__init__.py,sha256=exCFsX6Mi0l4YBQfiSv5NdUAimv9YqVokK5M4x0nlV4,82
|
68
100
|
signalwire_agents/skills/play_background_file/skill.py,sha256=iQO8Xd1U92gff5O1lEuhL3dXcAUkQbcfoUSgKWuf_FM,7164
|
101
|
+
signalwire_agents/skills/spider/README.md,sha256=yBa09JzgLikG3STbDNbRCKUM3l3XU5-D923I2g8CTVc,6909
|
102
|
+
signalwire_agents/skills/spider/__init__.py,sha256=O0Xvgj2KWOdeyb2U-q1QFVUzPv1yylsreRDxmB4ns5E,94
|
103
|
+
signalwire_agents/skills/spider/skill.py,sha256=l9a2Re0-vb1UeRevXsDb_2qxuMfaOo7bE8M-0Ly837M,18976
|
104
|
+
signalwire_agents/skills/swml_transfer/README.md,sha256=2Y6CH5Bm9kI5IYCLczIQIYlaYUq6VX_S4Irct2CQMmQ,14681
|
105
|
+
signalwire_agents/skills/swml_transfer/__init__.py,sha256=V8upr8xlgXMB4xHzSWCcEAw6cpZxGB0mjrFdqHCSQJU,47
|
106
|
+
signalwire_agents/skills/swml_transfer/skill.py,sha256=Me_m0Edn76_KA1bAiJLDNPqv-hXR-6MTNeVKok8eVUk,10834
|
107
|
+
signalwire_agents/skills/weather_api/README.md,sha256=buzCtrhxXAxZ8k7Qt_lR62E_tqnpXmXRsTarb_F43zg,6439
|
69
108
|
signalwire_agents/skills/weather_api/__init__.py,sha256=ezHyWbpvMoEopWG5_vI6u8Ugo0BsmR_gWvtPwzQWoe0,66
|
70
109
|
signalwire_agents/skills/weather_api/skill.py,sha256=lTLRUFcgJvhZewZlwaMbLubAB7yVjAxpGG2wbqi9yS4,6026
|
110
|
+
signalwire_agents/skills/web_search/README.md,sha256=Y95cxEScMzhmslUJF8u_Nh15FbEBuus4P-E8_kk2an0,5438
|
71
111
|
signalwire_agents/skills/web_search/__init__.py,sha256=wJlptYDExYw-nxZJVzlTLOgkKkDOLUUt1ZdoLt44ixs,45
|
72
112
|
signalwire_agents/skills/web_search/skill.py,sha256=6EwoNABxEH5UkEdXsPT72PQzoVlFUbWsFJR6NuyhglI,10363
|
113
|
+
signalwire_agents/skills/wikipedia_search/README.md,sha256=KFIQ8XhqrTG8NRs72dIbjJacy2DlYEXLtxgy23gyRi4,7585
|
73
114
|
signalwire_agents/skills/wikipedia_search/__init__.py,sha256=8Db_aE0ly7QoXg7n2RDvCqKupkyR-UYlK9uFUnGNCE8,184
|
74
115
|
signalwire_agents/skills/wikipedia_search/skill.py,sha256=Q_HWJoG2RkQuZMgWxD9czuzEor79Gy1tjo6ywVzec84,6877
|
75
116
|
signalwire_agents/utils/__init__.py,sha256=1KVsHzwgfktSXHe3vqSRGImjtIE58szwD2FHHoFBtvY,601
|
@@ -77,10 +118,9 @@ signalwire_agents/utils/pom_utils.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_Pu
|
|
77
118
|
signalwire_agents/utils/schema_utils.py,sha256=i4okv_O9bUApwT_jJf4Yoij3bLCrGrW3DC-vzSy2RuY,16392
|
78
119
|
signalwire_agents/utils/token_generators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
79
120
|
signalwire_agents/utils/validators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
80
|
-
signalwire_agents-0.1.
|
81
|
-
signalwire_agents-0.1.
|
82
|
-
signalwire_agents-0.1.
|
83
|
-
signalwire_agents-0.1.
|
84
|
-
signalwire_agents-0.1.
|
85
|
-
signalwire_agents-0.1.
|
86
|
-
signalwire_agents-0.1.23.dist-info/RECORD,,
|
121
|
+
signalwire_agents-0.1.25.dist-info/licenses/LICENSE,sha256=NYvAsB-rTcSvG9cqHt9EUHAWLiA9YzM4Qfz-mPdvDR0,1067
|
122
|
+
signalwire_agents-0.1.25.dist-info/METADATA,sha256=18UrkQC-tsdNY9xzxD6n8s_uAdPQ6VllLPRDZZBPXS8,37922
|
123
|
+
signalwire_agents-0.1.25.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
124
|
+
signalwire_agents-0.1.25.dist-info/entry_points.txt,sha256=sfdeRaTSs9J56pqFdcZGRTxQcTuecb8IMx8gqleJ6s0,136
|
125
|
+
signalwire_agents-0.1.25.dist-info/top_level.txt,sha256=kDGS6ZYv84K9P5Kyg9_S8P_pbUXoHkso0On_DB5bbWc,18
|
126
|
+
signalwire_agents-0.1.25.dist-info/RECORD,,
|
@@ -1,176 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Copyright (c) 2025 SignalWire
|
3
|
-
|
4
|
-
This file is part of the SignalWire AI Agents SDK.
|
5
|
-
|
6
|
-
Licensed under the MIT License.
|
7
|
-
See LICENSE file in the project root for full license information.
|
8
|
-
"""
|
9
|
-
|
10
|
-
"""Ephemeral agent configuration for dynamic per-request settings."""
|
11
|
-
|
12
|
-
from typing import Dict, Any, Optional, List
|
13
|
-
|
14
|
-
|
15
|
-
class EphemeralAgentConfig:
|
16
|
-
"""
|
17
|
-
An ephemeral configurator object that mimics AgentBase's configuration interface.
|
18
|
-
|
19
|
-
This allows dynamic configuration callbacks to use the same familiar methods
|
20
|
-
they would use during agent initialization, but for per-request configuration.
|
21
|
-
"""
|
22
|
-
|
23
|
-
def __init__(self):
|
24
|
-
# Initialize all configuration containers
|
25
|
-
self._hints = []
|
26
|
-
self._languages = []
|
27
|
-
self._pronounce = []
|
28
|
-
self._params = {}
|
29
|
-
self._global_data = {}
|
30
|
-
self._prompt_sections = []
|
31
|
-
self._raw_prompt = None
|
32
|
-
self._post_prompt = None
|
33
|
-
self._function_includes = []
|
34
|
-
self._native_functions = []
|
35
|
-
|
36
|
-
# Mirror all the AgentBase configuration methods
|
37
|
-
|
38
|
-
def add_hint(self, hint: str) -> 'EphemeralAgentConfig':
|
39
|
-
"""Add a simple string hint"""
|
40
|
-
if isinstance(hint, str) and hint:
|
41
|
-
self._hints.append(hint)
|
42
|
-
return self
|
43
|
-
|
44
|
-
def add_hints(self, hints: List[str]) -> 'EphemeralAgentConfig':
|
45
|
-
"""Add multiple string hints"""
|
46
|
-
if hints and isinstance(hints, list):
|
47
|
-
for hint in hints:
|
48
|
-
if isinstance(hint, str) and hint:
|
49
|
-
self._hints.append(hint)
|
50
|
-
return self
|
51
|
-
|
52
|
-
def add_language(self, name: str, code: str, voice: str, **kwargs) -> 'EphemeralAgentConfig':
|
53
|
-
"""Add a language configuration"""
|
54
|
-
language = {
|
55
|
-
"name": name,
|
56
|
-
"code": code,
|
57
|
-
"voice": voice
|
58
|
-
}
|
59
|
-
|
60
|
-
# Handle additional parameters
|
61
|
-
for key, value in kwargs.items():
|
62
|
-
if key in ["engine", "model", "speech_fillers", "function_fillers", "fillers"]:
|
63
|
-
language[key] = value
|
64
|
-
|
65
|
-
self._languages.append(language)
|
66
|
-
return self
|
67
|
-
|
68
|
-
def add_pronunciation(self, replace: str, with_text: str, ignore_case: bool = False) -> 'EphemeralAgentConfig':
|
69
|
-
"""Add a pronunciation rule"""
|
70
|
-
if replace and with_text:
|
71
|
-
rule = {"replace": replace, "with": with_text}
|
72
|
-
if ignore_case:
|
73
|
-
rule["ignore_case"] = True
|
74
|
-
self._pronounce.append(rule)
|
75
|
-
return self
|
76
|
-
|
77
|
-
def set_param(self, key: str, value: Any) -> 'EphemeralAgentConfig':
|
78
|
-
"""Set a single AI parameter"""
|
79
|
-
if key:
|
80
|
-
self._params[key] = value
|
81
|
-
return self
|
82
|
-
|
83
|
-
def set_params(self, params: Dict[str, Any]) -> 'EphemeralAgentConfig':
|
84
|
-
"""Set multiple AI parameters"""
|
85
|
-
if params and isinstance(params, dict):
|
86
|
-
self._params.update(params)
|
87
|
-
return self
|
88
|
-
|
89
|
-
def set_global_data(self, data: Dict[str, Any]) -> 'EphemeralAgentConfig':
|
90
|
-
"""Set global data"""
|
91
|
-
if data and isinstance(data, dict):
|
92
|
-
self._global_data = data
|
93
|
-
return self
|
94
|
-
|
95
|
-
def update_global_data(self, data: Dict[str, Any]) -> 'EphemeralAgentConfig':
|
96
|
-
"""Update global data"""
|
97
|
-
if data and isinstance(data, dict):
|
98
|
-
self._global_data.update(data)
|
99
|
-
return self
|
100
|
-
|
101
|
-
def set_prompt_text(self, text: str) -> 'EphemeralAgentConfig':
|
102
|
-
"""Set raw prompt text"""
|
103
|
-
self._raw_prompt = text
|
104
|
-
return self
|
105
|
-
|
106
|
-
def set_post_prompt(self, text: str) -> 'EphemeralAgentConfig':
|
107
|
-
"""Set post-prompt text"""
|
108
|
-
self._post_prompt = text
|
109
|
-
return self
|
110
|
-
|
111
|
-
def prompt_add_section(self, title: str, body: str = "", bullets: Optional[List[str]] = None, **kwargs) -> 'EphemeralAgentConfig':
|
112
|
-
"""Add a prompt section"""
|
113
|
-
section = {
|
114
|
-
"title": title,
|
115
|
-
"body": body
|
116
|
-
}
|
117
|
-
if bullets:
|
118
|
-
section["bullets"] = bullets
|
119
|
-
|
120
|
-
# Handle additional parameters
|
121
|
-
for key, value in kwargs.items():
|
122
|
-
if key in ["numbered", "numbered_bullets", "subsections"]:
|
123
|
-
section[key] = value
|
124
|
-
|
125
|
-
self._prompt_sections.append(section)
|
126
|
-
return self
|
127
|
-
|
128
|
-
def set_native_functions(self, function_names: List[str]) -> 'EphemeralAgentConfig':
|
129
|
-
"""Set native functions"""
|
130
|
-
if function_names and isinstance(function_names, list):
|
131
|
-
self._native_functions = [name for name in function_names if isinstance(name, str)]
|
132
|
-
return self
|
133
|
-
|
134
|
-
def add_function_include(self, url: str, functions: List[str], meta_data: Optional[Dict[str, Any]] = None) -> 'EphemeralAgentConfig':
|
135
|
-
"""Add a function include"""
|
136
|
-
if url and functions and isinstance(functions, list):
|
137
|
-
include = {"url": url, "functions": functions}
|
138
|
-
if meta_data and isinstance(meta_data, dict):
|
139
|
-
include["meta_data"] = meta_data
|
140
|
-
self._function_includes.append(include)
|
141
|
-
return self
|
142
|
-
|
143
|
-
def extract_config(self) -> Dict[str, Any]:
|
144
|
-
"""
|
145
|
-
Extract the configuration as a dictionary for applying to the real agent.
|
146
|
-
|
147
|
-
Returns:
|
148
|
-
Dictionary containing all the configuration changes
|
149
|
-
"""
|
150
|
-
config = {}
|
151
|
-
|
152
|
-
if self._hints:
|
153
|
-
config["hints"] = self._hints
|
154
|
-
if self._languages:
|
155
|
-
config["languages"] = self._languages
|
156
|
-
if self._pronounce:
|
157
|
-
config["pronounce"] = self._pronounce
|
158
|
-
if self._params:
|
159
|
-
config["params"] = self._params
|
160
|
-
if self._global_data:
|
161
|
-
config["global_data"] = self._global_data
|
162
|
-
if self._function_includes:
|
163
|
-
config["function_includes"] = self._function_includes
|
164
|
-
if self._native_functions:
|
165
|
-
config["native_functions"] = self._native_functions
|
166
|
-
|
167
|
-
# Handle prompt sections - these should be applied to the agent's POM, not as raw config
|
168
|
-
# The calling code should use these to build the prompt properly
|
169
|
-
if self._prompt_sections:
|
170
|
-
config["_ephemeral_prompt_sections"] = self._prompt_sections
|
171
|
-
if self._raw_prompt:
|
172
|
-
config["_ephemeral_raw_prompt"] = self._raw_prompt
|
173
|
-
if self._post_prompt:
|
174
|
-
config["_ephemeral_post_prompt"] = self._post_prompt
|
175
|
-
|
176
|
-
return config
|