roscoe 2.4.1__tar.gz → 2.4.2__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.1/roscoe.egg-info → roscoe-2.4.2}/PKG-INFO +1 -1
- {roscoe-2.4.1 → roscoe-2.4.2}/pyproject.toml +1 -1
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/__init__.py +1 -1
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/ticktick.py +13 -2
- {roscoe-2.4.1 → roscoe-2.4.2/roscoe.egg-info}/PKG-INFO +1 -1
- {roscoe-2.4.1 → roscoe-2.4.2}/LICENSE +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/README.md +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/approval/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/approval/gate.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/build_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/build_ui.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/eval_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/eval_gui.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/google_auth_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/graph_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/gui_theme.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/init_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/main.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/monitor_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/monitor_gui.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/pricing_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/pricing_gui.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/run_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/run_web.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/.env.example +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/custom_ui_example.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/db.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/docs.md +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/evals/test_cases.json +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/main.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/prompts/system.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold/tools/my_tools.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold_nc/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/scaffold_nc/workflow.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/validate_command.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/cli/wizard_gui.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/config/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/config/loader.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/_graph_base.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/base_connector.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/database.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/github.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/google_workspace.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/jira.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/notion.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/outlook.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/rest_api.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/servicenow.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/sharepoint.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/connectors/snowflake.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/core/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/core/agent_base.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/core/agent_result.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/core/agent_runner.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/core/executor.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/core/state.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/dataset.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/eval_runner.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/regression.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/report.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/scorers/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/scorers/_judge.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/scorers/base.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/scorers/hallucination.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/scorers/output_quality.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/evals/scorers/tool_usage.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/llm/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/llm/base_provider.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/llm/capability_map.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/llm/provider_factory.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/memory/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/memory/conversation.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/memory/knowledge.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/memory/persistent.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/middleware/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/middleware/audit_logger.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/middleware/cost_tracker.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/middleware/rate_limiter.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/middleware/retry.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/alerts.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/dashboard.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/exporters/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/exporters/azure_monitor.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/exporters/prometheus.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/metrics.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/notifier.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/monitoring/web.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/pricing.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/exec_assistant_agent/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/exec_assistant_agent/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/exec_assistant_agent/prompts/system.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/exec_assistant_agent/tools/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/exec_assistant_agent/tools/exec_tools.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/google_workspace_agent/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/google_workspace_agent/prompts/system.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/google_workspace_agent/tools/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/google_workspace_agent/tools/gws_tools.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/hr_agent/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/hr_agent/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/hr_agent/prompts/system.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/hr_agent/tools/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/hr_agent/tools/hr_tools.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/it_support_agent/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/it_support_agent/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/it_support_agent/prompts/system.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/it_support_agent/tools/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/it_support_agent/tools/it_tools.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/knowledge_base_agent/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/knowledge_base_agent/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/knowledge_base_agent/prompts/system.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/knowledge_base_agent/tools/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/knowledge_base_agent/tools/kb_tools.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/legal_agent/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/legal_agent/agent_config.yaml +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/legal_agent/prompts/system.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/legal_agent/tools/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/templates/legal_agent/tools/legal_tools.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/tools/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/tools/decorator.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/__init__.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/diagram.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/executor.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/expressions.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/loader.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/registry.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/runner.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/schema.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe/workflow/validate.py +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe.egg-info/SOURCES.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe.egg-info/dependency_links.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe.egg-info/entry_points.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe.egg-info/requires.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/roscoe.egg-info/top_level.txt +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/setup.cfg +0 -0
- {roscoe-2.4.1 → roscoe-2.4.2}/tests/test_smoke.py +0 -0
|
@@ -76,6 +76,7 @@ class TickTickConnector(BaseConnector):
|
|
|
76
76
|
due_date: str | None = None,
|
|
77
77
|
priority: str = "none",
|
|
78
78
|
is_all_day: bool = True,
|
|
79
|
+
checklist: list[str] | None = None,
|
|
79
80
|
) -> Any:
|
|
80
81
|
if priority not in _PRIORITIES:
|
|
81
82
|
raise ValueError(
|
|
@@ -91,6 +92,9 @@ class TickTickConnector(BaseConnector):
|
|
|
91
92
|
if due_date:
|
|
92
93
|
payload["dueDate"] = due_date
|
|
93
94
|
payload["isAllDay"] = is_all_day
|
|
95
|
+
if checklist:
|
|
96
|
+
payload["kind"] = "CHECKLIST"
|
|
97
|
+
payload["items"] = [{"title": item, "status": 0} for item in checklist]
|
|
94
98
|
return self._request("POST", "/task", json=payload)
|
|
95
99
|
|
|
96
100
|
def create_task(
|
|
@@ -100,20 +104,26 @@ class TickTickConnector(BaseConnector):
|
|
|
100
104
|
due_date: str | None = None,
|
|
101
105
|
priority: str = "none",
|
|
102
106
|
is_all_day: bool = True,
|
|
107
|
+
checklist: list[str] | None = None,
|
|
103
108
|
) -> Any:
|
|
104
109
|
"""Create a TickTick task.
|
|
105
110
|
|
|
106
111
|
due_date is ISO 8601 with an offset, e.g. '2026-08-03T09:00:00+0000'.
|
|
107
112
|
priority is one of: none, low, medium, high.
|
|
113
|
+
checklist, if given, adds real checkable sub-items (TickTick's native
|
|
114
|
+
checklist) instead of plain text in content.
|
|
108
115
|
"""
|
|
109
|
-
return _create_one(
|
|
116
|
+
return _create_one(
|
|
117
|
+
title, content, project_id, due_date, priority, is_all_day, checklist
|
|
118
|
+
)
|
|
110
119
|
|
|
111
120
|
def create_tasks_batch(tasks: list[dict[str, Any]]) -> Any:
|
|
112
121
|
"""Create several TickTick tasks in one call.
|
|
113
122
|
|
|
114
123
|
Each item in `tasks` takes the same fields as create_task: title
|
|
115
124
|
(required), content, project_id, due_date, priority (none/low/
|
|
116
|
-
medium/high)
|
|
125
|
+
medium/high), checklist (list of strings, becomes native checkable
|
|
126
|
+
sub-items). One tool call for the whole batch, so a workflow can
|
|
117
127
|
gate it behind a single `requires_approval` instead of one pause
|
|
118
128
|
per task.
|
|
119
129
|
"""
|
|
@@ -125,6 +135,7 @@ class TickTickConnector(BaseConnector):
|
|
|
125
135
|
due_date=t.get("due_date"),
|
|
126
136
|
priority=t.get("priority", "none"),
|
|
127
137
|
is_all_day=t.get("is_all_day", True),
|
|
138
|
+
checklist=t.get("checklist"),
|
|
128
139
|
)
|
|
129
140
|
for t in tasks
|
|
130
141
|
]
|
|
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
|