Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
b6c3b34
feat(web): add a connector access hook for team-editable connectors
AlexLiu190625 Aug 24, 2026
64356a7
feat(web): add the edit right on team-linked MCP connectors
AlexLiu190625 Aug 24, 2026
8442dd8
fix(web): capture the pre-rename name after the row lock, not before
AlexLiu190625 Aug 24, 2026
71255a4
feat(web): add the edit right on team-linked Custom API connectors
AlexLiu190625 Aug 24, 2026
aabdac4
feat(web): report the team access verdict consistently across connect…
AlexLiu190625 Aug 24, 2026
a81b7c1
test(web): describe each test class by the invariant it covers
AlexLiu190625 Aug 24, 2026
21db8e4
test(web): pin the platform-admin case where the two connector kinds …
AlexLiu190625 Aug 24, 2026
4c4b93c
fix(web): degrade the verdict decoration after a commit and skip it w…
AlexLiu190625 Aug 24, 2026
84a6a03
fix(web): degrade a per-row verdict failure inside the apps listing loop
AlexLiu190625 Aug 24, 2026
2c681cb
test(web): pin the query cost of the list endpoint's access-hook budg…
AlexLiu190625 Aug 24, 2026
a1af5f4
test(web): pin the rename call's scope against an outsider's own agen…
AlexLiu190625 Aug 24, 2026
bf5ca76
refactor(connector-scope): batch the connector access seam and type i…
AlexLiu190625 Aug 25, 2026
8d54722
test(mcp): pin the apps listing's own access-hook call budget
AlexLiu190625 Aug 25, 2026
f093c86
fix(connector-scope): restore the shared session after a failed team …
AlexLiu190625 Aug 25, 2026
9663931
fix(mcp): degrade a verdict failure on read paths and keep writes fai…
AlexLiu190625 Aug 25, 2026
bf4cd77
fix(custom-api): lock the definition row before propagating a rename
AlexLiu190625 Aug 25, 2026
5e7cad6
ci(migrations): trigger the connector lock suites from their producti…
AlexLiu190625 Aug 25, 2026
1ee7a48
test(mcp): cover the standalone matrix for both constructible populat…
AlexLiu190625 Aug 25, 2026
a950882
test(mcp): pin the reported subject when an admin inspects another user
AlexLiu190625 Aug 25, 2026
d7eb382
test(mcp): make the admin-subject test actually catch a leaked bypass
AlexLiu190625 Aug 25, 2026
25f1543
fix(mcp): stop the apps listing's degradation log from crashing on a …
AlexLiu190625 Aug 25, 2026
8b616d0
fix(web): run the Custom API write routes off the event loop
AlexLiu190625 Aug 26, 2026
2f1da4c
fix(web): take the Custom API definition lock before the link row on …
AlexLiu190625 Aug 26, 2026
b4b11a0
fix(web): check connector access answer key types before membership
AlexLiu190625 Aug 26, 2026
5477064
fix(web): refuse a denying stand-in's PUT instead of reporting an emp…
AlexLiu190625 Aug 26, 2026
87f3aef
fix(web): revalidate the team verdict under the definition row lock
AlexLiu190625 Aug 26, 2026
912a42f
test(web): fix a call-count test that never reached the code it claim…
AlexLiu190625 Aug 26, 2026
3fdad5c
test(web): assert standalone parity for the Custom API legs too
AlexLiu190625 Aug 26, 2026
df5ea7e
test(web): pin the degraded listing's query cost on a failing hook
AlexLiu190625 Aug 26, 2026
f58204b
docs(web): state the coherence the two connector team hooks must keep
AlexLiu190625 Aug 26, 2026
683d06f
docs(web): update two test module docstrings to name the coverage add…
AlexLiu190625 Aug 26, 2026
00677fd
test(connector-team-edit): capture literal values before zero-side-ef…
AlexLiu190625 Aug 26, 2026
1886761
test(connector-team-edit): pin the platform-admin recheck exemption
AlexLiu190625 Aug 26, 2026
1f71018
docs(mcp): sync two comments with the recheck this batch added
AlexLiu190625 Aug 26, 2026
48b0a9a
fix(web): keep every route that reaches the connector team seam off t…
AlexLiu190625 Aug 27, 2026
7a1f454
fix(web): translate the rename hook's typed error on the Custom API P…
AlexLiu190625 Aug 27, 2026
4bc71f2
fix(web): report the verdict the write was authorized on
AlexLiu190625 Aug 27, 2026
a721c84
fix(web): restore the shared session at the seam's single hook door
AlexLiu190625 Aug 27, 2026
2011168
test(web): reset the seam's own hooks by snapshot instead of clearing…
AlexLiu190625 Aug 27, 2026
c6df5ba
test(web): cover the access validator's verdict-value arm
AlexLiu190625 Aug 27, 2026
b460f3b
test(web): exercise a caller who holds both a personal row and a team…
AlexLiu190625 Aug 27, 2026
85ea5b3
test(web): let the session-fault suite fail without the production re…
AlexLiu190625 Aug 27, 2026
45c74f1
fix(web): restore the shared session when a hook's answer is rejected…
AlexLiu190625 Aug 27, 2026
14c52c4
docs(web): state the shape the hook door deliberately leaves uncovered
AlexLiu190625 Aug 27, 2026
10c113d
fix(mcp): never let a team verdict grant edit on a platform-catalog row
AlexLiu190625 Aug 28, 2026
b810cef
docs(web): name the isolation level the post-lock verdict recheck ass…
AlexLiu190625 Aug 28, 2026
38756c4
docs(custom-api): say what the global lock order does not cover
AlexLiu190625 Aug 28, 2026
e2737cb
test(mcp): assert something that can fail after a .one() lookup
AlexLiu190625 Aug 28, 2026
41e2a49
test(web): the coroutine exemption must carry an await that is not th…
AlexLiu190625 Aug 28, 2026
d4a59e3
test(mcp): cover personal-row downgrade in get_mcp_servers listing
AlexLiu190625 Aug 28, 2026
6f6a0dc
docs(mcp): fix stale cost description in _server_catalog_keys docstring
AlexLiu190625 Aug 28, 2026
6064285
docs(mcp): scope three comments to what the code actually guarantees
AlexLiu190625 Aug 28, 2026
df5a204
docs(mcp): align the downgrade docstring with its call site's orderin…
AlexLiu190625 Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/test-migrations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@ on:
- 'tests/web/test_user_oauth_actor_ownership.py'
- 'tests/shared/postgres_disposable.py'
- 'tests/web/services/checkpoint_anchor_shared.py'
- 'tests/web/api/test_mcp_server_edit_lock_postgresql.py'
Comment thread
AlexLiu190625 marked this conversation as resolved.
- 'src/xagent/web/api/mcp.py'
- 'src/xagent/web/api/custom_api.py'
- 'src/xagent/web/services/connector_team_scope.py'
- 'tests/web/api/test_custom_api_edit_lock_postgresql.py'
- 'tests/web/api/test_connector_hook_session_fault_postgresql.py'
pull_request:
branches: [main]
# Required by the merge queue: without this the two required contexts below
Expand Down Expand Up @@ -134,6 +140,12 @@ jobs:
tests/web/test_user_oauth_actor_ownership.py
tests/shared/postgres_disposable.py
tests/web/services/checkpoint_anchor_shared.py
tests/web/api/test_mcp_server_edit_lock_postgresql.py
src/xagent/web/api/mcp.py
src/xagent/web/api/custom_api.py
src/xagent/web/services/connector_team_scope.py
tests/web/api/test_custom_api_edit_lock_postgresql.py
tests/web/api/test_connector_hook_session_fault_postgresql.py
)

