From 7525b54c7612d2fec27ec4690ab7bbe2ff297301 Mon Sep 17 00:00:00 2001 From: WB01116753 Date: Thu, 12 Nov 2026 10:38:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?chore:=20=E6=8E=A5=E5=85=A5=E5=9F=8B?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/internal/providers/bailian/client.ts | 1 + packages/sdk/tests/unit/bailian.test.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/packages/sdk/src/internal/providers/bailian/client.ts b/packages/sdk/src/internal/providers/bailian/client.ts index 9c70034..25060a0 100644 --- a/packages/sdk/src/internal/providers/bailian/client.ts +++ b/packages/sdk/src/internal/providers/bailian/client.ts @@ -29,6 +29,7 @@ export class BailianClient extends BaseApiClient { return { "Content-Type": "application/json", Authorization: `Bearer ${this.apiKey}`, + "x-dashscope-source-config": "openagentpack", }; } diff --git a/packages/sdk/tests/unit/bailian.test.ts b/packages/sdk/tests/unit/bailian.test.ts index 17f361b..f9f9686 100644 --- a/packages/sdk/tests/unit/bailian.test.ts +++ b/packages/sdk/tests/unit/bailian.test.ts @@ -1,5 +1,6 @@ import { afterEach, describe, expect, test } from "bun:test"; import { BailianAdapter } from "../../src/internal/providers/bailian/adapter.ts"; +import { BailianClient } from "../../src/internal/providers/bailian/client.ts"; import { bailianConfigSchema } from "../../src/internal/providers/bailian/config.ts"; import { mapAgent, mapEnvironment, mapInitialEvents, mapSession } from "../../src/internal/providers/bailian/mapper.ts"; import type { ResolvedAgentRefs } from "../../src/internal/providers/interface.ts"; @@ -54,6 +55,23 @@ describe("bailianConfigSchema", () => { }); }); +describe("BailianClient source-config header", () => { + test("every MA request carries x-dashscope-source-config", async () => { + const client = new BailianClient({ apiKey: "sk-test", baseUrl: "https://bailian.test/api/v1/agentstudio" }); + const captured: Headers[] = []; + globalThis.fetch = (async (_input: RequestInfo | URL, init?: RequestInit) => { + captured.push(new Headers(init?.headers)); + return Response.json({ id: "agent_x", name: "Agents/x" }); + }) as typeof fetch; + + await client.get("/agents/agent_x"); + + expect(captured).toHaveLength(1); + expect(captured[0]?.get("x-dashscope-source-config")).toBe("openagentpack"); + expect(captured[0]?.get("Authorization")).toBe("Bearer sk-test"); + }); +}); + describe("BailianAdapter archived agents", () => { test("does not treat an archived agent id as an updatable resource", async () => { const adapter = new BailianAdapter("sk-test", "ws-test", "https://bailian.test/api/v1/agentstudio"); From 92e8fa104952603b85b27e87b7c62e9efe56c1c0 Mon Sep 17 00:00:00 2001 From: WB01116753 Date: Thu, 12 Nov 2026 10:44:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?test(sdk):=20webhook=20=E5=A5=91=E7=BA=A6?= =?UTF-8?q?=E6=96=AD=E8=A8=80=E8=A1=A5=E5=9F=8B=E7=82=B9=20header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/sdk/tests/unit/bailian-webhook.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/sdk/tests/unit/bailian-webhook.test.ts b/packages/sdk/tests/unit/bailian-webhook.test.ts index f33902e..37b1cce 100644 --- a/packages/sdk/tests/unit/bailian-webhook.test.ts +++ b/packages/sdk/tests/unit/bailian-webhook.test.ts @@ -260,7 +260,11 @@ describe("Bailian webhook wire contract", () => { expect(calls).toHaveLength(1); expect(calls[0]?.url).toBe(`${BASE_URL}${scenario.path}`); expect(calls[0]?.init?.method).toBe(scenario.method); - expect(calls[0]?.init?.headers).toEqual({ "Content-Type": "application/json", Authorization: "Bearer sk-test" }); + expect(calls[0]?.init?.headers).toEqual({ + "Content-Type": "application/json", + Authorization: "Bearer sk-test", + "x-dashscope-source-config": "openagentpack", + }); expect(calls[0]?.init?.signal).toBe(controller.signal); expect(calls[0]?.init?.body).toBe(scenario.body === undefined ? undefined : JSON.stringify(scenario.body)); });