mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 01:31:23 +00:00
feat(agents) : Hugging Face Inference provider first-class support and Together API fix and Direct Injection Refactor Auths [AI-assisted] (#13472)
* initial commit * removes assesment from docs * resolves automated review comments * resolves lint , type , tests , refactors , and submits * solves : why do we have to lint the tests xD * adds greptile fixes * solves a type error * solves a ci error * refactors auths * solves a failing test after i pulled from main lol * solves a failing test after i pulled from main lol * resolves token naming issue to comply with better practices when using hf / huggingface * fixes curly lints ! * fixes failing tests for google api from main * solve merge conflicts * solve failing tests with a defensive check 'undefined' openrouterapi key * fix: preserve Hugging Face auth-choice intent and token behavior (#13472) (thanks @Josephrp) * test: resolve auth-choice cherry-pick conflict cleanup (#13472) --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
@@ -14,26 +14,34 @@ const resolveRequestUrl = (input: RequestInfo | URL) => {
|
||||
return input.url;
|
||||
};
|
||||
|
||||
function stubPinnedHostname(hostname: string) {
|
||||
const normalized = hostname.trim().toLowerCase().replace(/\.$/, "");
|
||||
const addresses = [TEST_NET_IP];
|
||||
return {
|
||||
hostname: normalized,
|
||||
addresses,
|
||||
lookup: ssrf.createPinnedLookup({ hostname: normalized, addresses }),
|
||||
};
|
||||
}
|
||||
|
||||
describe("describeGeminiVideo", () => {
|
||||
let resolvePinnedHostnameWithPolicySpy: ReturnType<typeof vi.spyOn>;
|
||||
let resolvePinnedHostnameSpy: ReturnType<typeof vi.spyOn>;
|
||||
|
||||
beforeEach(() => {
|
||||
resolvePinnedHostnameSpy = vi
|
||||
// Stub both entry points so fetch-guard never does live DNS (CI can use either path).
|
||||
resolvePinnedHostnameWithPolicySpy = vi
|
||||
.spyOn(ssrf, "resolvePinnedHostnameWithPolicy")
|
||||
.mockImplementation(async (hostname) => {
|
||||
// SSRF guard pins DNS; stub resolution to avoid live lookups in unit tests.
|
||||
const normalized = hostname.trim().toLowerCase().replace(/\.$/, "");
|
||||
const addresses = [TEST_NET_IP];
|
||||
return {
|
||||
hostname: normalized,
|
||||
addresses,
|
||||
lookup: ssrf.createPinnedLookup({ hostname: normalized, addresses }),
|
||||
};
|
||||
});
|
||||
.mockImplementation(async (hostname) => stubPinnedHostname(hostname));
|
||||
resolvePinnedHostnameSpy = vi
|
||||
.spyOn(ssrf, "resolvePinnedHostname")
|
||||
.mockImplementation(async (hostname) => stubPinnedHostname(hostname));
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
resolvePinnedHostnameWithPolicySpy?.mockRestore();
|
||||
resolvePinnedHostnameSpy?.mockRestore();
|
||||
resolvePinnedHostnameWithPolicySpy = undefined;
|
||||
resolvePinnedHostnameSpy = undefined;
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user