@apicity/xai 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,91 @@
1
+ import { dispatchWithPaidGate, createReplayStore, } from "./paygate.js";
2
+ import { isPaidEndpoint } from "./paid-endpoints.js";
3
+ /**
4
+ * HTTP-method roots that the walker will descend into. Properties outside
5
+ * this allowlist (sub-providers like `kie.veo`, schema collections like
6
+ * `kie.modelInputSchemas`, attached helpers like `kie.examples`) are
7
+ * returned by reference and never wrapped.
8
+ */
9
+ const DEFAULT_ROOTS = ["post", "get", "delete", "patch", "put"];
10
+ /**
11
+ * Walk a provider tree once and route every paid-endpoint leaf through
12
+ * `dispatchWithPaidGate`. Free leaves are returned untouched. Callable
13
+ * namespaces (functions with child properties — e.g. `xai.v1.models` is a
14
+ * function with `.languageModels` children) preserve all children and their
15
+ * `.schema` attachments.
16
+ *
17
+ * @param providerName Provider identifier matching `PAID_ENDPOINTS`.
18
+ * @param tree The provider object returned by the factory.
19
+ * @param opts Optional roots allowlist and IO injection.
20
+ * @returns A new tree of the same shape; paid leaves accept `(req, approval?)`.
21
+ */
22
+ export function withPaidGate(providerName, tree, opts) {
23
+ const roots = opts?.roots ?? DEFAULT_ROOTS;
24
+ // Normalize the config once so every gated dispatch on this provider instance
25
+ // shares a single replay store (single-use OTPs must be remembered across
26
+ // calls). A custom store passed by the code client is preserved.
27
+ const config = opts?.config
28
+ ? {
29
+ ...opts.config,
30
+ replayStore: opts.config.replayStore ?? createReplayStore(),
31
+ }
32
+ : undefined;
33
+ const out = {};
34
+ for (const [key, value] of Object.entries(tree)) {
35
+ if (roots.includes(key) && value && typeof value === "object") {
36
+ out[key] = walk(providerName, [key], value, config);
37
+ }
38
+ else {
39
+ out[key] = value;
40
+ }
41
+ }
42
+ return out;
43
+ }
44
+ function walk(providerName, path, node, config) {
45
+ if (typeof node === "function") {
46
+ return wrapCallable(providerName, path, node, config);
47
+ }
48
+ if (node && typeof node === "object" && !Array.isArray(node)) {
49
+ const out = {};
50
+ for (const [k, v] of Object.entries(node)) {
51
+ out[k] = walk(providerName, [...path, k], v, config);
52
+ }
53
+ return out;
54
+ }
55
+ return node;
56
+ }
57
+ /**
58
+ * Wrap a callable leaf. If the path resolves to a paid endpoint, the returned
59
+ * function routes through `dispatchWithPaidGate`. Otherwise the original
60
+ * function is returned. Either way, any properties hanging off the function
61
+ * (`.schema`, callable-namespace children) are preserved and recursively
62
+ * walked so nested paid leaves are also gated.
63
+ */
64
+ function wrapCallable(providerName, path, fn, config) {
65
+ const method = path[0].toUpperCase();
66
+ const dotPath = path.slice(1).join(".");
67
+ const paid = dotPath.length > 0 && isPaidEndpoint(providerName, method, dotPath);
68
+ const base = paid
69
+ ? (...args) => {
70
+ const [req, approval] = args;
71
+ return dispatchWithPaidGate(providerName, method, dotPath, req, approval, () => fn(req), config);
72
+ }
73
+ : fn;
74
+ // For callable namespaces (functions with own properties), only recurse into
75
+ // function-typed children — those are sub-endpoints that may themselves be
76
+ // paid. Non-function props (`.schema`, other metadata) are preserved by
77
+ // reference so test assertions and runtime callers can compare by identity.
78
+ const children = {};
79
+ for (const [k, v] of Object.entries(fn)) {
80
+ if (typeof v === "function") {
81
+ children[k] = walk(providerName, [...path, k], v, config);
82
+ }
83
+ else {
84
+ children[k] = v;
85
+ }
86
+ }
87
+ // If `base === fn` we still merge children, but they're already attached;
88
+ // the assignment is a no-op for own enumerable keys.
89
+ return Object.assign(base, children);
90
+ }
91
+ //# sourceMappingURL=with-paid-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-paid-gate.js","sourceRoot":"","sources":["../../src/with-paid-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAGlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAmBzE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAC1B,YAAoB,EACpB,IAAO,EACP,IAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC;IAC3C,8EAA8E;IAC9E,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,MAAM,GAA8B,IAAI,EAAE,MAAM;QACpD,CAAC,CAAC;YACE,GAAG,IAAI,CAAC,MAAM;YACd,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,iBAAiB,EAAE;SAC5D;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED,SAAS,IAAI,CACX,YAAoB,EACpB,IAAc,EACd,IAAa,EACb,MAAiC;IAEjC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,IAAkB,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,YAAoB,EACpB,IAAc,EACd,EAAc,EACd,MAAiC;IAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAe,IAAI;QAC3B,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAA8C,CAAC;YACvE,OAAO,oBAAoB,CACzB,YAAY,EACZ,MAAM,EACN,OAAO,EACP,GAA8B,EAC9B,QAAQ,EACR,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EACb,MAAM,CACP,CAAC;QACJ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,6EAA6E;IAC7E,2EAA2E;IAC3E,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,qDAAqD;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../src/xai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAkEV,WAAW,EAEZ,MAAM,SAAS,CAAC;AAuCjB,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CA03CvD"}
1
+ {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../src/xai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAuEV,WAAW,EAEZ,MAAM,SAAS,CAAC;AAyFjB,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAy9CvD"}
package/dist/src/xai.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { XaiError, } from "./types.js";
2
- import { XaiChatRequestSchema, XaiImageGenerateRequestSchema, XaiImageEditRequestSchema, XaiVideoGenerateRequestSchema, XaiVideoEditRequestSchema, XaiVideoExtendRequestSchema, XaiBatchCreateRequestSchema, XaiCollectionCreateRequestSchema, XaiCollectionUpdateRequestSchema, XaiDocumentSearchRequestSchema, XaiResponseRequestSchema, XaiTokenizeTextRequestSchema, XaiRealtimeClientSecretRequestSchema, XaiTtsRequestSchema, XaiSttRequestSchema, XaiCustomVoiceCreateRequestSchema, XaiBillingUsageRequestSchema, } from "./zod.js";
2
+ import { XaiChatRequestSchema, XaiImageGenerateRequestSchema, XaiImageEditRequestSchema, XaiVideoGenerateRequestSchema, XaiGrokImagineVideo15ImageToVideoRequestSchema, XaiVideoEditRequestSchema, XaiVideoExtendRequestSchema, XaiBatchCreateRequestSchema, XaiCollectionCreateRequestSchema, XaiCollectionUpdateRequestSchema, XaiDocumentSearchRequestSchema, XaiResponseRequestSchema, XaiTokenizeTextRequestSchema, XaiRealtimeClientSecretRequestSchema, XaiTtsRequestSchema, XaiSttRequestSchema, XaiCustomVoiceCreateRequestSchema, XaiBillingUsageRequestSchema, XAI_GROK_IMAGINE_VIDEO_1_5_PREVIEW, } from "./zod.js";
3
3
  import { attachExamples } from "./example.js";
4
- import { withPaidGate } from "@apicity/cost";
4
+ import { withPaidGate } from "./with-paid-gate.js";
5
5
  // Helper function to safely handle AbortSignal across different environments
6
6
  function attachAbortHandler(signal, controller) {
7
7
  if (!signal)
@@ -15,6 +15,45 @@ function attachAbortHandler(signal, controller) {
15
15
  controller.abort();
16
16
  }
17
17
  }
18
+ const DEFAULT_VIDEO_POLL_INTERVAL_MS = 5000;
19
+ const DEFAULT_VIDEO_MAX_POLLS = 60;
20
+ function normalizeImageReference(image) {
21
+ const { image_url, ...rest } = image;
22
+ if (rest.url === undefined && image_url !== undefined) {
23
+ return { ...rest, url: image_url };
24
+ }
25
+ return rest;
26
+ }
27
+ function normalizeImageEditRequest(req) {
28
+ return {
29
+ ...req,
30
+ image: req.image === undefined ? undefined : normalizeImageReference(req.image),
31
+ images: req.images?.map(normalizeImageReference),
32
+ };
33
+ }
34
+ function normalizeVideoReference(image) {
35
+ if (typeof image === "string")
36
+ return { url: image };
37
+ return image;
38
+ }
39
+ function waitForPollInterval(ms, signal) {
40
+ if (ms <= 0)
41
+ return Promise.resolve();
42
+ if (signal?.aborted) {
43
+ return Promise.reject(new XaiError("XAI request aborted", 499));
44
+ }
45
+ return new Promise((resolve, reject) => {
46
+ const timeoutId = setTimeout(() => {
47
+ signal?.removeEventListener("abort", onAbort);
48
+ resolve();
49
+ }, ms);
50
+ const onAbort = () => {
51
+ clearTimeout(timeoutId);
52
+ reject(new XaiError("XAI request aborted", 499));
53
+ };
54
+ signal?.addEventListener("abort", onAbort, { once: true });
55
+ });
56
+ }
18
57
  export function createXai(opts) {
19
58
  const baseURL = opts.baseURL ?? "https://api.x.ai/v1";
20
59
  const managementBaseURL = opts.managementBaseURL ?? "https://management-api.x.ai/v1";
@@ -78,6 +117,57 @@ export function createXai(opts) {
78
117
  }
79
118
  return parts.length > 0 ? `?${parts.join("&")}` : "";
80
119
  }
120
+ // sig-ok image-to-video helper polls the same generation endpoint.
121
+ // POST https://api.x.ai/v1/videos/generations
122
+ // Docs: https://docs.x.ai/developers/model-capabilities/video/image-to-video
123
+ async function imageToVideo(req, signal) {
124
+ if (req.model !== undefined &&
125
+ req.model !== XAI_GROK_IMAGINE_VIDEO_1_5_PREVIEW) {
126
+ throw new XaiError(`Grok Imagine image-to-video uses ${XAI_GROK_IMAGINE_VIDEO_1_5_PREVIEW}`, 400, { model: req.model });
127
+ }
128
+ const { pollIntervalMs = DEFAULT_VIDEO_POLL_INTERVAL_MS, maxPolls = DEFAULT_VIDEO_MAX_POLLS, image, } = req;
129
+ const generationRequest = {
130
+ prompt: req.prompt,
131
+ model: XAI_GROK_IMAGINE_VIDEO_1_5_PREVIEW,
132
+ image: normalizeVideoReference(image),
133
+ };
134
+ if (req.duration !== undefined)
135
+ generationRequest.duration = req.duration;
136
+ if (req.aspect_ratio !== undefined) {
137
+ generationRequest.aspect_ratio = req.aspect_ratio;
138
+ }
139
+ if (req.resolution !== undefined) {
140
+ generationRequest.resolution = req.resolution;
141
+ }
142
+ const start = await makeRequest("POST", "/videos/generations", generationRequest, signal);
143
+ let lastStatus;
144
+ for (let poll = 0; poll < maxPolls; poll++) {
145
+ const status = await makeRequest("GET", `/videos/${encodeURIComponent(start.request_id)}`, undefined, signal);
146
+ lastStatus = {
147
+ ...status,
148
+ request_id: status.request_id ?? start.request_id,
149
+ };
150
+ if (status.status === "done") {
151
+ if (!status.video?.url) {
152
+ throw new XaiError(`XAI video generation completed without a video URL: ${start.request_id}`, 502, lastStatus);
153
+ }
154
+ return {
155
+ ...status,
156
+ status: "done",
157
+ request_id: start.request_id,
158
+ video: status.video,
159
+ model: status.model ?? XAI_GROK_IMAGINE_VIDEO_1_5_PREVIEW,
160
+ };
161
+ }
162
+ if (status.status === "failed" || status.status === "expired") {
163
+ throw new XaiError(`XAI video generation ${status.status}: ${start.request_id}`, 500, lastStatus);
164
+ }
165
+ if (poll < maxPolls - 1) {
166
+ await waitForPollInterval(pollIntervalMs, signal);
167
+ }
168
+ }
169
+ throw new XaiError(`XAI video generation timed out after ${maxPolls} polls: ${start.request_id}`, 408, lastStatus ?? { request_id: start.request_id });
170
+ }
81
171
  async function makeManagementRequest(method, path, body, signal) {
82
172
  const controller = new AbortController();
83
173
  const timeoutId = setTimeout(() => controller.abort(), timeout);
@@ -441,16 +531,16 @@ export function createXai(opts) {
441
531
  },
442
532
  images: {
443
533
  // POST https://api.x.ai/v1/images/generations
444
- // Docs: https://docs.x.ai/docs/api-reference
534
+ // Docs: https://docs.x.ai/developers/rest-api-reference/inference/images
445
535
  generations: Object.assign(async function generations(req, signal) {
446
536
  return await makeRequest("POST", "/images/generations", req, signal);
447
537
  }, {
448
538
  schema: XaiImageGenerateRequestSchema,
449
539
  }),
450
540
  // POST https://api.x.ai/v1/images/edits
451
- // Docs: https://docs.x.ai/docs/api-reference
541
+ // Docs: https://docs.x.ai/developers/rest-api-reference/inference/images
452
542
  edits: Object.assign(async function edits(req, signal) {
453
- return await makeRequest("POST", "/images/edits", req, signal);
543
+ return await makeRequest("POST", "/images/edits", normalizeImageEditRequest(req), signal);
454
544
  }, {
455
545
  schema: XaiImageEditRequestSchema,
456
546
  }),
@@ -462,6 +552,9 @@ export function createXai(opts) {
462
552
  return await makeRequest("POST", "/videos/generations", req, signal);
463
553
  }, {
464
554
  schema: XaiVideoGenerateRequestSchema,
555
+ imageToVideo: Object.assign(imageToVideo, {
556
+ schema: XaiGrokImagineVideo15ImageToVideoRequestSchema,
557
+ }),
465
558
  }),
466
559
  // POST https://api.x.ai/v1/videos/edits
467
560
  // Docs: https://docs.x.ai/docs/api-reference
@@ -1 +1 @@
1
- {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../src/xai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../src/xai.ts"],"names":[],"mappings":"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"}