kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
pull/715/head
rodzic
0a7fa93f6b
commit
259f988f52
|
@ -16,7 +16,7 @@ const fixtures = [
|
|||
// 'pricing-3-plans',
|
||||
// 'pricing-monthly-annual',
|
||||
// 'pricing-custom-0',
|
||||
'basic-openapi',
|
||||
// 'basic-openapi',
|
||||
'basic-mcp',
|
||||
'everything-openapi'
|
||||
]
|
||||
|
|
|
@ -94,6 +94,13 @@ for (const [i, fixtureSuite] of fixtureSuites.entries()) {
|
|||
body = await res.arrayBuffer()
|
||||
}
|
||||
|
||||
if (debugFixture) {
|
||||
console.log(`${fixtureName} => ${res.status}`, {
|
||||
body,
|
||||
headers: Object.fromEntries(res.headers.entries())
|
||||
})
|
||||
}
|
||||
|
||||
if (expectedBody) {
|
||||
expect(body).toEqual(expectedBody)
|
||||
}
|
||||
|
@ -119,13 +126,6 @@ for (const [i, fixtureSuite] of fixtureSuites.entries()) {
|
|||
expect(body).toEqual(fixtureResponseBody)
|
||||
}
|
||||
}
|
||||
|
||||
if (debugFixture) {
|
||||
console.log(`${fixtureName} => ${res.status}`, {
|
||||
body,
|
||||
headers: Object.fromEntries(res.headers.entries())
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
@ -626,5 +626,21 @@ export const fixtureSuites: E2ETestFixtureSuite[] = [
|
|||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'HTTP => OpenAPI origin everything "echo_headers" tool',
|
||||
snapshot: false,
|
||||
fixtures: [
|
||||
{
|
||||
path: '@dev/test-everything-openapi/echo_headers',
|
||||
response: {
|
||||
validate: (body) => {
|
||||
expect(body['x-agentic-proxy-secret']).toEqual(
|
||||
'f279280a67a15df6e0245511bdeb11854fc8f6f702c49d028431bb1dbc03bfdc'
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -557,5 +557,25 @@ export const fixtureSuites: MCPE2ETestFixtureSuite[] = [
|
|||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'MCP => OpenAPI origin everything "echo_headers" tool',
|
||||
path: '@dev/test-everything-openapi/mcp',
|
||||
stableSnapshot: false,
|
||||
fixtures: [
|
||||
{
|
||||
request: {
|
||||
name: 'echo_headers',
|
||||
args: {}
|
||||
},
|
||||
response: {
|
||||
validate: (result) => {
|
||||
expect(result.structuredContent['x-agentic-proxy-secret']).toEqual(
|
||||
'f279280a67a15df6e0245511bdeb11854fc8f6f702c49d028431bb1dbc03bfdc'
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -26,14 +26,18 @@ export class DurableMcpClientBase extends DurableObject<RawEnv> {
|
|||
const existingMcpClientInfo =
|
||||
await this.ctx.storage.get<DurableMcpClientInfo>('mcp-client-info')
|
||||
|
||||
if (!existingMcpClientInfo) {
|
||||
await this.ctx.storage.put('mcp-client-info', mcpClientInfo)
|
||||
} else {
|
||||
assert(
|
||||
mcpClientInfo.url === existingMcpClientInfo.url,
|
||||
500,
|
||||
`DurableMcpClientInfo url mismatch: "${mcpClientInfo.url}" vs "${existingMcpClientInfo.url}"`
|
||||
)
|
||||
await this.ctx.storage.put('mcp-client-info', mcpClientInfo)
|
||||
if (existingMcpClientInfo) {
|
||||
if (mcpClientInfo.url !== existingMcpClientInfo.url) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn(
|
||||
`DurableMcpClientInfo url changed from "${existingMcpClientInfo.url}" to "${mcpClientInfo.url}"`
|
||||
)
|
||||
}
|
||||
|
||||
await this.client?.close()
|
||||
this.clientConnectionP = undefined
|
||||
this.client = undefined
|
||||
}
|
||||
|
||||
return this.ensureClientConnection(mcpClientInfo)
|
||||
|
|
|
@ -3,7 +3,7 @@ import { defineConfig } from '@agentic/platform'
|
|||
export default defineConfig({
|
||||
name: 'test-basic-mcp',
|
||||
// originUrl: 'http://localhost:8080/stream',
|
||||
originUrl: 'https://agentic-basic-mcp-test.onrender.com/stream',
|
||||
originUrl: 'https://agentic-basic-mcp-test.onrender.com/mcp',
|
||||
originAdapter: {
|
||||
type: 'mcp'
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue