源码快照 @ 2026-09-02 (source-only, 剔除非源码素材)
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
|
||||
import {
|
||||
connectSkillPrompt,
|
||||
encodeConnectSkillToken,
|
||||
parseConnectSkillToken,
|
||||
} from "@/react-app/domains/session/surface/composer/connect-skill-token";
|
||||
|
||||
describe("connect skill token", () => {
|
||||
const token = {
|
||||
slug: "daytona-chrome-cdp",
|
||||
name: "Daytona Chrome CDP",
|
||||
marketplace: "Engineering Marketplace",
|
||||
capability: "plugin:plg_01kx4t4h2aendr697p964fsg15:cob_01kx4t4hzjendr69kfjprv2wz6",
|
||||
};
|
||||
|
||||
test("round-trips through the draft text token", () => {
|
||||
const encoded = encodeConnectSkillToken(token);
|
||||
expect(encoded.startsWith("[connect-skill ")).toBe(true);
|
||||
expect(encoded.endsWith("]")).toBe(true);
|
||||
expect(parseConnectSkillToken(encoded)).toEqual(token);
|
||||
});
|
||||
|
||||
test("escapes separator and bracket characters in fields", () => {
|
||||
const tricky = { ...token, name: "A|B ] C % D", marketplace: "M|]%" };
|
||||
const encoded = encodeConnectSkillToken(tricky);
|
||||
expect(parseConnectSkillToken(encoded)).toEqual(tricky);
|
||||
});
|
||||
|
||||
test("rejects non-token segments", () => {
|
||||
expect(parseConnectSkillToken("[skill invalid]")).toBeNull();
|
||||
expect(parseConnectSkillToken("[connect-skill only|two]")).toBeNull();
|
||||
expect(parseConnectSkillToken("plain text")).toBeNull();
|
||||
});
|
||||
|
||||
test("expands to the full connect prompt for the model", () => {
|
||||
const prompt = connectSkillPrompt(token);
|
||||
expect(prompt).toContain(`"${token.name}" skill`);
|
||||
expect(prompt).toContain(`"${token.marketplace}" marketplace`);
|
||||
expect(prompt).toContain(token.capability);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user