improvement(mcp): bound MCP memory and lifecycle concurrency (#4751)

* improvement(mcp): bound MCP memory and lifecycle concurrency

* update db mock

* address comments

* address comments
This commit is contained in:
Vikhyath Mondreti
2026-05-27 12:23:07 -07:00
committed by GitHub
parent 23d2922718
commit 59792c052f
31 changed files with 3624 additions and 392 deletions
+19 -5
View File
@@ -97,19 +97,27 @@ export function createMockSqlOperators() {
* ```
*/
const limit = vi.fn(() => Promise.resolve([] as unknown[]))
const orderBy = vi.fn(() => Promise.resolve([] as unknown[]))
const returning = vi.fn(() => Promise.resolve([] as unknown[]))
const groupBy = vi.fn(() => Promise.resolve([] as unknown[]))
const execute = vi.fn(() => Promise.resolve([] as unknown[]))
const forBuilder = () => {
const terminalBuilder = () => {
const thenable: any = Promise.resolve([] as unknown[])
thenable.limit = limit
thenable.orderBy = orderBy
thenable.returning = returning
thenable.groupBy = groupBy
thenable.for = forClause
return thenable
}
const orderBy = vi.fn(terminalBuilder)
const having = vi.fn(terminalBuilder)
const groupBy = vi.fn(() => {
const builder = terminalBuilder()
builder.having = having
return builder
})
const forBuilder = terminalBuilder
const forClause = vi.fn(forBuilder)
const onConflictDoUpdate = vi.fn(() => ({ returning }) as unknown as Promise<void>)
@@ -162,6 +170,7 @@ export const dbChainMockFns = {
innerJoin,
leftJoin,
groupBy,
having,
execute,
for: forClause,
insert,
@@ -199,9 +208,14 @@ export function resetDbChainMock(): void {
set.mockImplementation(() => ({ where }))
del.mockImplementation(() => ({ where }))
limit.mockImplementation(() => Promise.resolve([] as unknown[]))
orderBy.mockImplementation(() => Promise.resolve([] as unknown[]))
orderBy.mockImplementation(terminalBuilder)
returning.mockImplementation(() => Promise.resolve([] as unknown[]))
groupBy.mockImplementation(() => Promise.resolve([] as unknown[]))
having.mockImplementation(terminalBuilder)
groupBy.mockImplementation(() => {
const builder = terminalBuilder()
builder.having = having
return builder
})
execute.mockImplementation(() => Promise.resolve([] as unknown[]))
forClause.mockImplementation(forBuilder)
transaction.mockImplementation(async (cb: (tx: typeof dbChainMock.db) => unknown) =>