mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-08 10:24:20 +02:00
Tests: fix package boundary and runtime drift
This commit is contained in:
@@ -9,7 +9,7 @@ export const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.4";
|
||||
export const OPENAI_DEFAULT_IMAGE_MODEL = "gpt-image-1";
|
||||
export const OPENAI_DEFAULT_TTS_MODEL = "gpt-4o-mini-tts";
|
||||
export const OPENAI_DEFAULT_TTS_VOICE = "alloy";
|
||||
export const OPENAI_DEFAULT_AUDIO_TRANSCRIPTION_MODEL = "gpt-4o-mini-transcribe";
|
||||
export const OPENAI_DEFAULT_AUDIO_TRANSCRIPTION_MODEL = "gpt-4o-transcribe";
|
||||
export const OPENAI_DEFAULT_EMBEDDING_MODEL = "text-embedding-3-small";
|
||||
|
||||
export function applyOpenAIProviderConfig(cfg: OpenClawConfig): OpenClawConfig {
|
||||
|
||||
@@ -43,7 +43,7 @@ describe("transcribeOpenAiAudio", () => {
|
||||
});
|
||||
const { url: seenUrl, init: seenInit } = getRequest();
|
||||
|
||||
expect(result.model).toBe("gpt-4o-mini-transcribe");
|
||||
expect(result.model).toBe("gpt-4o-transcribe");
|
||||
expect(result.text).toBe("hello");
|
||||
expect(seenUrl).toBe("https://api.example.com/v1/audio/transcriptions");
|
||||
expect(seenInit?.method).toBe("POST");
|
||||
@@ -55,7 +55,7 @@ describe("transcribeOpenAiAudio", () => {
|
||||
|
||||
const form = seenInit?.body as FormData;
|
||||
expect(form).toBeInstanceOf(FormData);
|
||||
expect(form.get("model")).toBe("gpt-4o-mini-transcribe");
|
||||
expect(form.get("model")).toBe("gpt-4o-transcribe");
|
||||
expect(form.get("language")).toBe("en");
|
||||
expect(form.get("prompt")).toBe("hello");
|
||||
const file = form.get("file") as Blob | { type?: string; name?: string } | null;
|
||||
|
||||
@@ -3,17 +3,11 @@
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"openclaw/extension-api": ["../src/extensionAPI.ts"],
|
||||
"openclaw/plugin-sdk": [
|
||||
"../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/index.d.ts"
|
||||
],
|
||||
"openclaw/plugin-sdk/*": [
|
||||
"../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/*.d.ts"
|
||||
],
|
||||
"openclaw/plugin-sdk": ["../packages/plugin-sdk/dist/src/plugin-sdk/index.d.ts"],
|
||||
"openclaw/plugin-sdk/*": ["../packages/plugin-sdk/dist/src/plugin-sdk/*.d.ts"],
|
||||
"openclaw/plugin-sdk/account-id": ["../src/plugin-sdk/account-id.ts"],
|
||||
"@openclaw/*": ["../packages/plugin-sdk/dist/extensions/*", "../extensions/*"],
|
||||
"@openclaw/plugin-sdk/*": [
|
||||
"../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/*.d.ts"
|
||||
]
|
||||
"@openclaw/plugin-sdk/*": ["../packages/plugin-sdk/dist/src/plugin-sdk/*.d.ts"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,17 +4,11 @@
|
||||
"rootDir": ".",
|
||||
"paths": {
|
||||
"openclaw/extension-api": ["../../src/extensionAPI.ts"],
|
||||
"openclaw/plugin-sdk": [
|
||||
"../../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/index.d.ts"
|
||||
],
|
||||
"openclaw/plugin-sdk/*": [
|
||||
"../../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/*.d.ts"
|
||||
],
|
||||
"openclaw/plugin-sdk": ["../../packages/plugin-sdk/dist/src/plugin-sdk/index.d.ts"],
|
||||
"openclaw/plugin-sdk/*": ["../../packages/plugin-sdk/dist/src/plugin-sdk/*.d.ts"],
|
||||
"openclaw/plugin-sdk/account-id": ["../../src/plugin-sdk/account-id.ts"],
|
||||
"@openclaw/*": ["../*"],
|
||||
"@openclaw/plugin-sdk/*": [
|
||||
"../../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/*.d.ts"
|
||||
],
|
||||
"@openclaw/plugin-sdk/*": ["../../packages/plugin-sdk/dist/src/plugin-sdk/*.d.ts"],
|
||||
"@openclaw/anthropic-vertex/api.js": ["./.boundary-stubs/anthropic-vertex-api.d.ts"],
|
||||
"@openclaw/ollama/api.js": ["./.boundary-stubs/ollama-api.d.ts"],
|
||||
"@openclaw/ollama/runtime-api.js": ["./.boundary-stubs/ollama-runtime-api.d.ts"],
|
||||
|
||||
@@ -5,63 +5,71 @@
|
||||
"type": "module",
|
||||
"exports": {
|
||||
"./config-runtime": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/config-runtime.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/config-runtime.d.ts",
|
||||
"default": "./src/config-runtime.ts"
|
||||
},
|
||||
"./plugin-entry": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/plugin-entry.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/plugin-entry.d.ts",
|
||||
"default": "./src/plugin-entry.ts"
|
||||
},
|
||||
"./provider-auth": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-auth.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-auth.d.ts",
|
||||
"default": "./src/provider-auth.ts"
|
||||
},
|
||||
"./provider-auth-runtime": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-auth-runtime.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-auth-runtime.d.ts",
|
||||
"default": "./src/provider-auth-runtime.ts"
|
||||
},
|
||||
"./provider-entry": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-entry.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-entry.d.ts",
|
||||
"default": "./src/provider-entry.ts"
|
||||
},
|
||||
"./provider-http": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-http.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-http.d.ts",
|
||||
"default": "./src/provider-http.ts"
|
||||
},
|
||||
"./provider-model-shared": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-model-shared.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-model-shared.d.ts",
|
||||
"default": "./src/provider-model-shared.ts"
|
||||
},
|
||||
"./provider-onboard": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-onboard.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-onboard.d.ts",
|
||||
"default": "./src/provider-onboard.ts"
|
||||
},
|
||||
"./provider-stream-shared": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-stream-shared.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-stream-shared.d.ts",
|
||||
"default": "./src/provider-stream-shared.ts"
|
||||
},
|
||||
"./provider-tools": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-tools.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-tools.d.ts",
|
||||
"default": "./src/provider-tools.ts"
|
||||
},
|
||||
"./provider-web-search": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-web-search.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/provider-web-search.d.ts",
|
||||
"default": "./src/provider-web-search.ts"
|
||||
},
|
||||
"./runtime-doctor": {
|
||||
"types": "./dist/src/plugin-sdk/runtime-doctor.d.ts",
|
||||
"default": "./src/runtime-doctor.ts"
|
||||
},
|
||||
"./runtime-env": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/runtime-env.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/runtime-env.d.ts",
|
||||
"default": "./src/runtime-env.ts"
|
||||
},
|
||||
"./secret-input": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/secret-input.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/secret-input.d.ts",
|
||||
"default": "./src/secret-input.ts"
|
||||
},
|
||||
"./testing": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/testing.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/testing.d.ts",
|
||||
"default": "./src/testing.ts"
|
||||
},
|
||||
"./text-runtime": {
|
||||
"types": "./dist/src/plugin-sdk/text-runtime.d.ts",
|
||||
"default": "./src/text-runtime.ts"
|
||||
},
|
||||
"./video-generation": {
|
||||
"types": "./dist/packages/plugin-sdk/src/src/plugin-sdk/video-generation.d.ts",
|
||||
"types": "./dist/src/plugin-sdk/video-generation.d.ts",
|
||||
"default": "./src/video-generation.ts"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,11 +27,13 @@
|
||||
"../../src/plugin-sdk/provider-stream-shared.ts",
|
||||
"../../src/plugin-sdk/provider-tools.ts",
|
||||
"../../src/plugin-sdk/provider-web-search.ts",
|
||||
"../../src/plugin-sdk/runtime-doctor.ts",
|
||||
"../../src/plugin-sdk/runtime-env.ts",
|
||||
"../../src/plugin-sdk/secret-input-schema.ts",
|
||||
"../../src/plugin-sdk/secret-input.ts",
|
||||
"../../src/plugin-sdk/telegram-command-config.ts",
|
||||
"../../src/plugin-sdk/testing.ts",
|
||||
"../../src/plugin-sdk/text-runtime.ts",
|
||||
"../../src/plugin-sdk/video-generation.ts",
|
||||
"../../src/video-generation/dashscope-compatible.ts",
|
||||
"../../src/video-generation/types.ts",
|
||||
|
||||
@@ -19,7 +19,7 @@ describe("transcribeOpenAiCompatibleAudio", () => {
|
||||
fetchFn,
|
||||
provider: "openai",
|
||||
defaultBaseUrl: "https://api.openai.com/v1",
|
||||
defaultModel: "gpt-4o-mini-transcribe",
|
||||
defaultModel: "gpt-4o-transcribe",
|
||||
});
|
||||
|
||||
const headers = new Headers(getRequest().init?.headers);
|
||||
@@ -40,7 +40,7 @@ describe("transcribeOpenAiCompatibleAudio", () => {
|
||||
provider: "openai",
|
||||
baseUrl: "https://proxy.example.com/v1",
|
||||
defaultBaseUrl: "https://api.openai.com/v1",
|
||||
defaultModel: "gpt-4o-mini-transcribe",
|
||||
defaultModel: "gpt-4o-transcribe",
|
||||
});
|
||||
|
||||
const headers = new Headers(getRequest().init?.headers);
|
||||
|
||||
@@ -75,7 +75,7 @@ describe("runCapability auto audio entries", () => {
|
||||
},
|
||||
});
|
||||
expect(result.outputs[0]?.text).toBe("ok");
|
||||
expect(seenModel).toBe("gpt-4o-mini-transcribe");
|
||||
expect(seenModel).toBe("gpt-4o-transcribe");
|
||||
expect(result.decision.outcome).toBe("success");
|
||||
});
|
||||
|
||||
@@ -144,7 +144,7 @@ describe("runCapability auto audio entries", () => {
|
||||
capabilities: ["audio"],
|
||||
transcribeAudio: async () => ({
|
||||
text: "openai",
|
||||
model: "gpt-4o-mini-transcribe",
|
||||
model: "gpt-4o-transcribe",
|
||||
}),
|
||||
},
|
||||
mistral: {
|
||||
|
||||
@@ -27,6 +27,12 @@ export * from "../utils/chunk-items.js";
|
||||
export * from "../utils/fetch-timeout.js";
|
||||
export * from "../utils/reaction-level.js";
|
||||
export * from "../utils/with-timeout.js";
|
||||
export {
|
||||
hasNonEmptyString,
|
||||
normalizeNullableString,
|
||||
normalizeOptionalString,
|
||||
readStringValue,
|
||||
} from "../shared/string-coerce.js";
|
||||
export {
|
||||
CONFIG_DIR,
|
||||
clamp,
|
||||
|
||||
@@ -37,17 +37,11 @@ describe("opt-in extension package boundaries", () => {
|
||||
expect(pathsConfig.extends).toBe("../tsconfig.json");
|
||||
expect(pathsConfig.compilerOptions?.paths).toEqual({
|
||||
"openclaw/extension-api": ["../src/extensionAPI.ts"],
|
||||
"openclaw/plugin-sdk": [
|
||||
"../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/index.d.ts",
|
||||
],
|
||||
"openclaw/plugin-sdk/*": [
|
||||
"../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/*.d.ts",
|
||||
],
|
||||
"openclaw/plugin-sdk": ["../packages/plugin-sdk/dist/src/plugin-sdk/index.d.ts"],
|
||||
"openclaw/plugin-sdk/*": ["../packages/plugin-sdk/dist/src/plugin-sdk/*.d.ts"],
|
||||
"openclaw/plugin-sdk/account-id": ["../src/plugin-sdk/account-id.ts"],
|
||||
"@openclaw/*": ["../packages/plugin-sdk/dist/extensions/*", "../extensions/*"],
|
||||
"@openclaw/plugin-sdk/*": [
|
||||
"../packages/plugin-sdk/dist/packages/plugin-sdk/src/src/plugin-sdk/*.d.ts",
|
||||
],
|
||||
"@openclaw/plugin-sdk/*": ["../packages/plugin-sdk/dist/src/plugin-sdk/*.d.ts"],
|
||||
});
|
||||
|
||||
const baseConfig = readJsonFile<TsConfigJson>(EXTENSION_PACKAGE_BOUNDARY_BASE_CONFIG);
|
||||
@@ -109,11 +103,13 @@ describe("opt-in extension package boundaries", () => {
|
||||
"../../src/plugin-sdk/provider-stream-shared.ts",
|
||||
"../../src/plugin-sdk/provider-tools.ts",
|
||||
"../../src/plugin-sdk/provider-web-search.ts",
|
||||
"../../src/plugin-sdk/runtime-doctor.ts",
|
||||
"../../src/plugin-sdk/runtime-env.ts",
|
||||
"../../src/plugin-sdk/secret-input-schema.ts",
|
||||
"../../src/plugin-sdk/secret-input.ts",
|
||||
"../../src/plugin-sdk/telegram-command-config.ts",
|
||||
"../../src/plugin-sdk/testing.ts",
|
||||
"../../src/plugin-sdk/text-runtime.ts",
|
||||
"../../src/plugin-sdk/video-generation.ts",
|
||||
"../../src/video-generation/dashscope-compatible.ts",
|
||||
"../../src/video-generation/types.ts",
|
||||
@@ -124,13 +120,19 @@ describe("opt-in extension package boundaries", () => {
|
||||
expect(packageJson.name).toBe("@openclaw/plugin-sdk");
|
||||
expect(packageJson.exports?.["./core"]).toBeUndefined();
|
||||
expect(packageJson.exports?.["./plugin-entry"]?.types).toBe(
|
||||
"./dist/packages/plugin-sdk/src/src/plugin-sdk/plugin-entry.d.ts",
|
||||
"./dist/src/plugin-sdk/plugin-entry.d.ts",
|
||||
);
|
||||
expect(packageJson.exports?.["./provider-http"]?.types).toBe(
|
||||
"./dist/packages/plugin-sdk/src/src/plugin-sdk/provider-http.d.ts",
|
||||
"./dist/src/plugin-sdk/provider-http.d.ts",
|
||||
);
|
||||
expect(packageJson.exports?.["./runtime-doctor"]?.types).toBe(
|
||||
"./dist/src/plugin-sdk/runtime-doctor.d.ts",
|
||||
);
|
||||
expect(packageJson.exports?.["./text-runtime"]?.types).toBe(
|
||||
"./dist/src/plugin-sdk/text-runtime.d.ts",
|
||||
);
|
||||
expect(packageJson.exports?.["./video-generation"]?.types).toBe(
|
||||
"./dist/packages/plugin-sdk/src/src/plugin-sdk/video-generation.d.ts",
|
||||
"./dist/src/plugin-sdk/video-generation.d.ts",
|
||||
);
|
||||
expect(existsSync(resolve(REPO_ROOT, "packages/plugin-sdk/types/plugin-entry.d.ts"))).toBe(
|
||||
false,
|
||||
|
||||
@@ -11,7 +11,7 @@ export const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.4";
|
||||
export const OPENAI_DEFAULT_IMAGE_MODEL = "gpt-image-1";
|
||||
export const OPENAI_DEFAULT_TTS_MODEL = "gpt-4o-mini-tts";
|
||||
export const OPENAI_DEFAULT_TTS_VOICE = "alloy";
|
||||
export const OPENAI_DEFAULT_AUDIO_TRANSCRIPTION_MODEL = "gpt-4o-mini-transcribe";
|
||||
export const OPENAI_DEFAULT_AUDIO_TRANSCRIPTION_MODEL = "gpt-4o-transcribe";
|
||||
export const OPENAI_DEFAULT_EMBEDDING_MODEL = "text-embedding-3-small";
|
||||
export const GOOGLE_GEMINI_DEFAULT_MODEL = "google/gemini-3.1-pro-preview";
|
||||
export const OLLAMA_DEFAULT_BASE_URL = "http://127.0.0.1:11434";
|
||||
|
||||
@@ -84,6 +84,7 @@ export function installSharedTestSetup(options?: SharedTestSetupOptions): {
|
||||
}
|
||||
cleaned = true;
|
||||
testEnv.cleanup();
|
||||
delete globalState[SHARED_TEST_SETUP];
|
||||
},
|
||||
};
|
||||
globalState[SHARED_TEST_SETUP] = handle;
|
||||
|
||||
Reference in New Issue
Block a user