chore: fix lint/format and update changelog

Co-authored-by: ItzR3NO <ItzR3NO@users.noreply.github.com>
This commit is contained in:
Peter Steinberger
2026-01-17 10:16:32 +00:00
parent fbf1c3ca3c
commit 4ca38286d8
5 changed files with 7 additions and 26 deletions

View File

@@ -21,7 +21,8 @@ Docs: https://docs.clawd.bot
- **BREAKING:** `clawdbot plugins install <path>` now copies into `~/.clawdbot/extensions` (use `--link` to keep path-based loading).
### Changes
- Plugins: ship bundled plugins disabled by default, allow overrides by installed versions, and add bundled Antigravity + Gemini CLI OAuth + Copilot Proxy provider plugins. (#1066) — thanks @ItzR3NO.
- Plugins: ship bundled plugins disabled by default and allow overrides by installed versions. (#1066) — thanks @ItzR3NO.
- Plugins: add bundled Antigravity + Gemini CLI OAuth + Copilot Proxy provider plugins. (#1066) — thanks @ItzR3NO.
- Tools: improve `web_fetch` extraction using Readability (with fallback).
- Tools: add Firecrawl fallback for `web_fetch` when configured.
- Tools: send Chrome-like headers by default for `web_fetch` to improve extraction on bot-sensitive sites.

View File

@@ -331,11 +331,7 @@ export async function applyNonInteractiveAuthChoice(params: {
return applyOpencodeZenConfig(nextConfig);
}
if (
authChoice === "oauth" ||
authChoice === "chutes" ||
authChoice === "openai-codex"
) {
if (authChoice === "oauth" || authChoice === "chutes" || authChoice === "openai-codex") {
runtime.error("OAuth requires interactive mode.");
runtime.exit(1);
return null;

View File

@@ -86,11 +86,7 @@ export function formatTargetDisplay(params: {
const display = params.display?.trim();
const kind =
params.kind ??
(lowered.startsWith("user:")
? "user"
: lowered.startsWith("channel:")
? "group"
: undefined);
(lowered.startsWith("user:") ? "user" : lowered.startsWith("channel:") ? "group" : undefined);
if (display) {
if (display.startsWith("#") || display.startsWith("@")) return display;

View File

@@ -98,14 +98,6 @@ function buildDeepgramCompatQuery(options?: {
return Object.keys(query).length > 0 ? query : undefined;
}
function mergeProviderQuery(
base: ProviderQuery | undefined,
incoming: ProviderQuery | undefined,
): ProviderQuery | undefined {
if (!base && !incoming) return undefined;
return { ...(base ?? {}), ...(incoming ?? {}) };
}
function normalizeDeepgramQueryKeys(query: ProviderQuery): ProviderQuery {
const normalized = { ...query };
if ("detectLanguage" in normalized) {
@@ -126,8 +118,8 @@ function resolveProviderQuery(params: {
}): ProviderQuery | undefined {
const { providerId, config, entry } = params;
const mergedOptions = normalizeProviderQuery({
...(config?.providerOptions?.[providerId] ?? {}),
...(entry.providerOptions?.[providerId] ?? {}),
...config?.providerOptions?.[providerId],
...entry.providerOptions?.[providerId],
});
if (providerId !== "deepgram") {
return mergedOptions;

View File

@@ -239,11 +239,7 @@ describe("loadClawdbotPlugins", () => {
it("prefers higher-precedence plugins with the same id", () => {
const bundledDir = makeTempDir();
fs.writeFileSync(
path.join(bundledDir, "shadow.js"),
"export default function () {}",
"utf-8",
);
fs.writeFileSync(path.join(bundledDir, "shadow.js"), "export default function () {}", "utf-8");
process.env.CLAWDBOT_BUNDLED_PLUGINS_DIR = bundledDir;
const override = writePlugin({