janito 2.16.0__py3-none-any.whl → 2.17.0__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.
- janito/agent/setup_agent.py +1 -1
- janito/cli/cli_commands/list_drivers.py +1 -0
- janito/cli/cli_commands/set_api_key.py +16 -5
- janito/cli/prompt_setup.py +3 -0
- janito/drivers/cerebras/__init__.py +1 -0
- janito/providers/__init__.py +1 -0
- janito/providers/alibaba/provider.py +1 -3
- janito/providers/cerebras/__init__.py +1 -0
- janito/providers/cerebras/model_info.py +76 -0
- janito/providers/cerebras/provider.py +145 -0
- {janito-2.16.0.dist-info → janito-2.17.0.dist-info}/METADATA +1 -1
- {janito-2.16.0.dist-info → janito-2.17.0.dist-info}/RECORD +16 -12
- {janito-2.16.0.dist-info → janito-2.17.0.dist-info}/WHEEL +0 -0
- {janito-2.16.0.dist-info → janito-2.17.0.dist-info}/entry_points.txt +0 -0
- {janito-2.16.0.dist-info → janito-2.17.0.dist-info}/licenses/LICENSE +0 -0
- {janito-2.16.0.dist-info → janito-2.17.0.dist-info}/top_level.txt +0 -0
janito/agent/setup_agent.py
CHANGED
@@ -167,7 +167,7 @@ def setup_agent(
|
|
167
167
|
"""
|
168
168
|
Creates an agent. A system prompt is rendered from a template only when a profile is specified.
|
169
169
|
"""
|
170
|
-
if no_tools_mode:
|
170
|
+
if no_tools_mode or zero_mode:
|
171
171
|
tools_provider = None
|
172
172
|
else:
|
173
173
|
tools_provider = get_local_tools_adapter()
|
@@ -92,6 +92,7 @@ def get_driver_info():
|
|
92
92
|
("janito.drivers.openai.driver", "OpenAIModelDriver"),
|
93
93
|
("janito.drivers.azure_openai.driver", "AzureOpenAIModelDriver"),
|
94
94
|
("janito.drivers.zai.driver", "ZAIModelDriver"),
|
95
|
+
("janito.drivers.cerebras.driver", "CerebrasModelDriver"),
|
95
96
|
]
|
96
97
|
|
97
98
|
for module_path, class_name in driver_modules:
|
@@ -4,6 +4,7 @@ CLI Command: Set API key for the current or selected provider
|
|
4
4
|
|
5
5
|
from janito.provider_config import set_api_key
|
6
6
|
from janito.llm.auth import LLMAuthManager
|
7
|
+
from janito.providers.registry import LLMProviderRegistry
|
7
8
|
|
8
9
|
|
9
10
|
def handle_set_api_key(args):
|
@@ -12,8 +13,18 @@ def handle_set_api_key(args):
|
|
12
13
|
if not provider:
|
13
14
|
print("Error: --set-api-key requires -p/--provider to be specified.")
|
14
15
|
return
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
|
17
|
+
# Validate provider name
|
18
|
+
if provider not in LLMProviderRegistry.list_providers():
|
19
|
+
valid_providers = LLMProviderRegistry.list_providers()
|
20
|
+
print(f"Error: Unknown provider '{provider}'. Valid providers are: {', '.join(valid_providers)}")
|
21
|
+
return
|
22
|
+
|
23
|
+
try:
|
24
|
+
set_api_key(provider, api_key)
|
25
|
+
auth_manager = LLMAuthManager()
|
26
|
+
print(
|
27
|
+
f"API key set for provider '{provider}'. Auth file updated: {auth_manager._auth_file}"
|
28
|
+
)
|
29
|
+
except ValueError as e:
|
30
|
+
print(f"Error: {e}")
|
janito/cli/prompt_setup.py
CHANGED
@@ -37,6 +37,8 @@ def setup_agent_and_prompt_handler(
|
|
37
37
|
no_tools_mode = False
|
38
38
|
if hasattr(args, 'no_tools_mode'):
|
39
39
|
no_tools_mode = getattr(args, 'no_tools_mode', False)
|
40
|
+
|
41
|
+
zero_mode = getattr(args, 'zero', False)
|
40
42
|
agent = create_configured_agent(
|
41
43
|
provider_instance=provider_instance,
|
42
44
|
llm_driver_config=llm_driver_config,
|
@@ -46,6 +48,7 @@ def setup_agent_and_prompt_handler(
|
|
46
48
|
allowed_permissions=allowed_permissions,
|
47
49
|
profile=profile,
|
48
50
|
profile_system_prompt=profile_system_prompt,
|
51
|
+
zero_mode=zero_mode,
|
49
52
|
no_tools_mode=no_tools_mode,
|
50
53
|
)
|
51
54
|
|
@@ -0,0 +1 @@
|
|
1
|
+
# Cerebras driver package
|
janito/providers/__init__.py
CHANGED
@@ -17,9 +17,7 @@ class AlibabaProvider(LLMProvider):
|
|
17
17
|
NAME = "alibaba"
|
18
18
|
MAINTAINER = "João Pinto <janito@ikignosis.org>"
|
19
19
|
MODEL_SPECS = MODEL_SPECS
|
20
|
-
DEFAULT_MODEL =
|
21
|
-
"qwen3-coder-plus" # Options: qwen-turbo, qwen-plus, qwen-max, qwen3-coder-plus
|
22
|
-
)
|
20
|
+
DEFAULT_MODEL = "qwen3-coder-plus" # 128k context, coding-focused model
|
23
21
|
|
24
22
|
def __init__(
|
25
23
|
self, auth_manager: LLMAuthManager = None, config: LLMDriverConfig = None
|
@@ -0,0 +1 @@
|
|
1
|
+
# Cerebras provider package
|
@@ -0,0 +1,76 @@
|
|
1
|
+
"""Model specifications for Cerebras Inference API."""
|
2
|
+
|
3
|
+
from janito.llm.model import LLMModelInfo
|
4
|
+
|
5
|
+
MODEL_SPECS = {
|
6
|
+
"qwen-3-32b": LLMModelInfo(
|
7
|
+
name="qwen-3-32b",
|
8
|
+
max_input=128000,
|
9
|
+
max_response=16384,
|
10
|
+
default_temp=0.7,
|
11
|
+
driver="CerebrasModelDriver",
|
12
|
+
other={
|
13
|
+
"description": "Qwen 3 32B model for general instruction following",
|
14
|
+
"pricing": {
|
15
|
+
"input_per_1k_tokens": 0.0002,
|
16
|
+
"output_per_1k_tokens": 0.0006
|
17
|
+
}
|
18
|
+
}
|
19
|
+
),
|
20
|
+
"qwen-3-235b-a22b-instruct-2507": LLMModelInfo(
|
21
|
+
name="qwen-3-235b-a22b-instruct-2507",
|
22
|
+
max_input=128000,
|
23
|
+
max_response=16384,
|
24
|
+
default_temp=0.7,
|
25
|
+
driver="CerebrasModelDriver",
|
26
|
+
other={
|
27
|
+
"description": "Qwen 3 235B A22B instruction-tuned model (preview)",
|
28
|
+
"pricing": {
|
29
|
+
"input_per_1k_tokens": 0.001,
|
30
|
+
"output_per_1k_tokens": 0.003
|
31
|
+
}
|
32
|
+
}
|
33
|
+
),
|
34
|
+
"qwen-3-235b-a22b-thinking-2507": LLMModelInfo(
|
35
|
+
name="qwen-3-235b-a22b-thinking-2507",
|
36
|
+
max_input=128000,
|
37
|
+
max_response=16384,
|
38
|
+
default_temp=0.7,
|
39
|
+
driver="CerebrasModelDriver",
|
40
|
+
other={
|
41
|
+
"description": "Qwen 3 235B A22B thinking model for reasoning tasks (preview)",
|
42
|
+
"pricing": {
|
43
|
+
"input_per_1k_tokens": 0.001,
|
44
|
+
"output_per_1k_tokens": 0.003
|
45
|
+
}
|
46
|
+
}
|
47
|
+
),
|
48
|
+
"qwen-3-coder-480b": LLMModelInfo(
|
49
|
+
name="qwen-3-coder-480b",
|
50
|
+
max_input=128000,
|
51
|
+
max_response=16384,
|
52
|
+
default_temp=0.7,
|
53
|
+
driver="CerebrasModelDriver",
|
54
|
+
other={
|
55
|
+
"description": "Qwen 3 Coder 480B model for programming tasks (preview)",
|
56
|
+
"pricing": {
|
57
|
+
"input_per_1k_tokens": 0.002,
|
58
|
+
"output_per_1k_tokens": 0.006
|
59
|
+
}
|
60
|
+
}
|
61
|
+
),
|
62
|
+
"gpt-oss-120b": LLMModelInfo(
|
63
|
+
name="gpt-oss-120b",
|
64
|
+
max_input=128000,
|
65
|
+
max_response=16384,
|
66
|
+
default_temp=0.7,
|
67
|
+
driver="CerebrasModelDriver",
|
68
|
+
other={
|
69
|
+
"description": "GPT-OSS 120B open-source model (preview)",
|
70
|
+
"pricing": {
|
71
|
+
"input_per_1k_tokens": 0.0008,
|
72
|
+
"output_per_1k_tokens": 0.0024
|
73
|
+
}
|
74
|
+
}
|
75
|
+
)
|
76
|
+
}
|
@@ -0,0 +1,145 @@
|
|
1
|
+
"""Cerebras Inference provider implementation."""
|
2
|
+
|
3
|
+
from typing import Dict, Any
|
4
|
+
from janito.llm.provider import LLMProvider
|
5
|
+
from janito.llm.auth import LLMAuthManager
|
6
|
+
from janito.llm.driver_config import LLMDriverConfig
|
7
|
+
from janito.drivers.openai.driver import OpenAIModelDriver
|
8
|
+
from janito.tools import get_local_tools_adapter
|
9
|
+
from janito.providers.registry import LLMProviderRegistry
|
10
|
+
from .model_info import MODEL_SPECS
|
11
|
+
|
12
|
+
|
13
|
+
class CerebrasProvider(LLMProvider):
|
14
|
+
"""Cerebras Inference API provider."""
|
15
|
+
|
16
|
+
name = "cerebras"
|
17
|
+
NAME = "cerebras"
|
18
|
+
DEFAULT_MODEL = "qwen-3-coder-480b"
|
19
|
+
MAINTAINER = "João Pinto <janito@ikignosis.org>"
|
20
|
+
MODEL_SPECS = MODEL_SPECS
|
21
|
+
|
22
|
+
def __init__(self, auth_manager: LLMAuthManager = None, config: LLMDriverConfig = None):
|
23
|
+
"""Initialize Cerebras provider with optional configuration."""
|
24
|
+
super().__init__()
|
25
|
+
self._tools_adapter = get_local_tools_adapter()
|
26
|
+
self._driver = None
|
27
|
+
self._tools_adapter = get_local_tools_adapter()
|
28
|
+
self._driver = None
|
29
|
+
if not self.available:
|
30
|
+
return
|
31
|
+
|
32
|
+
self._initialize_config(auth_manager, config)
|
33
|
+
self._setup_model_config()
|
34
|
+
self.fill_missing_device_info(self._driver_config)
|
35
|
+
|
36
|
+
if not self.available:
|
37
|
+
return
|
38
|
+
|
39
|
+
self._initialize_config(None, None)
|
40
|
+
self._driver_config.base_url = "https://api.cerebras.ai/v1"
|
41
|
+
|
42
|
+
def _initialize_config(self, auth_manager, config):
|
43
|
+
"""Initialize configuration and API key."""
|
44
|
+
self.auth_manager = auth_manager or LLMAuthManager()
|
45
|
+
self._api_key = self.auth_manager.get_credentials(type(self).NAME)
|
46
|
+
if not self._api_key:
|
47
|
+
from janito.llm.auth_utils import handle_missing_api_key
|
48
|
+
|
49
|
+
handle_missing_api_key(self.name, "CEREBRAS_API_KEY")
|
50
|
+
|
51
|
+
self._driver_config = config or LLMDriverConfig(model=None)
|
52
|
+
if not self._driver_config.model:
|
53
|
+
self._driver_config.model = self.DEFAULT_MODEL
|
54
|
+
if not self._driver_config.api_key:
|
55
|
+
self._driver_config.api_key = self._api_key
|
56
|
+
|
57
|
+
self._setup_model_config()
|
58
|
+
self.fill_missing_device_info(self._driver_config)
|
59
|
+
|
60
|
+
def _setup_model_config(self):
|
61
|
+
"""Configure token limits based on model specifications."""
|
62
|
+
model_name = self._driver_config.model
|
63
|
+
model_spec = self.MODEL_SPECS.get(model_name)
|
64
|
+
|
65
|
+
# Reset token parameters
|
66
|
+
if hasattr(self._driver_config, "max_tokens"):
|
67
|
+
self._driver_config.max_tokens = None
|
68
|
+
if hasattr(self._driver_config, "max_completion_tokens"):
|
69
|
+
self._driver_config.max_completion_tokens = None
|
70
|
+
|
71
|
+
if model_spec:
|
72
|
+
# Set context length
|
73
|
+
if hasattr(model_spec, "context") and model_spec.context:
|
74
|
+
self._driver_config.context_length = model_spec.context
|
75
|
+
|
76
|
+
# Set max tokens based on model spec
|
77
|
+
if hasattr(model_spec, "max_response") and model_spec.max_response:
|
78
|
+
self._driver_config.max_tokens = model_spec.max_response
|
79
|
+
|
80
|
+
# Set max completion tokens if thinking is supported
|
81
|
+
if getattr(model_spec, "thinking_supported", False):
|
82
|
+
max_cot = getattr(model_spec, "max_cot", None)
|
83
|
+
if max_cot and max_cot != "N/A":
|
84
|
+
self._driver_config.max_completion_tokens = int(max_cot)
|
85
|
+
else:
|
86
|
+
max_response = getattr(model_spec, "max_response", None)
|
87
|
+
if max_response and max_response != "N/A":
|
88
|
+
self._driver_config.max_tokens = int(max_response)
|
89
|
+
|
90
|
+
@property
|
91
|
+
@property
|
92
|
+
def driver(self) -> OpenAIModelDriver:
|
93
|
+
if not self.available:
|
94
|
+
raise ImportError(
|
95
|
+
f"CerebrasProvider unavailable: {self.unavailable_reason}"
|
96
|
+
)
|
97
|
+
if self._driver is None:
|
98
|
+
self._driver = self.create_driver()
|
99
|
+
return self._driver
|
100
|
+
|
101
|
+
@property
|
102
|
+
def available(self):
|
103
|
+
return OpenAIModelDriver.available
|
104
|
+
|
105
|
+
@property
|
106
|
+
def unavailable_reason(self):
|
107
|
+
return OpenAIModelDriver.unavailable_reason
|
108
|
+
|
109
|
+
def create_driver(self) -> OpenAIModelDriver:
|
110
|
+
"""Create and return an OpenAI-compatible Cerebras driver instance."""
|
111
|
+
driver = OpenAIModelDriver(
|
112
|
+
tools_adapter=self._tools_adapter, provider_name=self.name
|
113
|
+
)
|
114
|
+
driver.config = self._driver_config
|
115
|
+
return driver
|
116
|
+
|
117
|
+
@property
|
118
|
+
def driver_config(self):
|
119
|
+
"""Return the driver configuration."""
|
120
|
+
return self._driver_config
|
121
|
+
|
122
|
+
def is_model_available(self, model_name: str) -> bool:
|
123
|
+
"""Check if a model is available for this provider."""
|
124
|
+
return model_name in self.MODEL_SPECS
|
125
|
+
|
126
|
+
def get_model_info(self, model_name: str = None) -> Dict[str, Any]:
|
127
|
+
"""Get model information for the specified model or all models."""
|
128
|
+
if model_name is None:
|
129
|
+
return {
|
130
|
+
name: model_info.to_dict()
|
131
|
+
for name, model_info in self.MODEL_SPECS.items()
|
132
|
+
}
|
133
|
+
|
134
|
+
if model_name in self.MODEL_SPECS:
|
135
|
+
return self.MODEL_SPECS[model_name].to_dict()
|
136
|
+
|
137
|
+
return None
|
138
|
+
|
139
|
+
def execute_tool(self, tool_name: str, event_bus, *args, **kwargs):
|
140
|
+
self._tools_adapter.event_bus = event_bus
|
141
|
+
return self._tools_adapter.execute_by_name(tool_name, *args, **kwargs)
|
142
|
+
|
143
|
+
|
144
|
+
# Register the provider
|
145
|
+
LLMProviderRegistry.register(CerebrasProvider.name, CerebrasProvider)
|
@@ -20,7 +20,7 @@ janito/provider_registry.py,sha256=l0jJZ74KIebOSYXPiy7uqH8d48pckR_WTyAO4iQF98o,6
|
|
20
20
|
janito/report_events.py,sha256=q4OR_jTZNfcqaQF_fzTjgqo6_VlUIxSGWfhpT4nJWcw,938
|
21
21
|
janito/shell.bak.zip,sha256=hznHbmgfkAkjuQDJ3w73XPQh05yrtUZQxLmtGbanbYU,22
|
22
22
|
janito/utils.py,sha256=eXSsMgM69YyzahgCNrJQLcEbB8ssLI1MQqaa20ONxbE,376
|
23
|
-
janito/agent/setup_agent.py,sha256=
|
23
|
+
janito/agent/setup_agent.py,sha256=HQU_h1P8VXiOVURjQ4SwvO-R3rujs6xUcPvrNniRDok,11618
|
24
24
|
janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2,sha256=28TITVITH4RTdOwPpNZFSygm6OSpFb_Jr4mHprrLBhc,2584
|
25
25
|
janito/agent/templates/profiles/system_prompt_template_developer.txt.j2,sha256=zj0ZA17iYt-6c0usgjUw_cLKnb5qDuixpxS9et5ECyw,2272
|
26
26
|
janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2,sha256=dTV9aF8ji2r9dzi-l4b9r95kHrbKmjvnRxk5cVpopN4,28
|
@@ -31,7 +31,7 @@ janito/cli/main.py,sha256=s5odou0txf8pzTf1ADk2yV7T5m8B6cejJ81e7iu776U,312
|
|
31
31
|
janito/cli/main_cli.py,sha256=21XPZ5Kp4ye2kEzkhcBtWe60Pe7XYAtzlZOf5RHNDuU,15280
|
32
32
|
janito/cli/prompt_core.py,sha256=F68J4Xl6jZMYFN4oBBYZFj15Jp-HTYoLub4bw2XpNRU,11648
|
33
33
|
janito/cli/prompt_handler.py,sha256=SnPTlL64noeAMGlI08VBDD5IDD8jlVMIYA4-fS8zVLg,215
|
34
|
-
janito/cli/prompt_setup.py,sha256=
|
34
|
+
janito/cli/prompt_setup.py,sha256=1SSvvgS568-3BO_4Sw9A-QF_iLWiIXsNHT0JVqaLwkU,2120
|
35
35
|
janito/cli/rich_terminal_reporter.py,sha256=_-eRzrxM-lCD31KjElCroSVx1vbBcG2Lo8gDVE0v9Yc,6785
|
36
36
|
janito/cli/utils.py,sha256=plCQiDKIf3V8mFhhX5H9-MF2W86i-xRdWf8Xi117Z0w,677
|
37
37
|
janito/cli/verbose_output.py,sha256=wY_B4of5e8Vv7w1fRwOZzNGU2JqbMdcFnGjtEr4hLus,7686
|
@@ -73,7 +73,7 @@ janito/cli/chat_mode/shell/session/__init__.py,sha256=uTYE_QpZFEn7v9QE5o1LdulpCW
|
|
73
73
|
janito/cli/chat_mode/shell/session/history.py,sha256=tYav6GgjAZkvWhlI_rfG6OArNqW6Wn2DTv39Hb20QYc,1262
|
74
74
|
janito/cli/chat_mode/shell/session/manager.py,sha256=MwD9reHsRaly0CyRB-S1JJ0wPKz2g8Xdj2VvlU35Hgc,1001
|
75
75
|
janito/cli/cli_commands/list_config.py,sha256=oiQEGaGPjwjG-PrOcakpNMbbqISTsBEs7rkGH3ceQsI,1179
|
76
|
-
janito/cli/cli_commands/list_drivers.py,sha256=
|
76
|
+
janito/cli/cli_commands/list_drivers.py,sha256=r2ENykUcvf_9XYp6LHd3RvLXGXyVUA6oe_Pr0dyv92I,5124
|
77
77
|
janito/cli/cli_commands/list_models.py,sha256=_rqHz89GsNLcH0GGkFqPue7ah4ZbN9YHm0lEP30Aa-A,1111
|
78
78
|
janito/cli/cli_commands/list_profiles.py,sha256=9-HV2EbtP2AdubbMoakjbu7Oq4Ss9UDyO7Eb6CC52wI,2681
|
79
79
|
janito/cli/cli_commands/list_providers.py,sha256=v8OQ8ULnuzNuvgkeKqGXGj69eOiavAlPGhzfR0zavhg,185
|
@@ -81,7 +81,7 @@ janito/cli/cli_commands/list_providers_region.py,sha256=qrMj_gtgEMty8UH0P_O5SgWC
|
|
81
81
|
janito/cli/cli_commands/list_tools.py,sha256=JFRdlhPeA3BzhJ2PkjIt3u137IJoNc-vYSjUuPlaOXw,3593
|
82
82
|
janito/cli/cli_commands/model_selection.py,sha256=ANWtwC5glZkGMdaNtARDbEG3QmuBUcDLVxzzC5jeBNo,1643
|
83
83
|
janito/cli/cli_commands/model_utils.py,sha256=U0j2FTpcIBc4eAc40MXz5tyAK3m8lkakpOS2l2bGh4A,2868
|
84
|
-
janito/cli/cli_commands/set_api_key.py,sha256=
|
84
|
+
janito/cli/cli_commands/set_api_key.py,sha256=ZItSuB0HO14UsbyXXCgTKAXS-EUCHfCkntzg3WAAtK0,1048
|
85
85
|
janito/cli/cli_commands/show_config.py,sha256=eYMcuvU-d7mvvuctbQacZFERqcKHEnxaRRjasyj-_lE,2004
|
86
86
|
janito/cli/cli_commands/show_system_prompt.py,sha256=9ZJGW7lIGJ9LX2JZiWVEm4AbaD0qEQO7LF89jPgk52I,5232
|
87
87
|
janito/cli/core/__init__.py,sha256=YH95fhgY9yBX8RgqX9dSrEkl4exjV0T4rbmJ6xUpG-Y,196
|
@@ -97,6 +97,7 @@ janito/docs/GETTING_STARTED.md,sha256=EbXV7B3XxjSy1E0XQJFOVITVbTmZBVB7pjth2Mb4_r
|
|
97
97
|
janito/drivers/dashscope.bak.zip,sha256=9Pv4Xyciju8jO1lEMFVgYXexoZkxmDO3Ig6vw3ODfL8,4936
|
98
98
|
janito/drivers/openai_responses.bak.zip,sha256=E43eDCHGa2tCtdjzj_pMnWDdnsOZzj8BJTR5tJp8wcM,13352
|
99
99
|
janito/drivers/azure_openai/driver.py,sha256=L2rQOl1d0BHaDChHLtZszAeuWNoyYIgwuYuahE1qJps,4152
|
100
|
+
janito/drivers/cerebras/__init__.py,sha256=yGkKANI4xKT_2j6x1-RBJhmaRzEGyt1DFaBSLt7EtYU,25
|
100
101
|
janito/drivers/openai/README.md,sha256=bgPdaYX0pyotCoJ9t3cJbYM-teQ_YM1DAFEKLCMP32Q,666
|
101
102
|
janito/drivers/openai/driver.py,sha256=ITwonFiux8pVIlCuD9jy1og3sGc-rHH2_LQFRHZvBRc,19152
|
102
103
|
janito/drivers/zai/__init__.py,sha256=rleES3ZJEslJ8M02TdTPyxHKXxA4-e2fDJa6yjuzY8s,22
|
@@ -121,16 +122,19 @@ janito/llm/driver_input.py,sha256=Zq7IO4KdQPUraeIo6XoOaRy1IdQAyYY15RQw4JU30uA,38
|
|
121
122
|
janito/llm/message_parts.py,sha256=QY_0kDjaxdoErDgKPRPv1dNkkYJuXIBmHWNLiOEKAH4,1365
|
122
123
|
janito/llm/model.py,sha256=42hjcffZDTuzjAJoVhDcDqwIXm6rUmmi5UwTOYopf5w,1131
|
123
124
|
janito/llm/provider.py,sha256=3FbhQPrWBSEoIdIi-5DWIh0DD_CM570EFf1NcuGyGko,7961
|
124
|
-
janito/providers/__init__.py,sha256=
|
125
|
+
janito/providers/__init__.py,sha256=wlb8-dfnWRsZclFTT5cbwYqSWFpppChrAxZEgpdBgng,450
|
125
126
|
janito/providers/dashscope.bak.zip,sha256=BwXxRmZreEivvRtmqbr5BR62IFVlNjAf4y6DrF2BVJo,5998
|
126
127
|
janito/providers/registry.py,sha256=Ygwv9eVrTXOKhv0EKxSWQXO5WMHvajWE2Q_Lc3p7dKo,730
|
127
128
|
janito/providers/alibaba/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
128
129
|
janito/providers/alibaba/model_info.py,sha256=evAW2CZUX9qgRAzDhZTp47ZNj4G1T7W66gkV60Nfan8,1264
|
129
|
-
janito/providers/alibaba/provider.py,sha256=
|
130
|
+
janito/providers/alibaba/provider.py,sha256=UVNOdUX4SJln1OS10AY-Zq1THp538yhpEKPqLKyEGKU,4178
|
130
131
|
janito/providers/anthropic/model_info.py,sha256=m6pBh0Ia8_xC1KZ7ke_4HeHIFw7nWjnYVItnRpkCSWc,1206
|
131
132
|
janito/providers/anthropic/provider.py,sha256=aGynBxCFc7oTyvGNDUkbutJCKurC_9J4AkReC2LTPYo,3023
|
132
133
|
janito/providers/azure_openai/model_info.py,sha256=TMSqEpQROIIYUGAyulYJ5xGhj7CbLoaKL_JXeLbXaG0,689
|
133
134
|
janito/providers/azure_openai/provider.py,sha256=3pUYcdHrIcK1N1Pmw96tJvFo4lVse2wfZhGS9D2N3dw,5404
|
135
|
+
janito/providers/cerebras/__init__.py,sha256=pnbDTkbIG9fyF8YNOZOqdUwOGKc5ehq9oMWt625Jnis,27
|
136
|
+
janito/providers/cerebras/model_info.py,sha256=oxgssDXZCluCqkfZ5J1-gZqCVvVqCJIXsT0SFoONik4,2408
|
137
|
+
janito/providers/cerebras/provider.py,sha256=ZyGE_wWXKyRJQCYTs_FWOvZYqVu7-xRAmV1h8YMJU5s,5661
|
134
138
|
janito/providers/deepseek/__init__.py,sha256=4sISEpq4bJO29vxFK9cfnO-SRUmKoD7oSdeCvz0hVno,36
|
135
139
|
janito/providers/deepseek/model_info.py,sha256=tAlFRtWiyNF_MKZ1gy5_-VNlvqoIwAinv6bAv9dNFsc,465
|
136
140
|
janito/providers/deepseek/provider.py,sha256=eU-wwVqJog_oJ8VyQyohm6OMHlvrddSszqTfT9Aoc-U,4106
|
@@ -213,9 +217,9 @@ janito/tools/adapters/local/validate_file_syntax/ps1_validator.py,sha256=TeIkPt0
|
|
213
217
|
janito/tools/adapters/local/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
|
214
218
|
janito/tools/adapters/local/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
|
215
219
|
janito/tools/adapters/local/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
|
216
|
-
janito-2.
|
217
|
-
janito-2.
|
218
|
-
janito-2.
|
219
|
-
janito-2.
|
220
|
-
janito-2.
|
221
|
-
janito-2.
|
220
|
+
janito-2.17.0.dist-info/licenses/LICENSE,sha256=GSAKapQH5ZIGWlpQTA7v5YrfECyaxaohUb1vJX-qepw,1090
|
221
|
+
janito-2.17.0.dist-info/METADATA,sha256=wGS9j3rhoYjuytmRjw6BMuENPJ4CuU_izGosAtiWeE0,16365
|
222
|
+
janito-2.17.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
223
|
+
janito-2.17.0.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
|
224
|
+
janito-2.17.0.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
|
225
|
+
janito-2.17.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|