airtrain 0.1.61__py3-none-any.whl → 0.1.62__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.
- airtrain/__init__.py +5 -7
- airtrain/__pycache__/__init__.cpython-313.pyc +0 -0
- airtrain/core/__pycache__/__init__.cpython-313.pyc +0 -0
- airtrain/core/__pycache__/schemas.cpython-313.pyc +0 -0
- airtrain/core/__pycache__/skills.cpython-313.pyc +0 -0
- airtrain/integrations/__init__.py +13 -1
- airtrain/integrations/combined/list_models_factory.py +16 -5
- airtrain/integrations/search/exa/schemas.py +1 -1
- airtrain/integrations/search/exa/skills.py +1 -2
- airtrain/tools/command.py +1 -1
- {airtrain-0.1.61.dist-info → airtrain-0.1.62.dist-info}/METADATA +1 -1
- {airtrain-0.1.61.dist-info → airtrain-0.1.62.dist-info}/RECORD +15 -15
- {airtrain-0.1.61.dist-info → airtrain-0.1.62.dist-info}/WHEEL +1 -1
- {airtrain-0.1.61.dist-info → airtrain-0.1.62.dist-info}/entry_points.txt +0 -0
- {airtrain-0.1.61.dist-info → airtrain-0.1.62.dist-info}/top_level.txt +0 -0
airtrain/__init__.py
CHANGED
@@ -5,7 +5,7 @@ This library provides a flexible framework for building AI agents
|
|
5
5
|
that can complete complex tasks using AI models, skills, and tools.
|
6
6
|
"""
|
7
7
|
|
8
|
-
__version__ = "0.1.
|
8
|
+
__version__ = "0.1.62"
|
9
9
|
|
10
10
|
import sys
|
11
11
|
|
@@ -17,19 +17,18 @@ from .integrations import (
|
|
17
17
|
# OpenAI
|
18
18
|
OpenAICredentials,
|
19
19
|
OpenAIChatSkill,
|
20
|
-
OpenAICompletionSkill,
|
21
20
|
# Anthropic
|
22
21
|
AnthropicCredentials,
|
23
22
|
AnthropicChatSkill,
|
24
23
|
# Together.ai
|
25
24
|
TogetherAICredentials,
|
26
|
-
|
25
|
+
TogetherAIChatSkill,
|
27
26
|
# Fireworks
|
28
27
|
FireworksCredentials,
|
29
28
|
FireworksChatSkill,
|
30
29
|
# Google
|
31
30
|
GeminiCredentials,
|
32
|
-
|
31
|
+
GoogleChatSkill,
|
33
32
|
# Search
|
34
33
|
ExaCredentials,
|
35
34
|
ExaSearchSkill,
|
@@ -88,19 +87,18 @@ __all__ = [
|
|
88
87
|
# OpenAI Integration
|
89
88
|
"OpenAICredentials",
|
90
89
|
"OpenAIChatSkill",
|
91
|
-
"OpenAICompletionSkill",
|
92
90
|
# Anthropic Integration
|
93
91
|
"AnthropicCredentials",
|
94
92
|
"AnthropicChatSkill",
|
95
93
|
# Together Integration
|
96
94
|
"TogetherAICredentials",
|
97
|
-
"
|
95
|
+
"TogetherAIChatSkill",
|
98
96
|
# Fireworks Integration
|
99
97
|
"FireworksCredentials",
|
100
98
|
"FireworksChatSkill",
|
101
99
|
# Google Integration
|
102
100
|
"GeminiCredentials",
|
103
|
-
"
|
101
|
+
"GoogleChatSkill",
|
104
102
|
# Search Integration
|
105
103
|
"ExaCredentials",
|
106
104
|
"ExaSearchSkill",
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Credentials imports
|
4
4
|
from .openai.credentials import OpenAICredentials
|
5
5
|
from .aws.credentials import AWSCredentials
|
6
|
-
from .google.credentials import GoogleCloudCredentials
|
6
|
+
from .google.credentials import GoogleCloudCredentials, GeminiCredentials
|
7
7
|
from .anthropic.credentials import AnthropicCredentials
|
8
8
|
from .groq.credentials import GroqCredentials
|
9
9
|
from .together.credentials import TogetherAICredentials
|
@@ -11,6 +11,8 @@ from .ollama.credentials import OllamaCredentials
|
|
11
11
|
from .sambanova.credentials import SambanovaCredentials
|
12
12
|
from .cerebras.credentials import CerebrasCredentials
|
13
13
|
from .perplexity.credentials import PerplexityCredentials
|
14
|
+
from .fireworks.credentials import FireworksCredentials
|
15
|
+
from .search.exa.credentials import ExaCredentials
|
14
16
|
|
15
17
|
# Skills imports
|
16
18
|
from .openai.skills import OpenAIChatSkill, OpenAIParserSkill
|
@@ -23,6 +25,9 @@ from .ollama.skills import OllamaChatSkill
|
|
23
25
|
from .sambanova.skills import SambanovaChatSkill
|
24
26
|
from .cerebras.skills import CerebrasChatSkill
|
25
27
|
from .perplexity.skills import PerplexityChatSkill, PerplexityStreamingChatSkill
|
28
|
+
from .fireworks.skills import FireworksChatSkill
|
29
|
+
from .search.exa.skills import ExaSearchSkill
|
30
|
+
from .search.exa import ExaSearchInputSchema, ExaSearchOutputSchema
|
26
31
|
|
27
32
|
# Model configurations
|
28
33
|
from .openai.models_config import OPENAI_MODELS, OpenAIModelConfig
|
@@ -48,6 +53,9 @@ __all__ = [
|
|
48
53
|
"SambanovaCredentials",
|
49
54
|
"CerebrasCredentials",
|
50
55
|
"PerplexityCredentials",
|
56
|
+
"FireworksCredentials",
|
57
|
+
"GeminiCredentials",
|
58
|
+
"ExaCredentials",
|
51
59
|
# Skills
|
52
60
|
"OpenAIChatSkill",
|
53
61
|
"OpenAIParserSkill",
|
@@ -61,6 +69,10 @@ __all__ = [
|
|
61
69
|
"CerebrasChatSkill",
|
62
70
|
"PerplexityChatSkill",
|
63
71
|
"PerplexityStreamingChatSkill",
|
72
|
+
"FireworksChatSkill",
|
73
|
+
"ExaSearchSkill",
|
74
|
+
"ExaSearchInputSchema",
|
75
|
+
"ExaSearchOutputSchema",
|
64
76
|
# Model configurations
|
65
77
|
"OPENAI_MODELS",
|
66
78
|
"OpenAIModelConfig",
|
@@ -17,8 +17,8 @@ from airtrain.integrations.cerebras.credentials import CerebrasCredentials
|
|
17
17
|
from airtrain.integrations.sambanova.credentials import SambanovaCredentials
|
18
18
|
from airtrain.integrations.perplexity.credentials import PerplexityCredentials
|
19
19
|
|
20
|
-
#
|
21
|
-
from airtrain.integrations.perplexity.list_models import PerplexityListModelsSkill
|
20
|
+
# Remove this import to avoid circular dependency
|
21
|
+
# from airtrain.integrations.perplexity.list_models import PerplexityListModelsSkill
|
22
22
|
|
23
23
|
|
24
24
|
# Generic list models input schema
|
@@ -175,7 +175,8 @@ class ListModelsSkillFactory:
|
|
175
175
|
"groq": GroqListModelsSkill,
|
176
176
|
"cerebras": CerebrasListModelsSkill,
|
177
177
|
"sambanova": SambanovaListModelsSkill,
|
178
|
-
|
178
|
+
# Remove perplexity from this map as we'll handle it separately
|
179
|
+
# "perplexity": PerplexityListModelsSkill,
|
179
180
|
}
|
180
181
|
|
181
182
|
@classmethod
|
@@ -194,8 +195,17 @@ class ListModelsSkillFactory:
|
|
194
195
|
"""
|
195
196
|
provider = provider.lower()
|
196
197
|
|
198
|
+
# Special case for perplexity to avoid circular import
|
199
|
+
if provider == "perplexity":
|
200
|
+
# Import here to avoid circular import
|
201
|
+
from airtrain.integrations.perplexity.list_models import (
|
202
|
+
PerplexityListModelsSkill,
|
203
|
+
)
|
204
|
+
|
205
|
+
return PerplexityListModelsSkill(credentials=credentials)
|
206
|
+
|
197
207
|
if provider not in cls._PROVIDER_MAP:
|
198
|
-
supported = ", ".join(cls.get_supported_providers())
|
208
|
+
supported = ", ".join(cls.get_supported_providers() + ["perplexity"])
|
199
209
|
raise ValueError(
|
200
210
|
f"Unsupported provider: {provider}. "
|
201
211
|
f"Supported providers are: {supported}"
|
@@ -207,4 +217,5 @@ class ListModelsSkillFactory:
|
|
207
217
|
@classmethod
|
208
218
|
def get_supported_providers(cls):
|
209
219
|
"""Return a list of supported provider names"""
|
210
|
-
|
220
|
+
# Add perplexity to the list of supported providers
|
221
|
+
return list(cls._PROVIDER_MAP.keys()) + ["perplexity"]
|
@@ -4,7 +4,7 @@ Schemas for Exa Search API.
|
|
4
4
|
This module defines the input and output schemas for the Exa search API.
|
5
5
|
"""
|
6
6
|
|
7
|
-
from typing import Dict, List, Optional, Any, Union
|
7
|
+
from typing import Dict, List, Optional, Any, Union
|
8
8
|
from pydantic import BaseModel, Field, HttpUrl
|
9
9
|
|
10
10
|
from airtrain.core.schemas import InputSchema, OutputSchema
|
@@ -11,8 +11,7 @@ from typing import Optional, Dict, Any, List, cast
|
|
11
11
|
|
12
12
|
from pydantic import ValidationError
|
13
13
|
|
14
|
-
from airtrain.core.skills import Skill
|
15
|
-
from airtrain.core.errors import ProcessingError
|
14
|
+
from airtrain.core.skills import Skill, ProcessingError
|
16
15
|
from .credentials import ExaCredentials
|
17
16
|
from .schemas import ExaSearchInputSchema, ExaSearchOutputSchema, ExaSearchResult
|
18
17
|
|
airtrain/tools/command.py
CHANGED
@@ -218,7 +218,7 @@ class FindFilesTool(StatelessTool):
|
|
218
218
|
}
|
219
219
|
|
220
220
|
|
221
|
-
@register_tool("terminal_navigation")
|
221
|
+
@register_tool("terminal_navigation", tool_type="stateful")
|
222
222
|
class TerminalNavigationTool(StatefulTool):
|
223
223
|
"""Tool for navigating through the terminal with state memory."""
|
224
224
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
airtrain/__init__.py,sha256=
|
1
|
+
airtrain/__init__.py,sha256=gTO8GEuN1gIKjo5HlBOURfVnRtEuv61zF-HMxTXQYQk,3357
|
2
2
|
airtrain/__main__.py,sha256=EU8ffFmCdC1G-UcHHt0Oo3lB1PGqfC6kwzH39CnYSwU,72
|
3
|
-
airtrain/__pycache__/__init__.cpython-313.pyc,sha256=
|
3
|
+
airtrain/__pycache__/__init__.cpython-313.pyc,sha256=gNzuKeI25qKWqhRq6MRzf8Otl1qJEekuX_QU0HAx7bE,2759
|
4
4
|
airtrain/agents/__init__.py,sha256=r6v5_bblxamRgiaCT8CVhyzaDdWohGM7sSjLgIUpA5s,795
|
5
5
|
airtrain/agents/example_agent.py,sha256=0dCS8QXIvUYYkxwyOEMLMdlQ4KgMAerQ56r7NcYGqTw,11681
|
6
6
|
airtrain/agents/groq_agent.py,sha256=s-f-cGSrgsR4Jlrv6xzeg2Z0LAEHByhFMYVbTvu-Bkg,10558
|
@@ -19,10 +19,10 @@ airtrain/core/__init__.py,sha256=9h7iKwTzZocCPc9bU6j8bA02BokteWIOcO1uaqGMcrk,254
|
|
19
19
|
airtrain/core/credentials.py,sha256=J1jd8vLrOfet0GhLI1J44d35o7skjriBsMgpODmXwfo,5592
|
20
20
|
airtrain/core/schemas.py,sha256=MMXrDviC4gRea_QaPpbjgO--B_UKxnD7YrxqZOLJZZU,7003
|
21
21
|
airtrain/core/skills.py,sha256=kIkI1MwIzuAwyoxdnZ5MGOb70BOB-njbVb_csJEdVvc,9244
|
22
|
-
airtrain/core/__pycache__/__init__.cpython-313.pyc,sha256=
|
23
|
-
airtrain/core/__pycache__/schemas.cpython-313.pyc,sha256=
|
24
|
-
airtrain/core/__pycache__/skills.cpython-313.pyc,sha256=
|
25
|
-
airtrain/integrations/__init__.py,sha256=
|
22
|
+
airtrain/core/__pycache__/__init__.cpython-313.pyc,sha256=aHwrmX5Hf3s9pSa8V0PH3ytqldRjB_X9AWwA6IDpzyk,534
|
23
|
+
airtrain/core/__pycache__/schemas.cpython-313.pyc,sha256=WpKRuARzTVGt_NDMApl8GNIQgF_jZcHV34z-KYs3g5g,8327
|
24
|
+
airtrain/core/__pycache__/skills.cpython-313.pyc,sha256=4EppdsB6rISIJNF8CbyCPHXlMCX1JKETeKxOS8hENLw,11839
|
25
|
+
airtrain/integrations/__init__.py,sha256=nGG3gZJ_sEaMzi_utsQCzExgnpHUjua8L9TyzofLQnw,2842
|
26
26
|
airtrain/integrations/anthropic/__init__.py,sha256=K741w3v7fWsCknTo38ARqDL0D3HPlwDIvDuuBao9Tto,800
|
27
27
|
airtrain/integrations/anthropic/credentials.py,sha256=hlTSw9HX66kYNaeQUtn0JjdZQBMNkzzFOJOoLOOzvcY,1246
|
28
28
|
airtrain/integrations/anthropic/list_models.py,sha256=o7FABp0Cq3gs76zOF-CM9ohmYslWT6vK9qtQabV9XzI,3973
|
@@ -36,7 +36,7 @@ airtrain/integrations/cerebras/credentials.py,sha256=KDEH4r8FGT68L9p34MLZWK65wq_
|
|
36
36
|
airtrain/integrations/cerebras/skills.py,sha256=BJEb_7TglCYAukD3kcx37R8ibnJWdxVrBrwf3ZTYP-4,4924
|
37
37
|
airtrain/integrations/combined/__init__.py,sha256=EL_uZs8436abeZA6NbM-gLdur7kJr4YfGGOYybKOhjc,467
|
38
38
|
airtrain/integrations/combined/groq_fireworks_skills.py,sha256=Kz8UDU4-Rl71znz3ml9qVMRz669iWx4sUl37iafW0NU,4612
|
39
|
-
airtrain/integrations/combined/list_models_factory.py,sha256=
|
39
|
+
airtrain/integrations/combined/list_models_factory.py,sha256=pFvIMeAZSRC7e51qknD9LzLkNhNgZL4pItzGNGzZdNY,8263
|
40
40
|
airtrain/integrations/fireworks/__init__.py,sha256=GstUg0rYC-7Pg0DVbDXwL5eO1hp3WCSfroWazbGpfi0,545
|
41
41
|
airtrain/integrations/fireworks/completion_skills.py,sha256=zxx7aNlum9scQMri5Ek0qN8VfAomhyUp3u8JJo_AFWM,5615
|
42
42
|
airtrain/integrations/fireworks/conversation_manager.py,sha256=ifscKHYKWM_NDElin-oTzpRhyoh6pzBnklmMuH5geOY,3706
|
@@ -75,8 +75,8 @@ airtrain/integrations/sambanova/skills.py,sha256=SZ_GAimMiOCILiNkzyhNflyRR6bdC5r
|
|
75
75
|
airtrain/integrations/search/__init__.py,sha256=r-hCYff5IdgI4IgQyMUzKzc_CVryl1oiweaGC3TwZ-8,405
|
76
76
|
airtrain/integrations/search/exa/__init__.py,sha256=YdINIFcuT4pC72obDYx7DHVdMzlEg03BRQJi57SKc3g,486
|
77
77
|
airtrain/integrations/search/exa/credentials.py,sha256=yOJIQdWs6RXX2Msk453VHH7FYQffpF946afaEWgVg4o,900
|
78
|
-
airtrain/integrations/search/exa/schemas.py,sha256=
|
79
|
-
airtrain/integrations/search/exa/skills.py,sha256=
|
78
|
+
airtrain/integrations/search/exa/schemas.py,sha256=QsTh-UfCAJ-YCy0TgjC7iJDADBCdY3Eu4NBi9BSGiuk,3791
|
79
|
+
airtrain/integrations/search/exa/skills.py,sha256=zCoSOxeJk27umLHdYVZbW5sDz-kcbuBzH0SE0C7lLZg,3754
|
80
80
|
airtrain/integrations/together/__init__.py,sha256=5p2v5kvryl-Z8eSMxdrMQtgzynPo6zQ6vZqpxBADA1I,878
|
81
81
|
airtrain/integrations/together/audio_models_config.py,sha256=GtqfmKR1vJ5x4B3kScvEO3x4exvzwNP78vcGVTk_fBE,1004
|
82
82
|
airtrain/integrations/together/credentials.py,sha256=cYNhyIwgsxm8LfiFfT-omBvgV3mUP6SZeRSukyzzDlI,747
|
@@ -95,14 +95,14 @@ airtrain/telemetry/__init__.py,sha256=_xDHzSmQvRCqihT0QTmF7bS9yKEl2LaZ3Zq05hXaI3
|
|
95
95
|
airtrain/telemetry/service.py,sha256=6IB2-FL3fGsYYgMIVQ9MNCp9UlSE5cVhLlB3VBYkAnY,5592
|
96
96
|
airtrain/telemetry/views.py,sha256=qob1swyLNEk_UIpDi5VTwMDsEsGZhJheFQrGbP8T5hw,8115
|
97
97
|
airtrain/tools/__init__.py,sha256=AauO_EEBcK09mkyCuvvVK_Oz0L5DOrnuySViWXCOt6Y,1021
|
98
|
-
airtrain/tools/command.py,sha256
|
98
|
+
airtrain/tools/command.py,sha256=dxvs6RzppjWmkUe1oMtxOc7w2mFOGFFZ9Gylwnm37Sw,13355
|
99
99
|
airtrain/tools/filesystem.py,sha256=-YYdHj_KeSWPYXeRhWhIX9s_KujVA1R5tF3r93zRVTU,6324
|
100
100
|
airtrain/tools/network.py,sha256=YR0AtMXDXkhCsXcx7_t2d12ItnKY8XXTmyP1kdj2M4c,3883
|
101
101
|
airtrain/tools/registry.py,sha256=K-1H5EipYcDNDx2jdpsEY9gjfV4aNCGI1pY2UsgSpC0,10246
|
102
102
|
airtrain/tools/search.py,sha256=MJNi17g6aBPSqbF0ChV8ZgMlzz_PoKSPAIpe_dazdt8,15081
|
103
103
|
airtrain/tools/testing.py,sha256=q4ALEPRzukiadY6wFSPY7vA-T1o3XInLhXt18dsf6yY,4397
|
104
|
-
airtrain-0.1.
|
105
|
-
airtrain-0.1.
|
106
|
-
airtrain-0.1.
|
107
|
-
airtrain-0.1.
|
108
|
-
airtrain-0.1.
|
104
|
+
airtrain-0.1.62.dist-info/METADATA,sha256=fAOQQht25N594JsKGN6sFuiqjVMPjKMtly_RP6JW9co,6503
|
105
|
+
airtrain-0.1.62.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
106
|
+
airtrain-0.1.62.dist-info/entry_points.txt,sha256=rrJ36IUsyq6n1dSfTWXqVAgpQLPRWDfCqwd6_3B-G0U,52
|
107
|
+
airtrain-0.1.62.dist-info/top_level.txt,sha256=cFWW1vY6VMCb3AGVdz6jBDpZ65xxBRSqlsPyySxTkxY,9
|
108
|
+
airtrain-0.1.62.dist-info/RECORD,,
|
File without changes
|
File without changes
|