Skip to content

Commit c4b44c8

Browse files
authored
expose timeout variables, change agent-session-key->id (#69)
1 parent faf53b8 commit c4b44c8

3 files changed

Lines changed: 26 additions & 6 deletions

File tree

python/examples/real_cli.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from typing import Any, Dict
44

55
import jentic
6+
67
try:
78
import click # type: ignore
89
except Exception: # pragma: no cover - graceful fallback if click missing
@@ -78,7 +79,10 @@ def default_for(name: str, prop_schema: Dict[str, Any]) -> Any:
7879
for name, prop_schema in properties.items():
7980
if name in inputs:
8081
continue
81-
if any(k in name.lower() for k in ["query", "q", "search", "topic", "keywords", "limit", "count"]):
82+
if any(
83+
k in name.lower()
84+
for k in ["query", "q", "search", "topic", "keywords", "limit", "count"]
85+
):
8286
inputs[name] = default_for(name, prop_schema)
8387

8488
return inputs
@@ -89,7 +93,9 @@ async def concept_find_articles_about_ai(client: jentic.Jentic) -> int:
8993

9094
query = "find articles about AI"
9195
print(f"Searching: {query}")
92-
search_response = await client.search(jentic.SearchRequest(query=query, limit=5, filter_by_credentials=False))
96+
search_response = await client.search(
97+
jentic.SearchRequest(query=query, limit=5, filter_by_credentials=False)
98+
)
9399

94100
if not search_response.results:
95101
print("No results found.")
@@ -181,6 +187,8 @@ async def concept_send_discord_message(
181187
print(f"Output: {out_preview}")
182188

183189
return 0 if exec_resp.success else 1
190+
191+
184192
def main() -> None:
185193
if click is None:
186194
print("This CLI requires 'click'. Install it with: pip install click")
@@ -206,7 +214,9 @@ def cli(ctx: Any, agent_key: str, environment: str) -> None: # noqa: ANN401 - c
206214
ctx.obj["agent_key"] = agent_key
207215
ctx.obj["environment"] = environment
208216

209-
@cli.command("articles-ai", help="Run the 'find articles about AI' concept (search → load → execute)")
217+
@cli.command(
218+
"articles-ai", help="Run the 'find articles about AI' concept (search → load → execute)"
219+
)
210220
@click.pass_context
211221
def articles_ai(ctx: Any) -> None: # noqa: ANN401 - click runtime
212222
config = jentic.AgentConfig(
@@ -240,4 +250,3 @@ def discord_send(ctx: Any, message: str | None, channel_id: str | None) -> None:
240250

241251
if __name__ == "__main__":
242252
main()
243-

python/src/jentic/lib/cfg.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
from dataclasses import dataclass
3+
from typing import cast
34

45
from jentic.lib.exc import JenticEnvironmentError, MissingAgentKeyError
56

@@ -49,7 +50,17 @@ def from_env(cls) -> "AgentConfig":
4950
if environment not in _ENDPOINTS:
5051
raise JenticEnvironmentError(f"Invalid environment: {environment}")
5152

53+
# Expose timeouts as environment variables
54+
connect_timeout = cast(float, os.getenv("JENTIC_CONNECT_TIMEOUT", 10.0))
55+
read_timeout = cast(float, os.getenv("JENTIC_READ_TIMEOUT", 10.0))
56+
write_timeout = cast(float, os.getenv("JENTIC_WRITE_TIMEOUT", 120.0))
57+
pool_timeout = cast(float, os.getenv("JENTIC_POOL_TIMEOUT", 120.0))
58+
5259
return AgentConfig(
5360
agent_api_key=agent_api_key,
5461
environment=environment,
62+
connect_timeout=connect_timeout,
63+
read_timeout=read_timeout,
64+
write_timeout=write_timeout,
65+
pool_timeout=pool_timeout,
5566
)

python/src/jentic/lib/core_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ def _create_client(self) -> httpx.AsyncClient:
198198
headers["x-jentic-identity"] = os.getenv("x-jentic-identity")
199199
if os.getenv("x-jentic-session-id"):
200200
headers["x-jentic-session-id"] = os.getenv("x-jentic-session-id")
201-
if os.getenv("x-jentic-agent-session-key"):
202-
headers["x-jentic-agent-session-key"] = os.getenv("x-jentic-agent-session-key")
201+
if os.getenv("x-jentic-agent-session-id"):
202+
headers["x-jentic-agent-session-id"] = os.getenv("x-jentic-agent-session-id")
203203

204204
# Timeouts (connect, read, write, pool)
205205
timeouts = httpx.Timeout(

0 commit comments

Comments
 (0)