- Use SimpleNamespace on ctx.resources in test fixture to prevent Pydantic ValidationError on PyPI langbot-plugin==0.7.19
- Retain object structure for models, tools, knowledge_bases, skills and platform capabilities
Co-authored-by: multica-agent <[email protected]>
- Implement progressive disclosure for workspace operations in LocalAgent runner
- Support direct mode (<=8 operations) and progressive meta-tools mode (>8 operations)
- Implement workspace_search, workspace_describe, and workspace_call
- Inject domain overview and progressive guidance into system message
- Handle name mapping, length limit, conflict resolution with host tools
- Support truncation hint for large outputs (>20000 chars)
- Fallback to api.workspace.list() when ctx.resources.workspace_operations is empty
- Add comprehensive unit and end-to-end runner execution tests
Co-authored-by: multica-agent <[email protected]>
- Fix registry SDK detection: use 'workspace_operations' not in RunnerPermissions.model_fields instead of hasattr
- Remove raw_manifest fallback from declared_workspace_operations and resource_builder so 0.7.19 safely disables declared grants
- Unify is_local_agent check across descriptor.py and resource_builder.py, fail-closed when descriptor is None
- Add unmocked tests for real installed 0.7.19 SDK and real new SDK
- Add tests/demo_e2e_workspace_runner.py for reproducible end-to-end verification
Co-authored-by: multica-agent <[email protected]>
A processor granted pipeline.extensions.update / pipeline.update / agent.update
derives resource.manage, which let it add any resource.manage operation to its
own grants. Granting is a human authorization act, so processor principals may
only keep or remove grants, and the catalog marks nothing grantable for them.
LANG-226
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-authored-by: multica-agent <[email protected]>
LANG-231: Restore backward-compatible 'run_id is required' error message when run-scoped actions are invoked via handler without run_id, resolving regression in agent auth tests.
Co-authored-by: multica-agent <[email protected]>
LANG-231: Fix SDK 0.7.19 input compatibility regressions by accepting optional
cursor in ExecutionRuntimesInput and float | None stale_after_seconds in
ExecutionRuntimeReconcileInput. Update test_all_69_operations_route_through_execution_api
to drive real SDK 0.7.19 payloads through handler and assert raw execution dispatch.
Add autouse fixture in plugin tests to isolate transfer root environment leaks.
Co-authored-by: multica-agent <[email protected]>
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]>
- Add test_referenced_operation_ids_exist asserting all 'get it from X' and 'Call X' targets exist in the catalog
- Add assertions for model_uuid, server_uuid, mcp.server.* risk and exposure
Ref: LANG-229
Co-authored-by: multica-agent <[email protected]>
- Map model_uuid to model.embedding.list / model.rerank.list / model.llm.list based on operation_id prefix
- Map server_uuid to mcp.server.list and clarify server_uuid vs server_name in OperationDoc descriptions
- Restrict mcp.server.create and mcp.server.update to exposure='assistant' and risk='dangerous'
- Add input parameter descriptions to PipelineRunInput and RoutePreviewInput
Ref: LANG-229
Co-authored-by: multica-agent <[email protected]>