feat(skills): unified read-merge + authoring/override MCP tools
Adds the merged read surface (api/skill_catalog_view.py) over synced + local stores with origin discrimination and override precedence, and extends the skill MCP tools with create_skill/update_skill/delete_skill that dispatch by origin (edit local skills; create/update/remove local overrides for cloud skills). Wired into api.mcp.create_mcp_server. Full non-integration suite green (564 passed). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -108,9 +108,17 @@ def runner(store, fake_client):
|
||||
)
|
||||
|
||||
|
||||
def _mcp_handlers(store, *, registered_tools, active=None):
|
||||
def _mcp_handlers(store, *, registered_tools, active=None, local=None):
|
||||
if local is None:
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
|
||||
from storage.local_skills import LocalSkillStore
|
||||
|
||||
local = LocalSkillStore(db_path=Path(tempfile.mkdtemp()) / "local.sqlite3")
|
||||
return skill_tool_handlers(
|
||||
store=store,
|
||||
local_store=local,
|
||||
get_active_subscriptions=lambda: set(active if active is not None else {"sub-a"}),
|
||||
get_registered_tools=lambda: set(registered_tools),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user