@apicity/kie 0.1.0-alpha.0

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.
Files changed (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +569 -0
  3. package/dist/src/chat.d.ts +56 -0
  4. package/dist/src/chat.d.ts.map +1 -0
  5. package/dist/src/chat.js +75 -0
  6. package/dist/src/chat.js.map +1 -0
  7. package/dist/src/claude.d.ts +76 -0
  8. package/dist/src/claude.d.ts.map +1 -0
  9. package/dist/src/claude.js +83 -0
  10. package/dist/src/claude.js.map +1 -0
  11. package/dist/src/example.d.ts +8 -0
  12. package/dist/src/example.d.ts.map +1 -0
  13. package/dist/src/example.js +186 -0
  14. package/dist/src/example.js.map +1 -0
  15. package/dist/src/index.d.ts +15 -0
  16. package/dist/src/index.d.ts.map +1 -0
  17. package/dist/src/index.js +14 -0
  18. package/dist/src/index.js.map +1 -0
  19. package/dist/src/kie.d.ts +5 -0
  20. package/dist/src/kie.d.ts.map +1 -0
  21. package/dist/src/kie.js +388 -0
  22. package/dist/src/kie.js.map +1 -0
  23. package/dist/src/middleware.d.ts +34 -0
  24. package/dist/src/middleware.d.ts.map +1 -0
  25. package/dist/src/middleware.js +219 -0
  26. package/dist/src/middleware.js.map +1 -0
  27. package/dist/src/model-schemas.d.ts +3 -0
  28. package/dist/src/model-schemas.d.ts.map +1 -0
  29. package/dist/src/model-schemas.js +1172 -0
  30. package/dist/src/model-schemas.js.map +1 -0
  31. package/dist/src/request.d.ts +9 -0
  32. package/dist/src/request.d.ts.map +1 -0
  33. package/dist/src/request.js +46 -0
  34. package/dist/src/request.js.map +1 -0
  35. package/dist/src/sse.d.ts +2 -0
  36. package/dist/src/sse.d.ts.map +1 -0
  37. package/dist/src/sse.js +41 -0
  38. package/dist/src/sse.js.map +1 -0
  39. package/dist/src/suno.d.ts +313 -0
  40. package/dist/src/suno.d.ts.map +1 -0
  41. package/dist/src/suno.js +391 -0
  42. package/dist/src/suno.js.map +1 -0
  43. package/dist/src/types.d.ts +119 -0
  44. package/dist/src/types.d.ts.map +1 -0
  45. package/dist/src/types.js +14 -0
  46. package/dist/src/types.js.map +1 -0
  47. package/dist/src/veo.d.ts +52 -0
  48. package/dist/src/veo.d.ts.map +1 -0
  49. package/dist/src/veo.js +40 -0
  50. package/dist/src/veo.js.map +1 -0
  51. package/dist/src/zod.d.ts +1982 -0
  52. package/dist/src/zod.d.ts.map +1 -0
  53. package/dist/src/zod.js +866 -0
  54. package/dist/src/zod.js.map +1 -0
  55. package/package.json +61 -0
@@ -0,0 +1,75 @@
1
+ import { KieError } from "./types.js";
2
+ import { KieChatRequestSchema } from "./zod.js";
3
+ import { withFallback } from "./middleware.js";
4
+ // Helper function to safely handle AbortSignal across different environments
5
+ function attachAbortHandler(signal, controller) {
6
+ if (!signal)
7
+ return;
8
+ // Handle both standard AbortSignal and node-fetch's AbortSignal
9
+ if (typeof signal.addEventListener === "function") {
10
+ signal.addEventListener("abort", () => controller.abort(), { once: true });
11
+ }
12
+ else if (signal.aborted) {
13
+ // Already aborted, abort our controller too
14
+ controller.abort();
15
+ }
16
+ }
17
+ const PATH_PREFIXES = ["gpt-5.5", "gpt-5-2"];
18
+ function buildEndpoint(baseURL, apiKey, doFetch, timeout, pathPrefix) {
19
+ return async function completions(req, signal) {
20
+ const controller = new AbortController();
21
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
22
+ if (signal) {
23
+ attachAbortHandler(signal, controller);
24
+ }
25
+ try {
26
+ const res = await doFetch(`${baseURL}/${pathPrefix}/v1/chat/completions`, {
27
+ method: "POST",
28
+ headers: {
29
+ Authorization: `Bearer ${apiKey}`,
30
+ "Content-Type": "application/json",
31
+ },
32
+ body: JSON.stringify(req),
33
+ signal: controller.signal,
34
+ });
35
+ clearTimeout(timeoutId);
36
+ if (!res.ok) {
37
+ let message = `Kie Chat API error: ${res.status}`;
38
+ let body = null;
39
+ try {
40
+ body = await res.json();
41
+ if (typeof body === "object" &&
42
+ body !== null &&
43
+ "msg" in body &&
44
+ typeof body.msg === "string") {
45
+ message = `Kie Chat API error ${res.status}: ${body.msg}`;
46
+ }
47
+ }
48
+ catch {
49
+ // ignore parse errors
50
+ }
51
+ throw new KieError(message, res.status, body);
52
+ }
53
+ return (await res.json());
54
+ }
55
+ catch (error) {
56
+ clearTimeout(timeoutId);
57
+ if (error instanceof KieError)
58
+ throw error;
59
+ if (error instanceof SyntaxError) {
60
+ throw new KieError("Failed to parse chat response", 500);
61
+ }
62
+ throw new KieError(`Chat request failed: ${error}`, 500);
63
+ }
64
+ };
65
+ }
66
+ export function createChatProvider(baseURL, apiKey, doFetch, timeout) {
67
+ const endpoints = PATH_PREFIXES.map((prefix) => buildEndpoint(baseURL, apiKey, doFetch, timeout, prefix));
68
+ const fallback = withFallback(endpoints);
69
+ return {
70
+ completions: Object.assign(fallback, {
71
+ schema: KieChatRequestSchema,
72
+ }),
73
+ };
74
+ }
75
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import type { z } from "zod";
2
+ export interface KieClaudeToolInputSchema {
3
+ type: string;
4
+ properties?: Record<string, unknown>;
5
+ required?: string[];
6
+ }
7
+ export interface KieClaudeTool {
8
+ name: string;
9
+ description: string;
10
+ input_schema: KieClaudeToolInputSchema;
11
+ }
12
+ export interface KieClaudeContentPart {
13
+ type: string;
14
+ text?: string;
15
+ [key: string]: unknown;
16
+ }
17
+ export interface KieClaudeMessage {
18
+ role: "user" | "assistant";
19
+ content: string | KieClaudeContentPart[];
20
+ }
21
+ export interface KieClaudeRequest {
22
+ model: "claude-sonnet-4-6" | "claude-haiku-4-5";
23
+ messages: KieClaudeMessage[];
24
+ tools?: KieClaudeTool[];
25
+ thinkingFlag?: boolean;
26
+ stream?: boolean;
27
+ }
28
+ export interface KieClaudeUsage {
29
+ input_tokens?: number;
30
+ output_tokens?: number;
31
+ cache_creation_input_tokens?: number;
32
+ cache_read_input_tokens?: number;
33
+ service_tier?: string;
34
+ }
35
+ export interface KieClaudeToolUseContent {
36
+ type: "tool_use";
37
+ id: string;
38
+ name: string;
39
+ input: Record<string, unknown>;
40
+ caller?: {
41
+ type: string;
42
+ };
43
+ }
44
+ export interface KieClaudeTextContent {
45
+ type: "text";
46
+ text: string;
47
+ }
48
+ export type KieClaudeContentBlock = KieClaudeTextContent | KieClaudeToolUseContent;
49
+ export interface KieClaudeResponse {
50
+ id?: string;
51
+ type?: string;
52
+ role?: string;
53
+ model?: string;
54
+ content?: KieClaudeContentBlock[];
55
+ stop_reason?: string;
56
+ usage?: KieClaudeUsage;
57
+ credits_consumed?: number;
58
+ }
59
+ interface KieClaudeMessagesMethod {
60
+ (req: KieClaudeRequest, signal?: AbortSignal): Promise<KieClaudeResponse>;
61
+ schema: z.ZodType<KieClaudeRequest>;
62
+ }
63
+ interface KieClaudeV1Namespace {
64
+ messages: KieClaudeMessagesMethod;
65
+ }
66
+ interface KieClaudePostNamespace {
67
+ v1: KieClaudeV1Namespace;
68
+ }
69
+ export interface KieClaudeProvider {
70
+ claude: {
71
+ post: KieClaudePostNamespace;
72
+ };
73
+ }
74
+ export declare function createClaudeProvider(baseURL: string, apiKey: string, doFetch: typeof fetch, timeout: number): KieClaudeProvider;
75
+ export {};
76
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/claude.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsB7B,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,wBAAwB,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IAChD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAMD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,UAAU,uBAAuB;IAC/B,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,UAAU,sBAAsB;IAC9B,EAAE,EAAE,oBAAoB,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QACN,IAAI,EAAE,sBAAsB,CAAC;KAC9B,CAAC;CACH;AAMD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,EACrB,OAAO,EAAE,MAAM,GACd,iBAAiB,CA2EnB"}
@@ -0,0 +1,83 @@
1
+ import { KieError } from "./types.js";
2
+ import { KieClaudeRequestSchema } from "./zod.js";
3
+ // Helper function to safely handle AbortSignal across different environments
4
+ function attachAbortHandler(signal, controller) {
5
+ if (!signal)
6
+ return;
7
+ // Handle both standard AbortSignal and node-fetch's AbortSignal
8
+ if (typeof signal.addEventListener === "function") {
9
+ signal.addEventListener("abort", () => controller.abort(), { once: true });
10
+ }
11
+ else if (signal.aborted) {
12
+ // Already aborted, abort our controller too
13
+ controller.abort();
14
+ }
15
+ }
16
+ // ---------------------------------------------------------------------------
17
+ // Factory
18
+ // ---------------------------------------------------------------------------
19
+ export function createClaudeProvider(baseURL, apiKey, doFetch, timeout) {
20
+ return {
21
+ claude: {
22
+ post: {
23
+ v1: {
24
+ // POST https://api.kie.ai/claude/v1/messages
25
+ // Docs: https://docs.kie.ai
26
+ messages: Object.assign(async function messages(req, signal) {
27
+ const controller = new AbortController();
28
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
29
+ if (signal) {
30
+ attachAbortHandler(signal, controller);
31
+ }
32
+ try {
33
+ const res = await doFetch(`${baseURL}/claude/v1/messages`, {
34
+ method: "POST",
35
+ headers: {
36
+ Authorization: `Bearer ${apiKey}`,
37
+ "Content-Type": "application/json",
38
+ },
39
+ body: JSON.stringify(req),
40
+ signal: controller.signal,
41
+ });
42
+ clearTimeout(timeoutId);
43
+ if (!res.ok) {
44
+ let message = `Kie Claude API error: ${res.status}`;
45
+ let body = null;
46
+ let code;
47
+ try {
48
+ body = await res.json();
49
+ if (typeof body === "object" &&
50
+ body !== null &&
51
+ "error" in body) {
52
+ const err = body.error;
53
+ if (typeof err.message === "string") {
54
+ message = `Kie Claude API error ${res.status}: ${err.message}`;
55
+ }
56
+ code = err.type;
57
+ }
58
+ }
59
+ catch {
60
+ // ignore parse errors
61
+ }
62
+ throw new KieError(message, res.status, body, code);
63
+ }
64
+ return (await res.json());
65
+ }
66
+ catch (error) {
67
+ clearTimeout(timeoutId);
68
+ if (error instanceof KieError)
69
+ throw error;
70
+ if (error instanceof SyntaxError) {
71
+ throw new KieError("Failed to parse Claude response", 500);
72
+ }
73
+ throw new KieError(`Claude request failed: ${error}`, 500);
74
+ }
75
+ }, {
76
+ schema: KieClaudeRequestSchema,
77
+ }),
78
+ },
79
+ },
80
+ },
81
+ };
82
+ }
83
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface EndpointExample {
2
+ source: string;
3
+ payload: unknown;
4
+ }
5
+ declare const EXAMPLES: Record<string, EndpointExample>;
6
+ export default EXAMPLES;
7
+ export declare function attachExamples<T>(provider: T): T;
8
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../src/example.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,QAAA,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAqG7C,CAAC;AAEF,eAAe,QAAQ,CAAC;AAOxB,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CA6ChD"}
@@ -0,0 +1,186 @@
1
+ // Auto-generated by `pnpm run gen:examples` — do not edit by hand.
2
+ // Source: tests/recordings/<provider>_*/<test>_*/recording.har
3
+ //
4
+ // Each entry is the green-path payload for one endpoint, mined from a real
5
+ // integration-test recording. `attachExamples` walks the provider tree and
6
+ // hangs the matching entry off each endpoint function as `.example`.
7
+ const EXAMPLES = {
8
+ "POST api.fileBase64Upload": {
9
+ "source": "kie/file-base64-upload",
10
+ "payload": {
11
+ "base64Data": "SGVsbG8gV29ybGQ=",
12
+ "uploadPath": "documents/test-uploads",
13
+ "fileName": "test.txt"
14
+ }
15
+ },
16
+ "POST api.v1.common.downloadUrl": {
17
+ "source": "kie/download-url/convert",
18
+ "payload": {
19
+ "url": "https://cdn.kie.ai/files/sample-test-file.mp4"
20
+ }
21
+ },
22
+ "POST api.v1.generate": {
23
+ "source": "kie/suno-generate-vocal",
24
+ "payload": {
25
+ "prompt": "A cheerful indie pop song about summer adventures",
26
+ "model": "V5",
27
+ "instrumental": false,
28
+ "customMode": false
29
+ }
30
+ },
31
+ "POST api.v1.generate.addInstrumental": {
32
+ "source": "kie/suno/add-instrumental-submit",
33
+ "payload": {
34
+ "uploadUrl": "https://example.com/vocal.mp3",
35
+ "title": "Gentle Acoustic Backing",
36
+ "tags": "gentle acoustic guitar, piano",
37
+ "callBackUrl": "https://example.com/cb",
38
+ "model": "V4_5PLUS"
39
+ }
40
+ },
41
+ "POST api.v1.generate.addVocals": {
42
+ "source": "kie/suno/add-vocals-submit",
43
+ "payload": {
44
+ "uploadUrl": "https://example.com/instrumental.mp3",
45
+ "prompt": "Add soft female vocals about summer dreams",
46
+ "title": "Summer Dreams",
47
+ "style": "soft pop",
48
+ "callBackUrl": "https://example.com/cb",
49
+ "model": "V4_5PLUS"
50
+ }
51
+ },
52
+ "POST api.v1.generate.mashup": {
53
+ "source": "kie/suno/mashup-submit",
54
+ "payload": {
55
+ "uploadUrlList": [
56
+ "https://example.com/audio1.mp3",
57
+ "https://example.com/audio2.mp3"
58
+ ],
59
+ "customMode": false,
60
+ "model": "V4",
61
+ "callBackUrl": "https://example.com/cb"
62
+ }
63
+ },
64
+ "POST api.v1.generate.replaceSection": {
65
+ "source": "kie/suno/replace-music-section-submit",
66
+ "payload": {
67
+ "taskId": "test-task-id",
68
+ "audioId": "test-audio-id",
69
+ "prompt": "Replace with upbeat electronic section",
70
+ "tags": "electronic, upbeat",
71
+ "title": "Test Replacement",
72
+ "infillStartS": 10,
73
+ "infillEndS": 20,
74
+ "callBackUrl": "https://example.com/cb"
75
+ }
76
+ },
77
+ "POST api.v1.generate.sounds": {
78
+ "source": "kie/suno/sounds-generate-submit",
79
+ "payload": {
80
+ "prompt": "Rain falling on a tin roof, gentle thunder in distance",
81
+ "model": "V5",
82
+ "soundLoop": true,
83
+ "callBackUrl": "https://example.com/cb"
84
+ }
85
+ },
86
+ "POST api.v1.jobs.createTask": {
87
+ "source": "kie/grok-video-upscale",
88
+ "payload": {
89
+ "model": "grok-imagine/upscale",
90
+ "input": {
91
+ "task_id": "d43f0d0ab29f28fdfcf68a9dccbd7a42"
92
+ }
93
+ }
94
+ },
95
+ "POST claude.v1.messages": {
96
+ "source": "kie/claude-chat-hello",
97
+ "payload": {
98
+ "model": "claude-sonnet-4-6",
99
+ "messages": [
100
+ {
101
+ "role": "user",
102
+ "content": "Say hello in one sentence."
103
+ }
104
+ ],
105
+ "stream": false
106
+ }
107
+ }
108
+ };
109
+ export default EXAMPLES;
110
+ // Walks each "<METHOD> <dotPath>" key onto the provider's tree. Tries the
111
+ // standard `provider.<method>.<dotPath>` shape first, then a few fallbacks
112
+ // to cover providers with non-standard layouts (fal's `.run.` namespace,
113
+ // kie's sub-providers, `free`'s flat root). Returns the same provider for
114
+ // drop-in use as `return attachExamples({ ... });`.
115
+ export function attachExamples(provider) {
116
+ const root = provider;
117
+ const HTTP_KEYS = new Set(["post", "get", "put", "delete", "patch", "head"]);
118
+ for (const [key, example] of Object.entries(EXAMPLES)) {
119
+ const sp = key.indexOf(" ");
120
+ if (sp < 0)
121
+ continue;
122
+ const method = key.slice(0, sp).toLowerCase();
123
+ const segs = key.slice(sp + 1).split(".");
124
+ const candidates = [
125
+ root[method],
126
+ root[method]?.run,
127
+ root,
128
+ ];
129
+ if (segs.length > 1) {
130
+ const sub = root[segs[0]];
131
+ if (sub && typeof sub === "object") {
132
+ const subMethod = sub[method];
133
+ if (subMethod)
134
+ candidates.push({ __nested: subMethod, __segs: segs.slice(1) });
135
+ }
136
+ }
137
+ let attached = false;
138
+ for (const c of candidates) {
139
+ const fn = walkToFn(c, segs);
140
+ if (fn) {
141
+ Object.assign(fn, { example });
142
+ attached = true;
143
+ break;
144
+ }
145
+ }
146
+ if (attached)
147
+ continue;
148
+ for (const k of Object.keys(root)) {
149
+ if (HTTP_KEYS.has(k))
150
+ continue;
151
+ if (!segs.includes(k))
152
+ continue;
153
+ const sub = root[k];
154
+ if (!sub || typeof sub !== "object")
155
+ continue;
156
+ const subMethod = sub[method];
157
+ if (!subMethod)
158
+ continue;
159
+ const fn = walkToFn(subMethod, segs);
160
+ if (fn) {
161
+ Object.assign(fn, { example });
162
+ break;
163
+ }
164
+ }
165
+ }
166
+ return provider;
167
+ }
168
+ function walkToFn(start, segs) {
169
+ if (start && typeof start === "object" && "__nested" in start) {
170
+ const wrapper = start;
171
+ return walkToFn(wrapper.__nested, wrapper.__segs);
172
+ }
173
+ let cur = start;
174
+ for (const seg of segs) {
175
+ if (cur === null || cur === undefined)
176
+ return null;
177
+ const t = typeof cur;
178
+ if (t !== "object" && t !== "function")
179
+ return null;
180
+ cur = cur[seg];
181
+ }
182
+ return typeof cur === "function"
183
+ ? cur
184
+ : null;
185
+ }
186
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export { kie, submitMediaJob, uploadFile } from "./kie";
2
+ export { KieError } from "./types";
3
+ export { withRetry, withFallback, withRateLimit, createRateLimiter, } from "./middleware";
4
+ export type { RetryOptions, FallbackOptions, RateLimiterOptions, RateLimiter, RateLimitOptions, } from "./middleware";
5
+ export { createVeoProvider } from "./veo";
6
+ export { createSunoProvider } from "./suno";
7
+ export { createChatProvider } from "./chat";
8
+ export { createClaudeProvider } from "./claude";
9
+ export { sseToIterable } from "./sse";
10
+ export type { KieMediaModel, MediaType, KlingElement, MultiShotPrompt, KlingVideoRequest, KlingMotionControlRequest, GrokTextToImageRequest, GrokImageToImageRequest, GrokTextToVideoRequest, GrokImageToVideoRequest, GrokVideoExtendRequest, GrokVideoUpscaleRequest, NanoBananaProRequest, NanoBanana2Request, GptImageToImageRequest, GptImage2ImageToImageRequest, GptImage2TextToImageRequest, SeedreamImageToImageRequest, SeedreamTextToImageRequest, Qwen2TextToImageRequest, Qwen2ImageEditRequest, Seedance2FastRequest, Seedance2Request, Wan27ImageToVideoRequest, Wan27TextToVideoRequest, Wan27RefToVideoRequest, Wan27VideoEditRequest, Wan27ImageColorPalette, Wan27ImageRequest, Wan27ImageProRequest, SoraWatermarkRequest, MediaGenerationRequest, TaskResponse, KieOptions, KieProvider, KieApiEnvelope, KieTaskState, KieTaskInfoData, KieTaskInfo, KieCreditsResponse, DownloadUrlRequest, DownloadUrlResponse, UploadMediaRequest, UploadMediaResponse, UploadFileData, FileUrlUploadRequest, FileBase64UploadRequest, PayloadFieldSchema, ModelInputSchema, KlingDuration, KlingAspectRatio, KlingMode, GrokImagineMode, GrokImagineDuration, GrokImageToVideoDuration, GrokImagineResolution, NanoBananaResolution, NanoBananaOutputFormat, GptImageQuality, GptImage2ImageToImageAspectRatio, GptImage2ImageToImageResolution, GptImage2TextToImageAspectRatio, GptImage2TextToImageResolution, Wan27Resolution, Wan27AspectRatio, Wan27AudioSetting, Wan27ImageResolution, Wan27ImageAspectRatio, HappyHorseResolution, HappyHorseAspectRatio, HappyHorseAudioSetting, HappyHorseTextToVideoRequest, HappyHorseImageToVideoRequest, HappyHorseReferenceToVideoRequest, HappyHorseVideoEditRequest, } from "./types";
11
+ export type { VeoModel, VeoGenerationType, VeoGenerateRequest, VeoExtendRequest, VeoProvider, } from "./veo";
12
+ export type { SunoModel, SunoGenerateRequest, SunoExtendRequest, SunoWavRequest, SunoVocalRemovalRequest, SunoMp4Request, SunoLyricsRequest, SunoBoostStyleRequest, SunoUploadCoverRequest, SunoUploadExtendRequest, SunoMidiRequest, SunoMashupModel, SunoMashupRequest, SunoReplaceSectionRequest, SunoSoundsModel, SunoSoundsKey, SunoSoundsRequest, SunoAddInstrumentalRequest, SunoAddVocalsRequest, SunoProvider, } from "./suno";
13
+ export type { KieChatContentPart, KieChatMessage, KieChatRequest, KieChatChoice, KieChatUsage, KieChatResponse, KieChatProvider, } from "./chat";
14
+ export type { KieClaudeToolInputSchema, KieClaudeTool, KieClaudeContentPart, KieClaudeMessage, KieClaudeRequest, KieClaudeUsage, KieClaudeToolUseContent, KieClaudeTextContent, KieClaudeContentBlock, KieClaudeResponse, KieClaudeProvider, } from "./claude";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,YAAY,EACV,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAEhB,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,GACZ,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,GACb,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACV,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Export main provider function and helpers
2
+ export { kie, submitMediaJob, uploadFile } from "./kie.js";
3
+ // Export error class
4
+ export { KieError } from "./types.js";
5
+ // Export middleware
6
+ export { withRetry, withFallback, withRateLimit, createRateLimiter, } from "./middleware.js";
7
+ // Export sub-provider factory functions
8
+ export { createVeoProvider } from "./veo.js";
9
+ export { createSunoProvider } from "./suno.js";
10
+ export { createChatProvider } from "./chat.js";
11
+ export { createClaudeProvider } from "./claude.js";
12
+ // Export SSE utility
13
+ export { sseToIterable } from "./sse.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExD,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,oBAAoB;AACpB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAStB,wCAAwC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MediaGenerationRequest, KieOptions, KieProvider } from "./types";
2
+ export declare function kie(opts: KieOptions): KieProvider;
3
+ export declare function submitMediaJob(provider: KieProvider, request: MediaGenerationRequest): Promise<string>;
4
+ export declare function uploadFile(provider: KieProvider, file: Blob, filename: string, uploadPath?: string): Promise<string>;
5
+ //# sourceMappingURL=kie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kie.d.ts","sourceRoot":"","sources":["../../src/kie.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,UAAU,EACV,WAAW,EAUZ,MAAM,SAAS,CAAC;AAwCjB,wBAAgB,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAiYjD;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAkB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAajB"}