agentpool 2.1.9__py3-none-any.whl → 2.2.3__py3-none-any.whl
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.
- acp/__init__.py +13 -0
- acp/bridge/README.md +15 -2
- acp/bridge/__init__.py +3 -2
- acp/bridge/__main__.py +60 -19
- acp/bridge/ws_server.py +173 -0
- acp/bridge/ws_server_cli.py +89 -0
- acp/notifications.py +2 -1
- acp/stdio.py +39 -9
- acp/transports.py +362 -2
- acp/utils.py +15 -2
- agentpool/__init__.py +4 -1
- agentpool/agents/__init__.py +2 -0
- agentpool/agents/acp_agent/acp_agent.py +203 -88
- agentpool/agents/acp_agent/acp_converters.py +46 -21
- agentpool/agents/acp_agent/client_handler.py +157 -3
- agentpool/agents/acp_agent/session_state.py +4 -1
- agentpool/agents/agent.py +314 -107
- agentpool/agents/agui_agent/__init__.py +0 -2
- agentpool/agents/agui_agent/agui_agent.py +90 -21
- agentpool/agents/agui_agent/agui_converters.py +0 -131
- agentpool/agents/base_agent.py +163 -1
- agentpool/agents/claude_code_agent/claude_code_agent.py +626 -179
- agentpool/agents/claude_code_agent/converters.py +71 -3
- agentpool/agents/claude_code_agent/history.py +474 -0
- agentpool/agents/context.py +40 -0
- agentpool/agents/events/__init__.py +2 -0
- agentpool/agents/events/builtin_handlers.py +2 -1
- agentpool/agents/events/event_emitter.py +29 -2
- agentpool/agents/events/events.py +20 -0
- agentpool/agents/modes.py +54 -0
- agentpool/agents/tool_call_accumulator.py +213 -0
- agentpool/common_types.py +21 -0
- agentpool/config_resources/__init__.py +38 -1
- agentpool/config_resources/claude_code_agent.yml +3 -0
- agentpool/delegation/pool.py +37 -29
- agentpool/delegation/team.py +1 -0
- agentpool/delegation/teamrun.py +1 -0
- agentpool/diagnostics/__init__.py +53 -0
- agentpool/diagnostics/lsp_manager.py +1593 -0
- agentpool/diagnostics/lsp_proxy.py +41 -0
- agentpool/diagnostics/lsp_proxy_script.py +229 -0
- agentpool/diagnostics/models.py +398 -0
- agentpool/mcp_server/__init__.py +0 -2
- agentpool/mcp_server/client.py +12 -3
- agentpool/mcp_server/manager.py +25 -31
- agentpool/mcp_server/registries/official_registry_client.py +25 -0
- agentpool/mcp_server/tool_bridge.py +78 -66
- agentpool/messaging/__init__.py +0 -2
- agentpool/messaging/compaction.py +72 -197
- agentpool/messaging/message_history.py +12 -0
- agentpool/messaging/messages.py +52 -9
- agentpool/messaging/processing.py +3 -1
- agentpool/models/acp_agents/base.py +0 -22
- agentpool/models/acp_agents/mcp_capable.py +8 -148
- agentpool/models/acp_agents/non_mcp.py +129 -72
- agentpool/models/agents.py +35 -13
- agentpool/models/claude_code_agents.py +33 -2
- agentpool/models/manifest.py +43 -0
- agentpool/repomap.py +1 -1
- agentpool/resource_providers/__init__.py +9 -1
- agentpool/resource_providers/aggregating.py +52 -3
- agentpool/resource_providers/base.py +57 -1
- agentpool/resource_providers/mcp_provider.py +23 -0
- agentpool/resource_providers/plan_provider.py +130 -41
- agentpool/resource_providers/pool.py +2 -0
- agentpool/resource_providers/static.py +2 -0
- agentpool/sessions/__init__.py +2 -1
- agentpool/sessions/manager.py +31 -2
- agentpool/sessions/models.py +50 -0
- agentpool/skills/registry.py +13 -8
- agentpool/storage/manager.py +217 -1
- agentpool/testing.py +537 -19
- agentpool/utils/file_watcher.py +269 -0
- agentpool/utils/identifiers.py +121 -0
- agentpool/utils/pydantic_ai_helpers.py +46 -0
- agentpool/utils/streams.py +690 -1
- agentpool/utils/subprocess_utils.py +155 -0
- agentpool/utils/token_breakdown.py +461 -0
- {agentpool-2.1.9.dist-info → agentpool-2.2.3.dist-info}/METADATA +27 -7
- {agentpool-2.1.9.dist-info → agentpool-2.2.3.dist-info}/RECORD +170 -112
- {agentpool-2.1.9.dist-info → agentpool-2.2.3.dist-info}/WHEEL +1 -1
- agentpool_cli/__main__.py +4 -0
- agentpool_cli/serve_acp.py +41 -20
- agentpool_cli/serve_agui.py +87 -0
- agentpool_cli/serve_opencode.py +119 -0
- agentpool_commands/__init__.py +30 -0
- agentpool_commands/agents.py +74 -1
- agentpool_commands/history.py +62 -0
- agentpool_commands/mcp.py +176 -0
- agentpool_commands/models.py +56 -3
- agentpool_commands/tools.py +57 -0
- agentpool_commands/utils.py +51 -0
- agentpool_config/builtin_tools.py +77 -22
- agentpool_config/commands.py +24 -1
- agentpool_config/compaction.py +258 -0
- agentpool_config/mcp_server.py +131 -1
- agentpool_config/storage.py +46 -1
- agentpool_config/tools.py +7 -1
- agentpool_config/toolsets.py +92 -148
- agentpool_server/acp_server/acp_agent.py +134 -150
- agentpool_server/acp_server/commands/acp_commands.py +216 -51
- agentpool_server/acp_server/commands/docs_commands/fetch_repo.py +10 -10
- agentpool_server/acp_server/server.py +23 -79
- agentpool_server/acp_server/session.py +181 -19
- agentpool_server/opencode_server/.rules +95 -0
- agentpool_server/opencode_server/ENDPOINTS.md +362 -0
- agentpool_server/opencode_server/__init__.py +27 -0
- agentpool_server/opencode_server/command_validation.py +172 -0
- agentpool_server/opencode_server/converters.py +869 -0
- agentpool_server/opencode_server/dependencies.py +24 -0
- agentpool_server/opencode_server/input_provider.py +269 -0
- agentpool_server/opencode_server/models/__init__.py +228 -0
- agentpool_server/opencode_server/models/agent.py +53 -0
- agentpool_server/opencode_server/models/app.py +60 -0
- agentpool_server/opencode_server/models/base.py +26 -0
- agentpool_server/opencode_server/models/common.py +23 -0
- agentpool_server/opencode_server/models/config.py +37 -0
- agentpool_server/opencode_server/models/events.py +647 -0
- agentpool_server/opencode_server/models/file.py +88 -0
- agentpool_server/opencode_server/models/mcp.py +25 -0
- agentpool_server/opencode_server/models/message.py +162 -0
- agentpool_server/opencode_server/models/parts.py +190 -0
- agentpool_server/opencode_server/models/provider.py +81 -0
- agentpool_server/opencode_server/models/pty.py +43 -0
- agentpool_server/opencode_server/models/session.py +99 -0
- agentpool_server/opencode_server/routes/__init__.py +25 -0
- agentpool_server/opencode_server/routes/agent_routes.py +442 -0
- agentpool_server/opencode_server/routes/app_routes.py +139 -0
- agentpool_server/opencode_server/routes/config_routes.py +241 -0
- agentpool_server/opencode_server/routes/file_routes.py +392 -0
- agentpool_server/opencode_server/routes/global_routes.py +94 -0
- agentpool_server/opencode_server/routes/lsp_routes.py +319 -0
- agentpool_server/opencode_server/routes/message_routes.py +705 -0
- agentpool_server/opencode_server/routes/pty_routes.py +299 -0
- agentpool_server/opencode_server/routes/session_routes.py +1205 -0
- agentpool_server/opencode_server/routes/tui_routes.py +139 -0
- agentpool_server/opencode_server/server.py +430 -0
- agentpool_server/opencode_server/state.py +121 -0
- agentpool_server/opencode_server/time_utils.py +8 -0
- agentpool_storage/__init__.py +16 -0
- agentpool_storage/base.py +103 -0
- agentpool_storage/claude_provider.py +907 -0
- agentpool_storage/file_provider.py +129 -0
- agentpool_storage/memory_provider.py +61 -0
- agentpool_storage/models.py +3 -0
- agentpool_storage/opencode_provider.py +730 -0
- agentpool_storage/project_store.py +325 -0
- agentpool_storage/session_store.py +6 -0
- agentpool_storage/sql_provider/__init__.py +4 -2
- agentpool_storage/sql_provider/models.py +48 -0
- agentpool_storage/sql_provider/sql_provider.py +134 -1
- agentpool_storage/sql_provider/utils.py +10 -1
- agentpool_storage/text_log_provider.py +1 -0
- agentpool_toolsets/builtin/__init__.py +0 -8
- agentpool_toolsets/builtin/code.py +95 -56
- agentpool_toolsets/builtin/debug.py +16 -21
- agentpool_toolsets/builtin/execution_environment.py +99 -103
- agentpool_toolsets/builtin/file_edit/file_edit.py +115 -7
- agentpool_toolsets/builtin/skills.py +86 -4
- agentpool_toolsets/fsspec_toolset/__init__.py +13 -1
- agentpool_toolsets/fsspec_toolset/diagnostics.py +860 -73
- agentpool_toolsets/fsspec_toolset/grep.py +74 -2
- agentpool_toolsets/fsspec_toolset/image_utils.py +161 -0
- agentpool_toolsets/fsspec_toolset/toolset.py +159 -38
- agentpool_toolsets/mcp_discovery/__init__.py +5 -0
- agentpool_toolsets/mcp_discovery/data/mcp_servers.parquet +0 -0
- agentpool_toolsets/mcp_discovery/toolset.py +454 -0
- agentpool_toolsets/mcp_run_toolset.py +84 -6
- agentpool_toolsets/builtin/agent_management.py +0 -239
- agentpool_toolsets/builtin/history.py +0 -36
- agentpool_toolsets/builtin/integration.py +0 -85
- agentpool_toolsets/builtin/tool_management.py +0 -90
- {agentpool-2.1.9.dist-info → agentpool-2.2.3.dist-info}/entry_points.txt +0 -0
- {agentpool-2.1.9.dist-info → agentpool-2.2.3.dist-info}/licenses/LICENSE +0 -0
agentpool_storage/__init__.py
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
"""Storage provider package."""
|
|
2
2
|
|
|
3
3
|
from agentpool_storage.base import StorageProvider
|
|
4
|
+
from agentpool_storage.claude_provider import ClaudeStorageProvider
|
|
5
|
+
from agentpool_storage.opencode_provider import OpenCodeStorageProvider
|
|
6
|
+
from agentpool_storage.project_store import (
|
|
7
|
+
ProjectStore,
|
|
8
|
+
detect_project_root,
|
|
9
|
+
discover_config_path,
|
|
10
|
+
generate_project_id,
|
|
11
|
+
resolve_config,
|
|
12
|
+
)
|
|
4
13
|
from agentpool_storage.session_store import SQLSessionStore
|
|
5
14
|
|
|
6
15
|
__all__ = [
|
|
16
|
+
"ClaudeStorageProvider",
|
|
17
|
+
"OpenCodeStorageProvider",
|
|
18
|
+
"ProjectStore",
|
|
7
19
|
"SQLSessionStore",
|
|
8
20
|
"StorageProvider",
|
|
21
|
+
"detect_project_root",
|
|
22
|
+
"discover_config_path",
|
|
23
|
+
"generate_project_id",
|
|
24
|
+
"resolve_config",
|
|
9
25
|
]
|
agentpool_storage/base.py
CHANGED
|
@@ -19,6 +19,7 @@ if TYPE_CHECKING:
|
|
|
19
19
|
|
|
20
20
|
from agentpool.common_types import JsonValue
|
|
21
21
|
from agentpool.messaging import ChatMessage, TokenCost
|
|
22
|
+
from agentpool.sessions.models import ProjectData
|
|
22
23
|
from agentpool_config.session import SessionQuery
|
|
23
24
|
from agentpool_config.storage import BaseStorageProviderConfig
|
|
24
25
|
from agentpool_storage.models import ConversationData, QueryFilters, StatsFilters
|
|
@@ -98,6 +99,7 @@ class StorageProvider:
|
|
|
98
99
|
content: str,
|
|
99
100
|
role: str,
|
|
100
101
|
name: str | None = None,
|
|
102
|
+
parent_id: str | None = None,
|
|
101
103
|
cost_info: TokenCost | None = None,
|
|
102
104
|
model: str | None = None,
|
|
103
105
|
response_time: float | None = None,
|
|
@@ -308,3 +310,104 @@ class StorageProvider:
|
|
|
308
310
|
Tuple of (conversation count, message count)
|
|
309
311
|
"""
|
|
310
312
|
raise NotImplementedError
|
|
313
|
+
|
|
314
|
+
async def delete_conversation_messages(
|
|
315
|
+
self,
|
|
316
|
+
conversation_id: str,
|
|
317
|
+
) -> int:
|
|
318
|
+
"""Delete all messages for a conversation.
|
|
319
|
+
|
|
320
|
+
Used for compaction - removes existing messages so they can be
|
|
321
|
+
replaced with compacted versions.
|
|
322
|
+
|
|
323
|
+
Args:
|
|
324
|
+
conversation_id: ID of the conversation to clear
|
|
325
|
+
|
|
326
|
+
Returns:
|
|
327
|
+
Number of messages deleted
|
|
328
|
+
"""
|
|
329
|
+
msg = f"{self.__class__.__name__} does not support deleting messages"
|
|
330
|
+
raise NotImplementedError(msg)
|
|
331
|
+
|
|
332
|
+
# Project methods
|
|
333
|
+
|
|
334
|
+
async def save_project(self, project: ProjectData) -> None:
|
|
335
|
+
"""Save or update a project.
|
|
336
|
+
|
|
337
|
+
Args:
|
|
338
|
+
project: Project data to persist
|
|
339
|
+
"""
|
|
340
|
+
msg = f"{self.__class__.__name__} does not support project storage"
|
|
341
|
+
raise NotImplementedError(msg)
|
|
342
|
+
|
|
343
|
+
async def get_project(self, project_id: str) -> ProjectData | None:
|
|
344
|
+
"""Get a project by ID.
|
|
345
|
+
|
|
346
|
+
Args:
|
|
347
|
+
project_id: Project identifier
|
|
348
|
+
|
|
349
|
+
Returns:
|
|
350
|
+
Project data if found, None otherwise
|
|
351
|
+
"""
|
|
352
|
+
msg = f"{self.__class__.__name__} does not support project storage"
|
|
353
|
+
raise NotImplementedError(msg)
|
|
354
|
+
|
|
355
|
+
async def get_project_by_worktree(self, worktree: str) -> ProjectData | None:
|
|
356
|
+
"""Get a project by worktree path.
|
|
357
|
+
|
|
358
|
+
Args:
|
|
359
|
+
worktree: Absolute path to the project worktree
|
|
360
|
+
|
|
361
|
+
Returns:
|
|
362
|
+
Project data if found, None otherwise
|
|
363
|
+
"""
|
|
364
|
+
msg = f"{self.__class__.__name__} does not support project storage"
|
|
365
|
+
raise NotImplementedError(msg)
|
|
366
|
+
|
|
367
|
+
async def get_project_by_name(self, name: str) -> ProjectData | None:
|
|
368
|
+
"""Get a project by friendly name.
|
|
369
|
+
|
|
370
|
+
Args:
|
|
371
|
+
name: Project name
|
|
372
|
+
|
|
373
|
+
Returns:
|
|
374
|
+
Project data if found, None otherwise
|
|
375
|
+
"""
|
|
376
|
+
msg = f"{self.__class__.__name__} does not support project storage"
|
|
377
|
+
raise NotImplementedError(msg)
|
|
378
|
+
|
|
379
|
+
async def list_projects(
|
|
380
|
+
self,
|
|
381
|
+
limit: int | None = None,
|
|
382
|
+
) -> list[ProjectData]:
|
|
383
|
+
"""List all projects, ordered by last_active descending.
|
|
384
|
+
|
|
385
|
+
Args:
|
|
386
|
+
limit: Maximum number of projects to return
|
|
387
|
+
|
|
388
|
+
Returns:
|
|
389
|
+
List of project data objects
|
|
390
|
+
"""
|
|
391
|
+
msg = f"{self.__class__.__name__} does not support project storage"
|
|
392
|
+
raise NotImplementedError(msg)
|
|
393
|
+
|
|
394
|
+
async def delete_project(self, project_id: str) -> bool:
|
|
395
|
+
"""Delete a project.
|
|
396
|
+
|
|
397
|
+
Args:
|
|
398
|
+
project_id: Project identifier
|
|
399
|
+
|
|
400
|
+
Returns:
|
|
401
|
+
True if project was deleted, False if not found
|
|
402
|
+
"""
|
|
403
|
+
msg = f"{self.__class__.__name__} does not support project storage"
|
|
404
|
+
raise NotImplementedError(msg)
|
|
405
|
+
|
|
406
|
+
async def touch_project(self, project_id: str) -> None:
|
|
407
|
+
"""Update project's last_active timestamp.
|
|
408
|
+
|
|
409
|
+
Args:
|
|
410
|
+
project_id: Project identifier
|
|
411
|
+
"""
|
|
412
|
+
msg = f"{self.__class__.__name__} does not support project storage"
|
|
413
|
+
raise NotImplementedError(msg)
|