openagent-framework 0.2.2__tar.gz → 0.2.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.
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/PKG-INFO +1 -1
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/__init__.py +1 -1
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/scheduler.py +18 -13
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/service.py +3 -2
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/PKG-INFO +1 -1
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/pyproject.toml +1 -1
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/docs/README.md +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/agent.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/bootstrap.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/channels/__init__.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/channels/base.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/channels/discord.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/channels/senders.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/channels/telegram.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/channels/whatsapp.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/cli.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/config.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcp/__init__.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcp/client.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcp/oauth.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/chrome-devtools/.gitignore +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/chrome-devtools/package.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/.gitignore +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/package.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/index.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/main.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/tools/computer.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/tools/index.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/utils/response.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/xdotoolStringToKeys.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/tsconfig.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/editor/.gitignore +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/editor/package.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/editor/src/index.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/editor/tsconfig.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/messaging/.gitignore +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/messaging/index.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/messaging/package.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/messaging/tsconfig.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/shell/.gitignore +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/shell/package.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/shell/src/index.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/shell/tsconfig.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/.gitignore +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/package.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/browser-pool.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/content-extractor.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/enhanced-content-extractor.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/index.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/rate-limiter.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/search-engine.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/types.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/utils.ts +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/tsconfig.json +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/memory/__init__.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/memory/db.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/memory/manager.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/models/__init__.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/models/base.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/models/claude_api.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/models/claude_cli.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/models/zhipu.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/server.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/services/__init__.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/services/base.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/services/manager.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/services/obsidian.py +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/SOURCES.txt +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/dependency_links.txt +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/entry_points.txt +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/requires.txt +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/top_level.txt +0 -0
- {openagent_framework-0.2.2 → openagent_framework-0.2.4}/setup.cfg +0 -0
|
@@ -69,24 +69,29 @@ class Scheduler:
|
|
|
69
69
|
logger.error(f"Scheduler error: {e}")
|
|
70
70
|
await asyncio.sleep(CHECK_INTERVAL)
|
|
71
71
|
|
|
72
|
+
async def run_task(self, task: dict) -> None:
|
|
73
|
+
"""Execute a single task. Extension point: override or monkey-patch
|
|
74
|
+
this to intercept specific tasks (e.g. auto-update, which uses a
|
|
75
|
+
direct pip subprocess instead of going through the agent)."""
|
|
76
|
+
task_name = task["name"]
|
|
77
|
+
try:
|
|
78
|
+
response = await self.agent.run(
|
|
79
|
+
message=task["prompt"],
|
|
80
|
+
user_id="scheduler",
|
|
81
|
+
session_id=f"scheduler:{task['id']}",
|
|
82
|
+
)
|
|
83
|
+
logger.info(f"Task '{task_name}' completed: {response[:100]}...")
|
|
84
|
+
except Exception as e:
|
|
85
|
+
logger.error(f"Task '{task_name}' failed: {e}")
|
|
86
|
+
|
|
72
87
|
async def _check_and_run(self) -> None:
|
|
73
88
|
"""Check for due tasks and execute them."""
|
|
74
89
|
now = time.time()
|
|
75
90
|
due_tasks = await self.db.get_due_tasks(now)
|
|
76
91
|
|
|
77
92
|
for task in due_tasks:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
try:
|
|
82
|
-
response = await self.agent.run(
|
|
83
|
-
message=task["prompt"],
|
|
84
|
-
user_id="scheduler",
|
|
85
|
-
session_id=f"scheduler:{task['id']}",
|
|
86
|
-
)
|
|
87
|
-
logger.info(f"Task '{task_name}' completed: {response[:100]}...")
|
|
88
|
-
except Exception as e:
|
|
89
|
-
logger.error(f"Task '{task_name}' failed: {e}")
|
|
93
|
+
logger.info(f"Running scheduled task: {task['name']}")
|
|
94
|
+
await self.run_task(task)
|
|
90
95
|
|
|
91
96
|
# Update last_run and compute next_run
|
|
92
97
|
try:
|
|
@@ -98,7 +103,7 @@ class Scheduler:
|
|
|
98
103
|
next_run=next_run,
|
|
99
104
|
)
|
|
100
105
|
except (ValueError, KeyError) as e:
|
|
101
|
-
logger.error(f"Failed to update next_run for '{
|
|
106
|
+
logger.error(f"Failed to update next_run for '{task['name']}': {e}")
|
|
102
107
|
|
|
103
108
|
# ── Task management helpers ──
|
|
104
109
|
|
|
@@ -152,6 +152,8 @@ def _linux_install() -> str:
|
|
|
152
152
|
Description={SERVICE_LABEL} - AI agent service
|
|
153
153
|
After=network-online.target
|
|
154
154
|
Wants=network-online.target
|
|
155
|
+
StartLimitIntervalSec=60
|
|
156
|
+
StartLimitBurst=5
|
|
155
157
|
|
|
156
158
|
[Service]
|
|
157
159
|
Type=simple
|
|
@@ -159,8 +161,7 @@ def _linux_install() -> str:
|
|
|
159
161
|
WorkingDirectory={_get_working_dir()}
|
|
160
162
|
Restart=always
|
|
161
163
|
RestartSec=5
|
|
162
|
-
|
|
163
|
-
StartLimitBurst=5
|
|
164
|
+
SuccessExitStatus=75
|
|
164
165
|
|
|
165
166
|
# Environment
|
|
166
167
|
Environment=PATH={_get_env_path()}
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "openagent-framework"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.4"
|
|
8
8
|
description = "Simplified LLM agent framework with MCP, memory, and multi-channel support"
|
|
9
9
|
readme = "docs/README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/chrome-devtools/.gitignore
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/chrome-devtools/package.json
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/.gitignore
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/package.json
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/index.ts
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/computer-control/src/main.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/messaging/package.json
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/messaging/tsconfig.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/.gitignore
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/package.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/index.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/types.ts
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/src/utils.ts
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent/mcps/web-search/tsconfig.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/requires.txt
RENAMED
|
File without changes
|
{openagent_framework-0.2.2 → openagent_framework-0.2.4}/openagent_framework.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|