fix(ci): restore plugin manifests and boundary tests

This commit is contained in:
Vincent Koc
2026-03-22 20:01:15 -07:00
parent afb4b1173b
commit 59105fd614
7 changed files with 71 additions and 8 deletions

View File

@@ -1,3 +1,8 @@
{
"id": "deepgram"
"id": "deepgram",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}

View File

@@ -1,3 +1,8 @@
{
"id": "groq"
"id": "groq",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}

View File

@@ -5,7 +5,7 @@ import {
} from "openclaw/plugin-sdk/account-id";
import type { OpenClawConfig } from "openclaw/plugin-sdk/account-resolution";
import { resolveAccountEntry } from "openclaw/plugin-sdk/account-resolution";
import { tryReadSecretFileSync } from "../../../src/infra/secret-file.js";
import { tryReadSecretFileSync } from "openclaw/plugin-sdk/infra-runtime";
import type {
LineAccountConfig,
LineConfig,

View File

@@ -37,7 +37,9 @@ describe("twilioApiRequest", () => {
},
}),
);
expect(String(init?.body)).toBe("To=%2B14155550123&StatusCallbackEvent=initiated&StatusCallbackEvent=completed");
expect(String(init?.body)).toBe(
"To=%2B14155550123&StatusCallbackEvent=initiated&StatusCallbackEvent=completed",
);
});
it("passes through URLSearchParams, allows 404s, and returns undefined for empty bodies", async () => {
@@ -70,7 +72,9 @@ describe("twilioApiRequest", () => {
});
it("throws twilio api errors for non-ok responses", async () => {
globalThis.fetch = vi.fn(async () => new Response("bad request", { status: 400 })) as typeof fetch;
globalThis.fetch = vi.fn(
async () => new Response("bad request", { status: 400 }),
) as typeof fetch;
await expect(
twilioApiRequest({

View File

@@ -19,7 +19,9 @@ describe("startStaleCallReaper", () => {
};
expect(startStaleCallReaper({ manager: manager as never })).toBeNull();
expect(startStaleCallReaper({ manager: manager as never, staleCallReaperSeconds: 0 })).toBeNull();
expect(
startStaleCallReaper({ manager: manager as never, staleCallReaperSeconds: 0 }),
).toBeNull();
});
it("reaps stale calls and ignores fresh ones", async () => {
@@ -76,7 +78,10 @@ describe("startStaleCallReaper", () => {
await vi.advanceTimersByTimeAsync(30_000);
await Promise.resolve();
expect(warn).toHaveBeenCalledWith("[voice-call] Reaper failed to end call call-stale:", expect.any(Error));
expect(warn).toHaveBeenCalledWith(
"[voice-call] Reaper failed to end call call-stale:",
expect.any(Error),
);
stop?.();
});

View File

@@ -27,7 +27,7 @@ describe("buildRandomTempFilePath", () => {
const resolved = path.resolve(result);
const rel = path.relative(tmpRoot, resolved);
expect(rel === ".." || rel.startsWith(`..${path.sep}`)).toBe(false);
expect(path.basename(result)).toBe("line-media-123-abc.jpg");
expect(path.basename(result)).toBe("channels-media-123-abc.jpg");
expect(result).not.toContain("..");
});
});

View File

@@ -468,6 +468,28 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
},
},
{
dirName: "deepgram",
idHint: "deepgram",
source: {
source: "./index.ts",
built: "index.js",
},
packageName: "@openclaw/deepgram-provider",
packageVersion: "2026.3.14",
packageDescription: "OpenClaw Deepgram media-understanding provider",
packageManifest: {
extensions: ["./index.ts"],
},
manifest: {
id: "deepgram",
configSchema: {
type: "object",
additionalProperties: false,
properties: {},
},
},
},
{
dirName: "diagnostics-otel",
idHint: "diagnostics-otel",
@@ -1049,6 +1071,28 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
channels: ["googlechat"],
},
},
{
dirName: "groq",
idHint: "groq",
source: {
source: "./index.ts",
built: "index.js",
},
packageName: "@openclaw/groq-provider",
packageVersion: "2026.3.14",
packageDescription: "OpenClaw Groq media-understanding provider",
packageManifest: {
extensions: ["./index.ts"],
},
manifest: {
id: "groq",
configSchema: {
type: "object",
additionalProperties: false,
properties: {},
},
},
},
{
dirName: "huggingface",
idHint: "huggingface",