roscoe 2.4.2__tar.gz → 2.4.4__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.
- {roscoe-2.4.2/roscoe.egg-info → roscoe-2.4.4}/PKG-INFO +1 -1
- {roscoe-2.4.2 → roscoe-2.4.4}/pyproject.toml +1 -1
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/__init__.py +1 -1
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/executor.py +9 -1
- {roscoe-2.4.2 → roscoe-2.4.4/roscoe.egg-info}/PKG-INFO +1 -1
- {roscoe-2.4.2 → roscoe-2.4.4}/LICENSE +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/README.md +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/approval/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/approval/gate.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/build_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/build_ui.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/eval_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/eval_gui.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/google_auth_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/graph_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/gui_theme.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/init_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/main.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/monitor_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/monitor_gui.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/pricing_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/pricing_gui.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/run_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/run_web.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/.env.example +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/custom_ui_example.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/db.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/docs.md +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/evals/test_cases.json +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/main.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/prompts/system.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold/tools/my_tools.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold_nc/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/scaffold_nc/workflow.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/validate_command.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/cli/wizard_gui.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/config/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/config/loader.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/_graph_base.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/base_connector.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/database.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/github.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/google_workspace.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/jira.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/notion.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/outlook.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/rest_api.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/servicenow.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/sharepoint.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/snowflake.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/connectors/ticktick.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/core/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/core/agent_base.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/core/agent_result.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/core/agent_runner.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/core/executor.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/core/state.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/dataset.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/eval_runner.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/regression.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/report.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/scorers/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/scorers/_judge.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/scorers/base.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/scorers/hallucination.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/scorers/output_quality.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/evals/scorers/tool_usage.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/llm/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/llm/base_provider.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/llm/capability_map.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/llm/provider_factory.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/memory/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/memory/conversation.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/memory/knowledge.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/memory/persistent.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/middleware/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/middleware/audit_logger.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/middleware/cost_tracker.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/middleware/rate_limiter.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/middleware/retry.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/alerts.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/dashboard.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/exporters/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/exporters/azure_monitor.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/exporters/prometheus.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/metrics.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/notifier.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/monitoring/web.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/pricing.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/exec_assistant_agent/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/exec_assistant_agent/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/exec_assistant_agent/prompts/system.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/exec_assistant_agent/tools/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/exec_assistant_agent/tools/exec_tools.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/google_workspace_agent/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/google_workspace_agent/prompts/system.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/google_workspace_agent/tools/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/google_workspace_agent/tools/gws_tools.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/hr_agent/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/hr_agent/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/hr_agent/prompts/system.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/hr_agent/tools/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/hr_agent/tools/hr_tools.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/it_support_agent/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/it_support_agent/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/it_support_agent/prompts/system.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/it_support_agent/tools/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/it_support_agent/tools/it_tools.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/knowledge_base_agent/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/knowledge_base_agent/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/knowledge_base_agent/prompts/system.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/knowledge_base_agent/tools/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/knowledge_base_agent/tools/kb_tools.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/legal_agent/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/legal_agent/agent_config.yaml +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/legal_agent/prompts/system.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/legal_agent/tools/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/templates/legal_agent/tools/legal_tools.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/tools/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/tools/decorator.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/__init__.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/diagram.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/expressions.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/loader.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/registry.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/runner.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/schema.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe/workflow/validate.py +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe.egg-info/SOURCES.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe.egg-info/dependency_links.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe.egg-info/entry_points.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe.egg-info/requires.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/roscoe.egg-info/top_level.txt +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/setup.cfg +0 -0
- {roscoe-2.4.2 → roscoe-2.4.4}/tests/test_smoke.py +0 -0
|
@@ -216,6 +216,9 @@ class WorkflowExecutor:
|
|
|
216
216
|
else pending.args
|
|
217
217
|
)
|
|
218
218
|
value = await self._call_tool(node, args)
|
|
219
|
+
if node.output_message:
|
|
220
|
+
scope = {**state, node.output: value} if node.output else state
|
|
221
|
+
value = render(node.output_message, scope)
|
|
219
222
|
if node.output:
|
|
220
223
|
state[node.output] = value
|
|
221
224
|
|
|
@@ -318,7 +321,12 @@ class WorkflowExecutor:
|
|
|
318
321
|
if node.output_message:
|
|
319
322
|
# A connector method's return is API-shaped — an id, a status
|
|
320
323
|
# code — right for a later node to read, wrong to show a person.
|
|
321
|
-
|
|
324
|
+
# The call's own result isn't in `state` yet (that happens
|
|
325
|
+
# below), so make it available under this node's own output
|
|
326
|
+
# key — {{ result.created }} should work when output: result,
|
|
327
|
+
# same as referencing any other already-known state.
|
|
328
|
+
scope = {**state, node.output: value} if node.output else state
|
|
329
|
+
value = render(node.output_message, scope)
|
|
322
330
|
elif isinstance(node, LLMStep):
|
|
323
331
|
value = await self._call_llm(node, state, messages)
|
|
324
332
|
elif isinstance(node, AgentStep):
|
|
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
|
|
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
|
|
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
|