254 Commits

Author SHA1 Message Date
Tim O'Farrell
21aa52ce3b Move openhands.server.user_auth to openhands.app_server.user_auth (#14199)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 15:00:50 -06:00
Tim O'Farrell
5b500d640a refactor: move openhands.integrations to openhands.app_server.integrations (#14195)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 14:21:14 -06:00
Tim O'Farrell
c824b2dda5 refactor: move FileStore to openhands.app_server.file_store (#14178)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 13:10:31 -06:00
Rohit Malhotra
c9b6f54e76 fix: correct GLOBAL_SKILLS_DIR path for skills settings page (#14194)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 19:08:04 +00:00
Rohit Malhotra
ea50ade6ec feat: Add REST endpoint to send follow-up messages to conversations (#14182)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 14:10:59 -04:00
simonrosenberg
25262a3a3f fix(acp): defensive fallback for api_key_env_var missing from pinned SDK (#14185)
Co-authored-by: Debug Agent <debug@example.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 10:51:17 -06:00
Xingyao Wang
862c363ded Bump SDK packages to v1.19.0 (#14180)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 11:34:50 -04:00
simonrosenberg
cf156b0073 feat(acp): inject user secrets into ACP subprocess env (#14171)
Co-authored-by: Debug Agent <debug@example.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 08:32:36 -07:00
Vasco Schiavo
23b3b188c4 feat(settings): add saved LLM profiles (BE) (#14146)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-28 15:09:26 +00:00
simonrosenberg
2ff094b363 feat(app-server): route ACP agents to the ACP conversation endpoint (#14004)
Co-authored-by: Debug Agent <debug@example.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 07:43:33 -07:00
Tim O'Farrell
d5036c2813 refactor: Use direct file API in FileSettingsStore and FileSecretsStore (#14172)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-27 20:42:30 -06:00
Tim O'Farrell
8f0f3e49c8 refactor: move Settings and Secrets models to app_server (#14170)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-27 19:03:50 -06:00
Chris Bagwell
03f49a40a0 fix(settings): Only convert litellm_proxy/ to openhands/ for OpenHands proxy (#14173) 2026-04-27 23:27:40 +00:00
Tim O'Farrell
3a85dbce78 Remove deprecated V0 issue interface and migrate ConversationTrigger imports (#14169) 2026-04-27 15:58:50 -06:00
Joe Laverty
4e63531fa6 feat(enterprise): Self hosted gitlab support (#14141) 2026-04-27 17:22:21 -04:00
Tim O'Farrell
4c8179cd08 Remove deprecated webhook file stores (V0 cleanup) (#14164)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-27 14:10:35 -06:00
Tim O'Farrell
9e3aed7f53 refactor: move settings and secrets stores to app_server (#14165)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-27 13:54:33 -06:00
Tim O'Farrell
a89811f952 refactor: move ConversationTrigger to app_conversation_models and remove unused data models (#14156)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-27 10:50:14 -06:00
Tim O'Farrell
c22c03eeb6 Remove ConversationStore interface and implementations (V1 migration cleanup) (#14147)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-27 08:05:53 -06:00
Tim O'Farrell
237948978b V0 Code Removals: Conversation Validator, MCP Updates, and Cleanup (#14135)
Co-authored-by: OpenHands Bot <contact@all-hands.dev>
Co-authored-by: allhands-bot <allhands-bot@users.noreply.github.com>
2026-04-27 06:51:15 -06:00
Juan Michelini
2a6f5c8976 feat: Auto-forward LMNR_* environment variables to agent-server (#14123)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-24 20:49:48 -03:00
aivong-openhands
137bede1f5 APP-1325: show GitLab/Slack sections without GitHub App configured (#14097) 2026-04-24 15:10:38 -04:00
Tim O'Farrell
fb98faf4ac refactor: remove external dependencies on V0 packages (controller, memory, microagent) (#14106)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-23 17:09:46 -06:00
John-Mason P. Shackelford
a8f62aa30c feat: add secrets field to AppConversationStartRequest for direct API secret passing (#14009)
Add the ability for API callers to pass secrets directly when starting
a conversation, without requiring them to be pre-stored in the database.

Changes:
- Add optional `secrets: dict[str, SecretStr]` field to
  AppConversationStartRequest model
- Update `_build_start_conversation_request_for_user()` to merge
  API-provided secrets with existing secrets (from git providers/database)
- API-provided secrets take precedence over existing secrets with same name
- Add new `openhands/app_server/constants.py` with secret validation:
  - Blocked names: container config vars (OH_*, WORKER_*, etc.)
  - Blocked prefixes: LLM_* (to enforce app-server LLM controls)
  - Configurable size limits via environment variables
- Add warning log when API secrets override existing secrets
- Bump agent-server image to 1.18.1-python (SDK v1.18.1 with MCP
  secrets expansion support)

Closes #14007
2026-04-23 18:23:31 -04:00
Rohit Malhotra
1091901be2 Fix: Register SetTitleCallbackProcessor for webhook-created conversations (#14102)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-23 14:53:37 -04:00
Rohit Malhotra
7bc3300981 Add missing SqlAlchemy type stub to mypy (#13413)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-22 20:52:27 +00:00
Rohit Malhotra
f313cfceb9 fix: correct SQLAlchemy type annotations in DbSessionInjector (#14075)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-22 16:13:39 -04:00
Rohit Malhotra
6b29a82de3 fix: correct SQLAlchemy Result and Table type annotations (#14076)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-22 19:43:14 +00:00
Rohit Malhotra
033c6202b7 fix: handle nullable datetime in _fix_timezone methods (#14073)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-22 19:16:26 +00:00
Rohit Malhotra
16374dc9c0 fix: add ColumnElement type annotation for SQLAlchemy filter conditions (#14072)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-22 19:06:08 +00:00
Graham Neubig
a8926068ff fix: restore org settings payload contract (#14051)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: hieptl <hieptl.developer@gmail.com>
2026-04-22 15:03:40 -04:00
chuckbutkus
f318792a17 security: Invalidate SESSION_API_KEY on pause and require RUNNING status (#14001)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Tim O'Farrell <tofarr@gmail.com>
2026-04-22 12:49:28 -06:00
Rohit Malhotra
505095d50a fix: migrate core SQLAlchemy models to SQLAlchemy 2.0 mapped_column (#14065)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-22 17:54:08 +00:00
chuckbutkus
cf7e88c8c3 security: Require RUNNING status for session API key validation (#14002)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-21 18:48:22 +00:00
Hiep Le
d8c67a4d3d fix(backend): repair org-defaults LLM save flow and sync managed keys to members (#14044) 2026-04-22 00:38:52 +07:00
Rohit Malhotra
237e9f530e feat: pass WEB_HOST to agent context in V1 conversations (#14050)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-21 12:12:14 -04:00
Tim O'Farrell
3b264dd419 Remove deprecated V0 FastAPI endpoints (#13952)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-19 08:41:16 -06:00
JL2001
1af04f2833 docs: fix app_server README to reflect actual module structure (#13890) 2026-04-18 15:26:24 +02:00
Xingyao Wang
2068694ea0 fix(enterprise): Apply deployment LLM proxy URL override in /api/v1/users/me (#13980)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: hieptl <hieptl.developer@gmail.com>
2026-04-17 12:23:42 +07:00
Tim O'Farrell
385122e260 refactor: Replace load_custom_secrets_names with search_custom_secrets (#13985)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-16 18:50:38 -06:00
Tim O'Farrell
52c4d0d9d9 Fix get_latest_token to return str instead of SecretStr (#13974)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-16 11:41:43 -06:00
Tim O'Farrell
fdf5c398fd frontend: Remove deprecated V0 conversation APIs (#13963)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-16 08:57:25 -06:00
Graham Neubig
b4da0e1c69 settings: expose SDK settings schema to OpenHands (#13306)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: hieptl <hieptl.developer@gmail.com>
Co-authored-by: tofarr <tofarr@gmail.com>
2026-04-15 17:00:35 -06:00
Engel Nyst
eb940ea5e7 Use SDK package public exports where available (#13402)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-15 22:05:08 +02:00
HeyItsChloe
b4b77fbc31 feat: Add DEPLOYMENT_MODE detection for conditional onboarding (#13675)
Co-authored-by: Hiep Le <69354317+hieptl@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: hieptl <hieptl.developer@gmail.com>
2026-04-16 00:57:57 +07:00
Ricardo-M-L
a0304b9e4c fix: correct logger format args and -0 slice bug (#13817) 2026-04-13 09:43:30 -06:00
Tim O'Farrell
de492b792f refactor(llm-settings): Use V1 providers/models endpoints, lazy-load models per provider (#13892)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-12 22:42:57 -06:00
gpothier
7a6eb7e07c fix: fallback to LLM_BASE_URL for openhands_provider_base_url (#13880)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-11 16:49:13 -06:00
Tim O'Farrell
7f25348506 Migrate git-service API to V1 endpoints (#13877)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-11 08:11:58 -06:00
Tim O'Farrell
39f3b293f5 Fix: Use container StartedAt for Docker sandbox status grace period calculation (#13841)
Co-authored-by: openhands <openhands@all-hands.dev>
2026-04-10 06:58:26 -06:00