flashlite 0.2.0__tar.gz → 0.2.1__tar.gz
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.
- {flashlite-0.2.0 → flashlite-0.2.1}/PKG-INFO +1 -1
- {flashlite-0.2.0 → flashlite-0.2.1}/pyproject.toml +1 -1
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/conversation/multi_agent.py +9 -22
- {flashlite-0.2.0 → flashlite-0.2.1}/uv.lock +1 -1
- {flashlite-0.2.0 → flashlite-0.2.1}/.gitignore +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/.python-version +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/.vscode/settings.json +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/DEV.md +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/LICENSE.md +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/QUICK_START.md +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/README.md +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/examples/basic_example.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/examples/multi_agent_chat.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/_spinner.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/cache/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/cache/base.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/cache/disk.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/cache/memory.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/client.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/config.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/conversation/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/conversation/context.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/conversation/manager.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/core/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/core/completion.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/core/messages.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/middleware/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/middleware/base.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/middleware/cache.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/middleware/logging.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/middleware/rate_limit.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/middleware/retry.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/observability/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/observability/callbacks.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/observability/inspect_compat.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/observability/logging.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/observability/metrics.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/py.typed +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/structured/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/structured/outputs.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/structured/schema.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/templating/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/templating/engine.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/templating/filters.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/templating/registry.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/tools/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/tools/definitions.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/tools/execution.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/src/flashlite/types.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/__init__.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/conftest.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_cache.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_cache_integration.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_client.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_config.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_conversation.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_integration.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_messages.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_middleware.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_multi_agent.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_observability.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_rate_limit_regression.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_structured.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_templating.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_tools.py +0 -0
- {flashlite-0.2.0 → flashlite-0.2.1}/tests/test_types.py +0 -0
|
@@ -333,8 +333,7 @@ class MultiAgentChat:
|
|
|
333
333
|
"""
|
|
334
334
|
if agent_name not in self._agents:
|
|
335
335
|
raise ValueError(
|
|
336
|
-
f"Unknown agent: {agent_name}. "
|
|
337
|
-
f"Available agents: {list(self._agents.keys())}"
|
|
336
|
+
f"Unknown agent: {agent_name}. Available agents: {list(self._agents.keys())}"
|
|
338
337
|
)
|
|
339
338
|
|
|
340
339
|
agent = self._agents[agent_name]
|
|
@@ -372,12 +371,8 @@ class MultiAgentChat:
|
|
|
372
371
|
metadata={
|
|
373
372
|
"model": response.model,
|
|
374
373
|
"tokens": response.usage.total_tokens if response.usage else None,
|
|
375
|
-
"input_tokens": (
|
|
376
|
-
|
|
377
|
-
),
|
|
378
|
-
"output_tokens": (
|
|
379
|
-
response.usage.output_tokens if response.usage else None
|
|
380
|
-
),
|
|
374
|
+
"input_tokens": (response.usage.input_tokens if response.usage else None),
|
|
375
|
+
"output_tokens": (response.usage.output_tokens if response.usage else None),
|
|
381
376
|
"latency_ms": round(latency_ms, 1),
|
|
382
377
|
},
|
|
383
378
|
visible_to=visible_to,
|
|
@@ -395,7 +390,7 @@ class MultiAgentChat:
|
|
|
395
390
|
|
|
396
391
|
# Validate structured output if requested
|
|
397
392
|
if response_model is not None:
|
|
398
|
-
return self._validate_structured(
|
|
393
|
+
return await self._validate_structured(
|
|
399
394
|
response=response,
|
|
400
395
|
response_model=response_model,
|
|
401
396
|
messages=messages,
|
|
@@ -432,8 +427,7 @@ class MultiAgentChat:
|
|
|
432
427
|
if "response_format" not in extra_kwargs:
|
|
433
428
|
resolved_model = (agent.model or self._default_model or "").lower()
|
|
434
429
|
if any(
|
|
435
|
-
p in resolved_model
|
|
436
|
-
for p in ["gpt-4", "gpt-3.5", "claude", "gemini", "mistral"]
|
|
430
|
+
p in resolved_model for p in ["gpt-4", "gpt-3.5", "claude", "gemini", "mistral"]
|
|
437
431
|
):
|
|
438
432
|
extra_kwargs["response_format"] = {"type": "json_object"}
|
|
439
433
|
|
|
@@ -537,14 +531,10 @@ class MultiAgentChat:
|
|
|
537
531
|
|
|
538
532
|
if msg.agent_name == agent.name:
|
|
539
533
|
# Agent's own previous messages
|
|
540
|
-
messages.append(
|
|
541
|
-
assistant_message(msg.content, name=_sanitize_name(agent.name))
|
|
542
|
-
)
|
|
534
|
+
messages.append(assistant_message(msg.content, name=_sanitize_name(agent.name)))
|
|
543
535
|
else:
|
|
544
536
|
# Other agents'/sources' messages with name attribution
|
|
545
|
-
messages.append(
|
|
546
|
-
user_message(msg.content, name=_sanitize_name(msg.agent_name))
|
|
547
|
-
)
|
|
537
|
+
messages.append(user_message(msg.content, name=_sanitize_name(msg.agent_name)))
|
|
548
538
|
|
|
549
539
|
return messages
|
|
550
540
|
|
|
@@ -697,9 +687,7 @@ class MultiAgentChat:
|
|
|
697
687
|
for line in msg.content.split("\n"):
|
|
698
688
|
lines.append(f" {line}")
|
|
699
689
|
if include_metadata and msg.metadata:
|
|
700
|
-
meta_str = ", ".join(
|
|
701
|
-
f"{k}={v}" for k, v in msg.metadata.items() if v is not None
|
|
702
|
-
)
|
|
690
|
+
meta_str = ", ".join(f"{k}={v}" for k, v in msg.metadata.items() if v is not None)
|
|
703
691
|
if meta_str:
|
|
704
692
|
lines.append(f" ({meta_str})")
|
|
705
693
|
lines.append("")
|
|
@@ -739,6 +727,5 @@ class MultiAgentChat:
|
|
|
739
727
|
|
|
740
728
|
def __repr__(self) -> str:
|
|
741
729
|
return (
|
|
742
|
-
f"MultiAgentChat(agents={list(self._agents.keys())}, "
|
|
743
|
-
f"messages={len(self._transcript)})"
|
|
730
|
+
f"MultiAgentChat(agents={list(self._agents.keys())}, messages={len(self._transcript)})"
|
|
744
731
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|