feat(api-tools): route plugin actions through ExecutionAPI facade and accept SDK 0.7.19 payloads

LANG-231: Route all plugin/runner actions to Core through ExecutionAPI facade.
Support real SDK 0.7.19 payloads across query, model, storage, and RAG schemas.
Add integration routing test for all 69 operations and catalog export script.

Co-authored-by: multica-agent <[email protected]>
This commit is contained in:
RockChinQ
2026-10-31 21:00:04 +08:00
co-authored by multica-agent
parent a159b27b8e
commit 9ab64baa63
4 changed files with 429 additions and 37 deletions
+25
View File
@@ -0,0 +1,25 @@
"""Export ExecutionAPI catalog snapshot as JSON."""
from __future__ import annotations
import json
import sys
from pathlib import Path
from langbot.pkg.api.application.execution import ExecutionAPI
def export_catalog(output_path: Path) -> list[dict]:
api = ExecutionAPI(None)
catalog = api.catalog()
output_path.parent.mkdir(parents=True, exist_ok=True)
with open(output_path, 'w', encoding='utf-8') as f:
json.dump(catalog, f, indent=2, ensure_ascii=False)
f.write('\n')
return catalog
if __name__ == '__main__':
destination = Path(sys.argv[1]) if len(sys.argv) > 1 else Path('execution_api_catalog.json')
catalog = export_catalog(destination)
print(f'Exported {len(catalog)} operations to {destination}')