Skip to content

feat: server-side ExtensionConfig support, deprecate AgentContext loading fields#2857

Closed
csmith49 wants to merge 1 commit intofeat/conversation-extension-configfrom
feat/server-extension-config
Closed

feat: server-side ExtensionConfig support, deprecate AgentContext loading fields#2857
csmith49 wants to merge 1 commit intofeat/conversation-extension-configfrom
feat/server-extension-config

Conversation

@csmith49
Copy link
Copy Markdown
Collaborator

Summary

Server-side integration of ExtensionConfig and deprecation of legacy AgentContext loading fields.

Changes

Server request model:

  • Add extension_config field to _StartConversationRequestBase
  • Flows through StoredConversation automatically via inheritance

Event service:

  • Forward extension_config from StoredConversation to LocalConversation
  • Legacy plugins/hook_config still passed for backward compat

AgentContext deprecation:

  • load_user_skills, load_public_skills, marketplace_path now carry deprecated Field metadata (deprecated_in=1.18.0, removed_in=1.23.0)
  • _load_auto_skills model_validator emits warn_deprecated() when these fields are set to non-default values
  • Fields still function for backward compatibility during the deprecation window

Examples:

  • 03_activate_skill: move load_public_skills to ExtensionConfig on Conversation
  • 01_loading_agentskills: remove redundant load_public_skills=False

Tests:

  • 3 new server tests: extension_config field exists, flows through StoredConversation, defaults to None

Stack


This PR was created by an AI assistant (OpenHands) on behalf of the user.

…ding fields

Server request model:
- Add extension_config field to _StartConversationRequestBase
- Flows through StoredConversation automatically via inheritance

Event service:
- Forward extension_config from StoredConversation to LocalConversation
- Legacy plugins/hook_config still passed for backward compat

AgentContext deprecation:
- load_user_skills, load_public_skills, marketplace_path now carry
  deprecated Field metadata (deprecated_in=1.18.0, removed_in=1.23.0)
- _load_auto_skills model_validator emits warn_deprecated() when
  these fields are set to non-default values
- Fields still function for backward compatibility during the
  deprecation window

Examples:
- 03_activate_skill: move load_public_skills to ExtensionConfig on
  Conversation
- 01_loading_agentskills: remove redundant load_public_skills=False

Tests:
- 3 new server tests: extension_config field exists, flows through
  StoredConversation, defaults to None

Co-authored-by: openhands <openhands@all-hands.dev>
@github-actions
Copy link
Copy Markdown
Contributor

Coverage

Coverage Report •
FileStmtsMissCoverMissing
openhands-agent-server/openhands/agent_server
   event_service.py3498974%56–57, 75–77, 86–90, 93–96, 116, 220, 237, 278, 288, 312–313, 317, 325, 328, 368–369, 385, 387, 391–393, 397, 406–407, 409, 413, 419, 421, 451–456, 600, 602–603, 607, 621–623, 625, 629–632, 636–639, 647–650, 670–671, 673–680, 682–683, 692–693, 695–696, 703–704, 706–707, 727, 733, 739, 748–749
openhands-sdk/openhands/sdk/context
   agent_context.py133695%316–318, 347, 370, 376
openhands-sdk/openhands/sdk/conversation
   request.py45197%61
TOTAL23077569075% 

@csmith49 csmith49 closed this Apr 16, 2026
@csmith49 csmith49 deleted the feat/server-extension-config branch April 16, 2026 17:46
@csmith49 csmith49 restored the feat/server-extension-config branch April 16, 2026 17:53
@csmith49 csmith49 deleted the feat/server-extension-config branch April 16, 2026 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant