1
0

provider-xai-responses.test.ts 976 B

1234567891011121314151617181920212223242526272829303132
  1. import { createXai } from "@ai-sdk/xai"
  2. import { expect, test } from "bun:test"
  3. test("xAI Responses sends promptCacheKey as prompt_cache_key", async () => {
  4. let body: Record<string, unknown> | undefined
  5. const mockFetch = Object.assign(
  6. async (_input: Parameters<typeof fetch>[0], init?: RequestInit) => {
  7. body = JSON.parse(String(init?.body))
  8. return Response.json({
  9. id: "response-1",
  10. created_at: 0,
  11. model: "grok-4",
  12. object: "response",
  13. output: [],
  14. usage: { input_tokens: 1, output_tokens: 0 },
  15. status: "completed",
  16. })
  17. },
  18. { preconnect: fetch.preconnect },
  19. )
  20. const model = createXai({
  21. apiKey: "test",
  22. fetch: mockFetch,
  23. }).responses("grok-4")
  24. await model.doGenerate({
  25. prompt: [{ role: "user", content: [{ type: "text", text: "Hello" }] }],
  26. providerOptions: { xai: { promptCacheKey: "session-123" } },
  27. })
  28. expect(body?.prompt_cache_key).toBe("session-123")
  29. })