@acedatacloud/sdk 2026.504.0 → 2026.504.1
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.
- package/dist/index.d.mts +39 -1
- package/dist/index.d.ts +39 -1
- package/dist/index.js +62 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +62 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +3 -0
- package/src/index.ts +1 -0
- package/src/resources/kling.ts +100 -0
package/dist/index.d.mts
CHANGED
|
@@ -526,6 +526,43 @@ declare class Veo {
|
|
|
526
526
|
}): Promise<Record<string, unknown>>;
|
|
527
527
|
}
|
|
528
528
|
|
|
529
|
+
/** Kling-specific video generation resources. */
|
|
530
|
+
|
|
531
|
+
type KlingModel = 'kling-v1' | 'kling-v1-6' | 'kling-v2-master' | 'kling-v2-1-master' | 'kling-v2-5-turbo' | 'kling-v2-6' | 'kling-v3' | 'kling-v3-omni' | 'kling-video-o1' | (string & {});
|
|
532
|
+
declare class Kling {
|
|
533
|
+
private transport;
|
|
534
|
+
constructor(transport: Transport);
|
|
535
|
+
generate(opts: {
|
|
536
|
+
action: 'text2video' | 'image2video' | 'extend';
|
|
537
|
+
mode?: 'std' | 'pro' | '4k';
|
|
538
|
+
model?: KlingModel;
|
|
539
|
+
prompt?: string;
|
|
540
|
+
duration?: 5 | 10;
|
|
541
|
+
generateAudio?: boolean;
|
|
542
|
+
videoId?: string;
|
|
543
|
+
cfgScale?: number;
|
|
544
|
+
aspectRatio?: '16:9' | '9:16' | '1:1';
|
|
545
|
+
callbackUrl?: string;
|
|
546
|
+
endImageUrl?: string;
|
|
547
|
+
cameraControl?: string;
|
|
548
|
+
elementList?: unknown[];
|
|
549
|
+
videoList?: unknown[];
|
|
550
|
+
negativePrompt?: string;
|
|
551
|
+
startImageUrl?: string;
|
|
552
|
+
[key: string]: unknown;
|
|
553
|
+
}): Promise<Record<string, unknown>>;
|
|
554
|
+
motion(opts: {
|
|
555
|
+
mode: 'std' | 'pro';
|
|
556
|
+
imageUrl: string;
|
|
557
|
+
videoUrl: string;
|
|
558
|
+
characterOrientation: 'image' | 'video';
|
|
559
|
+
keepOriginalSound?: 'yes' | 'no';
|
|
560
|
+
prompt?: string;
|
|
561
|
+
callbackUrl?: string;
|
|
562
|
+
[key: string]: unknown;
|
|
563
|
+
}): Promise<Record<string, unknown>>;
|
|
564
|
+
}
|
|
565
|
+
|
|
529
566
|
/** WebExtrator web render & extract resources. */
|
|
530
567
|
|
|
531
568
|
declare class WebExtrator {
|
|
@@ -588,9 +625,10 @@ declare class AceDataCloud {
|
|
|
588
625
|
readonly openai: OpenAI;
|
|
589
626
|
readonly glm: Glm;
|
|
590
627
|
readonly veo: Veo;
|
|
628
|
+
readonly kling: Kling;
|
|
591
629
|
readonly webextrator: WebExtrator;
|
|
592
630
|
private transport;
|
|
593
631
|
constructor(opts?: AceDataCloudOptions);
|
|
594
632
|
}
|
|
595
633
|
|
|
596
|
-
export { APIError, AceDataCloud, AceDataCloudError, type AceDataCloudOptions, type AiChatModel, type AudioProvider, AuthenticationError, type GlmModel, type ImageProvider, InsufficientBalanceError, ModerationError, type PaymentHandler, type PaymentHandlerContext, type PaymentHandlerResult, type PaymentRequiredBody, type PaymentRequirement, RateLimitError, ResourceDisabledError, TaskHandle, type TaskHandleOptions, TimeoutError, TokenMismatchError, TransportError, ValidationError, type VeoModel, type VideoProvider };
|
|
634
|
+
export { APIError, AceDataCloud, AceDataCloudError, type AceDataCloudOptions, type AiChatModel, type AudioProvider, AuthenticationError, type GlmModel, type ImageProvider, InsufficientBalanceError, type KlingModel, ModerationError, type PaymentHandler, type PaymentHandlerContext, type PaymentHandlerResult, type PaymentRequiredBody, type PaymentRequirement, RateLimitError, ResourceDisabledError, TaskHandle, type TaskHandleOptions, TimeoutError, TokenMismatchError, TransportError, ValidationError, type VeoModel, type VideoProvider };
|
package/dist/index.d.ts
CHANGED
|
@@ -526,6 +526,43 @@ declare class Veo {
|
|
|
526
526
|
}): Promise<Record<string, unknown>>;
|
|
527
527
|
}
|
|
528
528
|
|
|
529
|
+
/** Kling-specific video generation resources. */
|
|
530
|
+
|
|
531
|
+
type KlingModel = 'kling-v1' | 'kling-v1-6' | 'kling-v2-master' | 'kling-v2-1-master' | 'kling-v2-5-turbo' | 'kling-v2-6' | 'kling-v3' | 'kling-v3-omni' | 'kling-video-o1' | (string & {});
|
|
532
|
+
declare class Kling {
|
|
533
|
+
private transport;
|
|
534
|
+
constructor(transport: Transport);
|
|
535
|
+
generate(opts: {
|
|
536
|
+
action: 'text2video' | 'image2video' | 'extend';
|
|
537
|
+
mode?: 'std' | 'pro' | '4k';
|
|
538
|
+
model?: KlingModel;
|
|
539
|
+
prompt?: string;
|
|
540
|
+
duration?: 5 | 10;
|
|
541
|
+
generateAudio?: boolean;
|
|
542
|
+
videoId?: string;
|
|
543
|
+
cfgScale?: number;
|
|
544
|
+
aspectRatio?: '16:9' | '9:16' | '1:1';
|
|
545
|
+
callbackUrl?: string;
|
|
546
|
+
endImageUrl?: string;
|
|
547
|
+
cameraControl?: string;
|
|
548
|
+
elementList?: unknown[];
|
|
549
|
+
videoList?: unknown[];
|
|
550
|
+
negativePrompt?: string;
|
|
551
|
+
startImageUrl?: string;
|
|
552
|
+
[key: string]: unknown;
|
|
553
|
+
}): Promise<Record<string, unknown>>;
|
|
554
|
+
motion(opts: {
|
|
555
|
+
mode: 'std' | 'pro';
|
|
556
|
+
imageUrl: string;
|
|
557
|
+
videoUrl: string;
|
|
558
|
+
characterOrientation: 'image' | 'video';
|
|
559
|
+
keepOriginalSound?: 'yes' | 'no';
|
|
560
|
+
prompt?: string;
|
|
561
|
+
callbackUrl?: string;
|
|
562
|
+
[key: string]: unknown;
|
|
563
|
+
}): Promise<Record<string, unknown>>;
|
|
564
|
+
}
|
|
565
|
+
|
|
529
566
|
/** WebExtrator web render & extract resources. */
|
|
530
567
|
|
|
531
568
|
declare class WebExtrator {
|
|
@@ -588,9 +625,10 @@ declare class AceDataCloud {
|
|
|
588
625
|
readonly openai: OpenAI;
|
|
589
626
|
readonly glm: Glm;
|
|
590
627
|
readonly veo: Veo;
|
|
628
|
+
readonly kling: Kling;
|
|
591
629
|
readonly webextrator: WebExtrator;
|
|
592
630
|
private transport;
|
|
593
631
|
constructor(opts?: AceDataCloudOptions);
|
|
594
632
|
}
|
|
595
633
|
|
|
596
|
-
export { APIError, AceDataCloud, AceDataCloudError, type AceDataCloudOptions, type AiChatModel, type AudioProvider, AuthenticationError, type GlmModel, type ImageProvider, InsufficientBalanceError, ModerationError, type PaymentHandler, type PaymentHandlerContext, type PaymentHandlerResult, type PaymentRequiredBody, type PaymentRequirement, RateLimitError, ResourceDisabledError, TaskHandle, type TaskHandleOptions, TimeoutError, TokenMismatchError, TransportError, ValidationError, type VeoModel, type VideoProvider };
|
|
634
|
+
export { APIError, AceDataCloud, AceDataCloudError, type AceDataCloudOptions, type AiChatModel, type AudioProvider, AuthenticationError, type GlmModel, type ImageProvider, InsufficientBalanceError, type KlingModel, ModerationError, type PaymentHandler, type PaymentHandlerContext, type PaymentHandlerResult, type PaymentRequiredBody, type PaymentRequirement, RateLimitError, ResourceDisabledError, TaskHandle, type TaskHandleOptions, TimeoutError, TokenMismatchError, TransportError, ValidationError, type VeoModel, type VideoProvider };
|
package/dist/index.js
CHANGED
|
@@ -873,6 +873,66 @@ var Veo = class {
|
|
|
873
873
|
}
|
|
874
874
|
};
|
|
875
875
|
|
|
876
|
+
// src/resources/kling.ts
|
|
877
|
+
var Kling = class {
|
|
878
|
+
constructor(transport) {
|
|
879
|
+
this.transport = transport;
|
|
880
|
+
}
|
|
881
|
+
transport;
|
|
882
|
+
async generate(opts) {
|
|
883
|
+
const {
|
|
884
|
+
action,
|
|
885
|
+
mode,
|
|
886
|
+
model,
|
|
887
|
+
prompt,
|
|
888
|
+
duration,
|
|
889
|
+
generateAudio,
|
|
890
|
+
videoId,
|
|
891
|
+
cfgScale,
|
|
892
|
+
aspectRatio,
|
|
893
|
+
callbackUrl,
|
|
894
|
+
endImageUrl,
|
|
895
|
+
cameraControl,
|
|
896
|
+
elementList,
|
|
897
|
+
videoList,
|
|
898
|
+
negativePrompt,
|
|
899
|
+
startImageUrl,
|
|
900
|
+
...rest
|
|
901
|
+
} = opts;
|
|
902
|
+
const body = { action, ...rest };
|
|
903
|
+
if (mode !== void 0) body.mode = mode;
|
|
904
|
+
if (model !== void 0) body.model = model;
|
|
905
|
+
if (prompt !== void 0) body.prompt = prompt;
|
|
906
|
+
if (duration !== void 0) body.duration = duration;
|
|
907
|
+
if (generateAudio !== void 0) body.generate_audio = generateAudio;
|
|
908
|
+
if (videoId !== void 0) body.video_id = videoId;
|
|
909
|
+
if (cfgScale !== void 0) body.cfg_scale = cfgScale;
|
|
910
|
+
if (aspectRatio !== void 0) body.aspect_ratio = aspectRatio;
|
|
911
|
+
if (callbackUrl !== void 0) body.callback_url = callbackUrl;
|
|
912
|
+
if (endImageUrl !== void 0) body.end_image_url = endImageUrl;
|
|
913
|
+
if (cameraControl !== void 0) body.camera_control = cameraControl;
|
|
914
|
+
if (elementList !== void 0) body.element_list = elementList;
|
|
915
|
+
if (videoList !== void 0) body.video_list = videoList;
|
|
916
|
+
if (negativePrompt !== void 0) body.negative_prompt = negativePrompt;
|
|
917
|
+
if (startImageUrl !== void 0) body.start_image_url = startImageUrl;
|
|
918
|
+
return this.transport.request("POST", "/kling/videos", { json: body });
|
|
919
|
+
}
|
|
920
|
+
async motion(opts) {
|
|
921
|
+
const { mode, imageUrl, videoUrl, characterOrientation, keepOriginalSound, prompt, callbackUrl, ...rest } = opts;
|
|
922
|
+
const body = {
|
|
923
|
+
mode,
|
|
924
|
+
image_url: imageUrl,
|
|
925
|
+
video_url: videoUrl,
|
|
926
|
+
character_orientation: characterOrientation,
|
|
927
|
+
...rest
|
|
928
|
+
};
|
|
929
|
+
if (keepOriginalSound !== void 0) body.keep_original_sound = keepOriginalSound;
|
|
930
|
+
if (prompt !== void 0) body.prompt = prompt;
|
|
931
|
+
if (callbackUrl !== void 0) body.callback_url = callbackUrl;
|
|
932
|
+
return this.transport.request("POST", "/kling/motion", { json: body });
|
|
933
|
+
}
|
|
934
|
+
};
|
|
935
|
+
|
|
876
936
|
// src/resources/webextrator.ts
|
|
877
937
|
var WebExtrator = class {
|
|
878
938
|
constructor(transport) {
|
|
@@ -923,6 +983,7 @@ var AceDataCloud = class {
|
|
|
923
983
|
openai;
|
|
924
984
|
glm;
|
|
925
985
|
veo;
|
|
986
|
+
kling;
|
|
926
987
|
webextrator;
|
|
927
988
|
transport;
|
|
928
989
|
constructor(opts = {}) {
|
|
@@ -947,6 +1008,7 @@ var AceDataCloud = class {
|
|
|
947
1008
|
this.openai = new OpenAI(this.transport);
|
|
948
1009
|
this.glm = new Glm(this.transport);
|
|
949
1010
|
this.veo = new Veo(this.transport);
|
|
1011
|
+
this.kling = new Kling(this.transport);
|
|
950
1012
|
this.webextrator = new WebExtrator(this.transport);
|
|
951
1013
|
}
|
|
952
1014
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/runtime/errors.ts","../src/runtime/transport.ts","../src/resources/aichat.ts","../src/resources/chat.ts","../src/runtime/tasks.ts","../src/resources/images.ts","../src/resources/audio.ts","../src/resources/video.ts","../src/resources/search.ts","../src/resources/tasks.ts","../src/resources/files.ts","../src/resources/platform.ts","../src/resources/openai.ts","../src/resources/glm.ts","../src/resources/veo.ts","../src/resources/webextrator.ts","../src/client.ts"],"sourcesContent":["/** @acedatacloud/sdk — Official TypeScript SDK for AceDataCloud. */\n\nexport { AceDataCloud, AceDataCloudOptions } from './client';\n\nexport {\n AceDataCloudError,\n APIError,\n AuthenticationError,\n InsufficientBalanceError,\n ModerationError,\n RateLimitError,\n ResourceDisabledError,\n TimeoutError,\n TokenMismatchError,\n TransportError,\n ValidationError,\n} from './runtime/errors';\n\nexport { TaskHandle, TaskHandleOptions } from './runtime/tasks';\n\nexport type {\n PaymentHandler,\n PaymentHandlerContext,\n PaymentHandlerResult,\n PaymentRequirement,\n PaymentRequiredBody,\n} from './runtime/payment';\n\nexport type { AiChatModel } from './resources/aichat';\nexport type { GlmModel } from './resources/glm';\nexport type { ImageProvider } from './resources/images';\nexport type { VideoProvider } from './resources/video';\nexport type { VeoModel } from './resources/veo';\nexport type { AudioProvider } from './resources/audio';\n","/** AceDataCloud SDK errors. */\n\nexport class AceDataCloudError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AceDataCloudError';\n }\n}\n\nexport class TransportError extends AceDataCloudError {\n constructor(message: string) {\n super(message);\n this.name = 'TransportError';\n }\n}\n\nexport class APIError extends AceDataCloudError {\n statusCode: number;\n code: string;\n traceId?: string;\n body: Record<string, unknown>;\n\n constructor(opts: {\n message: string;\n statusCode: number;\n code: string;\n traceId?: string;\n body?: Record<string, unknown>;\n }) {\n super(opts.message);\n this.name = 'APIError';\n this.statusCode = opts.statusCode;\n this.code = opts.code;\n this.traceId = opts.traceId;\n this.body = opts.body ?? {};\n }\n}\n\nexport class AuthenticationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'AuthenticationError';\n }\n}\n\nexport class TokenMismatchError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TokenMismatchError';\n }\n}\n\nexport class RateLimitError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'RateLimitError';\n }\n}\n\nexport class ValidationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ValidationError';\n }\n}\n\nexport class InsufficientBalanceError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'InsufficientBalanceError';\n }\n}\n\nexport class ResourceDisabledError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ResourceDisabledError';\n }\n}\n\nexport class ModerationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ModerationError';\n }\n}\n\nexport class TimeoutError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TimeoutError';\n }\n}\n","/** HTTP transport for AceDataCloud SDK. Uses native fetch (Node 18+). */\n\nimport {\n APIError,\n AuthenticationError,\n InsufficientBalanceError,\n ModerationError,\n RateLimitError,\n ResourceDisabledError,\n TimeoutError,\n TokenMismatchError,\n TransportError,\n ValidationError,\n} from './errors';\nimport type {\n PaymentHandler,\n PaymentRequiredBody,\n} from './payment';\n\nconst ERROR_CODE_MAP: Record<string, typeof APIError> = {\n invalid_token: AuthenticationError,\n token_expired: AuthenticationError,\n no_token: AuthenticationError,\n token_mismatched: TokenMismatchError,\n used_up: InsufficientBalanceError,\n disabled: ResourceDisabledError,\n too_many_requests: RateLimitError,\n bad_request: ValidationError,\n};\n\nconst RETRY_STATUS_CODES = new Set([408, 409, 429, 500, 502, 503, 504]);\n\nexport function mapError(statusCode: number, body: Record<string, unknown>): APIError {\n // The server occasionally returns ``error`` as a bare string (e.g. x402\n // facilitator diagnostics) or omits/nulls it entirely. Normalize to an\n // object so downstream property access is always safe and the message\n // is preserved verbatim.\n let errorData: Record<string, unknown>;\n if (typeof body.error === 'string') {\n errorData = { message: body.error };\n } else if (body.error && typeof body.error === 'object' && !Array.isArray(body.error)) {\n errorData = body.error as Record<string, unknown>;\n } else {\n errorData = {};\n }\n const code = (errorData.code ?? '') as string;\n const message = (errorData.message ?? '') as string;\n const traceId = body.trace_id as string | undefined;\n\n let ErrorClass = ERROR_CODE_MAP[code];\n if (!ErrorClass) {\n if (statusCode === 403) ErrorClass = ModerationError;\n else if (statusCode === 401) ErrorClass = AuthenticationError;\n else if (statusCode === 429) ErrorClass = RateLimitError;\n else if (statusCode === 400) ErrorClass = ValidationError;\n else ErrorClass = APIError;\n }\n\n return new ErrorClass({ message, statusCode, code, traceId, body });\n}\n\nfunction backoffDelay(attempt: number): number {\n const base = Math.min(2 ** attempt, 8);\n return base + Math.random() * 0.5;\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport interface TransportOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional handler invoked when a request returns `402 Payment Required`.\n * The handler receives the parsed `accepts` list and must return the extra\n * headers (typically `X-Payment`) to attach to the automatic retry.\n *\n * See `@acedatacloud/x402-client` for a drop-in implementation.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class Transport {\n private baseURL: string;\n private platformBaseURL: string;\n private timeout: number;\n private maxRetries: number;\n private headers: Record<string, string>;\n private paymentHandler?: PaymentHandler;\n\n constructor(opts: TransportOptions = {}) {\n const token = opts.apiToken ?? process.env.ACEDATACLOUD_API_TOKEN ?? '';\n if (!token && !opts.paymentHandler) {\n throw new AuthenticationError({\n message:\n 'apiToken is required (or provide a paymentHandler, e.g. from @acedatacloud/x402-client). ' +\n 'Pass it to the client or set ACEDATACLOUD_API_TOKEN.',\n statusCode: 0,\n code: 'no_token',\n });\n }\n this.baseURL = (opts.baseURL ?? 'https://api.acedata.cloud').replace(/\\/+$/, '');\n this.platformBaseURL = (opts.platformBaseURL ?? 'https://platform.acedata.cloud').replace(/\\/+$/, '');\n this.timeout = opts.timeout ?? 300_000;\n this.maxRetries = opts.maxRetries ?? 2;\n this.paymentHandler = opts.paymentHandler;\n const baseHeaders: Record<string, string> = {\n accept: 'application/json',\n 'content-type': 'application/json',\n 'user-agent': 'acedatacloud-node/0.1.0',\n ...(opts.headers ?? {}),\n };\n if (token) {\n baseHeaders.authorization = `Bearer ${token}`;\n }\n this.headers = baseHeaders;\n }\n\n async request(\n method: string,\n path: string,\n opts: {\n json?: Record<string, unknown>;\n params?: Record<string, string>;\n platform?: boolean;\n timeout?: number;\n headers?: Record<string, string>;\n } = {}\n ): Promise<Record<string, unknown>> {\n const base = opts.platform ? this.platformBaseURL : this.baseURL;\n let url = `${base}${path}`;\n if (opts.params) {\n const qs = new URLSearchParams(opts.params).toString();\n url += `?${qs}`;\n }\n const headers = { ...this.headers, ...(opts.headers ?? {}) };\n const timeoutMs = opts.timeout ?? this.timeout;\n\n let lastError: Error | null = null;\n let paymentAttempted = false;\n let extraHeaders: Record<string, string> = {};\n for (let attempt = 0; attempt <= this.maxRetries; attempt++) {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n try {\n const resp = await fetch(url, {\n method,\n headers: { ...headers, ...extraHeaders },\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status === 402 && this.paymentHandler && !paymentAttempted) {\n const text = await resp.text();\n let body: PaymentRequiredBody;\n try {\n body = JSON.parse(text) as PaymentRequiredBody;\n } catch {\n throw mapError(402, { error: { code: 'invalid_402', message: text } });\n }\n if (!body.accepts?.length) {\n throw mapError(402, { error: { code: 'invalid_402', message: 'No payment requirements' } });\n }\n const result = await this.paymentHandler({\n url,\n method,\n body: opts.json,\n accepts: body.accepts,\n });\n extraHeaders = { ...extraHeaders, ...result.headers };\n paymentAttempted = true;\n continue;\n }\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n if (RETRY_STATUS_CODES.has(resp.status) && attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n throw mapError(resp.status, body);\n }\n\n return (await resp.json()) as Record<string, unknown>;\n } catch (err) {\n clearTimeout(timer);\n if (err instanceof APIError) throw err;\n lastError = err as Error;\n if (attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n }\n }\n throw lastError ?? new TransportError('Request failed after retries');\n }\n\n async *requestStream(\n method: string,\n path: string,\n opts: { json?: Record<string, unknown>; timeout?: number } = {}\n ): AsyncGenerator<string, void, unknown> {\n const url = `${this.baseURL}${path}`;\n const headers = { ...this.headers, accept: 'text/event-stream' };\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n\n try {\n const resp = await fetch(url, {\n method,\n headers,\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, body);\n }\n\n if (!resp.body) throw new TransportError('No response body for stream');\n\n const reader = resp.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data === '[DONE]') return;\n yield data;\n }\n }\n }\n } finally {\n clearTimeout(timer);\n }\n }\n\n async upload(\n path: string,\n fileData: Buffer | Uint8Array,\n filename: string,\n opts: { timeout?: number } = {}\n ): Promise<Record<string, unknown>> {\n const url = `${this.platformBaseURL}${path}`;\n const boundary = `----AceDataCloudBoundary${Date.now()}`;\n const headers = {\n ...this.headers,\n 'content-type': `multipart/form-data; boundary=${boundary}`,\n };\n delete (headers as Record<string, string>)['content-type'];\n\n const body = new FormData();\n body.append('file', new Blob([fileData]), filename);\n\n const authHeaders: Record<string, string> = {\n authorization: this.headers.authorization,\n 'user-agent': this.headers['user-agent'],\n };\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n try {\n const resp = await fetch(url, {\n method: 'POST',\n headers: authHeaders,\n body,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let respBody: Record<string, unknown>;\n try {\n respBody = JSON.parse(text) as Record<string, unknown>;\n } catch {\n respBody = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, respBody);\n }\n return (await resp.json()) as Record<string, unknown>;\n } finally {\n clearTimeout(timer);\n }\n }\n}\n","/** AI Chat resources — aichat/conversations endpoint. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type AiChatModel =\n | 'gpt-5.5'\n | 'gpt-5.5-pro'\n | 'gpt-5.4'\n | 'gpt-5.4-pro'\n | 'gpt-5.2'\n | 'gpt-5.1'\n | 'gpt-5.1-all'\n | 'gpt-5'\n | 'gpt-5-mini'\n | 'gpt-5-nano'\n | 'gpt-5-all'\n | 'gpt-4'\n | 'gpt-4-all'\n | 'gpt-4-turbo'\n | 'gpt-4-turbo-preview'\n | 'gpt-4-vision-preview'\n | 'gpt-4.1'\n | 'gpt-4.1-2025-04-14'\n | 'gpt-4.1-mini'\n | 'gpt-4.1-mini-2025-04-14'\n | 'gpt-4.1-nano'\n | 'gpt-4.1-nano-2025-04-14'\n | 'gpt-4.5-preview'\n | 'gpt-4.5-preview-2025-02-27'\n | 'gpt-4o'\n | 'gpt-4o-2024-05-13'\n | 'gpt-4o-2024-08-06'\n | 'gpt-4o-2024-11-20'\n | 'gpt-4o-all'\n | 'gpt-4o-image'\n | 'gpt-4o-mini'\n | 'gpt-4o-mini-2024-07-18'\n | 'gpt-4o-mini-search-preview'\n | 'gpt-4o-mini-search-preview-2025-03-11'\n | 'gpt-4o-search-preview'\n | 'gpt-4o-search-preview-2025-03-11'\n | 'o1'\n | 'o1-2024-12-17'\n | 'o1-all'\n | 'o1-mini'\n | 'o1-mini-2024-09-12'\n | 'o1-mini-all'\n | 'o1-preview'\n | 'o1-preview-2024-09-12'\n | 'o1-preview-all'\n | 'o1-pro'\n | 'o1-pro-2025-03-19'\n | 'o1-pro-all'\n | 'o3'\n | 'o3-2025-04-16'\n | 'o3-all'\n | 'o3-mini'\n | 'o3-mini-2025-01-31'\n | 'o3-mini-2025-01-31-high'\n | 'o3-mini-2025-01-31-low'\n | 'o3-mini-2025-01-31-medium'\n | 'o3-mini-all'\n | 'o3-mini-high'\n | 'o3-mini-high-all'\n | 'o3-mini-low'\n | 'o3-mini-medium'\n | 'o3-pro'\n | 'o3-pro-2025-06-10'\n | 'o4-mini'\n | 'o4-mini-2025-04-16'\n | 'o4-mini-all'\n | 'o4-mini-high-all'\n | 'deepseek-r1'\n | 'deepseek-r1-0528'\n | 'deepseek-v3'\n | 'deepseek-v3-250324'\n | 'grok-3'\n | 'glm-5.1'\n | 'glm-4.7'\n | 'glm-4.6'\n | 'glm-4.5-air'\n | 'glm-3-turbo'\n | (string & {});\n\nexport class AiChat {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: AiChatModel;\n question: string;\n id?: string;\n preset?: string;\n stateful?: boolean;\n references?: string[];\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, question, id, preset, stateful, references, ...rest } = opts;\n const body: Record<string, unknown> = { model, question, ...rest };\n if (id !== undefined) body.id = id;\n if (preset !== undefined) body.preset = preset;\n if (stateful !== undefined) body.stateful = stateful;\n if (references !== undefined) body.references = references;\n return this.transport.request('POST', '/aichat/conversations', { json: body });\n }\n}\n","/** Chat resources — native provider APIs (Claude Messages). */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Messages {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, maxTokens = 4096, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, max_tokens: maxTokens, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.stream(body);\n }\n return this.transport.request('POST', '/v1/messages', { json: body });\n }\n\n private async *stream(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/v1/messages', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n\n async countTokens(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, messages, ...rest } = opts;\n return this.transport.request('POST', '/v1/messages/count_tokens', {\n json: { model, messages, ...rest },\n });\n }\n}\n\nexport class Chat {\n readonly messages: Messages;\n\n constructor(transport: Transport) {\n this.messages = new Messages(transport);\n }\n}\n","/** Task polling abstraction. */\n\nimport { Transport } from './transport';\n\nexport interface TaskHandleOptions {\n pollInterval?: number;\n maxWait?: number;\n}\n\nexport class TaskHandle {\n readonly id: string;\n private pollEndpoint: string;\n private transport: Transport;\n private _result: Record<string, unknown> | null = null;\n\n constructor(taskId: string, pollEndpoint: string, transport: Transport) {\n this.id = taskId;\n this.pollEndpoint = pollEndpoint;\n this.transport = transport;\n }\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('POST', this.pollEndpoint, {\n json: { id: this.id, action: 'retrieve' },\n });\n }\n\n async isCompleted(): Promise<boolean> {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n return status === 'succeeded' || status === 'failed';\n }\n\n async wait(opts: TaskHandleOptions = {}): Promise<Record<string, unknown>> {\n const pollInterval = opts.pollInterval ?? 3000;\n const maxWait = opts.maxWait ?? 600_000;\n const start = Date.now();\n\n while (Date.now() - start < maxWait) {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n\n if (status === 'succeeded' || status === 'failed') {\n this._result = state;\n return state;\n }\n await new Promise((resolve) => setTimeout(resolve, pollInterval));\n }\n throw new Error(`Task ${this.id} did not complete within ${maxWait}ms`);\n }\n\n get result(): Record<string, unknown> | null {\n return this._result;\n }\n}\n","/** Image generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type ImageProvider = 'nano-banana' | 'midjourney' | 'flux' | 'seedream' | (string & {});\n\nexport class Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: ImageProvider;\n model?: string;\n negativePrompt?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'nano-banana', model, negativePrompt, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (negativePrompt !== undefined) body.negative_prompt = negativePrompt;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const endpoint = provider === 'midjourney' ? '/midjourney/imagine' : `/${provider}/images`;\n const result = await this.transport.request('POST', endpoint, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Audio/music generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type AudioProvider = 'suno' | 'producer' | 'fish' | (string & {});\n\nexport class Audio {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: AudioProvider;\n model?: string;\n tags?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'suno', model, tags, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (tags !== undefined) body.tags = tags;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/audios`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Video generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type VideoProvider = 'sora' | 'luma' | 'veo' | 'kling' | 'hailuo' | 'seedance' | 'wan' | 'pika' | 'pixverse' | (string & {});\n\nexport class Video {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: VideoProvider;\n model?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'sora', model, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/videos`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Search resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Search {\n constructor(private transport: Transport) {}\n\n async google(opts: {\n query: string;\n type?: string;\n country?: string;\n language?: string;\n page?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { query, type = 'search', country, language, page, ...rest } = opts;\n const body: Record<string, unknown> = { query, type, ...rest };\n if (country !== undefined) body.country = country;\n if (language !== undefined) body.language = language;\n if (page !== undefined) body.page = page;\n return this.transport.request('POST', '/serp/google', { json: body });\n }\n}\n","/** Cross-service task retrieval. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nconst SERVICE_TASK_ENDPOINTS: Record<string, string> = {\n suno: '/suno/tasks',\n producer: '/producer/tasks',\n fish: '/fish/tasks',\n 'nano-banana': '/nano-banana/tasks',\n seedream: '/seedream/tasks',\n seedance: '/seedance/tasks',\n sora: '/sora/tasks',\n midjourney: '/midjourney/tasks',\n luma: '/luma/tasks',\n veo: '/veo/tasks',\n flux: '/flux/tasks',\n kling: '/kling/tasks',\n hailuo: '/hailuo/tasks',\n wan: '/wan/tasks',\n pika: '/pika/tasks',\n pixverse: '/pixverse/tasks',\n webextrator: '/webextrator/tasks',\n};\n\nexport class Tasks {\n constructor(private transport: Transport) {}\n\n async get(taskId: string, opts: { service?: string } = {}): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n return this.transport.request('POST', endpoint, {\n json: { id: taskId, action: 'retrieve' },\n });\n }\n\n async wait(\n taskId: string,\n opts: { service?: string; pollInterval?: number; maxWait?: number } = {}\n ): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n const handle = new TaskHandle(taskId, endpoint, this.transport);\n return handle.wait({ pollInterval: opts.pollInterval, maxWait: opts.maxWait });\n }\n}\n","/** File upload resources. */\n\nimport { Transport } from '../runtime/transport';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nexport class Files {\n constructor(private transport: Transport) {}\n\n async upload(\n file: string | Buffer | Uint8Array,\n opts: { filename?: string } = {}\n ): Promise<Record<string, unknown>> {\n let data: Buffer | Uint8Array;\n let filename: string;\n\n if (typeof file === 'string') {\n data = fs.readFileSync(file);\n filename = opts.filename ?? path.basename(file);\n } else {\n data = file;\n filename = opts.filename ?? 'upload';\n }\n\n return this.transport.upload('/api/v1/files/', data, filename);\n }\n}\n","/** Management-plane resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Applications {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/applications/', { params, platform: true });\n }\n\n async create(opts: { serviceId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { serviceId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/applications/', {\n json: { service_id: serviceId, ...rest },\n platform: true,\n });\n }\n\n async get(applicationId: string): Promise<Record<string, unknown>> {\n return this.transport.request('GET', `/api/v1/applications/${applicationId}/`, { platform: true });\n }\n}\n\nclass Credentials {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/credentials/', { params, platform: true });\n }\n\n async create(opts: { applicationId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { applicationId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/credentials/', {\n json: { application_id: applicationId, ...rest },\n platform: true,\n });\n }\n\n async rotate(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('POST', `/api/v1/credentials/${credentialId}/rotate/`, { platform: true });\n }\n\n async delete(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('DELETE', `/api/v1/credentials/${credentialId}/`, { platform: true });\n }\n}\n\nclass Models {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/models/', { params, platform: true });\n }\n}\n\nclass Config {\n constructor(private transport: Transport) {}\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/config/', { platform: true });\n }\n}\n\nexport class Platform {\n readonly applications: Applications;\n readonly credentials: Credentials;\n readonly models: Models;\n readonly config: Config;\n\n constructor(transport: Transport) {\n this.applications = new Applications(transport);\n this.credentials = new Credentials(transport);\n this.models = new Models(transport);\n this.config = new Config(transport);\n }\n}\n","/** OpenAI-compatible facade resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nclass Responses {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, input, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/responses', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/responses', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n model: string;\n background?: string;\n moderation?: string;\n n?: number;\n outputCompression?: number;\n outputFormat?: string;\n partialImages?: number;\n size?: string;\n quality?: string;\n responseFormat?: string;\n style?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { prompt, model, outputCompression, outputFormat, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, model, ...rest };\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/generations', { json: body });\n }\n\n async edit(opts: {\n image: string | string[];\n prompt: string;\n model?: string;\n n?: number;\n background?: string;\n inputFidelity?: string;\n mask?: string;\n outputFormat?: string;\n outputCompression?: number;\n partialImages?: number;\n quality?: string;\n size?: string;\n responseFormat?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { image, prompt, inputFidelity, mask, outputFormat, outputCompression, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { image, prompt, ...rest };\n if (inputFidelity !== undefined) body.input_fidelity = inputFidelity;\n if (mask !== undefined) body.mask = mask;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/edits', { json: body });\n }\n}\n\nclass Embeddings {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | string[];\n encodingFormat?: string;\n dimensions?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, input, encodingFormat, dimensions, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n if (encodingFormat !== undefined) body.encoding_format = encodingFormat;\n if (dimensions !== undefined) body.dimensions = dimensions;\n return this.transport.request('POST', '/openai/embeddings', { json: body });\n }\n}\n\nclass Tasks {\n constructor(private transport: Transport) {}\n\n async retrieve(opts: {\n id?: string;\n traceId?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { id, traceId, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve', ...rest };\n if (id !== undefined) body.id = id;\n if (traceId !== undefined) body.trace_id = traceId;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n\n async retrieveBatch(opts: {\n ids?: string[];\n traceIds?: string[];\n applicationId?: string;\n userId?: string;\n type?: string;\n offset?: number;\n limit?: number;\n createdAtMin?: number;\n createdAtMax?: number;\n [key: string]: unknown;\n } = {}): Promise<Record<string, unknown>> {\n const { ids, traceIds, applicationId, userId, type, offset, limit, createdAtMin, createdAtMax, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve_batch', ...rest };\n if (ids !== undefined) body.ids = ids;\n if (traceIds !== undefined) body.trace_ids = traceIds;\n if (applicationId !== undefined) body.application_id = applicationId;\n if (userId !== undefined) body.user_id = userId;\n if (type !== undefined) body.type = type;\n if (offset !== undefined) body.offset = offset;\n if (limit !== undefined) body.limit = limit;\n if (createdAtMin !== undefined) body.created_at_min = createdAtMin;\n if (createdAtMax !== undefined) body.created_at_max = createdAtMax;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n}\n\nexport class OpenAI {\n readonly chat: ChatNamespace;\n readonly responses: Responses;\n readonly images: Images;\n readonly embeddings: Embeddings;\n readonly tasks: Tasks;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n this.responses = new Responses(transport);\n this.images = new Images(transport);\n this.embeddings = new Embeddings(transport);\n this.tasks = new Tasks(transport);\n }\n}\n","/** GLM chat completions resource. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type GlmModel = 'glm-5.1' | 'glm-4.7' | 'glm-4.6' | 'glm-4.5-air' | 'glm-3-turbo' | (string & {});\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/glm/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/glm/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nexport class Glm {\n readonly chat: ChatNamespace;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n }\n}\n","/** Veo-specific video generation and editing resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type VeoModel = 'veo2' | 'veo2-fast' | 'veo3' | 'veo3-fast' | 'veo31-fast' | 'veo31' | 'veo31-fast-ingredients' | (string & {});\n\nexport class Veo {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n action: 'text2video' | 'image2video' | 'ingredients2video' | 'get1080p';\n prompt?: string;\n model?: VeoModel;\n resolution?: '4k' | '1080p' | 'gif';\n videoId?: string;\n translation?: string;\n aspectRatio?: '9:16' | '1:1' | '3:4' | '4:3' | '16:9';\n imageUrls?: string[];\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { action, prompt, model, resolution, videoId, translation, aspectRatio, imageUrls, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (model !== undefined) body.model = model;\n if (resolution !== undefined) body.resolution = resolution;\n if (videoId !== undefined) body.video_id = videoId;\n if (translation !== undefined) body.translation = translation;\n if (aspectRatio !== undefined) body.aspect_ratio = aspectRatio;\n if (imageUrls !== undefined) body.image_urls = imageUrls;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/videos', { json: body });\n }\n\n async upsample(opts: {\n videoId: string;\n action: '1080p' | '4k' | 'gif';\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/upsample', { json: body });\n }\n\n async extend(opts: {\n videoId: string;\n model: 'veo31-fast' | 'veo31' | (string & {});\n prompt?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, model, prompt, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, model, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/extend', { json: body });\n }\n\n async reshoot(opts: {\n videoId: string;\n motionType: 'STATIONARY' | 'STATIONARY_UP' | 'STATIONARY_DOWN' | 'STATIONARY_LEFT' | 'STATIONARY_RIGHT' | 'STATIONARY_DOLLY_IN_ZOOM_OUT' | 'STATIONARY_DOLLY_OUT_ZOOM_IN' | 'UP' | 'DOWN' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT' | 'FORWARD' | 'BACKWARD' | 'DOLLY_IN_ZOOM_OUT' | 'DOLLY_OUT_ZOOM_IN' | (string & {});\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, motionType, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, motion_type: motionType, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/reshoot', { json: body });\n }\n\n async objects(opts: {\n videoId: string;\n action: 'insert' | 'remove';\n prompt?: string;\n imageMask?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, prompt, imageMask, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (imageMask !== undefined) body.image_mask = imageMask;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/objects', { json: body });\n }\n}\n","/** WebExtrator web render & extract resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class WebExtrator {\n constructor(private transport: Transport) {}\n\n async extract(opts: {\n url: string;\n expectedType?: 'product' | 'article' | 'general';\n enableLlm?: boolean;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, expectedType, enableLlm, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (expectedType !== undefined) body.expected_type = expectedType;\n if (enableLlm !== undefined) body.enable_llm = enableLlm;\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/extract', { json: body });\n }\n\n async render(opts: {\n url: string;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/render', { json: body });\n }\n}\n","/** Top-level AceDataCloud client for TypeScript. */\n\nimport { Transport, TransportOptions } from './runtime/transport';\nimport type { PaymentHandler } from './runtime/payment';\nimport { AiChat } from './resources/aichat';\nimport { Chat } from './resources/chat';\nimport { Images } from './resources/images';\nimport { Audio } from './resources/audio';\nimport { Video } from './resources/video';\nimport { Search } from './resources/search';\nimport { Tasks } from './resources/tasks';\nimport { Files } from './resources/files';\nimport { Platform } from './resources/platform';\nimport { OpenAI } from './resources/openai';\nimport { Glm } from './resources/glm';\nimport { Veo } from './resources/veo';\nimport { WebExtrator } from './resources/webextrator';\n\nexport interface AceDataCloudOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional payment handler invoked when the API returns `402 Payment\n * Required`. Use `createX402PaymentHandler` from\n * `@acedatacloud/x402-client` to enable on-chain payments via X402.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class AceDataCloud {\n readonly aichat: AiChat;\n readonly chat: Chat;\n readonly images: Images;\n readonly audio: Audio;\n readonly video: Video;\n readonly search: Search;\n readonly tasks: Tasks;\n readonly files: Files;\n readonly platform: Platform;\n readonly openai: OpenAI;\n readonly glm: Glm;\n readonly veo: Veo;\n readonly webextrator: WebExtrator;\n\n private transport: Transport;\n\n constructor(opts: AceDataCloudOptions = {}) {\n this.transport = new Transport({\n apiToken: opts.apiToken,\n baseURL: opts.baseURL,\n platformBaseURL: opts.platformBaseURL,\n timeout: opts.timeout,\n maxRetries: opts.maxRetries,\n headers: opts.headers,\n paymentHandler: opts.paymentHandler,\n });\n\n this.aichat = new AiChat(this.transport);\n this.chat = new Chat(this.transport);\n this.images = new Images(this.transport);\n this.audio = new Audio(this.transport);\n this.video = new Video(this.transport);\n this.search = new Search(this.transport);\n this.tasks = new Tasks(this.transport);\n this.files = new Files(this.transport);\n this.platform = new Platform(this.transport);\n this.openai = new OpenAI(this.transport);\n this.glm = new Glm(this.transport);\n this.veo = new Veo(this.transport);\n this.webextrator = new WebExtrator(this.transport);\n }\n}\n"],"mappings":"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","names":["path","Images","Tasks","Completions","ChatNamespace"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/runtime/errors.ts","../src/runtime/transport.ts","../src/resources/aichat.ts","../src/resources/chat.ts","../src/runtime/tasks.ts","../src/resources/images.ts","../src/resources/audio.ts","../src/resources/video.ts","../src/resources/search.ts","../src/resources/tasks.ts","../src/resources/files.ts","../src/resources/platform.ts","../src/resources/openai.ts","../src/resources/glm.ts","../src/resources/veo.ts","../src/resources/kling.ts","../src/resources/webextrator.ts","../src/client.ts"],"sourcesContent":["/** @acedatacloud/sdk — Official TypeScript SDK for AceDataCloud. */\n\nexport { AceDataCloud, AceDataCloudOptions } from './client';\n\nexport {\n AceDataCloudError,\n APIError,\n AuthenticationError,\n InsufficientBalanceError,\n ModerationError,\n RateLimitError,\n ResourceDisabledError,\n TimeoutError,\n TokenMismatchError,\n TransportError,\n ValidationError,\n} from './runtime/errors';\n\nexport { TaskHandle, TaskHandleOptions } from './runtime/tasks';\n\nexport type {\n PaymentHandler,\n PaymentHandlerContext,\n PaymentHandlerResult,\n PaymentRequirement,\n PaymentRequiredBody,\n} from './runtime/payment';\n\nexport type { AiChatModel } from './resources/aichat';\nexport type { GlmModel } from './resources/glm';\nexport type { ImageProvider } from './resources/images';\nexport type { VideoProvider } from './resources/video';\nexport type { VeoModel } from './resources/veo';\nexport type { KlingModel } from './resources/kling';\nexport type { AudioProvider } from './resources/audio';\n","/** AceDataCloud SDK errors. */\n\nexport class AceDataCloudError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AceDataCloudError';\n }\n}\n\nexport class TransportError extends AceDataCloudError {\n constructor(message: string) {\n super(message);\n this.name = 'TransportError';\n }\n}\n\nexport class APIError extends AceDataCloudError {\n statusCode: number;\n code: string;\n traceId?: string;\n body: Record<string, unknown>;\n\n constructor(opts: {\n message: string;\n statusCode: number;\n code: string;\n traceId?: string;\n body?: Record<string, unknown>;\n }) {\n super(opts.message);\n this.name = 'APIError';\n this.statusCode = opts.statusCode;\n this.code = opts.code;\n this.traceId = opts.traceId;\n this.body = opts.body ?? {};\n }\n}\n\nexport class AuthenticationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'AuthenticationError';\n }\n}\n\nexport class TokenMismatchError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TokenMismatchError';\n }\n}\n\nexport class RateLimitError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'RateLimitError';\n }\n}\n\nexport class ValidationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ValidationError';\n }\n}\n\nexport class InsufficientBalanceError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'InsufficientBalanceError';\n }\n}\n\nexport class ResourceDisabledError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ResourceDisabledError';\n }\n}\n\nexport class ModerationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ModerationError';\n }\n}\n\nexport class TimeoutError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TimeoutError';\n }\n}\n","/** HTTP transport for AceDataCloud SDK. Uses native fetch (Node 18+). */\n\nimport {\n APIError,\n AuthenticationError,\n InsufficientBalanceError,\n ModerationError,\n RateLimitError,\n ResourceDisabledError,\n TimeoutError,\n TokenMismatchError,\n TransportError,\n ValidationError,\n} from './errors';\nimport type {\n PaymentHandler,\n PaymentRequiredBody,\n} from './payment';\n\nconst ERROR_CODE_MAP: Record<string, typeof APIError> = {\n invalid_token: AuthenticationError,\n token_expired: AuthenticationError,\n no_token: AuthenticationError,\n token_mismatched: TokenMismatchError,\n used_up: InsufficientBalanceError,\n disabled: ResourceDisabledError,\n too_many_requests: RateLimitError,\n bad_request: ValidationError,\n};\n\nconst RETRY_STATUS_CODES = new Set([408, 409, 429, 500, 502, 503, 504]);\n\nexport function mapError(statusCode: number, body: Record<string, unknown>): APIError {\n // The server occasionally returns ``error`` as a bare string (e.g. x402\n // facilitator diagnostics) or omits/nulls it entirely. Normalize to an\n // object so downstream property access is always safe and the message\n // is preserved verbatim.\n let errorData: Record<string, unknown>;\n if (typeof body.error === 'string') {\n errorData = { message: body.error };\n } else if (body.error && typeof body.error === 'object' && !Array.isArray(body.error)) {\n errorData = body.error as Record<string, unknown>;\n } else {\n errorData = {};\n }\n const code = (errorData.code ?? '') as string;\n const message = (errorData.message ?? '') as string;\n const traceId = body.trace_id as string | undefined;\n\n let ErrorClass = ERROR_CODE_MAP[code];\n if (!ErrorClass) {\n if (statusCode === 403) ErrorClass = ModerationError;\n else if (statusCode === 401) ErrorClass = AuthenticationError;\n else if (statusCode === 429) ErrorClass = RateLimitError;\n else if (statusCode === 400) ErrorClass = ValidationError;\n else ErrorClass = APIError;\n }\n\n return new ErrorClass({ message, statusCode, code, traceId, body });\n}\n\nfunction backoffDelay(attempt: number): number {\n const base = Math.min(2 ** attempt, 8);\n return base + Math.random() * 0.5;\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport interface TransportOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional handler invoked when a request returns `402 Payment Required`.\n * The handler receives the parsed `accepts` list and must return the extra\n * headers (typically `X-Payment`) to attach to the automatic retry.\n *\n * See `@acedatacloud/x402-client` for a drop-in implementation.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class Transport {\n private baseURL: string;\n private platformBaseURL: string;\n private timeout: number;\n private maxRetries: number;\n private headers: Record<string, string>;\n private paymentHandler?: PaymentHandler;\n\n constructor(opts: TransportOptions = {}) {\n const token = opts.apiToken ?? process.env.ACEDATACLOUD_API_TOKEN ?? '';\n if (!token && !opts.paymentHandler) {\n throw new AuthenticationError({\n message:\n 'apiToken is required (or provide a paymentHandler, e.g. from @acedatacloud/x402-client). ' +\n 'Pass it to the client or set ACEDATACLOUD_API_TOKEN.',\n statusCode: 0,\n code: 'no_token',\n });\n }\n this.baseURL = (opts.baseURL ?? 'https://api.acedata.cloud').replace(/\\/+$/, '');\n this.platformBaseURL = (opts.platformBaseURL ?? 'https://platform.acedata.cloud').replace(/\\/+$/, '');\n this.timeout = opts.timeout ?? 300_000;\n this.maxRetries = opts.maxRetries ?? 2;\n this.paymentHandler = opts.paymentHandler;\n const baseHeaders: Record<string, string> = {\n accept: 'application/json',\n 'content-type': 'application/json',\n 'user-agent': 'acedatacloud-node/0.1.0',\n ...(opts.headers ?? {}),\n };\n if (token) {\n baseHeaders.authorization = `Bearer ${token}`;\n }\n this.headers = baseHeaders;\n }\n\n async request(\n method: string,\n path: string,\n opts: {\n json?: Record<string, unknown>;\n params?: Record<string, string>;\n platform?: boolean;\n timeout?: number;\n headers?: Record<string, string>;\n } = {}\n ): Promise<Record<string, unknown>> {\n const base = opts.platform ? this.platformBaseURL : this.baseURL;\n let url = `${base}${path}`;\n if (opts.params) {\n const qs = new URLSearchParams(opts.params).toString();\n url += `?${qs}`;\n }\n const headers = { ...this.headers, ...(opts.headers ?? {}) };\n const timeoutMs = opts.timeout ?? this.timeout;\n\n let lastError: Error | null = null;\n let paymentAttempted = false;\n let extraHeaders: Record<string, string> = {};\n for (let attempt = 0; attempt <= this.maxRetries; attempt++) {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n try {\n const resp = await fetch(url, {\n method,\n headers: { ...headers, ...extraHeaders },\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status === 402 && this.paymentHandler && !paymentAttempted) {\n const text = await resp.text();\n let body: PaymentRequiredBody;\n try {\n body = JSON.parse(text) as PaymentRequiredBody;\n } catch {\n throw mapError(402, { error: { code: 'invalid_402', message: text } });\n }\n if (!body.accepts?.length) {\n throw mapError(402, { error: { code: 'invalid_402', message: 'No payment requirements' } });\n }\n const result = await this.paymentHandler({\n url,\n method,\n body: opts.json,\n accepts: body.accepts,\n });\n extraHeaders = { ...extraHeaders, ...result.headers };\n paymentAttempted = true;\n continue;\n }\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n if (RETRY_STATUS_CODES.has(resp.status) && attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n throw mapError(resp.status, body);\n }\n\n return (await resp.json()) as Record<string, unknown>;\n } catch (err) {\n clearTimeout(timer);\n if (err instanceof APIError) throw err;\n lastError = err as Error;\n if (attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n }\n }\n throw lastError ?? new TransportError('Request failed after retries');\n }\n\n async *requestStream(\n method: string,\n path: string,\n opts: { json?: Record<string, unknown>; timeout?: number } = {}\n ): AsyncGenerator<string, void, unknown> {\n const url = `${this.baseURL}${path}`;\n const headers = { ...this.headers, accept: 'text/event-stream' };\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n\n try {\n const resp = await fetch(url, {\n method,\n headers,\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, body);\n }\n\n if (!resp.body) throw new TransportError('No response body for stream');\n\n const reader = resp.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data === '[DONE]') return;\n yield data;\n }\n }\n }\n } finally {\n clearTimeout(timer);\n }\n }\n\n async upload(\n path: string,\n fileData: Buffer | Uint8Array,\n filename: string,\n opts: { timeout?: number } = {}\n ): Promise<Record<string, unknown>> {\n const url = `${this.platformBaseURL}${path}`;\n const boundary = `----AceDataCloudBoundary${Date.now()}`;\n const headers = {\n ...this.headers,\n 'content-type': `multipart/form-data; boundary=${boundary}`,\n };\n delete (headers as Record<string, string>)['content-type'];\n\n const body = new FormData();\n body.append('file', new Blob([fileData]), filename);\n\n const authHeaders: Record<string, string> = {\n authorization: this.headers.authorization,\n 'user-agent': this.headers['user-agent'],\n };\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n try {\n const resp = await fetch(url, {\n method: 'POST',\n headers: authHeaders,\n body,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let respBody: Record<string, unknown>;\n try {\n respBody = JSON.parse(text) as Record<string, unknown>;\n } catch {\n respBody = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, respBody);\n }\n return (await resp.json()) as Record<string, unknown>;\n } finally {\n clearTimeout(timer);\n }\n }\n}\n","/** AI Chat resources — aichat/conversations endpoint. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type AiChatModel =\n | 'gpt-5.5'\n | 'gpt-5.5-pro'\n | 'gpt-5.4'\n | 'gpt-5.4-pro'\n | 'gpt-5.2'\n | 'gpt-5.1'\n | 'gpt-5.1-all'\n | 'gpt-5'\n | 'gpt-5-mini'\n | 'gpt-5-nano'\n | 'gpt-5-all'\n | 'gpt-4'\n | 'gpt-4-all'\n | 'gpt-4-turbo'\n | 'gpt-4-turbo-preview'\n | 'gpt-4-vision-preview'\n | 'gpt-4.1'\n | 'gpt-4.1-2025-04-14'\n | 'gpt-4.1-mini'\n | 'gpt-4.1-mini-2025-04-14'\n | 'gpt-4.1-nano'\n | 'gpt-4.1-nano-2025-04-14'\n | 'gpt-4.5-preview'\n | 'gpt-4.5-preview-2025-02-27'\n | 'gpt-4o'\n | 'gpt-4o-2024-05-13'\n | 'gpt-4o-2024-08-06'\n | 'gpt-4o-2024-11-20'\n | 'gpt-4o-all'\n | 'gpt-4o-image'\n | 'gpt-4o-mini'\n | 'gpt-4o-mini-2024-07-18'\n | 'gpt-4o-mini-search-preview'\n | 'gpt-4o-mini-search-preview-2025-03-11'\n | 'gpt-4o-search-preview'\n | 'gpt-4o-search-preview-2025-03-11'\n | 'o1'\n | 'o1-2024-12-17'\n | 'o1-all'\n | 'o1-mini'\n | 'o1-mini-2024-09-12'\n | 'o1-mini-all'\n | 'o1-preview'\n | 'o1-preview-2024-09-12'\n | 'o1-preview-all'\n | 'o1-pro'\n | 'o1-pro-2025-03-19'\n | 'o1-pro-all'\n | 'o3'\n | 'o3-2025-04-16'\n | 'o3-all'\n | 'o3-mini'\n | 'o3-mini-2025-01-31'\n | 'o3-mini-2025-01-31-high'\n | 'o3-mini-2025-01-31-low'\n | 'o3-mini-2025-01-31-medium'\n | 'o3-mini-all'\n | 'o3-mini-high'\n | 'o3-mini-high-all'\n | 'o3-mini-low'\n | 'o3-mini-medium'\n | 'o3-pro'\n | 'o3-pro-2025-06-10'\n | 'o4-mini'\n | 'o4-mini-2025-04-16'\n | 'o4-mini-all'\n | 'o4-mini-high-all'\n | 'deepseek-r1'\n | 'deepseek-r1-0528'\n | 'deepseek-v3'\n | 'deepseek-v3-250324'\n | 'grok-3'\n | 'glm-5.1'\n | 'glm-4.7'\n | 'glm-4.6'\n | 'glm-4.5-air'\n | 'glm-3-turbo'\n | (string & {});\n\nexport class AiChat {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: AiChatModel;\n question: string;\n id?: string;\n preset?: string;\n stateful?: boolean;\n references?: string[];\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, question, id, preset, stateful, references, ...rest } = opts;\n const body: Record<string, unknown> = { model, question, ...rest };\n if (id !== undefined) body.id = id;\n if (preset !== undefined) body.preset = preset;\n if (stateful !== undefined) body.stateful = stateful;\n if (references !== undefined) body.references = references;\n return this.transport.request('POST', '/aichat/conversations', { json: body });\n }\n}\n","/** Chat resources — native provider APIs (Claude Messages). */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Messages {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, maxTokens = 4096, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, max_tokens: maxTokens, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.stream(body);\n }\n return this.transport.request('POST', '/v1/messages', { json: body });\n }\n\n private async *stream(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/v1/messages', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n\n async countTokens(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, messages, ...rest } = opts;\n return this.transport.request('POST', '/v1/messages/count_tokens', {\n json: { model, messages, ...rest },\n });\n }\n}\n\nexport class Chat {\n readonly messages: Messages;\n\n constructor(transport: Transport) {\n this.messages = new Messages(transport);\n }\n}\n","/** Task polling abstraction. */\n\nimport { Transport } from './transport';\n\nexport interface TaskHandleOptions {\n pollInterval?: number;\n maxWait?: number;\n}\n\nexport class TaskHandle {\n readonly id: string;\n private pollEndpoint: string;\n private transport: Transport;\n private _result: Record<string, unknown> | null = null;\n\n constructor(taskId: string, pollEndpoint: string, transport: Transport) {\n this.id = taskId;\n this.pollEndpoint = pollEndpoint;\n this.transport = transport;\n }\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('POST', this.pollEndpoint, {\n json: { id: this.id, action: 'retrieve' },\n });\n }\n\n async isCompleted(): Promise<boolean> {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n return status === 'succeeded' || status === 'failed';\n }\n\n async wait(opts: TaskHandleOptions = {}): Promise<Record<string, unknown>> {\n const pollInterval = opts.pollInterval ?? 3000;\n const maxWait = opts.maxWait ?? 600_000;\n const start = Date.now();\n\n while (Date.now() - start < maxWait) {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n\n if (status === 'succeeded' || status === 'failed') {\n this._result = state;\n return state;\n }\n await new Promise((resolve) => setTimeout(resolve, pollInterval));\n }\n throw new Error(`Task ${this.id} did not complete within ${maxWait}ms`);\n }\n\n get result(): Record<string, unknown> | null {\n return this._result;\n }\n}\n","/** Image generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type ImageProvider = 'nano-banana' | 'midjourney' | 'flux' | 'seedream' | (string & {});\n\nexport class Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: ImageProvider;\n model?: string;\n negativePrompt?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'nano-banana', model, negativePrompt, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (negativePrompt !== undefined) body.negative_prompt = negativePrompt;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const endpoint = provider === 'midjourney' ? '/midjourney/imagine' : `/${provider}/images`;\n const result = await this.transport.request('POST', endpoint, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Audio/music generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type AudioProvider = 'suno' | 'producer' | 'fish' | (string & {});\n\nexport class Audio {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: AudioProvider;\n model?: string;\n tags?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'suno', model, tags, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (tags !== undefined) body.tags = tags;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/audios`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Video generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type VideoProvider = 'sora' | 'luma' | 'veo' | 'kling' | 'hailuo' | 'seedance' | 'wan' | 'pika' | 'pixverse' | (string & {});\n\nexport class Video {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: VideoProvider;\n model?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'sora', model, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/videos`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Search resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Search {\n constructor(private transport: Transport) {}\n\n async google(opts: {\n query: string;\n type?: string;\n country?: string;\n language?: string;\n page?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { query, type = 'search', country, language, page, ...rest } = opts;\n const body: Record<string, unknown> = { query, type, ...rest };\n if (country !== undefined) body.country = country;\n if (language !== undefined) body.language = language;\n if (page !== undefined) body.page = page;\n return this.transport.request('POST', '/serp/google', { json: body });\n }\n}\n","/** Cross-service task retrieval. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nconst SERVICE_TASK_ENDPOINTS: Record<string, string> = {\n suno: '/suno/tasks',\n producer: '/producer/tasks',\n fish: '/fish/tasks',\n 'nano-banana': '/nano-banana/tasks',\n seedream: '/seedream/tasks',\n seedance: '/seedance/tasks',\n sora: '/sora/tasks',\n midjourney: '/midjourney/tasks',\n luma: '/luma/tasks',\n veo: '/veo/tasks',\n flux: '/flux/tasks',\n kling: '/kling/tasks',\n hailuo: '/hailuo/tasks',\n wan: '/wan/tasks',\n pika: '/pika/tasks',\n pixverse: '/pixverse/tasks',\n webextrator: '/webextrator/tasks',\n};\n\nexport class Tasks {\n constructor(private transport: Transport) {}\n\n async get(taskId: string, opts: { service?: string } = {}): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n return this.transport.request('POST', endpoint, {\n json: { id: taskId, action: 'retrieve' },\n });\n }\n\n async wait(\n taskId: string,\n opts: { service?: string; pollInterval?: number; maxWait?: number } = {}\n ): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n const handle = new TaskHandle(taskId, endpoint, this.transport);\n return handle.wait({ pollInterval: opts.pollInterval, maxWait: opts.maxWait });\n }\n}\n","/** File upload resources. */\n\nimport { Transport } from '../runtime/transport';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nexport class Files {\n constructor(private transport: Transport) {}\n\n async upload(\n file: string | Buffer | Uint8Array,\n opts: { filename?: string } = {}\n ): Promise<Record<string, unknown>> {\n let data: Buffer | Uint8Array;\n let filename: string;\n\n if (typeof file === 'string') {\n data = fs.readFileSync(file);\n filename = opts.filename ?? path.basename(file);\n } else {\n data = file;\n filename = opts.filename ?? 'upload';\n }\n\n return this.transport.upload('/api/v1/files/', data, filename);\n }\n}\n","/** Management-plane resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Applications {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/applications/', { params, platform: true });\n }\n\n async create(opts: { serviceId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { serviceId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/applications/', {\n json: { service_id: serviceId, ...rest },\n platform: true,\n });\n }\n\n async get(applicationId: string): Promise<Record<string, unknown>> {\n return this.transport.request('GET', `/api/v1/applications/${applicationId}/`, { platform: true });\n }\n}\n\nclass Credentials {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/credentials/', { params, platform: true });\n }\n\n async create(opts: { applicationId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { applicationId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/credentials/', {\n json: { application_id: applicationId, ...rest },\n platform: true,\n });\n }\n\n async rotate(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('POST', `/api/v1/credentials/${credentialId}/rotate/`, { platform: true });\n }\n\n async delete(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('DELETE', `/api/v1/credentials/${credentialId}/`, { platform: true });\n }\n}\n\nclass Models {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/models/', { params, platform: true });\n }\n}\n\nclass Config {\n constructor(private transport: Transport) {}\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/config/', { platform: true });\n }\n}\n\nexport class Platform {\n readonly applications: Applications;\n readonly credentials: Credentials;\n readonly models: Models;\n readonly config: Config;\n\n constructor(transport: Transport) {\n this.applications = new Applications(transport);\n this.credentials = new Credentials(transport);\n this.models = new Models(transport);\n this.config = new Config(transport);\n }\n}\n","/** OpenAI-compatible facade resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nclass Responses {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, input, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/responses', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/responses', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n model: string;\n background?: string;\n moderation?: string;\n n?: number;\n outputCompression?: number;\n outputFormat?: string;\n partialImages?: number;\n size?: string;\n quality?: string;\n responseFormat?: string;\n style?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { prompt, model, outputCompression, outputFormat, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, model, ...rest };\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/generations', { json: body });\n }\n\n async edit(opts: {\n image: string | string[];\n prompt: string;\n model?: string;\n n?: number;\n background?: string;\n inputFidelity?: string;\n mask?: string;\n outputFormat?: string;\n outputCompression?: number;\n partialImages?: number;\n quality?: string;\n size?: string;\n responseFormat?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { image, prompt, inputFidelity, mask, outputFormat, outputCompression, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { image, prompt, ...rest };\n if (inputFidelity !== undefined) body.input_fidelity = inputFidelity;\n if (mask !== undefined) body.mask = mask;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/edits', { json: body });\n }\n}\n\nclass Embeddings {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | string[];\n encodingFormat?: string;\n dimensions?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, input, encodingFormat, dimensions, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n if (encodingFormat !== undefined) body.encoding_format = encodingFormat;\n if (dimensions !== undefined) body.dimensions = dimensions;\n return this.transport.request('POST', '/openai/embeddings', { json: body });\n }\n}\n\nclass Tasks {\n constructor(private transport: Transport) {}\n\n async retrieve(opts: {\n id?: string;\n traceId?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { id, traceId, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve', ...rest };\n if (id !== undefined) body.id = id;\n if (traceId !== undefined) body.trace_id = traceId;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n\n async retrieveBatch(opts: {\n ids?: string[];\n traceIds?: string[];\n applicationId?: string;\n userId?: string;\n type?: string;\n offset?: number;\n limit?: number;\n createdAtMin?: number;\n createdAtMax?: number;\n [key: string]: unknown;\n } = {}): Promise<Record<string, unknown>> {\n const { ids, traceIds, applicationId, userId, type, offset, limit, createdAtMin, createdAtMax, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve_batch', ...rest };\n if (ids !== undefined) body.ids = ids;\n if (traceIds !== undefined) body.trace_ids = traceIds;\n if (applicationId !== undefined) body.application_id = applicationId;\n if (userId !== undefined) body.user_id = userId;\n if (type !== undefined) body.type = type;\n if (offset !== undefined) body.offset = offset;\n if (limit !== undefined) body.limit = limit;\n if (createdAtMin !== undefined) body.created_at_min = createdAtMin;\n if (createdAtMax !== undefined) body.created_at_max = createdAtMax;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n}\n\nexport class OpenAI {\n readonly chat: ChatNamespace;\n readonly responses: Responses;\n readonly images: Images;\n readonly embeddings: Embeddings;\n readonly tasks: Tasks;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n this.responses = new Responses(transport);\n this.images = new Images(transport);\n this.embeddings = new Embeddings(transport);\n this.tasks = new Tasks(transport);\n }\n}\n","/** GLM chat completions resource. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type GlmModel = 'glm-5.1' | 'glm-4.7' | 'glm-4.6' | 'glm-4.5-air' | 'glm-3-turbo' | (string & {});\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/glm/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/glm/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nexport class Glm {\n readonly chat: ChatNamespace;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n }\n}\n","/** Veo-specific video generation and editing resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type VeoModel = 'veo2' | 'veo2-fast' | 'veo3' | 'veo3-fast' | 'veo31-fast' | 'veo31' | 'veo31-fast-ingredients' | (string & {});\n\nexport class Veo {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n action: 'text2video' | 'image2video' | 'ingredients2video' | 'get1080p';\n prompt?: string;\n model?: VeoModel;\n resolution?: '4k' | '1080p' | 'gif';\n videoId?: string;\n translation?: string;\n aspectRatio?: '9:16' | '1:1' | '3:4' | '4:3' | '16:9';\n imageUrls?: string[];\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { action, prompt, model, resolution, videoId, translation, aspectRatio, imageUrls, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (model !== undefined) body.model = model;\n if (resolution !== undefined) body.resolution = resolution;\n if (videoId !== undefined) body.video_id = videoId;\n if (translation !== undefined) body.translation = translation;\n if (aspectRatio !== undefined) body.aspect_ratio = aspectRatio;\n if (imageUrls !== undefined) body.image_urls = imageUrls;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/videos', { json: body });\n }\n\n async upsample(opts: {\n videoId: string;\n action: '1080p' | '4k' | 'gif';\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/upsample', { json: body });\n }\n\n async extend(opts: {\n videoId: string;\n model: 'veo31-fast' | 'veo31' | (string & {});\n prompt?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, model, prompt, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, model, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/extend', { json: body });\n }\n\n async reshoot(opts: {\n videoId: string;\n motionType: 'STATIONARY' | 'STATIONARY_UP' | 'STATIONARY_DOWN' | 'STATIONARY_LEFT' | 'STATIONARY_RIGHT' | 'STATIONARY_DOLLY_IN_ZOOM_OUT' | 'STATIONARY_DOLLY_OUT_ZOOM_IN' | 'UP' | 'DOWN' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT' | 'FORWARD' | 'BACKWARD' | 'DOLLY_IN_ZOOM_OUT' | 'DOLLY_OUT_ZOOM_IN' | (string & {});\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, motionType, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, motion_type: motionType, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/reshoot', { json: body });\n }\n\n async objects(opts: {\n videoId: string;\n action: 'insert' | 'remove';\n prompt?: string;\n imageMask?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, prompt, imageMask, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (imageMask !== undefined) body.image_mask = imageMask;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/objects', { json: body });\n }\n}\n","/** Kling-specific video generation resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type KlingModel =\n | 'kling-v1'\n | 'kling-v1-6'\n | 'kling-v2-master'\n | 'kling-v2-1-master'\n | 'kling-v2-5-turbo'\n | 'kling-v2-6'\n | 'kling-v3'\n | 'kling-v3-omni'\n | 'kling-video-o1'\n | (string & {});\n\nexport class Kling {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n action: 'text2video' | 'image2video' | 'extend';\n mode?: 'std' | 'pro' | '4k';\n model?: KlingModel;\n prompt?: string;\n duration?: 5 | 10;\n generateAudio?: boolean;\n videoId?: string;\n cfgScale?: number;\n aspectRatio?: '16:9' | '9:16' | '1:1';\n callbackUrl?: string;\n endImageUrl?: string;\n cameraControl?: string;\n elementList?: unknown[];\n videoList?: unknown[];\n negativePrompt?: string;\n startImageUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const {\n action,\n mode,\n model,\n prompt,\n duration,\n generateAudio,\n videoId,\n cfgScale,\n aspectRatio,\n callbackUrl,\n endImageUrl,\n cameraControl,\n elementList,\n videoList,\n negativePrompt,\n startImageUrl,\n ...rest\n } = opts;\n const body: Record<string, unknown> = { action, ...rest };\n if (mode !== undefined) body.mode = mode;\n if (model !== undefined) body.model = model;\n if (prompt !== undefined) body.prompt = prompt;\n if (duration !== undefined) body.duration = duration;\n if (generateAudio !== undefined) body.generate_audio = generateAudio;\n if (videoId !== undefined) body.video_id = videoId;\n if (cfgScale !== undefined) body.cfg_scale = cfgScale;\n if (aspectRatio !== undefined) body.aspect_ratio = aspectRatio;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n if (endImageUrl !== undefined) body.end_image_url = endImageUrl;\n if (cameraControl !== undefined) body.camera_control = cameraControl;\n if (elementList !== undefined) body.element_list = elementList;\n if (videoList !== undefined) body.video_list = videoList;\n if (negativePrompt !== undefined) body.negative_prompt = negativePrompt;\n if (startImageUrl !== undefined) body.start_image_url = startImageUrl;\n return this.transport.request('POST', '/kling/videos', { json: body });\n }\n\n async motion(opts: {\n mode: 'std' | 'pro';\n imageUrl: string;\n videoUrl: string;\n characterOrientation: 'image' | 'video';\n keepOriginalSound?: 'yes' | 'no';\n prompt?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { mode, imageUrl, videoUrl, characterOrientation, keepOriginalSound, prompt, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = {\n mode,\n image_url: imageUrl,\n video_url: videoUrl,\n character_orientation: characterOrientation,\n ...rest,\n };\n if (keepOriginalSound !== undefined) body.keep_original_sound = keepOriginalSound;\n if (prompt !== undefined) body.prompt = prompt;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/kling/motion', { json: body });\n }\n}\n","/** WebExtrator web render & extract resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class WebExtrator {\n constructor(private transport: Transport) {}\n\n async extract(opts: {\n url: string;\n expectedType?: 'product' | 'article' | 'general';\n enableLlm?: boolean;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, expectedType, enableLlm, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (expectedType !== undefined) body.expected_type = expectedType;\n if (enableLlm !== undefined) body.enable_llm = enableLlm;\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/extract', { json: body });\n }\n\n async render(opts: {\n url: string;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/render', { json: body });\n }\n}\n","/** Top-level AceDataCloud client for TypeScript. */\n\nimport { Transport, TransportOptions } from './runtime/transport';\nimport type { PaymentHandler } from './runtime/payment';\nimport { AiChat } from './resources/aichat';\nimport { Chat } from './resources/chat';\nimport { Images } from './resources/images';\nimport { Audio } from './resources/audio';\nimport { Video } from './resources/video';\nimport { Search } from './resources/search';\nimport { Tasks } from './resources/tasks';\nimport { Files } from './resources/files';\nimport { Platform } from './resources/platform';\nimport { OpenAI } from './resources/openai';\nimport { Glm } from './resources/glm';\nimport { Veo } from './resources/veo';\nimport { Kling } from './resources/kling';\nimport { WebExtrator } from './resources/webextrator';\n\nexport interface AceDataCloudOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional payment handler invoked when the API returns `402 Payment\n * Required`. Use `createX402PaymentHandler` from\n * `@acedatacloud/x402-client` to enable on-chain payments via X402.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class AceDataCloud {\n readonly aichat: AiChat;\n readonly chat: Chat;\n readonly images: Images;\n readonly audio: Audio;\n readonly video: Video;\n readonly search: Search;\n readonly tasks: Tasks;\n readonly files: Files;\n readonly platform: Platform;\n readonly openai: OpenAI;\n readonly glm: Glm;\n readonly veo: Veo;\n readonly kling: Kling;\n readonly webextrator: WebExtrator;\n\n private transport: Transport;\n\n constructor(opts: AceDataCloudOptions = {}) {\n this.transport = new Transport({\n apiToken: opts.apiToken,\n baseURL: opts.baseURL,\n platformBaseURL: opts.platformBaseURL,\n timeout: opts.timeout,\n maxRetries: opts.maxRetries,\n headers: opts.headers,\n paymentHandler: opts.paymentHandler,\n });\n\n this.aichat = new AiChat(this.transport);\n this.chat = new Chat(this.transport);\n this.images = new Images(this.transport);\n this.audio = new Audio(this.transport);\n this.video = new Video(this.transport);\n this.search = new Search(this.transport);\n this.tasks = new Tasks(this.transport);\n this.files = new Files(this.transport);\n this.platform = new Platform(this.transport);\n this.openai = new OpenAI(this.transport);\n this.glm = new Glm(this.transport);\n this.veo = new Veo(this.transport);\n this.kling = new Kling(this.transport);\n this.webextrator = new WebExtrator(this.transport);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,oBAAN,cAAgC,MAAM;AAAA,EAC3C,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,iBAAN,cAA6B,kBAAkB;AAAA,EACpD,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,WAAN,cAAuB,kBAAkB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,MAMT;AACD,UAAM,KAAK,OAAO;AAClB,SAAK,OAAO;AACZ,SAAK,aAAa,KAAK;AACvB,SAAK,OAAO,KAAK;AACjB,SAAK,UAAU,KAAK;AACpB,SAAK,OAAO,KAAK,QAAQ,CAAC;AAAA,EAC5B;AACF;AAEO,IAAM,sBAAN,cAAkC,SAAS;AAAA,EAChD,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,qBAAN,cAAiC,SAAS;AAAA,EAC/C,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,iBAAN,cAA6B,SAAS;AAAA,EAC3C,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,kBAAN,cAA8B,SAAS;AAAA,EAC5C,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,2BAAN,cAAuC,SAAS;AAAA,EACrD,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,wBAAN,cAAoC,SAAS;AAAA,EAClD,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,kBAAN,cAA8B,SAAS;AAAA,EAC5C,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,eAAN,cAA2B,SAAS;AAAA,EACzC,YAAY,MAAiD;AAC3D,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AACF;;;ACzEA,IAAM,iBAAkD;AAAA,EACtD,eAAe;AAAA,EACf,eAAe;AAAA,EACf,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,aAAa;AACf;AAEA,IAAM,qBAAqB,oBAAI,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,CAAC;AAE/D,SAAS,SAAS,YAAoB,MAAyC;AAKpF,MAAI;AACJ,MAAI,OAAO,KAAK,UAAU,UAAU;AAClC,gBAAY,EAAE,SAAS,KAAK,MAAM;AAAA,EACpC,WAAW,KAAK,SAAS,OAAO,KAAK,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,KAAK,GAAG;AACrF,gBAAY,KAAK;AAAA,EACnB,OAAO;AACL,gBAAY,CAAC;AAAA,EACf;AACA,QAAM,OAAQ,UAAU,QAAQ;AAChC,QAAM,UAAW,UAAU,WAAW;AACtC,QAAM,UAAU,KAAK;AAErB,MAAI,aAAa,eAAe,IAAI;AACpC,MAAI,CAAC,YAAY;AACf,QAAI,eAAe,IAAK,cAAa;AAAA,aAC5B,eAAe,IAAK,cAAa;AAAA,aACjC,eAAe,IAAK,cAAa;AAAA,aACjC,eAAe,IAAK,cAAa;AAAA,QACrC,cAAa;AAAA,EACpB;AAEA,SAAO,IAAI,WAAW,EAAE,SAAS,YAAY,MAAM,SAAS,KAAK,CAAC;AACpE;AAEA,SAAS,aAAa,SAAyB;AAC7C,QAAM,OAAO,KAAK,IAAI,KAAK,SAAS,CAAC;AACrC,SAAO,OAAO,KAAK,OAAO,IAAI;AAChC;AAEA,SAAS,MAAM,IAA2B;AACxC,SAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AACzD;AAmBO,IAAM,YAAN,MAAgB;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,OAAyB,CAAC,GAAG;AACvC,UAAM,QAAQ,KAAK,YAAY,QAAQ,IAAI,0BAA0B;AACrE,QAAI,CAAC,SAAS,CAAC,KAAK,gBAAgB;AAClC,YAAM,IAAI,oBAAoB;AAAA,QAC5B,SACE;AAAA,QAEF,YAAY;AAAA,QACZ,MAAM;AAAA,MACR,CAAC;AAAA,IACH;AACA,SAAK,WAAW,KAAK,WAAW,6BAA6B,QAAQ,QAAQ,EAAE;AAC/E,SAAK,mBAAmB,KAAK,mBAAmB,kCAAkC,QAAQ,QAAQ,EAAE;AACpG,SAAK,UAAU,KAAK,WAAW;AAC/B,SAAK,aAAa,KAAK,cAAc;AACrC,SAAK,iBAAiB,KAAK;AAC3B,UAAM,cAAsC;AAAA,MAC1C,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,GAAI,KAAK,WAAW,CAAC;AAAA,IACvB;AACA,QAAI,OAAO;AACT,kBAAY,gBAAgB,UAAU,KAAK;AAAA,IAC7C;AACA,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,MAAM,QACJ,QACAA,OACA,OAMI,CAAC,GAC6B;AAClC,UAAM,OAAO,KAAK,WAAW,KAAK,kBAAkB,KAAK;AACzD,QAAI,MAAM,GAAG,IAAI,GAAGA,KAAI;AACxB,QAAI,KAAK,QAAQ;AACf,YAAM,KAAK,IAAI,gBAAgB,KAAK,MAAM,EAAE,SAAS;AACrD,aAAO,IAAI,EAAE;AAAA,IACf;AACA,UAAM,UAAU,EAAE,GAAG,KAAK,SAAS,GAAI,KAAK,WAAW,CAAC,EAAG;AAC3D,UAAM,YAAY,KAAK,WAAW,KAAK;AAEvC,QAAI,YAA0B;AAC9B,QAAI,mBAAmB;AACvB,QAAI,eAAuC,CAAC;AAC5C,aAAS,UAAU,GAAG,WAAW,KAAK,YAAY,WAAW;AAC3D,YAAM,aAAa,IAAI,gBAAgB;AACvC,YAAM,QAAQ,WAAW,MAAM,WAAW,MAAM,GAAG,SAAS;AAC5D,UAAI;AACF,cAAM,OAAO,MAAM,MAAM,KAAK;AAAA,UAC5B;AAAA,UACA,SAAS,EAAE,GAAG,SAAS,GAAG,aAAa;AAAA,UACvC,MAAM,KAAK,OAAO,KAAK,UAAU,KAAK,IAAI,IAAI;AAAA,UAC9C,QAAQ,WAAW;AAAA,QACrB,CAAC;AACD,qBAAa,KAAK;AAElB,YAAI,KAAK,WAAW,OAAO,KAAK,kBAAkB,CAAC,kBAAkB;AACnE,gBAAM,OAAO,MAAM,KAAK,KAAK;AAC7B,cAAI;AACJ,cAAI;AACF,mBAAO,KAAK,MAAM,IAAI;AAAA,UACxB,QAAQ;AACN,kBAAM,SAAS,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,SAAS,KAAK,EAAE,CAAC;AAAA,UACvE;AACA,cAAI,CAAC,KAAK,SAAS,QAAQ;AACzB,kBAAM,SAAS,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,SAAS,0BAA0B,EAAE,CAAC;AAAA,UAC5F;AACA,gBAAM,SAAS,MAAM,KAAK,eAAe;AAAA,YACvC;AAAA,YACA;AAAA,YACA,MAAM,KAAK;AAAA,YACX,SAAS,KAAK;AAAA,UAChB,CAAC;AACD,yBAAe,EAAE,GAAG,cAAc,GAAG,OAAO,QAAQ;AACpD,6BAAmB;AACnB;AAAA,QACF;AAEA,YAAI,KAAK,UAAU,KAAK;AACtB,gBAAM,OAAO,MAAM,KAAK,KAAK;AAC7B,cAAI;AACJ,cAAI;AACF,mBAAO,KAAK,MAAM,IAAI;AAAA,UACxB,QAAQ;AACN,mBAAO,EAAE,OAAO,EAAE,MAAM,WAAW,SAAS,KAAK,EAAE;AAAA,UACrD;AACA,cAAI,mBAAmB,IAAI,KAAK,MAAM,KAAK,UAAU,KAAK,YAAY;AACpE,kBAAM,MAAM,aAAa,OAAO,IAAI,GAAI;AACxC;AAAA,UACF;AACA,gBAAM,SAAS,KAAK,QAAQ,IAAI;AAAA,QAClC;AAEA,eAAQ,MAAM,KAAK,KAAK;AAAA,MAC1B,SAAS,KAAK;AACZ,qBAAa,KAAK;AAClB,YAAI,eAAe,SAAU,OAAM;AACnC,oBAAY;AACZ,YAAI,UAAU,KAAK,YAAY;AAC7B,gBAAM,MAAM,aAAa,OAAO,IAAI,GAAI;AACxC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,UAAM,aAAa,IAAI,eAAe,8BAA8B;AAAA,EACtE;AAAA,EAEA,OAAO,cACL,QACAA,OACA,OAA6D,CAAC,GACvB;AACvC,UAAM,MAAM,GAAG,KAAK,OAAO,GAAGA,KAAI;AAClC,UAAM,UAAU,EAAE,GAAG,KAAK,SAAS,QAAQ,oBAAoB;AAC/D,UAAM,aAAa,IAAI,gBAAgB;AACvC,UAAM,QAAQ,WAAW,MAAM,WAAW,MAAM,GAAG,KAAK,WAAW,KAAK,OAAO;AAE/E,QAAI;AACF,YAAM,OAAO,MAAM,MAAM,KAAK;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,MAAM,KAAK,OAAO,KAAK,UAAU,KAAK,IAAI,IAAI;AAAA,QAC9C,QAAQ,WAAW;AAAA,MACrB,CAAC;AAED,UAAI,KAAK,UAAU,KAAK;AACtB,cAAM,OAAO,MAAM,KAAK,KAAK;AAC7B,YAAI;AACJ,YAAI;AACF,iBAAO,KAAK,MAAM,IAAI;AAAA,QACxB,QAAQ;AACN,iBAAO,EAAE,OAAO,EAAE,MAAM,WAAW,SAAS,KAAK,EAAE;AAAA,QACrD;AACA,cAAM,SAAS,KAAK,QAAQ,IAAI;AAAA,MAClC;AAEA,UAAI,CAAC,KAAK,KAAM,OAAM,IAAI,eAAe,6BAA6B;AAEtE,YAAM,SAAS,KAAK,KAAK,UAAU;AACnC,YAAM,UAAU,IAAI,YAAY;AAChC,UAAI,SAAS;AAEb,aAAO,MAAM;AACX,cAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,YAAI,KAAM;AACV,kBAAU,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAEhD,cAAM,QAAQ,OAAO,MAAM,IAAI;AAC/B,iBAAS,MAAM,IAAI,KAAK;AAExB,mBAAW,QAAQ,OAAO;AACxB,cAAI,KAAK,WAAW,QAAQ,GAAG;AAC7B,kBAAM,OAAO,KAAK,MAAM,CAAC;AACzB,gBAAI,SAAS,SAAU;AACvB,kBAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,MAAM,OACJA,OACA,UACA,UACA,OAA6B,CAAC,GACI;AAClC,UAAM,MAAM,GAAG,KAAK,eAAe,GAAGA,KAAI;AAC1C,UAAM,WAAW,2BAA2B,KAAK,IAAI,CAAC;AACtD,UAAM,UAAU;AAAA,MACd,GAAG,KAAK;AAAA,MACR,gBAAgB,iCAAiC,QAAQ;AAAA,IAC3D;AACA,WAAQ,QAAmC,cAAc;AAEzD,UAAM,OAAO,IAAI,SAAS;AAC1B,SAAK,OAAO,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ;AAElD,UAAM,cAAsC;AAAA,MAC1C,eAAe,KAAK,QAAQ;AAAA,MAC5B,cAAc,KAAK,QAAQ,YAAY;AAAA,IACzC;AAEA,UAAM,aAAa,IAAI,gBAAgB;AACvC,UAAM,QAAQ,WAAW,MAAM,WAAW,MAAM,GAAG,KAAK,WAAW,KAAK,OAAO;AAC/E,QAAI;AACF,YAAM,OAAO,MAAM,MAAM,KAAK;AAAA,QAC5B,QAAQ;AAAA,QACR,SAAS;AAAA,QACT;AAAA,QACA,QAAQ,WAAW;AAAA,MACrB,CAAC;AACD,mBAAa,KAAK;AAElB,UAAI,KAAK,UAAU,KAAK;AACtB,cAAM,OAAO,MAAM,KAAK,KAAK;AAC7B,YAAI;AACJ,YAAI;AACF,qBAAW,KAAK,MAAM,IAAI;AAAA,QAC5B,QAAQ;AACN,qBAAW,EAAE,OAAO,EAAE,MAAM,WAAW,SAAS,KAAK,EAAE;AAAA,QACzD;AACA,cAAM,SAAS,KAAK,QAAQ,QAAQ;AAAA,MACtC;AACA,aAAQ,MAAM,KAAK,KAAK;AAAA,IAC1B,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AACF;;;ACrOO,IAAM,SAAN,MAAa;AAAA,EAClB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,OAAO,MAQwB;AACnC,UAAM,EAAE,OAAO,UAAU,IAAI,QAAQ,UAAU,YAAY,GAAG,KAAK,IAAI;AACvE,UAAM,OAAgC,EAAE,OAAO,UAAU,GAAG,KAAK;AACjE,QAAI,OAAO,OAAW,MAAK,KAAK;AAChC,QAAI,WAAW,OAAW,MAAK,SAAS;AACxC,QAAI,aAAa,OAAW,MAAK,WAAW;AAC5C,QAAI,eAAe,OAAW,MAAK,aAAa;AAChD,WAAO,KAAK,UAAU,QAAQ,QAAQ,yBAAyB,EAAE,MAAM,KAAK,CAAC;AAAA,EAC/E;AACF;;;ACpGO,IAAM,WAAN,MAAe;AAAA,EACpB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAgBpB,MAAM,OAAO,MAMkE;AAC7E,UAAM,EAAE,OAAO,UAAU,YAAY,MAAM,QAAQ,GAAG,KAAK,IAAI;AAC/D,UAAM,OAAgC,EAAE,OAAO,UAAU,YAAY,WAAW,GAAG,KAAK;AAExF,QAAI,QAAQ;AACV,WAAK,SAAS;AACd,aAAO,KAAK,OAAO,IAAI;AAAA,IACzB;AACA,WAAO,KAAK,UAAU,QAAQ,QAAQ,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAAA,EACtE;AAAA,EAEA,OAAe,OAAO,MAAwE;AAC5F,qBAAiB,SAAS,KAAK,UAAU,cAAc,QAAQ,gBAAgB,EAAE,MAAM,KAAK,CAAC,GAAG;AAC9F,YAAM,KAAK,MAAM,KAAK;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,MAAM,YAAY,MAImB;AACnC,UAAM,EAAE,OAAO,UAAU,GAAG,KAAK,IAAI;AACrC,WAAO,KAAK,UAAU,QAAQ,QAAQ,6BAA6B;AAAA,MACjE,MAAM,EAAE,OAAO,UAAU,GAAG,KAAK;AAAA,IACnC,CAAC;AAAA,EACH;AACF;AAEO,IAAM,OAAN,MAAW;AAAA,EACP;AAAA,EAET,YAAY,WAAsB;AAChC,SAAK,WAAW,IAAI,SAAS,SAAS;AAAA,EACxC;AACF;;;ACrDO,IAAM,aAAN,MAAiB;AAAA,EACb;AAAA,EACD;AAAA,EACA;AAAA,EACA,UAA0C;AAAA,EAElD,YAAY,QAAgB,cAAsB,WAAsB;AACtE,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,MAAM,MAAwC;AAC5C,WAAO,KAAK,UAAU,QAAQ,QAAQ,KAAK,cAAc;AAAA,MACvD,MAAM,EAAE,IAAI,KAAK,IAAI,QAAQ,WAAW;AAAA,IAC1C,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,cAAgC;AACpC,UAAM,QAAQ,MAAM,KAAK,IAAI;AAC7B,UAAM,WAAY,MAAM,YAAY;AACpC,UAAM,SAAS,SAAS;AACxB,WAAO,WAAW,eAAe,WAAW;AAAA,EAC9C;AAAA,EAEA,MAAM,KAAK,OAA0B,CAAC,GAAqC;AACzE,UAAM,eAAe,KAAK,gBAAgB;AAC1C,UAAM,UAAU,KAAK,WAAW;AAChC,UAAM,QAAQ,KAAK,IAAI;AAEvB,WAAO,KAAK,IAAI,IAAI,QAAQ,SAAS;AACnC,YAAM,QAAQ,MAAM,KAAK,IAAI;AAC7B,YAAM,WAAY,MAAM,YAAY;AACpC,YAAM,SAAS,SAAS;AAExB,UAAI,WAAW,eAAe,WAAW,UAAU;AACjD,aAAK,UAAU;AACf,eAAO;AAAA,MACT;AACA,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,YAAY,CAAC;AAAA,IAClE;AACA,UAAM,IAAI,MAAM,QAAQ,KAAK,EAAE,4BAA4B,OAAO,IAAI;AAAA,EACxE;AAAA,EAEA,IAAI,SAAyC;AAC3C,WAAO,KAAK;AAAA,EACd;AACF;;;ACjDO,IAAM,SAAN,MAAa;AAAA,EAClB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,SAAS,MAWmC;AAChD,UAAM,EAAE,QAAQ,WAAW,eAAe,OAAO,gBAAgB,UAAU,aAAa,MAAM,YAAY,cAAc,SAAS,GAAG,KAAK,IAAI;AAC7I,UAAM,OAAgC,EAAE,QAAQ,GAAG,KAAK;AACxD,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,mBAAmB,OAAW,MAAK,kBAAkB;AACzD,QAAI,aAAa,OAAW,MAAK,YAAY;AAC7C,QAAI,gBAAgB,OAAW,MAAK,eAAe;AAEnD,UAAM,WAAW,aAAa,eAAe,wBAAwB,IAAI,QAAQ;AACjF,UAAM,SAAS,MAAM,KAAK,UAAU,QAAQ,QAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5E,UAAM,SAAS,OAAO;AAEtB,QAAI,CAAC,UAAW,OAAO,QAAQ,CAAC,WAAa,QAAO;AAEpD,UAAM,SAAS,IAAI,WAAW,QAAQ,IAAI,QAAQ,UAAU,KAAK,SAAS;AAC1E,QAAI,WAAY,QAAO,OAAO,KAAK,EAAE,cAAc,QAAQ,CAAC;AAC5D,WAAO;AAAA,EACT;AACF;;;AChCO,IAAM,QAAN,MAAY;AAAA,EACjB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,SAAS,MAUmC;AAChD,UAAM,EAAE,QAAQ,WAAW,QAAQ,OAAO,MAAM,aAAa,MAAM,YAAY,cAAc,SAAS,GAAG,KAAK,IAAI;AAClH,UAAM,OAAgC,EAAE,QAAQ,GAAG,KAAK;AACxD,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,SAAS,OAAW,MAAK,OAAO;AACpC,QAAI,gBAAgB,OAAW,MAAK,eAAe;AAEnD,UAAM,SAAS,MAAM,KAAK,UAAU,QAAQ,QAAQ,IAAI,QAAQ,WAAW,EAAE,MAAM,KAAK,CAAC;AACzF,UAAM,SAAS,OAAO;AAEtB,QAAI,CAAC,UAAW,OAAO,QAAQ,CAAC,WAAa,QAAO;AAEpD,UAAM,SAAS,IAAI,WAAW,QAAQ,IAAI,QAAQ,UAAU,KAAK,SAAS;AAC1E,QAAI,WAAY,QAAO,OAAO,KAAK,EAAE,cAAc,QAAQ,CAAC;AAC5D,WAAO;AAAA,EACT;AACF;;;AC7BO,IAAM,QAAN,MAAY;AAAA,EACjB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,SAAS,MAUmC;AAChD,UAAM,EAAE,QAAQ,WAAW,QAAQ,OAAO,UAAU,aAAa,MAAM,YAAY,cAAc,SAAS,GAAG,KAAK,IAAI;AACtH,UAAM,OAAgC,EAAE,QAAQ,GAAG,KAAK;AACxD,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,aAAa,OAAW,MAAK,YAAY;AAC7C,QAAI,gBAAgB,OAAW,MAAK,eAAe;AAEnD,UAAM,SAAS,MAAM,KAAK,UAAU,QAAQ,QAAQ,IAAI,QAAQ,WAAW,EAAE,MAAM,KAAK,CAAC;AACzF,UAAM,SAAS,OAAO;AAEtB,QAAI,CAAC,UAAW,OAAO,QAAQ,CAAC,WAAa,QAAO;AAEpD,UAAM,SAAS,IAAI,WAAW,QAAQ,IAAI,QAAQ,UAAU,KAAK,SAAS;AAC1E,QAAI,WAAY,QAAO,OAAO,KAAK,EAAE,cAAc,QAAQ,CAAC;AAC5D,WAAO;AAAA,EACT;AACF;;;AChCO,IAAM,SAAN,MAAa;AAAA,EAClB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,OAAO,MAOwB;AACnC,UAAM,EAAE,OAAO,OAAO,UAAU,SAAS,UAAU,MAAM,GAAG,KAAK,IAAI;AACrE,UAAM,OAAgC,EAAE,OAAO,MAAM,GAAG,KAAK;AAC7D,QAAI,YAAY,OAAW,MAAK,UAAU;AAC1C,QAAI,aAAa,OAAW,MAAK,WAAW;AAC5C,QAAI,SAAS,OAAW,MAAK,OAAO;AACpC,WAAO,KAAK,UAAU,QAAQ,QAAQ,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAAA,EACtE;AACF;;;ACjBA,IAAM,yBAAiD;AAAA,EACrD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,eAAe;AAAA,EACf,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,MAAM;AAAA,EACN,UAAU;AAAA,EACV,aAAa;AACf;AAEO,IAAM,QAAN,MAAY;AAAA,EACjB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,IAAI,QAAgB,OAA6B,CAAC,GAAqC;AAC3F,UAAM,UAAU,KAAK,WAAW;AAChC,UAAM,WAAW,uBAAuB,OAAO,KAAK,IAAI,OAAO;AAC/D,WAAO,KAAK,UAAU,QAAQ,QAAQ,UAAU;AAAA,MAC9C,MAAM,EAAE,IAAI,QAAQ,QAAQ,WAAW;AAAA,IACzC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,KACJ,QACA,OAAsE,CAAC,GACrC;AAClC,UAAM,UAAU,KAAK,WAAW;AAChC,UAAM,WAAW,uBAAuB,OAAO,KAAK,IAAI,OAAO;AAC/D,UAAM,SAAS,IAAI,WAAW,QAAQ,UAAU,KAAK,SAAS;AAC9D,WAAO,OAAO,KAAK,EAAE,cAAc,KAAK,cAAc,SAAS,KAAK,QAAQ,CAAC;AAAA,EAC/E;AACF;;;AC1CA,SAAoB;AACpB,WAAsB;AAEf,IAAM,QAAN,MAAY;AAAA,EACjB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,OACJ,MACA,OAA8B,CAAC,GACG;AAClC,QAAI;AACJ,QAAI;AAEJ,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAU,gBAAa,IAAI;AAC3B,iBAAW,KAAK,YAAiB,cAAS,IAAI;AAAA,IAChD,OAAO;AACL,aAAO;AACP,iBAAW,KAAK,YAAY;AAAA,IAC9B;AAEA,WAAO,KAAK,UAAU,OAAO,kBAAkB,MAAM,QAAQ;AAAA,EAC/D;AACF;;;ACtBA,IAAM,eAAN,MAAmB;AAAA,EACjB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,KAAK,QAAmE;AAC5E,WAAO,KAAK,UAAU,QAAQ,OAAO,yBAAyB,EAAE,QAAQ,UAAU,KAAK,CAAC;AAAA,EAC1F;AAAA,EAEA,MAAM,OAAO,MAAuF;AAClG,UAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,WAAO,KAAK,UAAU,QAAQ,QAAQ,yBAAyB;AAAA,MAC7D,MAAM,EAAE,YAAY,WAAW,GAAG,KAAK;AAAA,MACvC,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,IAAI,eAAyD;AACjE,WAAO,KAAK,UAAU,QAAQ,OAAO,wBAAwB,aAAa,KAAK,EAAE,UAAU,KAAK,CAAC;AAAA,EACnG;AACF;AAEA,IAAM,cAAN,MAAkB;AAAA,EAChB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,KAAK,QAAmE;AAC5E,WAAO,KAAK,UAAU,QAAQ,OAAO,wBAAwB,EAAE,QAAQ,UAAU,KAAK,CAAC;AAAA,EACzF;AAAA,EAEA,MAAM,OAAO,MAA2F;AACtG,UAAM,EAAE,eAAe,GAAG,KAAK,IAAI;AACnC,WAAO,KAAK,UAAU,QAAQ,QAAQ,wBAAwB;AAAA,MAC5D,MAAM,EAAE,gBAAgB,eAAe,GAAG,KAAK;AAAA,MAC/C,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,OAAO,cAAwD;AACnE,WAAO,KAAK,UAAU,QAAQ,QAAQ,uBAAuB,YAAY,YAAY,EAAE,UAAU,KAAK,CAAC;AAAA,EACzG;AAAA,EAEA,MAAM,OAAO,cAAwD;AACnE,WAAO,KAAK,UAAU,QAAQ,UAAU,uBAAuB,YAAY,KAAK,EAAE,UAAU,KAAK,CAAC;AAAA,EACpG;AACF;AAEA,IAAM,SAAN,MAAa;AAAA,EACX,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,KAAK,QAAmE;AAC5E,WAAO,KAAK,UAAU,QAAQ,OAAO,mBAAmB,EAAE,QAAQ,UAAU,KAAK,CAAC;AAAA,EACpF;AACF;AAEA,IAAM,SAAN,MAAa;AAAA,EACX,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,MAAwC;AAC5C,WAAO,KAAK,UAAU,QAAQ,OAAO,mBAAmB,EAAE,UAAU,KAAK,CAAC;AAAA,EAC5E;AACF;AAEO,IAAM,WAAN,MAAe;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,WAAsB;AAChC,SAAK,eAAe,IAAI,aAAa,SAAS;AAC9C,SAAK,cAAc,IAAI,YAAY,SAAS;AAC5C,SAAK,SAAS,IAAI,OAAO,SAAS;AAClC,SAAK,SAAS,IAAI,OAAO,SAAS;AAAA,EACpC;AACF;;;ACxEA,IAAM,cAAN,MAAkB;AAAA,EAChB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAcpB,MAAM,OAAO,MAKkE;AAC7E,UAAM,EAAE,OAAO,UAAU,QAAQ,GAAG,KAAK,IAAI;AAC7C,UAAM,OAAgC,EAAE,OAAO,UAAU,GAAG,KAAK;AAEjE,QAAI,QAAQ;AACV,WAAK,SAAS;AACd,aAAO,KAAK,eAAe,IAAI;AAAA,IACjC;AACA,WAAO,KAAK,UAAU,QAAQ,QAAQ,4BAA4B,EAAE,MAAM,KAAK,CAAC;AAAA,EAClF;AAAA,EAEA,OAAe,eAAe,MAAwE;AACpG,qBAAiB,SAAS,KAAK,UAAU,cAAc,QAAQ,4BAA4B,EAAE,MAAM,KAAK,CAAC,GAAG;AAC1G,YAAM,KAAK,MAAM,KAAK;AAAA,IACxB;AAAA,EACF;AACF;AAEA,IAAM,gBAAN,MAAoB;AAAA,EACT;AAAA,EACT,YAAY,WAAsB;AAChC,SAAK,cAAc,IAAI,YAAY,SAAS;AAAA,EAC9C;AACF;AAEA,IAAM,YAAN,MAAgB;AAAA,EACd,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAcpB,MAAM,OAAO,MAKkE;AAC7E,UAAM,EAAE,OAAO,OAAO,QAAQ,GAAG,KAAK,IAAI;AAC1C,UAAM,OAAgC,EAAE,OAAO,OAAO,GAAG,KAAK;AAE9D,QAAI,QAAQ;AACV,WAAK,SAAS;AACd,aAAO,KAAK,eAAe,IAAI;AAAA,IACjC;AACA,WAAO,KAAK,UAAU,QAAQ,QAAQ,qBAAqB,EAAE,MAAM,KAAK,CAAC;AAAA,EAC3E;AAAA,EAEA,OAAe,eAAe,MAAwE;AACpG,qBAAiB,SAAS,KAAK,UAAU,cAAc,QAAQ,qBAAqB,EAAE,MAAM,KAAK,CAAC,GAAG;AACnG,YAAM,KAAK,MAAM,KAAK;AAAA,IACxB;AAAA,EACF;AACF;AAEA,IAAMC,UAAN,MAAa;AAAA,EACX,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,SAAS,MAesB;AACnC,UAAM,EAAE,QAAQ,OAAO,mBAAmB,cAAc,eAAe,gBAAgB,aAAa,GAAG,KAAK,IAAI;AAChH,UAAM,OAAgC,EAAE,QAAQ,OAAO,GAAG,KAAK;AAC/D,QAAI,sBAAsB,OAAW,MAAK,qBAAqB;AAC/D,QAAI,iBAAiB,OAAW,MAAK,gBAAgB;AACrD,QAAI,kBAAkB,OAAW,MAAK,iBAAiB;AACvD,QAAI,mBAAmB,OAAW,MAAK,kBAAkB;AACzD,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,8BAA8B,EAAE,MAAM,KAAK,CAAC;AAAA,EACpF;AAAA,EAEA,MAAM,KAAK,MAgB0B;AACnC,UAAM,EAAE,OAAO,QAAQ,eAAe,MAAM,cAAc,mBAAmB,eAAe,gBAAgB,aAAa,GAAG,KAAK,IAAI;AACrI,UAAM,OAAgC,EAAE,OAAO,QAAQ,GAAG,KAAK;AAC/D,QAAI,kBAAkB,OAAW,MAAK,iBAAiB;AACvD,QAAI,SAAS,OAAW,MAAK,OAAO;AACpC,QAAI,iBAAiB,OAAW,MAAK,gBAAgB;AACrD,QAAI,sBAAsB,OAAW,MAAK,qBAAqB;AAC/D,QAAI,kBAAkB,OAAW,MAAK,iBAAiB;AACvD,QAAI,mBAAmB,OAAW,MAAK,kBAAkB;AACzD,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,wBAAwB,EAAE,MAAM,KAAK,CAAC;AAAA,EAC9E;AACF;AAEA,IAAM,aAAN,MAAiB;AAAA,EACf,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,OAAO,MAMwB;AACnC,UAAM,EAAE,OAAO,OAAO,gBAAgB,YAAY,GAAG,KAAK,IAAI;AAC9D,UAAM,OAAgC,EAAE,OAAO,OAAO,GAAG,KAAK;AAC9D,QAAI,mBAAmB,OAAW,MAAK,kBAAkB;AACzD,QAAI,eAAe,OAAW,MAAK,aAAa;AAChD,WAAO,KAAK,UAAU,QAAQ,QAAQ,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAAA,EAC5E;AACF;AAEA,IAAMC,SAAN,MAAY;AAAA,EACV,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,SAAS,MAIsB;AACnC,UAAM,EAAE,IAAI,SAAS,GAAG,KAAK,IAAI;AACjC,UAAM,OAAgC,EAAE,QAAQ,YAAY,GAAG,KAAK;AACpE,QAAI,OAAO,OAAW,MAAK,KAAK;AAChC,QAAI,YAAY,OAAW,MAAK,WAAW;AAC3C,WAAO,KAAK,UAAU,QAAQ,QAAQ,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,cAAc,OAWhB,CAAC,GAAqC;AACxC,UAAM,EAAE,KAAK,UAAU,eAAe,QAAQ,MAAM,QAAQ,OAAO,cAAc,cAAc,GAAG,KAAK,IAAI;AAC3G,UAAM,OAAgC,EAAE,QAAQ,kBAAkB,GAAG,KAAK;AAC1E,QAAI,QAAQ,OAAW,MAAK,MAAM;AAClC,QAAI,aAAa,OAAW,MAAK,YAAY;AAC7C,QAAI,kBAAkB,OAAW,MAAK,iBAAiB;AACvD,QAAI,WAAW,OAAW,MAAK,UAAU;AACzC,QAAI,SAAS,OAAW,MAAK,OAAO;AACpC,QAAI,WAAW,OAAW,MAAK,SAAS;AACxC,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,iBAAiB,OAAW,MAAK,iBAAiB;AACtD,QAAI,iBAAiB,OAAW,MAAK,iBAAiB;AACtD,WAAO,KAAK,UAAU,QAAQ,QAAQ,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAAA,EACvE;AACF;AAEO,IAAM,SAAN,MAAa;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,WAAsB;AAChC,SAAK,OAAO,IAAI,cAAc,SAAS;AACvC,SAAK,YAAY,IAAI,UAAU,SAAS;AACxC,SAAK,SAAS,IAAID,QAAO,SAAS;AAClC,SAAK,aAAa,IAAI,WAAW,SAAS;AAC1C,SAAK,QAAQ,IAAIC,OAAM,SAAS;AAAA,EAClC;AACF;;;ACtNA,IAAMC,eAAN,MAAkB;AAAA,EAChB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAcpB,MAAM,OAAO,MAKkE;AAC7E,UAAM,EAAE,OAAO,UAAU,QAAQ,GAAG,KAAK,IAAI;AAC7C,UAAM,OAAgC,EAAE,OAAO,UAAU,GAAG,KAAK;AAEjE,QAAI,QAAQ;AACV,WAAK,SAAS;AACd,aAAO,KAAK,eAAe,IAAI;AAAA,IACjC;AACA,WAAO,KAAK,UAAU,QAAQ,QAAQ,yBAAyB,EAAE,MAAM,KAAK,CAAC;AAAA,EAC/E;AAAA,EAEA,OAAe,eAAe,MAAwE;AACpG,qBAAiB,SAAS,KAAK,UAAU,cAAc,QAAQ,yBAAyB,EAAE,MAAM,KAAK,CAAC,GAAG;AACvG,YAAM,KAAK,MAAM,KAAK;AAAA,IACxB;AAAA,EACF;AACF;AAEA,IAAMC,iBAAN,MAAoB;AAAA,EACT;AAAA,EACT,YAAY,WAAsB;AAChC,SAAK,cAAc,IAAID,aAAY,SAAS;AAAA,EAC9C;AACF;AAEO,IAAM,MAAN,MAAU;AAAA,EACN;AAAA,EAET,YAAY,WAAsB;AAChC,SAAK,OAAO,IAAIC,eAAc,SAAS;AAAA,EACzC;AACF;;;ACnDO,IAAM,MAAN,MAAU;AAAA,EACf,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,SAAS,MAWsB;AACnC,UAAM,EAAE,QAAQ,QAAQ,OAAO,YAAY,SAAS,aAAa,aAAa,WAAW,aAAa,GAAG,KAAK,IAAI;AAClH,UAAM,OAAgC,EAAE,QAAQ,GAAG,KAAK;AACxD,QAAI,WAAW,OAAW,MAAK,SAAS;AACxC,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,eAAe,OAAW,MAAK,aAAa;AAChD,QAAI,YAAY,OAAW,MAAK,WAAW;AAC3C,QAAI,gBAAgB,OAAW,MAAK,cAAc;AAClD,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,eAAe,EAAE,MAAM,KAAK,CAAC;AAAA,EACrE;AAAA,EAEA,MAAM,SAAS,MAKsB;AACnC,UAAM,EAAE,SAAS,QAAQ,aAAa,GAAG,KAAK,IAAI;AAClD,UAAM,OAAgC,EAAE,UAAU,SAAS,QAAQ,GAAG,KAAK;AAC3E,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,OAAO,MAMwB;AACnC,UAAM,EAAE,SAAS,OAAO,QAAQ,aAAa,GAAG,KAAK,IAAI;AACzD,UAAM,OAAgC,EAAE,UAAU,SAAS,OAAO,GAAG,KAAK;AAC1E,QAAI,WAAW,OAAW,MAAK,SAAS;AACxC,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,eAAe,EAAE,MAAM,KAAK,CAAC;AAAA,EACrE;AAAA,EAEA,MAAM,QAAQ,MAKuB;AACnC,UAAM,EAAE,SAAS,YAAY,aAAa,GAAG,KAAK,IAAI;AACtD,UAAM,OAAgC,EAAE,UAAU,SAAS,aAAa,YAAY,GAAG,KAAK;AAC5F,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAAA,EACtE;AAAA,EAEA,MAAM,QAAQ,MAOuB;AACnC,UAAM,EAAE,SAAS,QAAQ,QAAQ,WAAW,aAAa,GAAG,KAAK,IAAI;AACrE,UAAM,OAAgC,EAAE,UAAU,SAAS,QAAQ,GAAG,KAAK;AAC3E,QAAI,WAAW,OAAW,MAAK,SAAS;AACxC,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAAA,EACtE;AACF;;;ACvEO,IAAM,QAAN,MAAY;AAAA,EACjB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,SAAS,MAkBsB;AACnC,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AACJ,UAAM,OAAgC,EAAE,QAAQ,GAAG,KAAK;AACxD,QAAI,SAAS,OAAW,MAAK,OAAO;AACpC,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,WAAW,OAAW,MAAK,SAAS;AACxC,QAAI,aAAa,OAAW,MAAK,WAAW;AAC5C,QAAI,kBAAkB,OAAW,MAAK,iBAAiB;AACvD,QAAI,YAAY,OAAW,MAAK,WAAW;AAC3C,QAAI,aAAa,OAAW,MAAK,YAAY;AAC7C,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,QAAI,gBAAgB,OAAW,MAAK,gBAAgB;AACpD,QAAI,kBAAkB,OAAW,MAAK,iBAAiB;AACvD,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,mBAAmB,OAAW,MAAK,kBAAkB;AACzD,QAAI,kBAAkB,OAAW,MAAK,kBAAkB;AACxD,WAAO,KAAK,UAAU,QAAQ,QAAQ,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,OAAO,MASwB;AACnC,UAAM,EAAE,MAAM,UAAU,UAAU,sBAAsB,mBAAmB,QAAQ,aAAa,GAAG,KAAK,IAAI;AAC5G,UAAM,OAAgC;AAAA,MACpC;AAAA,MACA,WAAW;AAAA,MACX,WAAW;AAAA,MACX,uBAAuB;AAAA,MACvB,GAAG;AAAA,IACL;AACA,QAAI,sBAAsB,OAAW,MAAK,sBAAsB;AAChE,QAAI,WAAW,OAAW,MAAK,SAAS;AACxC,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAAA,EACvE;AACF;;;AC/FO,IAAM,cAAN,MAAkB;AAAA,EACvB,YAAoB,WAAsB;AAAtB;AAAA,EAAuB;AAAA,EAAvB;AAAA,EAEpB,MAAM,QAAQ,MAauB;AACnC,UAAM,EAAE,KAAK,cAAc,WAAW,WAAW,SAAS,OAAO,iBAAiB,gBAAgB,SAAS,WAAW,aAAa,GAAG,KAAK,IAAI;AAC/I,UAAM,OAAgC,EAAE,KAAK,GAAG,KAAK;AACrD,QAAI,iBAAiB,OAAW,MAAK,gBAAgB;AACrD,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,YAAY,OAAW,MAAK,UAAU;AAC1C,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,oBAAoB,OAAW,MAAK,oBAAoB;AAC5D,QAAI,mBAAmB,OAAW,MAAK,kBAAkB;AACzD,QAAI,YAAY,OAAW,MAAK,UAAU;AAC1C,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,wBAAwB,EAAE,MAAM,KAAK,CAAC;AAAA,EAC9E;AAAA,EAEA,MAAM,OAAO,MAWwB;AACnC,UAAM,EAAE,KAAK,WAAW,SAAS,OAAO,iBAAiB,gBAAgB,SAAS,WAAW,aAAa,GAAG,KAAK,IAAI;AACtH,UAAM,OAAgC,EAAE,KAAK,GAAG,KAAK;AACrD,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,YAAY,OAAW,MAAK,UAAU;AAC1C,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,QAAI,oBAAoB,OAAW,MAAK,oBAAoB;AAC5D,QAAI,mBAAmB,OAAW,MAAK,kBAAkB;AACzD,QAAI,YAAY,OAAW,MAAK,UAAU;AAC1C,QAAI,cAAc,OAAW,MAAK,aAAa;AAC/C,QAAI,gBAAgB,OAAW,MAAK,eAAe;AACnD,WAAO,KAAK,UAAU,QAAQ,QAAQ,uBAAuB,EAAE,MAAM,KAAK,CAAC;AAAA,EAC7E;AACF;;;AC1BO,IAAM,eAAN,MAAmB;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAED;AAAA,EAER,YAAY,OAA4B,CAAC,GAAG;AAC1C,SAAK,YAAY,IAAI,UAAU;AAAA,MAC7B,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,iBAAiB,KAAK;AAAA,MACtB,SAAS,KAAK;AAAA,MACd,YAAY,KAAK;AAAA,MACjB,SAAS,KAAK;AAAA,MACd,gBAAgB,KAAK;AAAA,IACvB,CAAC;AAED,SAAK,SAAS,IAAI,OAAO,KAAK,SAAS;AACvC,SAAK,OAAO,IAAI,KAAK,KAAK,SAAS;AACnC,SAAK,SAAS,IAAI,OAAO,KAAK,SAAS;AACvC,SAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;AACrC,SAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;AACrC,SAAK,SAAS,IAAI,OAAO,KAAK,SAAS;AACvC,SAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;AACrC,SAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;AACrC,SAAK,WAAW,IAAI,SAAS,KAAK,SAAS;AAC3C,SAAK,SAAS,IAAI,OAAO,KAAK,SAAS;AACvC,SAAK,MAAM,IAAI,IAAI,KAAK,SAAS;AACjC,SAAK,MAAM,IAAI,IAAI,KAAK,SAAS;AACjC,SAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;AACrC,SAAK,cAAc,IAAI,YAAY,KAAK,SAAS;AAAA,EACnD;AACF;","names":["path","Images","Tasks","Completions","ChatNamespace"]}
|
package/dist/index.mjs
CHANGED
|
@@ -825,6 +825,66 @@ var Veo = class {
|
|
|
825
825
|
}
|
|
826
826
|
};
|
|
827
827
|
|
|
828
|
+
// src/resources/kling.ts
|
|
829
|
+
var Kling = class {
|
|
830
|
+
constructor(transport) {
|
|
831
|
+
this.transport = transport;
|
|
832
|
+
}
|
|
833
|
+
transport;
|
|
834
|
+
async generate(opts) {
|
|
835
|
+
const {
|
|
836
|
+
action,
|
|
837
|
+
mode,
|
|
838
|
+
model,
|
|
839
|
+
prompt,
|
|
840
|
+
duration,
|
|
841
|
+
generateAudio,
|
|
842
|
+
videoId,
|
|
843
|
+
cfgScale,
|
|
844
|
+
aspectRatio,
|
|
845
|
+
callbackUrl,
|
|
846
|
+
endImageUrl,
|
|
847
|
+
cameraControl,
|
|
848
|
+
elementList,
|
|
849
|
+
videoList,
|
|
850
|
+
negativePrompt,
|
|
851
|
+
startImageUrl,
|
|
852
|
+
...rest
|
|
853
|
+
} = opts;
|
|
854
|
+
const body = { action, ...rest };
|
|
855
|
+
if (mode !== void 0) body.mode = mode;
|
|
856
|
+
if (model !== void 0) body.model = model;
|
|
857
|
+
if (prompt !== void 0) body.prompt = prompt;
|
|
858
|
+
if (duration !== void 0) body.duration = duration;
|
|
859
|
+
if (generateAudio !== void 0) body.generate_audio = generateAudio;
|
|
860
|
+
if (videoId !== void 0) body.video_id = videoId;
|
|
861
|
+
if (cfgScale !== void 0) body.cfg_scale = cfgScale;
|
|
862
|
+
if (aspectRatio !== void 0) body.aspect_ratio = aspectRatio;
|
|
863
|
+
if (callbackUrl !== void 0) body.callback_url = callbackUrl;
|
|
864
|
+
if (endImageUrl !== void 0) body.end_image_url = endImageUrl;
|
|
865
|
+
if (cameraControl !== void 0) body.camera_control = cameraControl;
|
|
866
|
+
if (elementList !== void 0) body.element_list = elementList;
|
|
867
|
+
if (videoList !== void 0) body.video_list = videoList;
|
|
868
|
+
if (negativePrompt !== void 0) body.negative_prompt = negativePrompt;
|
|
869
|
+
if (startImageUrl !== void 0) body.start_image_url = startImageUrl;
|
|
870
|
+
return this.transport.request("POST", "/kling/videos", { json: body });
|
|
871
|
+
}
|
|
872
|
+
async motion(opts) {
|
|
873
|
+
const { mode, imageUrl, videoUrl, characterOrientation, keepOriginalSound, prompt, callbackUrl, ...rest } = opts;
|
|
874
|
+
const body = {
|
|
875
|
+
mode,
|
|
876
|
+
image_url: imageUrl,
|
|
877
|
+
video_url: videoUrl,
|
|
878
|
+
character_orientation: characterOrientation,
|
|
879
|
+
...rest
|
|
880
|
+
};
|
|
881
|
+
if (keepOriginalSound !== void 0) body.keep_original_sound = keepOriginalSound;
|
|
882
|
+
if (prompt !== void 0) body.prompt = prompt;
|
|
883
|
+
if (callbackUrl !== void 0) body.callback_url = callbackUrl;
|
|
884
|
+
return this.transport.request("POST", "/kling/motion", { json: body });
|
|
885
|
+
}
|
|
886
|
+
};
|
|
887
|
+
|
|
828
888
|
// src/resources/webextrator.ts
|
|
829
889
|
var WebExtrator = class {
|
|
830
890
|
constructor(transport) {
|
|
@@ -875,6 +935,7 @@ var AceDataCloud = class {
|
|
|
875
935
|
openai;
|
|
876
936
|
glm;
|
|
877
937
|
veo;
|
|
938
|
+
kling;
|
|
878
939
|
webextrator;
|
|
879
940
|
transport;
|
|
880
941
|
constructor(opts = {}) {
|
|
@@ -899,6 +960,7 @@ var AceDataCloud = class {
|
|
|
899
960
|
this.openai = new OpenAI(this.transport);
|
|
900
961
|
this.glm = new Glm(this.transport);
|
|
901
962
|
this.veo = new Veo(this.transport);
|
|
963
|
+
this.kling = new Kling(this.transport);
|
|
902
964
|
this.webextrator = new WebExtrator(this.transport);
|
|
903
965
|
}
|
|
904
966
|
};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/runtime/errors.ts","../src/runtime/transport.ts","../src/resources/aichat.ts","../src/resources/chat.ts","../src/runtime/tasks.ts","../src/resources/images.ts","../src/resources/audio.ts","../src/resources/video.ts","../src/resources/search.ts","../src/resources/tasks.ts","../src/resources/files.ts","../src/resources/platform.ts","../src/resources/openai.ts","../src/resources/glm.ts","../src/resources/veo.ts","../src/resources/webextrator.ts","../src/client.ts"],"sourcesContent":["/** AceDataCloud SDK errors. */\n\nexport class AceDataCloudError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AceDataCloudError';\n }\n}\n\nexport class TransportError extends AceDataCloudError {\n constructor(message: string) {\n super(message);\n this.name = 'TransportError';\n }\n}\n\nexport class APIError extends AceDataCloudError {\n statusCode: number;\n code: string;\n traceId?: string;\n body: Record<string, unknown>;\n\n constructor(opts: {\n message: string;\n statusCode: number;\n code: string;\n traceId?: string;\n body?: Record<string, unknown>;\n }) {\n super(opts.message);\n this.name = 'APIError';\n this.statusCode = opts.statusCode;\n this.code = opts.code;\n this.traceId = opts.traceId;\n this.body = opts.body ?? {};\n }\n}\n\nexport class AuthenticationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'AuthenticationError';\n }\n}\n\nexport class TokenMismatchError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TokenMismatchError';\n }\n}\n\nexport class RateLimitError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'RateLimitError';\n }\n}\n\nexport class ValidationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ValidationError';\n }\n}\n\nexport class InsufficientBalanceError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'InsufficientBalanceError';\n }\n}\n\nexport class ResourceDisabledError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ResourceDisabledError';\n }\n}\n\nexport class ModerationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ModerationError';\n }\n}\n\nexport class TimeoutError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TimeoutError';\n }\n}\n","/** HTTP transport for AceDataCloud SDK. Uses native fetch (Node 18+). */\n\nimport {\n APIError,\n AuthenticationError,\n InsufficientBalanceError,\n ModerationError,\n RateLimitError,\n ResourceDisabledError,\n TimeoutError,\n TokenMismatchError,\n TransportError,\n ValidationError,\n} from './errors';\nimport type {\n PaymentHandler,\n PaymentRequiredBody,\n} from './payment';\n\nconst ERROR_CODE_MAP: Record<string, typeof APIError> = {\n invalid_token: AuthenticationError,\n token_expired: AuthenticationError,\n no_token: AuthenticationError,\n token_mismatched: TokenMismatchError,\n used_up: InsufficientBalanceError,\n disabled: ResourceDisabledError,\n too_many_requests: RateLimitError,\n bad_request: ValidationError,\n};\n\nconst RETRY_STATUS_CODES = new Set([408, 409, 429, 500, 502, 503, 504]);\n\nexport function mapError(statusCode: number, body: Record<string, unknown>): APIError {\n // The server occasionally returns ``error`` as a bare string (e.g. x402\n // facilitator diagnostics) or omits/nulls it entirely. Normalize to an\n // object so downstream property access is always safe and the message\n // is preserved verbatim.\n let errorData: Record<string, unknown>;\n if (typeof body.error === 'string') {\n errorData = { message: body.error };\n } else if (body.error && typeof body.error === 'object' && !Array.isArray(body.error)) {\n errorData = body.error as Record<string, unknown>;\n } else {\n errorData = {};\n }\n const code = (errorData.code ?? '') as string;\n const message = (errorData.message ?? '') as string;\n const traceId = body.trace_id as string | undefined;\n\n let ErrorClass = ERROR_CODE_MAP[code];\n if (!ErrorClass) {\n if (statusCode === 403) ErrorClass = ModerationError;\n else if (statusCode === 401) ErrorClass = AuthenticationError;\n else if (statusCode === 429) ErrorClass = RateLimitError;\n else if (statusCode === 400) ErrorClass = ValidationError;\n else ErrorClass = APIError;\n }\n\n return new ErrorClass({ message, statusCode, code, traceId, body });\n}\n\nfunction backoffDelay(attempt: number): number {\n const base = Math.min(2 ** attempt, 8);\n return base + Math.random() * 0.5;\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport interface TransportOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional handler invoked when a request returns `402 Payment Required`.\n * The handler receives the parsed `accepts` list and must return the extra\n * headers (typically `X-Payment`) to attach to the automatic retry.\n *\n * See `@acedatacloud/x402-client` for a drop-in implementation.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class Transport {\n private baseURL: string;\n private platformBaseURL: string;\n private timeout: number;\n private maxRetries: number;\n private headers: Record<string, string>;\n private paymentHandler?: PaymentHandler;\n\n constructor(opts: TransportOptions = {}) {\n const token = opts.apiToken ?? process.env.ACEDATACLOUD_API_TOKEN ?? '';\n if (!token && !opts.paymentHandler) {\n throw new AuthenticationError({\n message:\n 'apiToken is required (or provide a paymentHandler, e.g. from @acedatacloud/x402-client). ' +\n 'Pass it to the client or set ACEDATACLOUD_API_TOKEN.',\n statusCode: 0,\n code: 'no_token',\n });\n }\n this.baseURL = (opts.baseURL ?? 'https://api.acedata.cloud').replace(/\\/+$/, '');\n this.platformBaseURL = (opts.platformBaseURL ?? 'https://platform.acedata.cloud').replace(/\\/+$/, '');\n this.timeout = opts.timeout ?? 300_000;\n this.maxRetries = opts.maxRetries ?? 2;\n this.paymentHandler = opts.paymentHandler;\n const baseHeaders: Record<string, string> = {\n accept: 'application/json',\n 'content-type': 'application/json',\n 'user-agent': 'acedatacloud-node/0.1.0',\n ...(opts.headers ?? {}),\n };\n if (token) {\n baseHeaders.authorization = `Bearer ${token}`;\n }\n this.headers = baseHeaders;\n }\n\n async request(\n method: string,\n path: string,\n opts: {\n json?: Record<string, unknown>;\n params?: Record<string, string>;\n platform?: boolean;\n timeout?: number;\n headers?: Record<string, string>;\n } = {}\n ): Promise<Record<string, unknown>> {\n const base = opts.platform ? this.platformBaseURL : this.baseURL;\n let url = `${base}${path}`;\n if (opts.params) {\n const qs = new URLSearchParams(opts.params).toString();\n url += `?${qs}`;\n }\n const headers = { ...this.headers, ...(opts.headers ?? {}) };\n const timeoutMs = opts.timeout ?? this.timeout;\n\n let lastError: Error | null = null;\n let paymentAttempted = false;\n let extraHeaders: Record<string, string> = {};\n for (let attempt = 0; attempt <= this.maxRetries; attempt++) {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n try {\n const resp = await fetch(url, {\n method,\n headers: { ...headers, ...extraHeaders },\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status === 402 && this.paymentHandler && !paymentAttempted) {\n const text = await resp.text();\n let body: PaymentRequiredBody;\n try {\n body = JSON.parse(text) as PaymentRequiredBody;\n } catch {\n throw mapError(402, { error: { code: 'invalid_402', message: text } });\n }\n if (!body.accepts?.length) {\n throw mapError(402, { error: { code: 'invalid_402', message: 'No payment requirements' } });\n }\n const result = await this.paymentHandler({\n url,\n method,\n body: opts.json,\n accepts: body.accepts,\n });\n extraHeaders = { ...extraHeaders, ...result.headers };\n paymentAttempted = true;\n continue;\n }\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n if (RETRY_STATUS_CODES.has(resp.status) && attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n throw mapError(resp.status, body);\n }\n\n return (await resp.json()) as Record<string, unknown>;\n } catch (err) {\n clearTimeout(timer);\n if (err instanceof APIError) throw err;\n lastError = err as Error;\n if (attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n }\n }\n throw lastError ?? new TransportError('Request failed after retries');\n }\n\n async *requestStream(\n method: string,\n path: string,\n opts: { json?: Record<string, unknown>; timeout?: number } = {}\n ): AsyncGenerator<string, void, unknown> {\n const url = `${this.baseURL}${path}`;\n const headers = { ...this.headers, accept: 'text/event-stream' };\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n\n try {\n const resp = await fetch(url, {\n method,\n headers,\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, body);\n }\n\n if (!resp.body) throw new TransportError('No response body for stream');\n\n const reader = resp.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data === '[DONE]') return;\n yield data;\n }\n }\n }\n } finally {\n clearTimeout(timer);\n }\n }\n\n async upload(\n path: string,\n fileData: Buffer | Uint8Array,\n filename: string,\n opts: { timeout?: number } = {}\n ): Promise<Record<string, unknown>> {\n const url = `${this.platformBaseURL}${path}`;\n const boundary = `----AceDataCloudBoundary${Date.now()}`;\n const headers = {\n ...this.headers,\n 'content-type': `multipart/form-data; boundary=${boundary}`,\n };\n delete (headers as Record<string, string>)['content-type'];\n\n const body = new FormData();\n body.append('file', new Blob([fileData]), filename);\n\n const authHeaders: Record<string, string> = {\n authorization: this.headers.authorization,\n 'user-agent': this.headers['user-agent'],\n };\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n try {\n const resp = await fetch(url, {\n method: 'POST',\n headers: authHeaders,\n body,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let respBody: Record<string, unknown>;\n try {\n respBody = JSON.parse(text) as Record<string, unknown>;\n } catch {\n respBody = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, respBody);\n }\n return (await resp.json()) as Record<string, unknown>;\n } finally {\n clearTimeout(timer);\n }\n }\n}\n","/** AI Chat resources — aichat/conversations endpoint. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type AiChatModel =\n | 'gpt-5.5'\n | 'gpt-5.5-pro'\n | 'gpt-5.4'\n | 'gpt-5.4-pro'\n | 'gpt-5.2'\n | 'gpt-5.1'\n | 'gpt-5.1-all'\n | 'gpt-5'\n | 'gpt-5-mini'\n | 'gpt-5-nano'\n | 'gpt-5-all'\n | 'gpt-4'\n | 'gpt-4-all'\n | 'gpt-4-turbo'\n | 'gpt-4-turbo-preview'\n | 'gpt-4-vision-preview'\n | 'gpt-4.1'\n | 'gpt-4.1-2025-04-14'\n | 'gpt-4.1-mini'\n | 'gpt-4.1-mini-2025-04-14'\n | 'gpt-4.1-nano'\n | 'gpt-4.1-nano-2025-04-14'\n | 'gpt-4.5-preview'\n | 'gpt-4.5-preview-2025-02-27'\n | 'gpt-4o'\n | 'gpt-4o-2024-05-13'\n | 'gpt-4o-2024-08-06'\n | 'gpt-4o-2024-11-20'\n | 'gpt-4o-all'\n | 'gpt-4o-image'\n | 'gpt-4o-mini'\n | 'gpt-4o-mini-2024-07-18'\n | 'gpt-4o-mini-search-preview'\n | 'gpt-4o-mini-search-preview-2025-03-11'\n | 'gpt-4o-search-preview'\n | 'gpt-4o-search-preview-2025-03-11'\n | 'o1'\n | 'o1-2024-12-17'\n | 'o1-all'\n | 'o1-mini'\n | 'o1-mini-2024-09-12'\n | 'o1-mini-all'\n | 'o1-preview'\n | 'o1-preview-2024-09-12'\n | 'o1-preview-all'\n | 'o1-pro'\n | 'o1-pro-2025-03-19'\n | 'o1-pro-all'\n | 'o3'\n | 'o3-2025-04-16'\n | 'o3-all'\n | 'o3-mini'\n | 'o3-mini-2025-01-31'\n | 'o3-mini-2025-01-31-high'\n | 'o3-mini-2025-01-31-low'\n | 'o3-mini-2025-01-31-medium'\n | 'o3-mini-all'\n | 'o3-mini-high'\n | 'o3-mini-high-all'\n | 'o3-mini-low'\n | 'o3-mini-medium'\n | 'o3-pro'\n | 'o3-pro-2025-06-10'\n | 'o4-mini'\n | 'o4-mini-2025-04-16'\n | 'o4-mini-all'\n | 'o4-mini-high-all'\n | 'deepseek-r1'\n | 'deepseek-r1-0528'\n | 'deepseek-v3'\n | 'deepseek-v3-250324'\n | 'grok-3'\n | 'glm-5.1'\n | 'glm-4.7'\n | 'glm-4.6'\n | 'glm-4.5-air'\n | 'glm-3-turbo'\n | (string & {});\n\nexport class AiChat {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: AiChatModel;\n question: string;\n id?: string;\n preset?: string;\n stateful?: boolean;\n references?: string[];\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, question, id, preset, stateful, references, ...rest } = opts;\n const body: Record<string, unknown> = { model, question, ...rest };\n if (id !== undefined) body.id = id;\n if (preset !== undefined) body.preset = preset;\n if (stateful !== undefined) body.stateful = stateful;\n if (references !== undefined) body.references = references;\n return this.transport.request('POST', '/aichat/conversations', { json: body });\n }\n}\n","/** Chat resources — native provider APIs (Claude Messages). */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Messages {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, maxTokens = 4096, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, max_tokens: maxTokens, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.stream(body);\n }\n return this.transport.request('POST', '/v1/messages', { json: body });\n }\n\n private async *stream(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/v1/messages', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n\n async countTokens(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, messages, ...rest } = opts;\n return this.transport.request('POST', '/v1/messages/count_tokens', {\n json: { model, messages, ...rest },\n });\n }\n}\n\nexport class Chat {\n readonly messages: Messages;\n\n constructor(transport: Transport) {\n this.messages = new Messages(transport);\n }\n}\n","/** Task polling abstraction. */\n\nimport { Transport } from './transport';\n\nexport interface TaskHandleOptions {\n pollInterval?: number;\n maxWait?: number;\n}\n\nexport class TaskHandle {\n readonly id: string;\n private pollEndpoint: string;\n private transport: Transport;\n private _result: Record<string, unknown> | null = null;\n\n constructor(taskId: string, pollEndpoint: string, transport: Transport) {\n this.id = taskId;\n this.pollEndpoint = pollEndpoint;\n this.transport = transport;\n }\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('POST', this.pollEndpoint, {\n json: { id: this.id, action: 'retrieve' },\n });\n }\n\n async isCompleted(): Promise<boolean> {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n return status === 'succeeded' || status === 'failed';\n }\n\n async wait(opts: TaskHandleOptions = {}): Promise<Record<string, unknown>> {\n const pollInterval = opts.pollInterval ?? 3000;\n const maxWait = opts.maxWait ?? 600_000;\n const start = Date.now();\n\n while (Date.now() - start < maxWait) {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n\n if (status === 'succeeded' || status === 'failed') {\n this._result = state;\n return state;\n }\n await new Promise((resolve) => setTimeout(resolve, pollInterval));\n }\n throw new Error(`Task ${this.id} did not complete within ${maxWait}ms`);\n }\n\n get result(): Record<string, unknown> | null {\n return this._result;\n }\n}\n","/** Image generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type ImageProvider = 'nano-banana' | 'midjourney' | 'flux' | 'seedream' | (string & {});\n\nexport class Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: ImageProvider;\n model?: string;\n negativePrompt?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'nano-banana', model, negativePrompt, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (negativePrompt !== undefined) body.negative_prompt = negativePrompt;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const endpoint = provider === 'midjourney' ? '/midjourney/imagine' : `/${provider}/images`;\n const result = await this.transport.request('POST', endpoint, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Audio/music generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type AudioProvider = 'suno' | 'producer' | 'fish' | (string & {});\n\nexport class Audio {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: AudioProvider;\n model?: string;\n tags?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'suno', model, tags, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (tags !== undefined) body.tags = tags;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/audios`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Video generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type VideoProvider = 'sora' | 'luma' | 'veo' | 'kling' | 'hailuo' | 'seedance' | 'wan' | 'pika' | 'pixverse' | (string & {});\n\nexport class Video {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: VideoProvider;\n model?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'sora', model, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/videos`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Search resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Search {\n constructor(private transport: Transport) {}\n\n async google(opts: {\n query: string;\n type?: string;\n country?: string;\n language?: string;\n page?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { query, type = 'search', country, language, page, ...rest } = opts;\n const body: Record<string, unknown> = { query, type, ...rest };\n if (country !== undefined) body.country = country;\n if (language !== undefined) body.language = language;\n if (page !== undefined) body.page = page;\n return this.transport.request('POST', '/serp/google', { json: body });\n }\n}\n","/** Cross-service task retrieval. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nconst SERVICE_TASK_ENDPOINTS: Record<string, string> = {\n suno: '/suno/tasks',\n producer: '/producer/tasks',\n fish: '/fish/tasks',\n 'nano-banana': '/nano-banana/tasks',\n seedream: '/seedream/tasks',\n seedance: '/seedance/tasks',\n sora: '/sora/tasks',\n midjourney: '/midjourney/tasks',\n luma: '/luma/tasks',\n veo: '/veo/tasks',\n flux: '/flux/tasks',\n kling: '/kling/tasks',\n hailuo: '/hailuo/tasks',\n wan: '/wan/tasks',\n pika: '/pika/tasks',\n pixverse: '/pixverse/tasks',\n webextrator: '/webextrator/tasks',\n};\n\nexport class Tasks {\n constructor(private transport: Transport) {}\n\n async get(taskId: string, opts: { service?: string } = {}): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n return this.transport.request('POST', endpoint, {\n json: { id: taskId, action: 'retrieve' },\n });\n }\n\n async wait(\n taskId: string,\n opts: { service?: string; pollInterval?: number; maxWait?: number } = {}\n ): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n const handle = new TaskHandle(taskId, endpoint, this.transport);\n return handle.wait({ pollInterval: opts.pollInterval, maxWait: opts.maxWait });\n }\n}\n","/** File upload resources. */\n\nimport { Transport } from '../runtime/transport';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nexport class Files {\n constructor(private transport: Transport) {}\n\n async upload(\n file: string | Buffer | Uint8Array,\n opts: { filename?: string } = {}\n ): Promise<Record<string, unknown>> {\n let data: Buffer | Uint8Array;\n let filename: string;\n\n if (typeof file === 'string') {\n data = fs.readFileSync(file);\n filename = opts.filename ?? path.basename(file);\n } else {\n data = file;\n filename = opts.filename ?? 'upload';\n }\n\n return this.transport.upload('/api/v1/files/', data, filename);\n }\n}\n","/** Management-plane resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Applications {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/applications/', { params, platform: true });\n }\n\n async create(opts: { serviceId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { serviceId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/applications/', {\n json: { service_id: serviceId, ...rest },\n platform: true,\n });\n }\n\n async get(applicationId: string): Promise<Record<string, unknown>> {\n return this.transport.request('GET', `/api/v1/applications/${applicationId}/`, { platform: true });\n }\n}\n\nclass Credentials {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/credentials/', { params, platform: true });\n }\n\n async create(opts: { applicationId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { applicationId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/credentials/', {\n json: { application_id: applicationId, ...rest },\n platform: true,\n });\n }\n\n async rotate(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('POST', `/api/v1/credentials/${credentialId}/rotate/`, { platform: true });\n }\n\n async delete(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('DELETE', `/api/v1/credentials/${credentialId}/`, { platform: true });\n }\n}\n\nclass Models {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/models/', { params, platform: true });\n }\n}\n\nclass Config {\n constructor(private transport: Transport) {}\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/config/', { platform: true });\n }\n}\n\nexport class Platform {\n readonly applications: Applications;\n readonly credentials: Credentials;\n readonly models: Models;\n readonly config: Config;\n\n constructor(transport: Transport) {\n this.applications = new Applications(transport);\n this.credentials = new Credentials(transport);\n this.models = new Models(transport);\n this.config = new Config(transport);\n }\n}\n","/** OpenAI-compatible facade resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nclass Responses {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, input, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/responses', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/responses', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n model: string;\n background?: string;\n moderation?: string;\n n?: number;\n outputCompression?: number;\n outputFormat?: string;\n partialImages?: number;\n size?: string;\n quality?: string;\n responseFormat?: string;\n style?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { prompt, model, outputCompression, outputFormat, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, model, ...rest };\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/generations', { json: body });\n }\n\n async edit(opts: {\n image: string | string[];\n prompt: string;\n model?: string;\n n?: number;\n background?: string;\n inputFidelity?: string;\n mask?: string;\n outputFormat?: string;\n outputCompression?: number;\n partialImages?: number;\n quality?: string;\n size?: string;\n responseFormat?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { image, prompt, inputFidelity, mask, outputFormat, outputCompression, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { image, prompt, ...rest };\n if (inputFidelity !== undefined) body.input_fidelity = inputFidelity;\n if (mask !== undefined) body.mask = mask;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/edits', { json: body });\n }\n}\n\nclass Embeddings {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | string[];\n encodingFormat?: string;\n dimensions?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, input, encodingFormat, dimensions, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n if (encodingFormat !== undefined) body.encoding_format = encodingFormat;\n if (dimensions !== undefined) body.dimensions = dimensions;\n return this.transport.request('POST', '/openai/embeddings', { json: body });\n }\n}\n\nclass Tasks {\n constructor(private transport: Transport) {}\n\n async retrieve(opts: {\n id?: string;\n traceId?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { id, traceId, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve', ...rest };\n if (id !== undefined) body.id = id;\n if (traceId !== undefined) body.trace_id = traceId;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n\n async retrieveBatch(opts: {\n ids?: string[];\n traceIds?: string[];\n applicationId?: string;\n userId?: string;\n type?: string;\n offset?: number;\n limit?: number;\n createdAtMin?: number;\n createdAtMax?: number;\n [key: string]: unknown;\n } = {}): Promise<Record<string, unknown>> {\n const { ids, traceIds, applicationId, userId, type, offset, limit, createdAtMin, createdAtMax, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve_batch', ...rest };\n if (ids !== undefined) body.ids = ids;\n if (traceIds !== undefined) body.trace_ids = traceIds;\n if (applicationId !== undefined) body.application_id = applicationId;\n if (userId !== undefined) body.user_id = userId;\n if (type !== undefined) body.type = type;\n if (offset !== undefined) body.offset = offset;\n if (limit !== undefined) body.limit = limit;\n if (createdAtMin !== undefined) body.created_at_min = createdAtMin;\n if (createdAtMax !== undefined) body.created_at_max = createdAtMax;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n}\n\nexport class OpenAI {\n readonly chat: ChatNamespace;\n readonly responses: Responses;\n readonly images: Images;\n readonly embeddings: Embeddings;\n readonly tasks: Tasks;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n this.responses = new Responses(transport);\n this.images = new Images(transport);\n this.embeddings = new Embeddings(transport);\n this.tasks = new Tasks(transport);\n }\n}\n","/** GLM chat completions resource. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type GlmModel = 'glm-5.1' | 'glm-4.7' | 'glm-4.6' | 'glm-4.5-air' | 'glm-3-turbo' | (string & {});\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/glm/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/glm/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nexport class Glm {\n readonly chat: ChatNamespace;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n }\n}\n","/** Veo-specific video generation and editing resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type VeoModel = 'veo2' | 'veo2-fast' | 'veo3' | 'veo3-fast' | 'veo31-fast' | 'veo31' | 'veo31-fast-ingredients' | (string & {});\n\nexport class Veo {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n action: 'text2video' | 'image2video' | 'ingredients2video' | 'get1080p';\n prompt?: string;\n model?: VeoModel;\n resolution?: '4k' | '1080p' | 'gif';\n videoId?: string;\n translation?: string;\n aspectRatio?: '9:16' | '1:1' | '3:4' | '4:3' | '16:9';\n imageUrls?: string[];\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { action, prompt, model, resolution, videoId, translation, aspectRatio, imageUrls, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (model !== undefined) body.model = model;\n if (resolution !== undefined) body.resolution = resolution;\n if (videoId !== undefined) body.video_id = videoId;\n if (translation !== undefined) body.translation = translation;\n if (aspectRatio !== undefined) body.aspect_ratio = aspectRatio;\n if (imageUrls !== undefined) body.image_urls = imageUrls;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/videos', { json: body });\n }\n\n async upsample(opts: {\n videoId: string;\n action: '1080p' | '4k' | 'gif';\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/upsample', { json: body });\n }\n\n async extend(opts: {\n videoId: string;\n model: 'veo31-fast' | 'veo31' | (string & {});\n prompt?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, model, prompt, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, model, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/extend', { json: body });\n }\n\n async reshoot(opts: {\n videoId: string;\n motionType: 'STATIONARY' | 'STATIONARY_UP' | 'STATIONARY_DOWN' | 'STATIONARY_LEFT' | 'STATIONARY_RIGHT' | 'STATIONARY_DOLLY_IN_ZOOM_OUT' | 'STATIONARY_DOLLY_OUT_ZOOM_IN' | 'UP' | 'DOWN' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT' | 'FORWARD' | 'BACKWARD' | 'DOLLY_IN_ZOOM_OUT' | 'DOLLY_OUT_ZOOM_IN' | (string & {});\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, motionType, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, motion_type: motionType, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/reshoot', { json: body });\n }\n\n async objects(opts: {\n videoId: string;\n action: 'insert' | 'remove';\n prompt?: string;\n imageMask?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, prompt, imageMask, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (imageMask !== undefined) body.image_mask = imageMask;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/objects', { json: body });\n }\n}\n","/** WebExtrator web render & extract resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class WebExtrator {\n constructor(private transport: Transport) {}\n\n async extract(opts: {\n url: string;\n expectedType?: 'product' | 'article' | 'general';\n enableLlm?: boolean;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, expectedType, enableLlm, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (expectedType !== undefined) body.expected_type = expectedType;\n if (enableLlm !== undefined) body.enable_llm = enableLlm;\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/extract', { json: body });\n }\n\n async render(opts: {\n url: string;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/render', { json: body });\n }\n}\n","/** Top-level AceDataCloud client for TypeScript. */\n\nimport { Transport, TransportOptions } from './runtime/transport';\nimport type { PaymentHandler } from './runtime/payment';\nimport { AiChat } from './resources/aichat';\nimport { Chat } from './resources/chat';\nimport { Images } from './resources/images';\nimport { Audio } from './resources/audio';\nimport { Video } from './resources/video';\nimport { Search } from './resources/search';\nimport { Tasks } from './resources/tasks';\nimport { Files } from './resources/files';\nimport { Platform } from './resources/platform';\nimport { OpenAI } from './resources/openai';\nimport { Glm } from './resources/glm';\nimport { Veo } from './resources/veo';\nimport { WebExtrator } from './resources/webextrator';\n\nexport interface AceDataCloudOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional payment handler invoked when the API returns `402 Payment\n * Required`. Use `createX402PaymentHandler` from\n * `@acedatacloud/x402-client` to enable on-chain payments via X402.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class AceDataCloud {\n readonly aichat: AiChat;\n readonly chat: Chat;\n readonly images: Images;\n readonly audio: Audio;\n readonly video: Video;\n readonly search: Search;\n readonly tasks: Tasks;\n readonly files: Files;\n readonly platform: Platform;\n readonly openai: OpenAI;\n readonly glm: Glm;\n readonly veo: Veo;\n readonly webextrator: WebExtrator;\n\n private transport: Transport;\n\n constructor(opts: AceDataCloudOptions = {}) {\n this.transport = new Transport({\n apiToken: opts.apiToken,\n baseURL: opts.baseURL,\n platformBaseURL: opts.platformBaseURL,\n timeout: opts.timeout,\n maxRetries: opts.maxRetries,\n headers: opts.headers,\n paymentHandler: opts.paymentHandler,\n });\n\n this.aichat = new AiChat(this.transport);\n this.chat = new Chat(this.transport);\n this.images = new Images(this.transport);\n this.audio = new Audio(this.transport);\n this.video = new Video(this.transport);\n this.search = new Search(this.transport);\n this.tasks = new Tasks(this.transport);\n this.files = new Files(this.transport);\n this.platform = new Platform(this.transport);\n this.openai = new OpenAI(this.transport);\n this.glm = new Glm(this.transport);\n this.veo = new Veo(this.transport);\n this.webextrator = new WebExtrator(this.transport);\n }\n}\n"],"mappings":"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","names":["path","Images","Tasks","Completions","ChatNamespace"]}
|
|
1
|
+
{"version":3,"sources":["../src/runtime/errors.ts","../src/runtime/transport.ts","../src/resources/aichat.ts","../src/resources/chat.ts","../src/runtime/tasks.ts","../src/resources/images.ts","../src/resources/audio.ts","../src/resources/video.ts","../src/resources/search.ts","../src/resources/tasks.ts","../src/resources/files.ts","../src/resources/platform.ts","../src/resources/openai.ts","../src/resources/glm.ts","../src/resources/veo.ts","../src/resources/kling.ts","../src/resources/webextrator.ts","../src/client.ts"],"sourcesContent":["/** AceDataCloud SDK errors. */\n\nexport class AceDataCloudError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AceDataCloudError';\n }\n}\n\nexport class TransportError extends AceDataCloudError {\n constructor(message: string) {\n super(message);\n this.name = 'TransportError';\n }\n}\n\nexport class APIError extends AceDataCloudError {\n statusCode: number;\n code: string;\n traceId?: string;\n body: Record<string, unknown>;\n\n constructor(opts: {\n message: string;\n statusCode: number;\n code: string;\n traceId?: string;\n body?: Record<string, unknown>;\n }) {\n super(opts.message);\n this.name = 'APIError';\n this.statusCode = opts.statusCode;\n this.code = opts.code;\n this.traceId = opts.traceId;\n this.body = opts.body ?? {};\n }\n}\n\nexport class AuthenticationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'AuthenticationError';\n }\n}\n\nexport class TokenMismatchError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TokenMismatchError';\n }\n}\n\nexport class RateLimitError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'RateLimitError';\n }\n}\n\nexport class ValidationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ValidationError';\n }\n}\n\nexport class InsufficientBalanceError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'InsufficientBalanceError';\n }\n}\n\nexport class ResourceDisabledError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ResourceDisabledError';\n }\n}\n\nexport class ModerationError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'ModerationError';\n }\n}\n\nexport class TimeoutError extends APIError {\n constructor(opts: ConstructorParameters<typeof APIError>[0]) {\n super(opts);\n this.name = 'TimeoutError';\n }\n}\n","/** HTTP transport for AceDataCloud SDK. Uses native fetch (Node 18+). */\n\nimport {\n APIError,\n AuthenticationError,\n InsufficientBalanceError,\n ModerationError,\n RateLimitError,\n ResourceDisabledError,\n TimeoutError,\n TokenMismatchError,\n TransportError,\n ValidationError,\n} from './errors';\nimport type {\n PaymentHandler,\n PaymentRequiredBody,\n} from './payment';\n\nconst ERROR_CODE_MAP: Record<string, typeof APIError> = {\n invalid_token: AuthenticationError,\n token_expired: AuthenticationError,\n no_token: AuthenticationError,\n token_mismatched: TokenMismatchError,\n used_up: InsufficientBalanceError,\n disabled: ResourceDisabledError,\n too_many_requests: RateLimitError,\n bad_request: ValidationError,\n};\n\nconst RETRY_STATUS_CODES = new Set([408, 409, 429, 500, 502, 503, 504]);\n\nexport function mapError(statusCode: number, body: Record<string, unknown>): APIError {\n // The server occasionally returns ``error`` as a bare string (e.g. x402\n // facilitator diagnostics) or omits/nulls it entirely. Normalize to an\n // object so downstream property access is always safe and the message\n // is preserved verbatim.\n let errorData: Record<string, unknown>;\n if (typeof body.error === 'string') {\n errorData = { message: body.error };\n } else if (body.error && typeof body.error === 'object' && !Array.isArray(body.error)) {\n errorData = body.error as Record<string, unknown>;\n } else {\n errorData = {};\n }\n const code = (errorData.code ?? '') as string;\n const message = (errorData.message ?? '') as string;\n const traceId = body.trace_id as string | undefined;\n\n let ErrorClass = ERROR_CODE_MAP[code];\n if (!ErrorClass) {\n if (statusCode === 403) ErrorClass = ModerationError;\n else if (statusCode === 401) ErrorClass = AuthenticationError;\n else if (statusCode === 429) ErrorClass = RateLimitError;\n else if (statusCode === 400) ErrorClass = ValidationError;\n else ErrorClass = APIError;\n }\n\n return new ErrorClass({ message, statusCode, code, traceId, body });\n}\n\nfunction backoffDelay(attempt: number): number {\n const base = Math.min(2 ** attempt, 8);\n return base + Math.random() * 0.5;\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport interface TransportOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional handler invoked when a request returns `402 Payment Required`.\n * The handler receives the parsed `accepts` list and must return the extra\n * headers (typically `X-Payment`) to attach to the automatic retry.\n *\n * See `@acedatacloud/x402-client` for a drop-in implementation.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class Transport {\n private baseURL: string;\n private platformBaseURL: string;\n private timeout: number;\n private maxRetries: number;\n private headers: Record<string, string>;\n private paymentHandler?: PaymentHandler;\n\n constructor(opts: TransportOptions = {}) {\n const token = opts.apiToken ?? process.env.ACEDATACLOUD_API_TOKEN ?? '';\n if (!token && !opts.paymentHandler) {\n throw new AuthenticationError({\n message:\n 'apiToken is required (or provide a paymentHandler, e.g. from @acedatacloud/x402-client). ' +\n 'Pass it to the client or set ACEDATACLOUD_API_TOKEN.',\n statusCode: 0,\n code: 'no_token',\n });\n }\n this.baseURL = (opts.baseURL ?? 'https://api.acedata.cloud').replace(/\\/+$/, '');\n this.platformBaseURL = (opts.platformBaseURL ?? 'https://platform.acedata.cloud').replace(/\\/+$/, '');\n this.timeout = opts.timeout ?? 300_000;\n this.maxRetries = opts.maxRetries ?? 2;\n this.paymentHandler = opts.paymentHandler;\n const baseHeaders: Record<string, string> = {\n accept: 'application/json',\n 'content-type': 'application/json',\n 'user-agent': 'acedatacloud-node/0.1.0',\n ...(opts.headers ?? {}),\n };\n if (token) {\n baseHeaders.authorization = `Bearer ${token}`;\n }\n this.headers = baseHeaders;\n }\n\n async request(\n method: string,\n path: string,\n opts: {\n json?: Record<string, unknown>;\n params?: Record<string, string>;\n platform?: boolean;\n timeout?: number;\n headers?: Record<string, string>;\n } = {}\n ): Promise<Record<string, unknown>> {\n const base = opts.platform ? this.platformBaseURL : this.baseURL;\n let url = `${base}${path}`;\n if (opts.params) {\n const qs = new URLSearchParams(opts.params).toString();\n url += `?${qs}`;\n }\n const headers = { ...this.headers, ...(opts.headers ?? {}) };\n const timeoutMs = opts.timeout ?? this.timeout;\n\n let lastError: Error | null = null;\n let paymentAttempted = false;\n let extraHeaders: Record<string, string> = {};\n for (let attempt = 0; attempt <= this.maxRetries; attempt++) {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n try {\n const resp = await fetch(url, {\n method,\n headers: { ...headers, ...extraHeaders },\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status === 402 && this.paymentHandler && !paymentAttempted) {\n const text = await resp.text();\n let body: PaymentRequiredBody;\n try {\n body = JSON.parse(text) as PaymentRequiredBody;\n } catch {\n throw mapError(402, { error: { code: 'invalid_402', message: text } });\n }\n if (!body.accepts?.length) {\n throw mapError(402, { error: { code: 'invalid_402', message: 'No payment requirements' } });\n }\n const result = await this.paymentHandler({\n url,\n method,\n body: opts.json,\n accepts: body.accepts,\n });\n extraHeaders = { ...extraHeaders, ...result.headers };\n paymentAttempted = true;\n continue;\n }\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n if (RETRY_STATUS_CODES.has(resp.status) && attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n throw mapError(resp.status, body);\n }\n\n return (await resp.json()) as Record<string, unknown>;\n } catch (err) {\n clearTimeout(timer);\n if (err instanceof APIError) throw err;\n lastError = err as Error;\n if (attempt < this.maxRetries) {\n await sleep(backoffDelay(attempt) * 1000);\n continue;\n }\n }\n }\n throw lastError ?? new TransportError('Request failed after retries');\n }\n\n async *requestStream(\n method: string,\n path: string,\n opts: { json?: Record<string, unknown>; timeout?: number } = {}\n ): AsyncGenerator<string, void, unknown> {\n const url = `${this.baseURL}${path}`;\n const headers = { ...this.headers, accept: 'text/event-stream' };\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n\n try {\n const resp = await fetch(url, {\n method,\n headers,\n body: opts.json ? JSON.stringify(opts.json) : undefined,\n signal: controller.signal,\n });\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let body: Record<string, unknown>;\n try {\n body = JSON.parse(text) as Record<string, unknown>;\n } catch {\n body = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, body);\n }\n\n if (!resp.body) throw new TransportError('No response body for stream');\n\n const reader = resp.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data === '[DONE]') return;\n yield data;\n }\n }\n }\n } finally {\n clearTimeout(timer);\n }\n }\n\n async upload(\n path: string,\n fileData: Buffer | Uint8Array,\n filename: string,\n opts: { timeout?: number } = {}\n ): Promise<Record<string, unknown>> {\n const url = `${this.platformBaseURL}${path}`;\n const boundary = `----AceDataCloudBoundary${Date.now()}`;\n const headers = {\n ...this.headers,\n 'content-type': `multipart/form-data; boundary=${boundary}`,\n };\n delete (headers as Record<string, string>)['content-type'];\n\n const body = new FormData();\n body.append('file', new Blob([fileData]), filename);\n\n const authHeaders: Record<string, string> = {\n authorization: this.headers.authorization,\n 'user-agent': this.headers['user-agent'],\n };\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), opts.timeout ?? this.timeout);\n try {\n const resp = await fetch(url, {\n method: 'POST',\n headers: authHeaders,\n body,\n signal: controller.signal,\n });\n clearTimeout(timer);\n\n if (resp.status >= 400) {\n const text = await resp.text();\n let respBody: Record<string, unknown>;\n try {\n respBody = JSON.parse(text) as Record<string, unknown>;\n } catch {\n respBody = { error: { code: 'unknown', message: text } };\n }\n throw mapError(resp.status, respBody);\n }\n return (await resp.json()) as Record<string, unknown>;\n } finally {\n clearTimeout(timer);\n }\n }\n}\n","/** AI Chat resources — aichat/conversations endpoint. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type AiChatModel =\n | 'gpt-5.5'\n | 'gpt-5.5-pro'\n | 'gpt-5.4'\n | 'gpt-5.4-pro'\n | 'gpt-5.2'\n | 'gpt-5.1'\n | 'gpt-5.1-all'\n | 'gpt-5'\n | 'gpt-5-mini'\n | 'gpt-5-nano'\n | 'gpt-5-all'\n | 'gpt-4'\n | 'gpt-4-all'\n | 'gpt-4-turbo'\n | 'gpt-4-turbo-preview'\n | 'gpt-4-vision-preview'\n | 'gpt-4.1'\n | 'gpt-4.1-2025-04-14'\n | 'gpt-4.1-mini'\n | 'gpt-4.1-mini-2025-04-14'\n | 'gpt-4.1-nano'\n | 'gpt-4.1-nano-2025-04-14'\n | 'gpt-4.5-preview'\n | 'gpt-4.5-preview-2025-02-27'\n | 'gpt-4o'\n | 'gpt-4o-2024-05-13'\n | 'gpt-4o-2024-08-06'\n | 'gpt-4o-2024-11-20'\n | 'gpt-4o-all'\n | 'gpt-4o-image'\n | 'gpt-4o-mini'\n | 'gpt-4o-mini-2024-07-18'\n | 'gpt-4o-mini-search-preview'\n | 'gpt-4o-mini-search-preview-2025-03-11'\n | 'gpt-4o-search-preview'\n | 'gpt-4o-search-preview-2025-03-11'\n | 'o1'\n | 'o1-2024-12-17'\n | 'o1-all'\n | 'o1-mini'\n | 'o1-mini-2024-09-12'\n | 'o1-mini-all'\n | 'o1-preview'\n | 'o1-preview-2024-09-12'\n | 'o1-preview-all'\n | 'o1-pro'\n | 'o1-pro-2025-03-19'\n | 'o1-pro-all'\n | 'o3'\n | 'o3-2025-04-16'\n | 'o3-all'\n | 'o3-mini'\n | 'o3-mini-2025-01-31'\n | 'o3-mini-2025-01-31-high'\n | 'o3-mini-2025-01-31-low'\n | 'o3-mini-2025-01-31-medium'\n | 'o3-mini-all'\n | 'o3-mini-high'\n | 'o3-mini-high-all'\n | 'o3-mini-low'\n | 'o3-mini-medium'\n | 'o3-pro'\n | 'o3-pro-2025-06-10'\n | 'o4-mini'\n | 'o4-mini-2025-04-16'\n | 'o4-mini-all'\n | 'o4-mini-high-all'\n | 'deepseek-r1'\n | 'deepseek-r1-0528'\n | 'deepseek-v3'\n | 'deepseek-v3-250324'\n | 'grok-3'\n | 'glm-5.1'\n | 'glm-4.7'\n | 'glm-4.6'\n | 'glm-4.5-air'\n | 'glm-3-turbo'\n | (string & {});\n\nexport class AiChat {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: AiChatModel;\n question: string;\n id?: string;\n preset?: string;\n stateful?: boolean;\n references?: string[];\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, question, id, preset, stateful, references, ...rest } = opts;\n const body: Record<string, unknown> = { model, question, ...rest };\n if (id !== undefined) body.id = id;\n if (preset !== undefined) body.preset = preset;\n if (stateful !== undefined) body.stateful = stateful;\n if (references !== undefined) body.references = references;\n return this.transport.request('POST', '/aichat/conversations', { json: body });\n }\n}\n","/** Chat resources — native provider APIs (Claude Messages). */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Messages {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n maxTokens?: number;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, maxTokens = 4096, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, max_tokens: maxTokens, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.stream(body);\n }\n return this.transport.request('POST', '/v1/messages', { json: body });\n }\n\n private async *stream(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/v1/messages', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n\n async countTokens(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, messages, ...rest } = opts;\n return this.transport.request('POST', '/v1/messages/count_tokens', {\n json: { model, messages, ...rest },\n });\n }\n}\n\nexport class Chat {\n readonly messages: Messages;\n\n constructor(transport: Transport) {\n this.messages = new Messages(transport);\n }\n}\n","/** Task polling abstraction. */\n\nimport { Transport } from './transport';\n\nexport interface TaskHandleOptions {\n pollInterval?: number;\n maxWait?: number;\n}\n\nexport class TaskHandle {\n readonly id: string;\n private pollEndpoint: string;\n private transport: Transport;\n private _result: Record<string, unknown> | null = null;\n\n constructor(taskId: string, pollEndpoint: string, transport: Transport) {\n this.id = taskId;\n this.pollEndpoint = pollEndpoint;\n this.transport = transport;\n }\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('POST', this.pollEndpoint, {\n json: { id: this.id, action: 'retrieve' },\n });\n }\n\n async isCompleted(): Promise<boolean> {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n return status === 'succeeded' || status === 'failed';\n }\n\n async wait(opts: TaskHandleOptions = {}): Promise<Record<string, unknown>> {\n const pollInterval = opts.pollInterval ?? 3000;\n const maxWait = opts.maxWait ?? 600_000;\n const start = Date.now();\n\n while (Date.now() - start < maxWait) {\n const state = await this.get();\n const response = (state.response ?? state) as Record<string, unknown>;\n const status = response.status as string;\n\n if (status === 'succeeded' || status === 'failed') {\n this._result = state;\n return state;\n }\n await new Promise((resolve) => setTimeout(resolve, pollInterval));\n }\n throw new Error(`Task ${this.id} did not complete within ${maxWait}ms`);\n }\n\n get result(): Record<string, unknown> | null {\n return this._result;\n }\n}\n","/** Image generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type ImageProvider = 'nano-banana' | 'midjourney' | 'flux' | 'seedream' | (string & {});\n\nexport class Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: ImageProvider;\n model?: string;\n negativePrompt?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'nano-banana', model, negativePrompt, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (negativePrompt !== undefined) body.negative_prompt = negativePrompt;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const endpoint = provider === 'midjourney' ? '/midjourney/imagine' : `/${provider}/images`;\n const result = await this.transport.request('POST', endpoint, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Audio/music generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type AudioProvider = 'suno' | 'producer' | 'fish' | (string & {});\n\nexport class Audio {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: AudioProvider;\n model?: string;\n tags?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'suno', model, tags, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (tags !== undefined) body.tags = tags;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/audios`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Video generation resources. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nexport type VideoProvider = 'sora' | 'luma' | 'veo' | 'kling' | 'hailuo' | 'seedance' | 'wan' | 'pika' | 'pixverse' | (string & {});\n\nexport class Video {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n provider?: VideoProvider;\n model?: string;\n imageUrl?: string;\n callbackUrl?: string;\n wait?: boolean;\n pollInterval?: number;\n maxWait?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | TaskHandle> {\n const { prompt, provider = 'sora', model, imageUrl, callbackUrl, wait: shouldWait, pollInterval, maxWait, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, ...rest };\n if (model !== undefined) body.model = model;\n if (imageUrl !== undefined) body.image_url = imageUrl;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n\n const result = await this.transport.request('POST', `/${provider}/videos`, { json: body });\n const taskId = result.task_id as string | undefined;\n\n if (!taskId || (result.data && !shouldWait)) return result;\n\n const handle = new TaskHandle(taskId, `/${provider}/tasks`, this.transport);\n if (shouldWait) return handle.wait({ pollInterval, maxWait });\n return handle;\n }\n}\n","/** Search resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class Search {\n constructor(private transport: Transport) {}\n\n async google(opts: {\n query: string;\n type?: string;\n country?: string;\n language?: string;\n page?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { query, type = 'search', country, language, page, ...rest } = opts;\n const body: Record<string, unknown> = { query, type, ...rest };\n if (country !== undefined) body.country = country;\n if (language !== undefined) body.language = language;\n if (page !== undefined) body.page = page;\n return this.transport.request('POST', '/serp/google', { json: body });\n }\n}\n","/** Cross-service task retrieval. */\n\nimport { Transport } from '../runtime/transport';\nimport { TaskHandle } from '../runtime/tasks';\n\nconst SERVICE_TASK_ENDPOINTS: Record<string, string> = {\n suno: '/suno/tasks',\n producer: '/producer/tasks',\n fish: '/fish/tasks',\n 'nano-banana': '/nano-banana/tasks',\n seedream: '/seedream/tasks',\n seedance: '/seedance/tasks',\n sora: '/sora/tasks',\n midjourney: '/midjourney/tasks',\n luma: '/luma/tasks',\n veo: '/veo/tasks',\n flux: '/flux/tasks',\n kling: '/kling/tasks',\n hailuo: '/hailuo/tasks',\n wan: '/wan/tasks',\n pika: '/pika/tasks',\n pixverse: '/pixverse/tasks',\n webextrator: '/webextrator/tasks',\n};\n\nexport class Tasks {\n constructor(private transport: Transport) {}\n\n async get(taskId: string, opts: { service?: string } = {}): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n return this.transport.request('POST', endpoint, {\n json: { id: taskId, action: 'retrieve' },\n });\n }\n\n async wait(\n taskId: string,\n opts: { service?: string; pollInterval?: number; maxWait?: number } = {}\n ): Promise<Record<string, unknown>> {\n const service = opts.service ?? 'suno';\n const endpoint = SERVICE_TASK_ENDPOINTS[service] ?? `/${service}/tasks`;\n const handle = new TaskHandle(taskId, endpoint, this.transport);\n return handle.wait({ pollInterval: opts.pollInterval, maxWait: opts.maxWait });\n }\n}\n","/** File upload resources. */\n\nimport { Transport } from '../runtime/transport';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nexport class Files {\n constructor(private transport: Transport) {}\n\n async upload(\n file: string | Buffer | Uint8Array,\n opts: { filename?: string } = {}\n ): Promise<Record<string, unknown>> {\n let data: Buffer | Uint8Array;\n let filename: string;\n\n if (typeof file === 'string') {\n data = fs.readFileSync(file);\n filename = opts.filename ?? path.basename(file);\n } else {\n data = file;\n filename = opts.filename ?? 'upload';\n }\n\n return this.transport.upload('/api/v1/files/', data, filename);\n }\n}\n","/** Management-plane resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Applications {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/applications/', { params, platform: true });\n }\n\n async create(opts: { serviceId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { serviceId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/applications/', {\n json: { service_id: serviceId, ...rest },\n platform: true,\n });\n }\n\n async get(applicationId: string): Promise<Record<string, unknown>> {\n return this.transport.request('GET', `/api/v1/applications/${applicationId}/`, { platform: true });\n }\n}\n\nclass Credentials {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/credentials/', { params, platform: true });\n }\n\n async create(opts: { applicationId: string; [key: string]: unknown }): Promise<Record<string, unknown>> {\n const { applicationId, ...rest } = opts;\n return this.transport.request('POST', '/api/v1/credentials/', {\n json: { application_id: applicationId, ...rest },\n platform: true,\n });\n }\n\n async rotate(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('POST', `/api/v1/credentials/${credentialId}/rotate/`, { platform: true });\n }\n\n async delete(credentialId: string): Promise<Record<string, unknown>> {\n return this.transport.request('DELETE', `/api/v1/credentials/${credentialId}/`, { platform: true });\n }\n}\n\nclass Models {\n constructor(private transport: Transport) {}\n\n async list(params?: Record<string, string>): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/models/', { params, platform: true });\n }\n}\n\nclass Config {\n constructor(private transport: Transport) {}\n\n async get(): Promise<Record<string, unknown>> {\n return this.transport.request('GET', '/api/v1/config/', { platform: true });\n }\n}\n\nexport class Platform {\n readonly applications: Applications;\n readonly credentials: Credentials;\n readonly models: Models;\n readonly config: Config;\n\n constructor(transport: Transport) {\n this.applications = new Applications(transport);\n this.credentials = new Credentials(transport);\n this.models = new Models(transport);\n this.config = new Config(transport);\n }\n}\n","/** OpenAI-compatible facade resources. */\n\nimport { Transport } from '../runtime/transport';\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nclass Responses {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: string;\n input: string | Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, input, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/openai/responses', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/openai/responses', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass Images {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n prompt: string;\n model: string;\n background?: string;\n moderation?: string;\n n?: number;\n outputCompression?: number;\n outputFormat?: string;\n partialImages?: number;\n size?: string;\n quality?: string;\n responseFormat?: string;\n style?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { prompt, model, outputCompression, outputFormat, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { prompt, model, ...rest };\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/generations', { json: body });\n }\n\n async edit(opts: {\n image: string | string[];\n prompt: string;\n model?: string;\n n?: number;\n background?: string;\n inputFidelity?: string;\n mask?: string;\n outputFormat?: string;\n outputCompression?: number;\n partialImages?: number;\n quality?: string;\n size?: string;\n responseFormat?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { image, prompt, inputFidelity, mask, outputFormat, outputCompression, partialImages, responseFormat, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { image, prompt, ...rest };\n if (inputFidelity !== undefined) body.input_fidelity = inputFidelity;\n if (mask !== undefined) body.mask = mask;\n if (outputFormat !== undefined) body.output_format = outputFormat;\n if (outputCompression !== undefined) body.output_compression = outputCompression;\n if (partialImages !== undefined) body.partial_images = partialImages;\n if (responseFormat !== undefined) body.response_format = responseFormat;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/openai/images/edits', { json: body });\n }\n}\n\nclass Embeddings {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: string;\n input: string | string[];\n encodingFormat?: string;\n dimensions?: number;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { model, input, encodingFormat, dimensions, ...rest } = opts;\n const body: Record<string, unknown> = { model, input, ...rest };\n if (encodingFormat !== undefined) body.encoding_format = encodingFormat;\n if (dimensions !== undefined) body.dimensions = dimensions;\n return this.transport.request('POST', '/openai/embeddings', { json: body });\n }\n}\n\nclass Tasks {\n constructor(private transport: Transport) {}\n\n async retrieve(opts: {\n id?: string;\n traceId?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { id, traceId, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve', ...rest };\n if (id !== undefined) body.id = id;\n if (traceId !== undefined) body.trace_id = traceId;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n\n async retrieveBatch(opts: {\n ids?: string[];\n traceIds?: string[];\n applicationId?: string;\n userId?: string;\n type?: string;\n offset?: number;\n limit?: number;\n createdAtMin?: number;\n createdAtMax?: number;\n [key: string]: unknown;\n } = {}): Promise<Record<string, unknown>> {\n const { ids, traceIds, applicationId, userId, type, offset, limit, createdAtMin, createdAtMax, ...rest } = opts;\n const body: Record<string, unknown> = { action: 'retrieve_batch', ...rest };\n if (ids !== undefined) body.ids = ids;\n if (traceIds !== undefined) body.trace_ids = traceIds;\n if (applicationId !== undefined) body.application_id = applicationId;\n if (userId !== undefined) body.user_id = userId;\n if (type !== undefined) body.type = type;\n if (offset !== undefined) body.offset = offset;\n if (limit !== undefined) body.limit = limit;\n if (createdAtMin !== undefined) body.created_at_min = createdAtMin;\n if (createdAtMax !== undefined) body.created_at_max = createdAtMax;\n return this.transport.request('POST', '/openai/tasks', { json: body });\n }\n}\n\nexport class OpenAI {\n readonly chat: ChatNamespace;\n readonly responses: Responses;\n readonly images: Images;\n readonly embeddings: Embeddings;\n readonly tasks: Tasks;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n this.responses = new Responses(transport);\n this.images = new Images(transport);\n this.embeddings = new Embeddings(transport);\n this.tasks = new Tasks(transport);\n }\n}\n","/** GLM chat completions resource. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type GlmModel = 'glm-5.1' | 'glm-4.7' | 'glm-4.6' | 'glm-4.5-air' | 'glm-3-turbo' | (string & {});\n\nclass Completions {\n constructor(private transport: Transport) {}\n\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: false;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream: true;\n [key: string]: unknown;\n }): Promise<AsyncGenerator<Record<string, unknown>>>;\n async create(opts: {\n model: GlmModel;\n messages: Array<Record<string, unknown>>;\n stream?: boolean;\n [key: string]: unknown;\n }): Promise<Record<string, unknown> | AsyncGenerator<Record<string, unknown>>> {\n const { model, messages, stream, ...rest } = opts;\n const body: Record<string, unknown> = { model, messages, ...rest };\n\n if (stream) {\n body.stream = true;\n return this.streamResponse(body);\n }\n return this.transport.request('POST', '/glm/chat/completions', { json: body });\n }\n\n private async *streamResponse(body: Record<string, unknown>): AsyncGenerator<Record<string, unknown>> {\n for await (const chunk of this.transport.requestStream('POST', '/glm/chat/completions', { json: body })) {\n yield JSON.parse(chunk);\n }\n }\n}\n\nclass ChatNamespace {\n readonly completions: Completions;\n constructor(transport: Transport) {\n this.completions = new Completions(transport);\n }\n}\n\nexport class Glm {\n readonly chat: ChatNamespace;\n\n constructor(transport: Transport) {\n this.chat = new ChatNamespace(transport);\n }\n}\n","/** Veo-specific video generation and editing resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type VeoModel = 'veo2' | 'veo2-fast' | 'veo3' | 'veo3-fast' | 'veo31-fast' | 'veo31' | 'veo31-fast-ingredients' | (string & {});\n\nexport class Veo {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n action: 'text2video' | 'image2video' | 'ingredients2video' | 'get1080p';\n prompt?: string;\n model?: VeoModel;\n resolution?: '4k' | '1080p' | 'gif';\n videoId?: string;\n translation?: string;\n aspectRatio?: '9:16' | '1:1' | '3:4' | '4:3' | '16:9';\n imageUrls?: string[];\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { action, prompt, model, resolution, videoId, translation, aspectRatio, imageUrls, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (model !== undefined) body.model = model;\n if (resolution !== undefined) body.resolution = resolution;\n if (videoId !== undefined) body.video_id = videoId;\n if (translation !== undefined) body.translation = translation;\n if (aspectRatio !== undefined) body.aspect_ratio = aspectRatio;\n if (imageUrls !== undefined) body.image_urls = imageUrls;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/videos', { json: body });\n }\n\n async upsample(opts: {\n videoId: string;\n action: '1080p' | '4k' | 'gif';\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/upsample', { json: body });\n }\n\n async extend(opts: {\n videoId: string;\n model: 'veo31-fast' | 'veo31' | (string & {});\n prompt?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, model, prompt, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, model, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/extend', { json: body });\n }\n\n async reshoot(opts: {\n videoId: string;\n motionType: 'STATIONARY' | 'STATIONARY_UP' | 'STATIONARY_DOWN' | 'STATIONARY_LEFT' | 'STATIONARY_RIGHT' | 'STATIONARY_DOLLY_IN_ZOOM_OUT' | 'STATIONARY_DOLLY_OUT_ZOOM_IN' | 'UP' | 'DOWN' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT' | 'FORWARD' | 'BACKWARD' | 'DOLLY_IN_ZOOM_OUT' | 'DOLLY_OUT_ZOOM_IN' | (string & {});\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, motionType, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, motion_type: motionType, ...rest };\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/reshoot', { json: body });\n }\n\n async objects(opts: {\n videoId: string;\n action: 'insert' | 'remove';\n prompt?: string;\n imageMask?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { videoId, action, prompt, imageMask, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { video_id: videoId, action, ...rest };\n if (prompt !== undefined) body.prompt = prompt;\n if (imageMask !== undefined) body.image_mask = imageMask;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/veo/objects', { json: body });\n }\n}\n","/** Kling-specific video generation resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport type KlingModel =\n | 'kling-v1'\n | 'kling-v1-6'\n | 'kling-v2-master'\n | 'kling-v2-1-master'\n | 'kling-v2-5-turbo'\n | 'kling-v2-6'\n | 'kling-v3'\n | 'kling-v3-omni'\n | 'kling-video-o1'\n | (string & {});\n\nexport class Kling {\n constructor(private transport: Transport) {}\n\n async generate(opts: {\n action: 'text2video' | 'image2video' | 'extend';\n mode?: 'std' | 'pro' | '4k';\n model?: KlingModel;\n prompt?: string;\n duration?: 5 | 10;\n generateAudio?: boolean;\n videoId?: string;\n cfgScale?: number;\n aspectRatio?: '16:9' | '9:16' | '1:1';\n callbackUrl?: string;\n endImageUrl?: string;\n cameraControl?: string;\n elementList?: unknown[];\n videoList?: unknown[];\n negativePrompt?: string;\n startImageUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const {\n action,\n mode,\n model,\n prompt,\n duration,\n generateAudio,\n videoId,\n cfgScale,\n aspectRatio,\n callbackUrl,\n endImageUrl,\n cameraControl,\n elementList,\n videoList,\n negativePrompt,\n startImageUrl,\n ...rest\n } = opts;\n const body: Record<string, unknown> = { action, ...rest };\n if (mode !== undefined) body.mode = mode;\n if (model !== undefined) body.model = model;\n if (prompt !== undefined) body.prompt = prompt;\n if (duration !== undefined) body.duration = duration;\n if (generateAudio !== undefined) body.generate_audio = generateAudio;\n if (videoId !== undefined) body.video_id = videoId;\n if (cfgScale !== undefined) body.cfg_scale = cfgScale;\n if (aspectRatio !== undefined) body.aspect_ratio = aspectRatio;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n if (endImageUrl !== undefined) body.end_image_url = endImageUrl;\n if (cameraControl !== undefined) body.camera_control = cameraControl;\n if (elementList !== undefined) body.element_list = elementList;\n if (videoList !== undefined) body.video_list = videoList;\n if (negativePrompt !== undefined) body.negative_prompt = negativePrompt;\n if (startImageUrl !== undefined) body.start_image_url = startImageUrl;\n return this.transport.request('POST', '/kling/videos', { json: body });\n }\n\n async motion(opts: {\n mode: 'std' | 'pro';\n imageUrl: string;\n videoUrl: string;\n characterOrientation: 'image' | 'video';\n keepOriginalSound?: 'yes' | 'no';\n prompt?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { mode, imageUrl, videoUrl, characterOrientation, keepOriginalSound, prompt, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = {\n mode,\n image_url: imageUrl,\n video_url: videoUrl,\n character_orientation: characterOrientation,\n ...rest,\n };\n if (keepOriginalSound !== undefined) body.keep_original_sound = keepOriginalSound;\n if (prompt !== undefined) body.prompt = prompt;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/kling/motion', { json: body });\n }\n}\n","/** WebExtrator web render & extract resources. */\n\nimport { Transport } from '../runtime/transport';\n\nexport class WebExtrator {\n constructor(private transport: Transport) {}\n\n async extract(opts: {\n url: string;\n expectedType?: 'product' | 'article' | 'general';\n enableLlm?: boolean;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, expectedType, enableLlm, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (expectedType !== undefined) body.expected_type = expectedType;\n if (enableLlm !== undefined) body.enable_llm = enableLlm;\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/extract', { json: body });\n }\n\n async render(opts: {\n url: string;\n waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit';\n timeout?: number;\n delay?: number;\n waitForSelector?: string;\n blockResources?: string[];\n headers?: Record<string, string>;\n userAgent?: string;\n callbackUrl?: string;\n [key: string]: unknown;\n }): Promise<Record<string, unknown>> {\n const { url, waitUntil, timeout, delay, waitForSelector, blockResources, headers, userAgent, callbackUrl, ...rest } = opts;\n const body: Record<string, unknown> = { url, ...rest };\n if (waitUntil !== undefined) body.wait_until = waitUntil;\n if (timeout !== undefined) body.timeout = timeout;\n if (delay !== undefined) body.delay = delay;\n if (waitForSelector !== undefined) body.wait_for_selector = waitForSelector;\n if (blockResources !== undefined) body.block_resources = blockResources;\n if (headers !== undefined) body.headers = headers;\n if (userAgent !== undefined) body.user_agent = userAgent;\n if (callbackUrl !== undefined) body.callback_url = callbackUrl;\n return this.transport.request('POST', '/webextrator/render', { json: body });\n }\n}\n","/** Top-level AceDataCloud client for TypeScript. */\n\nimport { Transport, TransportOptions } from './runtime/transport';\nimport type { PaymentHandler } from './runtime/payment';\nimport { AiChat } from './resources/aichat';\nimport { Chat } from './resources/chat';\nimport { Images } from './resources/images';\nimport { Audio } from './resources/audio';\nimport { Video } from './resources/video';\nimport { Search } from './resources/search';\nimport { Tasks } from './resources/tasks';\nimport { Files } from './resources/files';\nimport { Platform } from './resources/platform';\nimport { OpenAI } from './resources/openai';\nimport { Glm } from './resources/glm';\nimport { Veo } from './resources/veo';\nimport { Kling } from './resources/kling';\nimport { WebExtrator } from './resources/webextrator';\n\nexport interface AceDataCloudOptions {\n apiToken?: string;\n baseURL?: string;\n platformBaseURL?: string;\n timeout?: number;\n maxRetries?: number;\n headers?: Record<string, string>;\n /**\n * Optional payment handler invoked when the API returns `402 Payment\n * Required`. Use `createX402PaymentHandler` from\n * `@acedatacloud/x402-client` to enable on-chain payments via X402.\n */\n paymentHandler?: PaymentHandler;\n}\n\nexport class AceDataCloud {\n readonly aichat: AiChat;\n readonly chat: Chat;\n readonly images: Images;\n readonly audio: Audio;\n readonly video: Video;\n readonly search: Search;\n readonly tasks: Tasks;\n readonly files: Files;\n readonly platform: Platform;\n readonly openai: OpenAI;\n readonly glm: Glm;\n readonly veo: Veo;\n readonly kling: Kling;\n readonly webextrator: WebExtrator;\n\n private transport: Transport;\n\n constructor(opts: AceDataCloudOptions = {}) {\n this.transport = new Transport({\n apiToken: opts.apiToken,\n baseURL: opts.baseURL,\n platformBaseURL: opts.platformBaseURL,\n timeout: opts.timeout,\n maxRetries: opts.maxRetries,\n headers: opts.headers,\n paymentHandler: opts.paymentHandler,\n });\n\n this.aichat = new AiChat(this.transport);\n this.chat = new Chat(this.transport);\n this.images = new Images(this.transport);\n this.audio = new Audio(this.transport);\n this.video = new Video(this.transport);\n this.search = new Search(this.transport);\n this.tasks = new Tasks(this.transport);\n this.files = new Files(this.transport);\n this.platform = new Platform(this.transport);\n this.openai = new OpenAI(this.transport);\n this.glm = new Glm(this.transport);\n this.veo = new Veo(this.transport);\n this.kling = new Kling(this.transport);\n this.webextrator = new WebExtrator(this.transport);\n }\n}\n"],"mappings":"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","names":["path","Images","Tasks","Completions","ChatNamespace"]}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { Platform } from './resources/platform';
|
|
|
14
14
|
import { OpenAI } from './resources/openai';
|
|
15
15
|
import { Glm } from './resources/glm';
|
|
16
16
|
import { Veo } from './resources/veo';
|
|
17
|
+
import { Kling } from './resources/kling';
|
|
17
18
|
import { WebExtrator } from './resources/webextrator';
|
|
18
19
|
|
|
19
20
|
export interface AceDataCloudOptions {
|
|
@@ -44,6 +45,7 @@ export class AceDataCloud {
|
|
|
44
45
|
readonly openai: OpenAI;
|
|
45
46
|
readonly glm: Glm;
|
|
46
47
|
readonly veo: Veo;
|
|
48
|
+
readonly kling: Kling;
|
|
47
49
|
readonly webextrator: WebExtrator;
|
|
48
50
|
|
|
49
51
|
private transport: Transport;
|
|
@@ -71,6 +73,7 @@ export class AceDataCloud {
|
|
|
71
73
|
this.openai = new OpenAI(this.transport);
|
|
72
74
|
this.glm = new Glm(this.transport);
|
|
73
75
|
this.veo = new Veo(this.transport);
|
|
76
|
+
this.kling = new Kling(this.transport);
|
|
74
77
|
this.webextrator = new WebExtrator(this.transport);
|
|
75
78
|
}
|
|
76
79
|
}
|
package/src/index.ts
CHANGED
|
@@ -31,4 +31,5 @@ export type { GlmModel } from './resources/glm';
|
|
|
31
31
|
export type { ImageProvider } from './resources/images';
|
|
32
32
|
export type { VideoProvider } from './resources/video';
|
|
33
33
|
export type { VeoModel } from './resources/veo';
|
|
34
|
+
export type { KlingModel } from './resources/kling';
|
|
34
35
|
export type { AudioProvider } from './resources/audio';
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** Kling-specific video generation resources. */
|
|
2
|
+
|
|
3
|
+
import { Transport } from '../runtime/transport';
|
|
4
|
+
|
|
5
|
+
export type KlingModel =
|
|
6
|
+
| 'kling-v1'
|
|
7
|
+
| 'kling-v1-6'
|
|
8
|
+
| 'kling-v2-master'
|
|
9
|
+
| 'kling-v2-1-master'
|
|
10
|
+
| 'kling-v2-5-turbo'
|
|
11
|
+
| 'kling-v2-6'
|
|
12
|
+
| 'kling-v3'
|
|
13
|
+
| 'kling-v3-omni'
|
|
14
|
+
| 'kling-video-o1'
|
|
15
|
+
| (string & {});
|
|
16
|
+
|
|
17
|
+
export class Kling {
|
|
18
|
+
constructor(private transport: Transport) {}
|
|
19
|
+
|
|
20
|
+
async generate(opts: {
|
|
21
|
+
action: 'text2video' | 'image2video' | 'extend';
|
|
22
|
+
mode?: 'std' | 'pro' | '4k';
|
|
23
|
+
model?: KlingModel;
|
|
24
|
+
prompt?: string;
|
|
25
|
+
duration?: 5 | 10;
|
|
26
|
+
generateAudio?: boolean;
|
|
27
|
+
videoId?: string;
|
|
28
|
+
cfgScale?: number;
|
|
29
|
+
aspectRatio?: '16:9' | '9:16' | '1:1';
|
|
30
|
+
callbackUrl?: string;
|
|
31
|
+
endImageUrl?: string;
|
|
32
|
+
cameraControl?: string;
|
|
33
|
+
elementList?: unknown[];
|
|
34
|
+
videoList?: unknown[];
|
|
35
|
+
negativePrompt?: string;
|
|
36
|
+
startImageUrl?: string;
|
|
37
|
+
[key: string]: unknown;
|
|
38
|
+
}): Promise<Record<string, unknown>> {
|
|
39
|
+
const {
|
|
40
|
+
action,
|
|
41
|
+
mode,
|
|
42
|
+
model,
|
|
43
|
+
prompt,
|
|
44
|
+
duration,
|
|
45
|
+
generateAudio,
|
|
46
|
+
videoId,
|
|
47
|
+
cfgScale,
|
|
48
|
+
aspectRatio,
|
|
49
|
+
callbackUrl,
|
|
50
|
+
endImageUrl,
|
|
51
|
+
cameraControl,
|
|
52
|
+
elementList,
|
|
53
|
+
videoList,
|
|
54
|
+
negativePrompt,
|
|
55
|
+
startImageUrl,
|
|
56
|
+
...rest
|
|
57
|
+
} = opts;
|
|
58
|
+
const body: Record<string, unknown> = { action, ...rest };
|
|
59
|
+
if (mode !== undefined) body.mode = mode;
|
|
60
|
+
if (model !== undefined) body.model = model;
|
|
61
|
+
if (prompt !== undefined) body.prompt = prompt;
|
|
62
|
+
if (duration !== undefined) body.duration = duration;
|
|
63
|
+
if (generateAudio !== undefined) body.generate_audio = generateAudio;
|
|
64
|
+
if (videoId !== undefined) body.video_id = videoId;
|
|
65
|
+
if (cfgScale !== undefined) body.cfg_scale = cfgScale;
|
|
66
|
+
if (aspectRatio !== undefined) body.aspect_ratio = aspectRatio;
|
|
67
|
+
if (callbackUrl !== undefined) body.callback_url = callbackUrl;
|
|
68
|
+
if (endImageUrl !== undefined) body.end_image_url = endImageUrl;
|
|
69
|
+
if (cameraControl !== undefined) body.camera_control = cameraControl;
|
|
70
|
+
if (elementList !== undefined) body.element_list = elementList;
|
|
71
|
+
if (videoList !== undefined) body.video_list = videoList;
|
|
72
|
+
if (negativePrompt !== undefined) body.negative_prompt = negativePrompt;
|
|
73
|
+
if (startImageUrl !== undefined) body.start_image_url = startImageUrl;
|
|
74
|
+
return this.transport.request('POST', '/kling/videos', { json: body });
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
async motion(opts: {
|
|
78
|
+
mode: 'std' | 'pro';
|
|
79
|
+
imageUrl: string;
|
|
80
|
+
videoUrl: string;
|
|
81
|
+
characterOrientation: 'image' | 'video';
|
|
82
|
+
keepOriginalSound?: 'yes' | 'no';
|
|
83
|
+
prompt?: string;
|
|
84
|
+
callbackUrl?: string;
|
|
85
|
+
[key: string]: unknown;
|
|
86
|
+
}): Promise<Record<string, unknown>> {
|
|
87
|
+
const { mode, imageUrl, videoUrl, characterOrientation, keepOriginalSound, prompt, callbackUrl, ...rest } = opts;
|
|
88
|
+
const body: Record<string, unknown> = {
|
|
89
|
+
mode,
|
|
90
|
+
image_url: imageUrl,
|
|
91
|
+
video_url: videoUrl,
|
|
92
|
+
character_orientation: characterOrientation,
|
|
93
|
+
...rest,
|
|
94
|
+
};
|
|
95
|
+
if (keepOriginalSound !== undefined) body.keep_original_sound = keepOriginalSound;
|
|
96
|
+
if (prompt !== undefined) body.prompt = prompt;
|
|
97
|
+
if (callbackUrl !== undefined) body.callback_url = callbackUrl;
|
|
98
|
+
return this.transport.request('POST', '/kling/motion', { json: body });
|
|
99
|
+
}
|
|
100
|
+
}
|