@volcengine/ark-runtime 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +202 -0
- package/README.md +104 -0
- package/dist/cjs/index.js +1717 -0
- package/dist/esm/client.d.ts +97 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/config.d.ts +46 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/encryption/encrypt-chat.d.ts +24 -0
- package/dist/esm/encryption/encrypt-chat.d.ts.map +1 -0
- package/dist/esm/encryption/index.d.ts +4 -0
- package/dist/esm/encryption/index.d.ts.map +1 -0
- package/dist/esm/encryption/key-agreement.d.ts +73 -0
- package/dist/esm/encryption/key-agreement.d.ts.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.mjs +1476 -0
- package/dist/esm/rslib-runtime.mjs +37 -0
- package/dist/esm/types/bot.d.ts +109 -0
- package/dist/esm/types/bot.d.ts.map +1 -0
- package/dist/esm/types/chat-completion.d.ts +167 -0
- package/dist/esm/types/chat-completion.d.ts.map +1 -0
- package/dist/esm/types/common.d.ts +29 -0
- package/dist/esm/types/common.d.ts.map +1 -0
- package/dist/esm/types/content-generation.d.ts +118 -0
- package/dist/esm/types/content-generation.d.ts.map +1 -0
- package/dist/esm/types/context.d.ts +49 -0
- package/dist/esm/types/context.d.ts.map +1 -0
- package/dist/esm/types/embeddings.d.ts +44 -0
- package/dist/esm/types/embeddings.d.ts.map +1 -0
- package/dist/esm/types/error.d.ts +45 -0
- package/dist/esm/types/error.d.ts.map +1 -0
- package/dist/esm/types/file.d.ts +66 -0
- package/dist/esm/types/file.d.ts.map +1 -0
- package/dist/esm/types/http-request-error.d.ts +13 -0
- package/dist/esm/types/http-request-error.d.ts.map +1 -0
- package/dist/esm/types/images.d.ts +78 -0
- package/dist/esm/types/images.d.ts.map +1 -0
- package/dist/esm/types/index.d.ts +13 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/multimodal-embedding.d.ts +56 -0
- package/dist/esm/types/multimodal-embedding.d.ts.map +1 -0
- package/dist/esm/types/responses/enums.d.ts +38 -0
- package/dist/esm/types/responses/enums.d.ts.map +1 -0
- package/dist/esm/types/responses/helpers.d.ts +22 -0
- package/dist/esm/types/responses/helpers.d.ts.map +1 -0
- package/dist/esm/types/responses/index.d.ts +4 -0
- package/dist/esm/types/responses/index.d.ts.map +1 -0
- package/dist/esm/types/responses/types.d.ts +906 -0
- package/dist/esm/types/responses/types.d.ts.map +1 -0
- package/dist/esm/types/tokenization.d.ts +22 -0
- package/dist/esm/types/tokenization.d.ts.map +1 -0
- package/dist/esm/utils/breaker-provider.d.ts +9 -0
- package/dist/esm/utils/breaker-provider.d.ts.map +1 -0
- package/dist/esm/utils/breaker.d.ts +28 -0
- package/dist/esm/utils/breaker.d.ts.map +1 -0
- package/dist/esm/utils/normalize.d.ts +51 -0
- package/dist/esm/utils/normalize.d.ts.map +1 -0
- package/dist/esm/utils/request-builder.d.ts +15 -0
- package/dist/esm/utils/request-builder.d.ts.map +1 -0
- package/dist/esm/utils/request-id.d.ts +5 -0
- package/dist/esm/utils/request-id.d.ts.map +1 -0
- package/dist/esm/utils/retry.d.ts +11 -0
- package/dist/esm/utils/retry.d.ts.map +1 -0
- package/dist/esm/utils/sse-decoder.d.ts +23 -0
- package/dist/esm/utils/sse-decoder.d.ts.map +1 -0
- package/dist/esm/utils/stream-reader.d.ts +67 -0
- package/dist/esm/utils/stream-reader.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/example/README.md +118 -0
- package/example/batch-chat.ts +64 -0
- package/example/bot-chat.ts +66 -0
- package/example/chat-completion-function-call.ts +141 -0
- package/example/chat-completion-reasoning.ts +64 -0
- package/example/chat-completion-vision.ts +70 -0
- package/example/chat-completion.ts +62 -0
- package/example/content-generation.ts +70 -0
- package/example/context.ts +69 -0
- package/example/embeddings.ts +31 -0
- package/example/file-upload.ts +53 -0
- package/example/images.ts +74 -0
- package/example/list-input-items.ts +34 -0
- package/example/multimodal-embeddings.ts +36 -0
- package/example/responses/basic.ts +75 -0
- package/example/responses/doubao-app.ts +53 -0
- package/example/responses/mcp.ts +66 -0
- package/example/responses/streaming.ts +45 -0
- package/example/responses/video.ts +74 -0
- package/example/responses/web-search.ts +52 -0
- package/example/structured-outputs.ts +71 -0
- package/example/tokenization.ts +30 -0
- package/package.json +47 -0
- package/src/client.ts +1199 -0
- package/src/config.ts +68 -0
- package/src/encryption/encrypt-chat.ts +146 -0
- package/src/encryption/index.ts +21 -0
- package/src/encryption/key-agreement.ts +270 -0
- package/src/index.ts +10 -0
- package/src/types/ark.d.ts +9 -0
- package/src/types/bot.ts +127 -0
- package/src/types/chat-completion.ts +228 -0
- package/src/types/common.ts +37 -0
- package/src/types/content-generation.ts +135 -0
- package/src/types/context.ts +59 -0
- package/src/types/embeddings.ts +74 -0
- package/src/types/error.ts +93 -0
- package/src/types/file.ts +76 -0
- package/src/types/http-request-error.ts +34 -0
- package/src/types/images.ts +102 -0
- package/src/types/index.ts +12 -0
- package/src/types/multimodal-embedding.ts +67 -0
- package/src/types/responses/enums.ts +163 -0
- package/src/types/responses/helpers.ts +67 -0
- package/src/types/responses/index.ts +3 -0
- package/src/types/responses/types.ts +1335 -0
- package/src/types/tokenization.ts +24 -0
- package/src/utils/breaker-provider.ts +17 -0
- package/src/utils/breaker.ts +56 -0
- package/src/utils/normalize.ts +154 -0
- package/src/utils/request-builder.ts +51 -0
- package/src/utils/request-id.ts +17 -0
- package/src/utils/retry.ts +76 -0
- package/src/utils/sse-decoder.ts +140 -0
- package/src/utils/stream-reader.ts +270 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ChatCompletionStreamReader, BotChatCompletionStreamReader, ImageGenerationStreamReader, ResponsesStreamReader } from "./utils/stream-reader";
|
|
2
|
+
import { type ClientConfig } from "./config";
|
|
3
|
+
import type { ChatCompletionRequest, ChatCompletionResponse } from "./types/chat-completion";
|
|
4
|
+
import type { BotChatCompletionRequest, BotChatCompletionResponse } from "./types/bot";
|
|
5
|
+
import type { EmbeddingRequest, EmbeddingResponse } from "./types/embeddings";
|
|
6
|
+
import type { GenerateImagesRequest, ImagesResponse } from "./types/images";
|
|
7
|
+
import type { TokenizationRequest, TokenizationResponse } from "./types/tokenization";
|
|
8
|
+
import type { CreateContextRequest, CreateContextResponse, ContextChatCompletionRequest } from "./types/context";
|
|
9
|
+
import type { CreateContentGenerationTaskRequest, CreateContentGenerationTaskResponse, GetContentGenerationTaskResponse, ListContentGenerationTasksRequest, ListContentGenerationTasksResponse } from "./types/content-generation";
|
|
10
|
+
import type { FileMeta, UploadFileRequest, ListFilesRequest, ListFilesResponse, DeleteFileResponse } from "./types/file";
|
|
11
|
+
import type { MultiModalEmbeddingRequest, MultimodalEmbeddingResponse } from "./types/multimodal-embedding";
|
|
12
|
+
import type { ResponsesRequest } from "./types/responses/types";
|
|
13
|
+
export interface RequestOptions {
|
|
14
|
+
customHeaders?: Record<string, string>;
|
|
15
|
+
projectName?: string;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
query?: Record<string, string>;
|
|
18
|
+
}
|
|
19
|
+
export declare class ArkRuntimeClient {
|
|
20
|
+
private config;
|
|
21
|
+
private httpClient;
|
|
22
|
+
private batchHttpClient;
|
|
23
|
+
private resourceStsTokens;
|
|
24
|
+
private refreshPromise;
|
|
25
|
+
private advisoryRefreshTimeout;
|
|
26
|
+
private mandatoryRefreshTimeout;
|
|
27
|
+
private modelBreakerProvider;
|
|
28
|
+
private e2eeManager;
|
|
29
|
+
private keyNonceMap;
|
|
30
|
+
private e2eeFlightMap;
|
|
31
|
+
constructor(config: ClientConfig);
|
|
32
|
+
/** Create with API key auth */
|
|
33
|
+
static withApiKey(apiKey: string, config?: Omit<ClientConfig, "apiKey">): ArkRuntimeClient;
|
|
34
|
+
/** Create with AK/SK auth */
|
|
35
|
+
static withAkSk(ak: string, sk: string, config?: Omit<ClientConfig, "ak" | "sk">): ArkRuntimeClient;
|
|
36
|
+
private fullURL;
|
|
37
|
+
private isAPIKeyAuth;
|
|
38
|
+
private getResourceTypeById;
|
|
39
|
+
private stsKey;
|
|
40
|
+
private needRefresh;
|
|
41
|
+
private refreshToken;
|
|
42
|
+
private doRefresh;
|
|
43
|
+
/** Get an STS token for the given endpoint ID (mirrors Go SDK). */
|
|
44
|
+
getEndpointStsToken(endpointId: string): Promise<string>;
|
|
45
|
+
/** Get an STS token for an arbitrary resource (mirrors Go SDK). */
|
|
46
|
+
getResourceStsToken(resourceType: string, resourceId: string, projectName?: string): Promise<string>;
|
|
47
|
+
private getAuthHeader;
|
|
48
|
+
private retryPolicy;
|
|
49
|
+
private isRetryable;
|
|
50
|
+
private executeRequest;
|
|
51
|
+
private handleErrorResponse;
|
|
52
|
+
private getE2eeClient;
|
|
53
|
+
private doLoadE2eeClient;
|
|
54
|
+
private loadServerCertificate;
|
|
55
|
+
/**
|
|
56
|
+
* Encrypt a streaming chat completion request.
|
|
57
|
+
* Only called when x-is-encrypted header is "true" AND request is streaming.
|
|
58
|
+
* Matches Go's encryptRequest.
|
|
59
|
+
*/
|
|
60
|
+
private encryptRequestBody;
|
|
61
|
+
private preprocessResponseInput;
|
|
62
|
+
private preprocessResponseMultiModal;
|
|
63
|
+
private getMultiModalFileUrl;
|
|
64
|
+
private parseFileUrl;
|
|
65
|
+
private preprocessResponseFile;
|
|
66
|
+
private doRequest;
|
|
67
|
+
private doStreamRequest;
|
|
68
|
+
createChatCompletion(request: ChatCompletionRequest, opts?: RequestOptions): Promise<ChatCompletionResponse>;
|
|
69
|
+
createChatCompletionStream(request: ChatCompletionRequest, opts?: RequestOptions): Promise<ChatCompletionStreamReader>;
|
|
70
|
+
createBotChatCompletion(request: BotChatCompletionRequest, opts?: RequestOptions): Promise<BotChatCompletionResponse>;
|
|
71
|
+
createBotChatCompletionStream(request: BotChatCompletionRequest, opts?: RequestOptions): Promise<BotChatCompletionStreamReader>;
|
|
72
|
+
createEmbeddings(request: EmbeddingRequest, opts?: RequestOptions): Promise<EmbeddingResponse>;
|
|
73
|
+
createMultiModalEmbeddings(request: MultiModalEmbeddingRequest, opts?: RequestOptions): Promise<MultimodalEmbeddingResponse>;
|
|
74
|
+
generateImages(request: GenerateImagesRequest, opts?: RequestOptions): Promise<ImagesResponse>;
|
|
75
|
+
generateImagesStream(request: GenerateImagesRequest, opts?: RequestOptions): Promise<ImageGenerationStreamReader>;
|
|
76
|
+
createTokenization(request: TokenizationRequest, opts?: RequestOptions): Promise<TokenizationResponse>;
|
|
77
|
+
createContext(request: CreateContextRequest, opts?: RequestOptions): Promise<CreateContextResponse>;
|
|
78
|
+
createContextChatCompletion(request: ContextChatCompletionRequest, opts?: RequestOptions): Promise<ChatCompletionResponse>;
|
|
79
|
+
createContextChatCompletionStream(request: ContextChatCompletionRequest, opts?: RequestOptions): Promise<ChatCompletionStreamReader>;
|
|
80
|
+
createContentGenerationTask(request: CreateContentGenerationTaskRequest, opts?: RequestOptions): Promise<CreateContentGenerationTaskResponse>;
|
|
81
|
+
getContentGenerationTask(taskId: string, opts?: RequestOptions): Promise<GetContentGenerationTaskResponse>;
|
|
82
|
+
deleteContentGenerationTask(taskId: string, opts?: RequestOptions): Promise<void>;
|
|
83
|
+
listContentGenerationTasks(request: ListContentGenerationTasksRequest, opts?: RequestOptions): Promise<ListContentGenerationTasksResponse>;
|
|
84
|
+
createResponses(body: ResponsesRequest, opts?: RequestOptions): Promise<Record<string, unknown>>;
|
|
85
|
+
createResponsesStream(body: ResponsesRequest, opts?: RequestOptions): Promise<ResponsesStreamReader>;
|
|
86
|
+
getResponses(responseId: string, query?: Record<string, unknown>, opts?: RequestOptions): Promise<Record<string, unknown>>;
|
|
87
|
+
deleteResponse(responseId: string, opts?: RequestOptions): Promise<void>;
|
|
88
|
+
listResponseInputItems(responseId: string, query?: Record<string, unknown>, opts?: RequestOptions): Promise<Record<string, unknown>>;
|
|
89
|
+
uploadFile(request: UploadFileRequest, opts?: RequestOptions): Promise<FileMeta>;
|
|
90
|
+
retrieveFile(fileId: string, opts?: RequestOptions): Promise<FileMeta>;
|
|
91
|
+
listFiles(request?: ListFilesRequest, opts?: RequestOptions): Promise<ListFilesResponse>;
|
|
92
|
+
deleteFile(fileId: string, opts?: RequestOptions): Promise<DeleteFileResponse>;
|
|
93
|
+
createBatchChatCompletion(request: ChatCompletionRequest, opts?: RequestOptions): Promise<ChatCompletionResponse>;
|
|
94
|
+
createBatchEmbeddings(request: EmbeddingRequest, opts?: RequestOptions): Promise<EmbeddingResponse>;
|
|
95
|
+
createBatchMultiModalEmbeddings(request: MultiModalEmbeddingRequest, opts?: RequestOptions): Promise<MultimodalEmbeddingResponse>;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AxiosInstance } from "axios";
|
|
2
|
+
export declare const defaultBaseURL = "https://ark.cn-beijing.volces.com/api/v3";
|
|
3
|
+
export declare const defaultRegion = "cn-beijing";
|
|
4
|
+
export declare const defaultEmptyMessagesLimit = 300;
|
|
5
|
+
export declare const defaultRetryTimes = 2;
|
|
6
|
+
export declare const defaultTimeoutMs: number;
|
|
7
|
+
export declare const defaultBatchMaxParallel = 3000;
|
|
8
|
+
export declare const resourceTypeEndpoint = "endpoint";
|
|
9
|
+
export declare const resourceTypeBot = "bot";
|
|
10
|
+
export declare const resourceTypePresetEndpoint = "presetendpoint";
|
|
11
|
+
export interface ClientConfig {
|
|
12
|
+
/** API key for authentication (mutually exclusive with ak/sk) */
|
|
13
|
+
apiKey?: string;
|
|
14
|
+
/** Access key for AK/SK authentication */
|
|
15
|
+
ak?: string;
|
|
16
|
+
/** Secret key for AK/SK authentication */
|
|
17
|
+
sk?: string;
|
|
18
|
+
/** Region, defaults to "cn-beijing" */
|
|
19
|
+
region?: string;
|
|
20
|
+
/** Base URL for the API, defaults to "https://ark.cn-beijing.volces.com/api/v3" */
|
|
21
|
+
baseURL?: string;
|
|
22
|
+
/** Custom axios instance */
|
|
23
|
+
httpClient?: AxiosInstance;
|
|
24
|
+
/** Max number of empty SSE messages before error, defaults to 300 */
|
|
25
|
+
emptyMessagesLimit?: number;
|
|
26
|
+
/** Number of retry attempts, defaults to 2 */
|
|
27
|
+
retryTimes?: number;
|
|
28
|
+
/** Request timeout in milliseconds, defaults to 600000 (10 min) */
|
|
29
|
+
timeout?: number;
|
|
30
|
+
/** Max parallel batch requests, defaults to 3000 */
|
|
31
|
+
batchMaxParallel?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface ResolvedConfig {
|
|
34
|
+
apiKey: string;
|
|
35
|
+
ak: string;
|
|
36
|
+
sk: string;
|
|
37
|
+
region: string;
|
|
38
|
+
baseURL: string;
|
|
39
|
+
httpClient?: AxiosInstance;
|
|
40
|
+
emptyMessagesLimit: number;
|
|
41
|
+
retryTimes: number;
|
|
42
|
+
timeout: number;
|
|
43
|
+
batchMaxParallel: number;
|
|
44
|
+
}
|
|
45
|
+
export declare function resolveConfig(config: ClientConfig): ResolvedConfig;
|
|
46
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,eAAO,MAAM,cAAc,6CAA6C,CAAC;AACzE,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,QAAiB,CAAC;AAC/C,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,0BAA0B,mBAAmB,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAkBlE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ChatCompletionRequest, ChatCompletionResponse, ChatCompletionStreamResponse } from "../types/chat-completion";
|
|
2
|
+
/**
|
|
3
|
+
* Deep-copy a chat completion request (JSON round-trip).
|
|
4
|
+
*/
|
|
5
|
+
export declare function deepCopyRequest(request: ChatCompletionRequest): ChatCompletionRequest;
|
|
6
|
+
/**
|
|
7
|
+
* Encrypt all text content in a chat completion request.
|
|
8
|
+
* Modifies the request in place.
|
|
9
|
+
* Matches Go's `EncryptChatRequest`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function encryptChatRequest(keyNonce: Buffer, request: ChatCompletionRequest): void;
|
|
12
|
+
/**
|
|
13
|
+
* Decrypt all text content in a chat completion response.
|
|
14
|
+
* Modifies the response in place.
|
|
15
|
+
* Matches Go's `DecryptChatResponse`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function decryptChatResponse(keyNonce: Buffer, response: ChatCompletionResponse): void;
|
|
18
|
+
/**
|
|
19
|
+
* Decrypt delta content in a streaming chat completion chunk.
|
|
20
|
+
* Modifies the response in place.
|
|
21
|
+
* Matches Go's `DecryptChatStreamResponse`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function decryptChatStreamResponse(keyNonce: Buffer, response: ChatCompletionStreamResponse): void;
|
|
24
|
+
//# sourceMappingURL=encrypt-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt-chat.d.ts","sourceRoot":"","sources":["../../../src/encryption/encrypt-chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAG7B,MAAM,0BAA0B,CAAC;AA6ClC;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB,CAEvB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAmBN;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,sBAAsB,GAC/B,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,4BAA4B,GACrC,IAAI,CAiBN"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { KeyAgreementClient, E2eeClient, aesGcmEncrypt, aesGcmDecrypt, aesGcmEncryptBase64, aesGcmDecryptBase64, getCertInfo, checkIsModeAICC, loadLocalCertificate, saveToLocalCertificate, } from "./key-agreement";
|
|
2
|
+
export type { EncryptInfo } from "./key-agreement";
|
|
3
|
+
export { encryptChatRequest, decryptChatResponse, decryptChatStreamResponse, deepCopyRequest, } from "./encrypt-chat";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/encryption/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export interface EncryptInfo {
|
|
2
|
+
version?: string;
|
|
3
|
+
ring_id?: string;
|
|
4
|
+
key_id?: string;
|
|
5
|
+
expire_time: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Key agreement client using ECIES (P-256 / prime256v1).
|
|
9
|
+
* Ports the Go `KeyAgreementClient` from `pkg/encryption/kaMgr.go`.
|
|
10
|
+
*/
|
|
11
|
+
export declare class KeyAgreementClient {
|
|
12
|
+
private serverPublicKey;
|
|
13
|
+
constructor(pemCert: string);
|
|
14
|
+
/**
|
|
15
|
+
* Generate ephemeral ECIES key pair and derive shared secret.
|
|
16
|
+
* Returns [keyNonce (AES key + nonce), sessionToken (base64)].
|
|
17
|
+
*/
|
|
18
|
+
generateECIESKeyPair(): [Buffer, string];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* AES-256-GCM encryption.
|
|
22
|
+
*/
|
|
23
|
+
export declare function aesGcmEncrypt(key: Buffer, nonce: Buffer, plaintext: Buffer): Buffer;
|
|
24
|
+
/**
|
|
25
|
+
* AES-256-GCM decryption.
|
|
26
|
+
*/
|
|
27
|
+
export declare function aesGcmDecrypt(key: Buffer, nonce: Buffer, ciphertext: Buffer): Buffer;
|
|
28
|
+
/**
|
|
29
|
+
* Encrypt plaintext string → base64 ciphertext using AES-GCM.
|
|
30
|
+
*/
|
|
31
|
+
export declare function aesGcmEncryptBase64(key: Buffer, nonce: Buffer, plaintext: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Decrypt base64 ciphertext → plaintext string using AES-GCM.
|
|
34
|
+
*/
|
|
35
|
+
export declare function aesGcmDecryptBase64(key: Buffer, nonce: Buffer, ciphertext: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Extract ring ID, key ID, and expiry from a PEM certificate.
|
|
38
|
+
* Matches Go's `GetCertInfo`.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getCertInfo(certPem: string): {
|
|
41
|
+
ringId: string;
|
|
42
|
+
keyId: string;
|
|
43
|
+
expireTime: number;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Check if AICC encryption mode is enabled via environment variable.
|
|
47
|
+
*/
|
|
48
|
+
export declare function checkIsModeAICC(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Load locally cached certificate for a model.
|
|
51
|
+
* Matches Go's `LoadLocalCertificate`.
|
|
52
|
+
*/
|
|
53
|
+
export declare function loadLocalCertificate(model: string): string | null;
|
|
54
|
+
/**
|
|
55
|
+
* Save certificate PEM to local cache.
|
|
56
|
+
* Matches Go's `SaveToLocalCertificate`.
|
|
57
|
+
*/
|
|
58
|
+
export declare function saveToLocalCertificate(model: string, certPem: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* E2EE client — manages certificate + key agreement + encrypt info.
|
|
61
|
+
* Matches Go's `E2eeClient`.
|
|
62
|
+
*/
|
|
63
|
+
export declare class E2eeClient {
|
|
64
|
+
private certificate;
|
|
65
|
+
private cipher;
|
|
66
|
+
private info;
|
|
67
|
+
readonly isAICC: boolean;
|
|
68
|
+
constructor(certificate: string);
|
|
69
|
+
generateECIESKeyPair(): [Buffer, string];
|
|
70
|
+
getEncryptInfo(): string;
|
|
71
|
+
getExpireTime(): number;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=key-agreement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-agreement.d.ts","sourceRoot":"","sources":["../../../src/encryption/key-agreement.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAID;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,eAAe,CAAmB;gBAE9B,OAAO,EAAE,MAAM;IAK3B;;;OAGG;IACH,oBAAoB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;CAwBzC;AAqCD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CA4BvD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,IAAI,CAMN;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,IAAI,CAAc;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEb,WAAW,EAAE,MAAM;IAc/B,oBAAoB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxC,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;CAGxB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { ArkRuntimeClient } from "./client";
|
|
2
|
+
export type { ClientConfig } from "./config";
|
|
3
|
+
export * from "./types";
|
|
4
|
+
export * from "./utils/retry";
|
|
5
|
+
export * from "./utils/sse-decoder";
|
|
6
|
+
export * from "./utils/stream-reader";
|
|
7
|
+
export * from "./utils/breaker";
|
|
8
|
+
export * from "./utils/breaker-provider";
|
|
9
|
+
export * from "./utils/request-id";
|
|
10
|
+
export * from "./encryption";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|