case "$EVENT_NAME" in
Expand Down Expand Up @@ -437,6 +449,27 @@ jobs:
env:
XAGENT_TEST_POSTGRES_URL: postgresql://xagent:xagent@localhost:5432/xagent_test

- name: Test MCP server edit row lock (Postgres-only)
if: needs.detect-migration-changes.outputs.should-test == 'true'
run: |
pytest tests/web/api/test_mcp_server_edit_lock_postgresql.py -m postgresql -q
env:
XAGENT_TEST_POSTGRES_URL: postgresql://xagent:xagent@localhost:5432/xagent_test

- name: Test Custom API edit row lock (Postgres-only)
if: needs.detect-migration-changes.outputs.should-test == 'true'
run: |
pytest tests/web/api/test_custom_api_edit_lock_postgresql.py -m postgresql -q
env:
XAGENT_TEST_POSTGRES_URL: postgresql://xagent:xagent@localhost:5432/xagent_test

- name: Test connector hook session fault recovery (Postgres-only)
if: needs.detect-migration-changes.outputs.should-test == 'true'
run: |
pytest tests/web/api/test_connector_hook_session_fault_postgresql.py -m postgresql -q
env:
XAGENT_TEST_POSTGRES_URL: postgresql://xagent:xagent@localhost:5432/xagent_test

migrations-summary:
name: Migrations Summary
runs-on: ubuntu-latest
Expand Down
Loading
Loading