@eddyskywalker/dsh-chatgpt-subscription 0.11.7 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +619 -776
- package/README.md +34 -2
- package/lib/client.js +141 -5
- package/lib/client.js.map +1 -1
- package/lib/index.js +2879 -1541
- package/lib/types/client/CodexSubscriptionSection.d.ts +18 -0
- package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
- package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
- package/lib/types/client/kimi-code/KimiModelCapabilities.d.ts.map +1 -1
- package/lib/types/client/kimi-code/locales.d.ts +11 -2
- package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
- package/lib/types/client/kimi-code/styles.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +45 -5
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/host/antigravity/mapper.d.ts +3 -2
- package/lib/types/host/antigravity/mapper.d.ts.map +1 -1
- package/lib/types/host/antigravity/tool-schema.d.ts +13 -1
- package/lib/types/host/antigravity/tool-schema.d.ts.map +1 -1
- package/lib/types/host/claude/mapper.d.ts +57 -3
- package/lib/types/host/claude/mapper.d.ts.map +1 -1
- package/lib/types/host/codex-fetch.d.ts.map +1 -1
- package/lib/types/host/common/idle-watchdog.d.ts +10 -0
- package/lib/types/host/common/idle-watchdog.d.ts.map +1 -1
- package/lib/types/host/common/prompt-estimate.d.ts +22 -0
- package/lib/types/host/common/prompt-estimate.d.ts.map +1 -0
- package/lib/types/host/common/request-images.d.ts +130 -0
- package/lib/types/host/common/request-images.d.ts.map +1 -0
- package/lib/types/host/common/tool-schema.d.ts +27 -0
- package/lib/types/host/common/tool-schema.d.ts.map +1 -0
- package/lib/types/host/common/video-request.d.ts +81 -0
- package/lib/types/host/common/video-request.d.ts.map +1 -0
- package/lib/types/host/common/video.d.ts +90 -0
- package/lib/types/host/common/video.d.ts.map +1 -0
- package/lib/types/host/fetch-address-policy.d.ts +2 -1
- package/lib/types/host/fetch-address-policy.d.ts.map +1 -1
- package/lib/types/host/fetch-configuration.d.ts +6 -0
- package/lib/types/host/fetch-configuration.d.ts.map +1 -0
- package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
- package/lib/types/host/kimi-code/cache-hint.d.ts +76 -0
- package/lib/types/host/kimi-code/cache-hint.d.ts.map +1 -0
- package/lib/types/host/kimi-code/client.d.ts +36 -1
- package/lib/types/host/kimi-code/client.d.ts.map +1 -1
- package/lib/types/host/kimi-code/mapper.d.ts +118 -145
- package/lib/types/host/kimi-code/mapper.d.ts.map +1 -1
- package/lib/types/host/kimi-code/modalities.d.ts +9 -80
- package/lib/types/host/kimi-code/modalities.d.ts.map +1 -1
- package/lib/types/host/kimi-code/routes.d.ts +8 -0
- package/lib/types/host/kimi-code/routes.d.ts.map +1 -1
- package/lib/types/host/kimi-code/token-store.d.ts +30 -1
- package/lib/types/host/kimi-code/token-store.d.ts.map +1 -1
- package/lib/types/host/kimi-code/video-store.d.ts.map +1 -1
- package/lib/types/host/minimax-code/adapter.d.ts +8 -1
- package/lib/types/host/minimax-code/adapter.d.ts.map +1 -1
- package/lib/types/host/minimax-code/files-api.d.ts +117 -0
- package/lib/types/host/minimax-code/files-api.d.ts.map +1 -0
- package/lib/types/host/minimax-code/mapper.d.ts +50 -25
- package/lib/types/host/minimax-code/mapper.d.ts.map +1 -1
- package/lib/types/host/minimax-code/modalities.d.ts +20 -0
- package/lib/types/host/minimax-code/modalities.d.ts.map +1 -0
- package/lib/types/host/minimax-code/model-catalog.d.ts +27 -11
- package/lib/types/host/minimax-code/model-catalog.d.ts.map +1 -1
- package/lib/types/host/minimax-code/types.d.ts +10 -0
- package/lib/types/host/minimax-code/types.d.ts.map +1 -1
- package/lib/types/host/routes.d.ts +2 -2
- package/lib/types/host/routes.d.ts.map +1 -1
- package/lib/types/host/search-provider-switcher.d.ts +2 -0
- package/lib/types/host/search-provider-switcher.d.ts.map +1 -1
- package/lib/types/index.d.ts +8 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/shared/contracts.d.ts +11 -0
- package/lib/types/shared/contracts.d.ts.map +1 -1
- package/lib/types/shared/kimi-code-contracts.d.ts +65 -0
- package/lib/types/shared/kimi-code-contracts.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -27,18 +27,87 @@
|
|
|
27
27
|
* See https://www.kimi.com/code/docs/en/kimi-code/error-reference.html
|
|
28
28
|
*/
|
|
29
29
|
import { type OutboundContentBlock, type GenerateOptions, type Message, type StreamChunk } from '../common/llm-compat.ts';
|
|
30
|
-
import
|
|
30
|
+
import { normalizeKimiToolSchema } from '../common/tool-schema.ts';
|
|
31
|
+
import { estimatedInputTokens } from '../common/prompt-estimate.ts';
|
|
32
|
+
export { estimatedInputTokens, normalizeKimiToolSchema };
|
|
33
|
+
import { MAX_MESSAGE_BODY_BYTES, MAX_REQUEST_IMAGE_BYTES, MAX_REQUEST_VIDEO_BYTES, MAX_VIDEO_MESSAGE_BODY_BYTES, NO_RESOLVED_IMAGES, REQUEST_IMAGE_MAX_EDGE, offloadOldestRequestImages, requestImageTarget, resolveRequestImages, type AttachmentImageReader, type ResolvedRequestImage, type ResolvedRequestImages } from '../common/request-images.ts';
|
|
34
|
+
export { MAX_MESSAGE_BODY_BYTES, MAX_REQUEST_IMAGE_BYTES, MAX_REQUEST_VIDEO_BYTES, MAX_VIDEO_MESSAGE_BODY_BYTES, NO_RESOLVED_IMAGES, REQUEST_IMAGE_MAX_EDGE, offloadOldestRequestImages, requestImageTarget, resolveRequestImages, type AttachmentImageReader, type ResolvedRequestImage, type ResolvedRequestImages, };
|
|
31
35
|
import { type KimiCacheTtl } from './types.ts';
|
|
32
|
-
import { type
|
|
36
|
+
import { offloadOldestRequestVideos as offloadVideosWithinBudget, requestHasVideo, resolveRequestVideos, type AttachmentVideoReader, type ResolvedRequestVideos } from '../common/video-request.ts';
|
|
37
|
+
export { offloadVideosWithinBudget as offloadOldestRequestVideos, requestHasVideo, resolveRequestVideos, type AttachmentVideoReader, type ResolvedRequestVideos, };
|
|
33
38
|
import type { KimiCodeReasoningEffort, KimiCodeWire } from '../../shared/kimi-code-contracts.ts';
|
|
34
39
|
/**
|
|
35
|
-
*
|
|
40
|
+
* Wire keys an OpenAI-compatible response can carry reasoning under.
|
|
36
41
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
42
|
+
* The Chat Completions ecosystem never standardized one. Kimi answers with
|
|
43
|
+
* `reasoning_content`; newer vLLM builds renamed the field to `reasoning` and
|
|
44
|
+
* accept only that name on the request side, and gateways in between use
|
|
45
|
+
* `reasoning_details`. The first entry doubles as the default for a request
|
|
46
|
+
* made before any response has been seen.
|
|
47
|
+
*/
|
|
48
|
+
export declare const KNOWN_REASONING_KEYS: readonly ["reasoning_content", "reasoning_details", "reasoning"];
|
|
49
|
+
/** Default outbound reasoning key, used until a response proves otherwise. */
|
|
50
|
+
export declare const DEFAULT_REASONING_KEY: string;
|
|
51
|
+
/**
|
|
52
|
+
* Per-endpoint reasoning-field dialect: observes what the endpoint actually
|
|
53
|
+
* sends, and echoes thinking back under the same key.
|
|
54
|
+
*
|
|
55
|
+
* Sending `reasoning_content` to an endpoint that only reads `reasoning` is not
|
|
56
|
+
* a cosmetic mismatch — preserved thinking then reports the thinking as
|
|
57
|
+
* missing, so the model loses the reasoning chain of every prior assistant
|
|
58
|
+
* turn. Detection never clears: a response with no reasoning keeps the last
|
|
59
|
+
* known dialect, and an endpoint that switches is adapted on its next reply.
|
|
60
|
+
*/
|
|
61
|
+
export declare class ReasoningKeyDialect {
|
|
62
|
+
private detected;
|
|
63
|
+
/** Reasoning text on an inbound message or delta, remembering its key. */
|
|
64
|
+
observe(source: unknown): string | undefined;
|
|
65
|
+
/** The key to serialize thinking into on an outbound assistant message. */
|
|
66
|
+
outboundKey(): string;
|
|
67
|
+
/** Forget the detected key, returning to the default. Test seam only. */
|
|
68
|
+
reset(): void;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The reasoning key an outbound assistant message should use.
|
|
72
|
+
*
|
|
73
|
+
* Exposed for tests and for the request builder, which builds outside any
|
|
74
|
+
* stream state.
|
|
75
|
+
*/
|
|
76
|
+
export declare function outboundReasoningKey(): string;
|
|
77
|
+
/** Reset the learned dialect. Test seam only. */
|
|
78
|
+
export declare function resetReasoningDialect(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Sanitize one id into the shape the service accepts, without dedup.
|
|
81
|
+
*
|
|
82
|
+
* Exported because the request builders and the stream readers must agree on
|
|
83
|
+
* the result, and the guarantee callers actually rely on is that this is
|
|
84
|
+
* idempotent: sanitizing an already-sanitized id returns it unchanged, so an id
|
|
85
|
+
* that has been through here once stays stable across every later turn.
|
|
86
|
+
*
|
|
87
|
+
* Use {@link ToolCallIdNormalizer} instead wherever more than one id in the
|
|
88
|
+
* same request must be kept distinct.
|
|
40
89
|
*/
|
|
41
90
|
export declare function clampToolCallId(id: string): string;
|
|
91
|
+
/**
|
|
92
|
+
* Assigns collision-free tool-call ids across one request.
|
|
93
|
+
*
|
|
94
|
+
* Truncation alone is not injective: two ids sharing a 64-character prefix
|
|
95
|
+
* clamp to the same value, and a later tool result then resolves against the
|
|
96
|
+
* wrong call. This maps each raw id to a unique sanitized id, appending
|
|
97
|
+
* `_2`, `_3`, … on collision, and returns the same answer for the same
|
|
98
|
+
* input for the lifetime of the normalizer.
|
|
99
|
+
*
|
|
100
|
+
* One normalizer serves one request (or one stream), so the mapping is
|
|
101
|
+
* request-scoped by construction: a conversation whose history is replayed
|
|
102
|
+
* re-derives the same assignment from the same inputs, which is what keeps
|
|
103
|
+
* a tool result answerable by the call it belongs to.
|
|
104
|
+
*/
|
|
105
|
+
export declare class ToolCallIdNormalizer {
|
|
106
|
+
private readonly assigned;
|
|
107
|
+
private readonly used;
|
|
108
|
+
/** The unique sanitized id for `id`, stable for the life of this normalizer. */
|
|
109
|
+
normalize(id: string): string;
|
|
110
|
+
}
|
|
42
111
|
/**
|
|
43
112
|
* Service limits on the request shape, from the official error reference.
|
|
44
113
|
*
|
|
@@ -82,115 +151,6 @@ export declare function mapReasoningEffort(effort: string | undefined | null): K
|
|
|
82
151
|
* derived from the same three levels the OpenAI surface uses.
|
|
83
152
|
*/
|
|
84
153
|
export declare function thinkingBudgetFor(effort: KimiCodeReasoningEffort | undefined, maxTokens: number): number | undefined;
|
|
85
|
-
/** Attachment seam this route needs: verified bytes for one durable image. */
|
|
86
|
-
export type AttachmentImageReader = Pick<AttachmentStore, 'readImage'>;
|
|
87
|
-
/** One durable user image resolved for an in-flight request, or proven unreadable. */
|
|
88
|
-
export type ResolvedRequestImage = {
|
|
89
|
-
readonly kind: 'inline';
|
|
90
|
-
readonly mediaType: string;
|
|
91
|
-
readonly data: string;
|
|
92
|
-
} | {
|
|
93
|
-
readonly kind: 'unavailable';
|
|
94
|
-
};
|
|
95
|
-
/** Resolved images keyed by durable attachment id; consumed by one request build. */
|
|
96
|
-
export type ResolvedRequestImages = ReadonlyMap<string, ResolvedRequestImage>;
|
|
97
|
-
/**
|
|
98
|
-
* Base64 image payload one request may carry.
|
|
99
|
-
*
|
|
100
|
-
* Kimi rejects a request whose total message size exceeds 2 MB with a 400, and
|
|
101
|
-
* the image bytes share that budget with the conversation text, tool schemas,
|
|
102
|
-
* and system prompt — so the bound is deliberately the smaller of the two
|
|
103
|
-
* documented limits rather than the largest body the transport would accept.
|
|
104
|
-
*/
|
|
105
|
-
export declare const MAX_REQUEST_IMAGE_BYTES = 1500000;
|
|
106
|
-
/** Message-body ceiling the service documents for one request. */
|
|
107
|
-
export declare const MAX_MESSAGE_BODY_BYTES = 2097152;
|
|
108
|
-
/**
|
|
109
|
-
* Body ceiling once a request carries video.
|
|
110
|
-
*
|
|
111
|
-
* The 2 MB figure above is the documented limit for text and images, and it is
|
|
112
|
-
* far too small for video: a single frame-sequence clip dwarfs it. Kimi's own
|
|
113
|
-
* video guidance carries a separate, much larger request budget, so the ceiling
|
|
114
|
-
* is raised only for a request that actually attaches video. A text-only or
|
|
115
|
-
* image-only request keeps the tighter guard, because catching that 400 locally
|
|
116
|
-
* is the whole reason it exists.
|
|
117
|
-
*/
|
|
118
|
-
export declare const MAX_VIDEO_MESSAGE_BODY_BYTES: number;
|
|
119
|
-
/**
|
|
120
|
-
* Base64 video budget for one request.
|
|
121
|
-
*
|
|
122
|
-
* Deliberately below {@link MAX_VIDEO_MESSAGE_BODY_BYTES} so the surrounding
|
|
123
|
-
* JSON envelope, tool schemas and text still fit; the oldest clips are dropped
|
|
124
|
-
* first once the total would exceed it.
|
|
125
|
-
*/
|
|
126
|
-
export declare const MAX_REQUEST_VIDEO_BYTES: number;
|
|
127
|
-
/**
|
|
128
|
-
* Replace the oldest inline images with a text placeholder once one request
|
|
129
|
-
* would carry more than `maxBytes` of base64 image data.
|
|
130
|
-
*
|
|
131
|
-
* The MECHANISM is shared because it is generic: measure the retained
|
|
132
|
-
* occurrences' encoded length, drop oldest-first, leave durable history alone.
|
|
133
|
-
* The BUDGET is not, and it is a parameter for exactly that reason — an
|
|
134
|
-
* image budget is a property of the upstream gateway, and importing one route's
|
|
135
|
-
* number into another refuses that other route's own legal images. The default
|
|
136
|
-
* is Kimi's, so every existing call site is byte-for-byte unchanged; a route
|
|
137
|
-
* with a different ceiling passes its own.
|
|
138
|
-
*
|
|
139
|
-
* Durable history is untouched; only the request about to be sent changes.
|
|
140
|
-
*/
|
|
141
|
-
export declare function offloadOldestRequestImages(options: GenerateOptions, maxBytes?: number): GenerateOptions;
|
|
142
|
-
/**
|
|
143
|
-
* Read every durable `{ type: 'image', attachment }` block one request carries.
|
|
144
|
-
* An unreadable image resolves to `unavailable` rather than disappearing, so
|
|
145
|
-
* the model is told the picture is missing instead of answering about a blank.
|
|
146
|
-
*/
|
|
147
|
-
export declare function resolveRequestImages(options: GenerateOptions, attachments: AttachmentImageReader | undefined, signal?: AbortSignal): Promise<ResolvedRequestImages>;
|
|
148
|
-
/**
|
|
149
|
-
* One durable video resolved for an in-flight request, or proven unreadable.
|
|
150
|
-
*
|
|
151
|
-
* The shape mirrors {@link ResolvedRequestImage} so the two media kinds travel
|
|
152
|
-
* the same path and differ only in the wire part each produces.
|
|
153
|
-
*/
|
|
154
|
-
export type ResolvedRequestVideo = {
|
|
155
|
-
readonly kind: 'inline';
|
|
156
|
-
readonly mediaType: string;
|
|
157
|
-
readonly data: string;
|
|
158
|
-
} | {
|
|
159
|
-
readonly kind: 'unavailable';
|
|
160
|
-
};
|
|
161
|
-
/** Resolved videos keyed by attachment id; consumed by one request build. */
|
|
162
|
-
export type ResolvedRequestVideos = ReadonlyMap<string, ResolvedRequestVideo>;
|
|
163
|
-
/**
|
|
164
|
-
* Attachment seam for video bytes.
|
|
165
|
-
*
|
|
166
|
-
* DSH's own attachment service stores images only, so a video reference can
|
|
167
|
-
* only exist if some producer in this deployment created it. Rather than
|
|
168
|
-
* pretend otherwise, the reader is an injected seam: absent means every video
|
|
169
|
-
* resolves to `unavailable` and the model is told the clip is missing, which is
|
|
170
|
-
* strictly better than silently sending a request with no video at all.
|
|
171
|
-
*/
|
|
172
|
-
export type AttachmentVideoReader = {
|
|
173
|
-
readVideo(ref: VideoAttachmentRef, signal?: AbortSignal): Promise<{
|
|
174
|
-
data: Uint8Array;
|
|
175
|
-
mediaType: string;
|
|
176
|
-
}>;
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Drop the oldest videos once one request would carry more than
|
|
180
|
-
* {@link MAX_REQUEST_VIDEO_BYTES} of base64 video data, replacing each with a
|
|
181
|
-
* text placeholder. Durable history is untouched; only the request about to be
|
|
182
|
-
* sent changes. Images are left alone — they have their own, much smaller
|
|
183
|
-
* budget and their own offload pass.
|
|
184
|
-
*/
|
|
185
|
-
export declare function offloadOldestRequestVideos(options: GenerateOptions): GenerateOptions;
|
|
186
|
-
/**
|
|
187
|
-
* Read every durable `{ type: 'video', attachment }` block one request carries.
|
|
188
|
-
* An unreadable clip resolves to `unavailable` rather than disappearing, so the
|
|
189
|
-
* model is told the video is missing instead of answering about a blank.
|
|
190
|
-
*/
|
|
191
|
-
export declare function resolveRequestVideos(options: GenerateOptions, attachments: AttachmentVideoReader | undefined, signal?: AbortSignal): Promise<ResolvedRequestVideos>;
|
|
192
|
-
/** True when the request carries any video occurrence at all. */
|
|
193
|
-
export declare function requestHasVideo(options: GenerateOptions): boolean;
|
|
194
154
|
export interface RequestMediaOptions {
|
|
195
155
|
/** Videos read for this request; absent means none are readable. */
|
|
196
156
|
videos?: ResolvedRequestVideos;
|
|
@@ -213,13 +173,6 @@ export interface RequestMediaOptions {
|
|
|
213
173
|
*/
|
|
214
174
|
cacheTtl?: KimiCacheTtl | null;
|
|
215
175
|
}
|
|
216
|
-
/**
|
|
217
|
-
* Normalizes tool parameter schemas for Kimi by stripping meta keywords ($schema),
|
|
218
|
-
* inlining definitions ($defs/definitions/$ref), and ensuring property types for enums/consts.
|
|
219
|
-
*/
|
|
220
|
-
export declare function normalizeKimiToolSchema(schema: unknown): Record<string, unknown>;
|
|
221
|
-
/** Drop the JSON-Schema keywords provider gateways reject or ignore, and normalize properties. */
|
|
222
|
-
export declare function stripMetaSchema(schema: unknown): Record<string, unknown>;
|
|
223
176
|
/**
|
|
224
177
|
* One complete tool definition, in the shape the function-calling wire wants.
|
|
225
178
|
*
|
|
@@ -279,16 +232,6 @@ export declare function messageToolsOf(message: Message): readonly DynamicToolDe
|
|
|
279
232
|
* session instead of silently disappearing.
|
|
280
233
|
*/
|
|
281
234
|
export declare function rehydrateMessageTools<T extends Message>(message: T): T;
|
|
282
|
-
/**
|
|
283
|
-
* Rough prompt size for one request, in tokens.
|
|
284
|
-
*
|
|
285
|
-
* Derived from the serialized text with the usual ~4 characters per token
|
|
286
|
-
* heuristic. It is deliberately an estimate: the purpose is only to keep
|
|
287
|
-
* `max_tokens` from making a request the service will reject outright, and the
|
|
288
|
-
* service's own count remains authoritative. Undefined is returned for an empty
|
|
289
|
-
* request so the caller leaves the cap alone rather than clamping against zero.
|
|
290
|
-
*/
|
|
291
|
-
export declare function estimatedInputTokens(options: GenerateOptions): number | undefined;
|
|
292
235
|
/** Build one `/chat/completions` body. */
|
|
293
236
|
export declare function buildOpenAIRequest(options: GenerateOptions, images?: ResolvedRequestImages, preserveThinking?: boolean, media?: RequestMediaOptions): Record<string, unknown>;
|
|
294
237
|
/**
|
|
@@ -354,8 +297,23 @@ export interface KimiCodeStreamState {
|
|
|
354
297
|
cacheWriteTokens: number;
|
|
355
298
|
reasoningTokens: number;
|
|
356
299
|
sawUsage: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Per-request tool-call id assignment.
|
|
302
|
+
*
|
|
303
|
+
* The request side and the stream side must hand the service the same id for
|
|
304
|
+
* the same call, and truncation alone cannot guarantee that across a
|
|
305
|
+
* multi-call response. Shared by reference so both halves of one turn agree.
|
|
306
|
+
*/
|
|
307
|
+
toolCallIds: ToolCallIdNormalizer;
|
|
308
|
+
/**
|
|
309
|
+
* Session this turn belongs to, when the caller stated one.
|
|
310
|
+
*
|
|
311
|
+
* Carried so usage can be filed under the right conversation at close time,
|
|
312
|
+
* even if the caller does not pass the session again.
|
|
313
|
+
*/
|
|
314
|
+
sessionId: string | undefined;
|
|
357
315
|
}
|
|
358
|
-
export declare function createStreamState(wire: KimiCodeWire): KimiCodeStreamState;
|
|
316
|
+
export declare function createStreamState(wire: KimiCodeWire, sessionId?: string): KimiCodeStreamState;
|
|
359
317
|
/** Feed one SSE `data:` payload from `/chat/completions`. */
|
|
360
318
|
export declare function processOpenAIStreamLine(line: string, state: KimiCodeStreamState): StreamChunk[];
|
|
361
319
|
/** Feed one SSE `data:` payload from `/v1/messages`. */
|
|
@@ -388,10 +346,16 @@ export type PrefixDriftCause = 'first-request' | 'stable' | 'system-prompt' | 't
|
|
|
388
346
|
* stream reports usage so a low-or-zero cache read can be explained.
|
|
389
347
|
*/
|
|
390
348
|
export declare function trackPrefixStability(options: GenerateOptions): PrefixDriftCause;
|
|
391
|
-
/** Record the cause computed for
|
|
392
|
-
export declare function recordDriftCause(cause: PrefixDriftCause): void;
|
|
393
|
-
/**
|
|
394
|
-
|
|
349
|
+
/** Record the cause computed for one in-flight request. */
|
|
350
|
+
export declare function recordDriftCause(cause: PrefixDriftCause, sessionId?: string): void;
|
|
351
|
+
/**
|
|
352
|
+
* The cause attributed to the most recent request of one session.
|
|
353
|
+
*
|
|
354
|
+
* `undefined` for a session that has not made a request, rather than a default
|
|
355
|
+
* value: an absent attribution and an unattributed first request are different
|
|
356
|
+
* facts, and the caller can only tell them apart if absence is expressible.
|
|
357
|
+
*/
|
|
358
|
+
export declare function getLastDriftCause(sessionId?: string): PrefixDriftCause | undefined;
|
|
395
359
|
/**
|
|
396
360
|
* Rolling per-process view of how well the prefix cache is working.
|
|
397
361
|
*
|
|
@@ -411,17 +375,26 @@ export interface KimiCodeCacheStats {
|
|
|
411
375
|
/** Prompt tokens the provider counted as cache writes (always 0 on this route). */
|
|
412
376
|
cacheWriteTokens: number;
|
|
413
377
|
}
|
|
414
|
-
/** Record one request's usage into
|
|
415
|
-
export declare function recordCacheStats(state: KimiCodeStreamState): void;
|
|
416
|
-
/**
|
|
417
|
-
|
|
378
|
+
/** Record one request's usage into its own session's totals. */
|
|
379
|
+
export declare function recordCacheStats(state: KimiCodeStreamState, sessionId?: string, accountId?: string): void;
|
|
380
|
+
/**
|
|
381
|
+
* Totals for one account's share of a session, one whole session, or every
|
|
382
|
+
* tracked session.
|
|
383
|
+
*
|
|
384
|
+
* The three cases are not a convenience: each answers a different question a
|
|
385
|
+
* caller actually has. Naming an account answers "is this account's cache
|
|
386
|
+
* warm", naming only a session answers "how is this conversation doing
|
|
387
|
+
* overall", and naming neither answers "how is this install doing". Summing
|
|
388
|
+
* the per-scope entries rather than keeping a second running total means the
|
|
389
|
+
* aggregate can never drift out of step with the parts it summarises.
|
|
390
|
+
*/
|
|
391
|
+
export declare function getCacheStats(sessionId?: string, accountId?: string): KimiCodeCacheStats & {
|
|
418
392
|
hitRatio: number | null;
|
|
419
393
|
};
|
|
420
|
-
/**
|
|
421
|
-
export declare function resetCacheStats(): void;
|
|
394
|
+
/** Forget one session's numbers, or all of them. Test seam and session teardown. */
|
|
395
|
+
export declare function resetCacheStats(sessionId?: string): void;
|
|
422
396
|
/** Flush every open block, then emit usage and the terminal finish. */
|
|
423
|
-
export declare function closeStream(state: KimiCodeStreamState): StreamChunk[];
|
|
397
|
+
export declare function closeStream(state: KimiCodeStreamState, accountId?: string): StreamChunk[];
|
|
424
398
|
/** Model families whose stream never carried a terminal event. */
|
|
425
399
|
export declare function assertStreamComplete(state: KimiCodeStreamState): void;
|
|
426
|
-
export {};
|
|
427
400
|
//# sourceMappingURL=mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAGL,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,80 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Kimi Code's
|
|
3
|
-
* vocabularies by this plugin alone.
|
|
2
|
+
* Kimi Code's video vocabulary, re-exported from the shared video modules.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
* video
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* capability pipeline - the same one that gates read_image, prompt admission,
|
|
10
|
-
* and subagent delegation - instead of being display-only trivia in a tooltip.
|
|
4
|
+
* The traversal, byte budgeting and base64 encoding live in
|
|
5
|
+
* `../common/video-request.ts` now that a second line accepts video too; a
|
|
6
|
+
* second copy of the module augmentation would be a conflicting redeclaration
|
|
7
|
+
* of the same `video` key.
|
|
11
8
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* modalities they already know.
|
|
15
|
-
*
|
|
16
|
-
* The block shape deliberately mirrors ImageAttachmentRef field for field.
|
|
17
|
-
* DSH itself never constructs a video block - the attachment service only
|
|
18
|
-
* promotes images - so the only readers are this plugin's request mapper and
|
|
19
|
-
* its tests.
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* Container formats the Kimi coding endpoint accepts as video input.
|
|
23
|
-
*
|
|
24
|
-
* Transcribed from the official vision guide and file-upload reference; the
|
|
25
|
-
* service validates the media type, so an unlisted container is reported
|
|
26
|
-
* before it is base64-expanded into a request that would be rejected.
|
|
27
|
-
*/
|
|
28
|
-
export declare const KIMI_VIDEO_MEDIA_TYPES: readonly string[];
|
|
29
|
-
/** Runtime membership test for one video container. */
|
|
30
|
-
export declare function isVideoMediaType(mediaType: string): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* One durable video reference carried by a request.
|
|
33
|
-
*
|
|
34
|
-
* attachmentId is a plain string rather than DSH's branded AttachmentId: no
|
|
35
|
-
* DSH service issues this identifier, so branding it would imply an origin
|
|
36
|
-
* that does not exist. The field name matches ImageAttachmentRef so one
|
|
37
|
-
* traversal helper can walk both block kinds.
|
|
38
|
-
*/
|
|
39
|
-
export interface VideoAttachmentRef {
|
|
40
|
-
attachmentId: string;
|
|
41
|
-
/** Verified media type, for example video/mp4. */
|
|
42
|
-
mediaType: string;
|
|
43
|
-
/** Exact encoded byte length. */
|
|
44
|
-
bytes: number;
|
|
45
|
-
/** Intrinsic duration in milliseconds, when the producer knows it. */
|
|
46
|
-
durationMs?: number;
|
|
47
|
-
/** Optional display name, stripped of any local path. */
|
|
48
|
-
name?: string;
|
|
49
|
-
}
|
|
50
|
-
/** One video occurrence in message content. */
|
|
51
|
-
export interface VideoBlock {
|
|
52
|
-
type: 'video';
|
|
53
|
-
attachment: VideoAttachmentRef;
|
|
54
|
-
}
|
|
55
|
-
declare module '@deepseek-ai/dsh-llm' {
|
|
56
|
-
interface ModelModalityMap {
|
|
57
|
-
/** Widened by this plugin: Kimi's k3 and kimi-for-coding accept video. */
|
|
58
|
-
video: 'video';
|
|
59
|
-
}
|
|
60
|
-
interface ContentBlockMap {
|
|
61
|
-
/** Widened by this plugin; only the Kimi Code mapper reads it. */
|
|
62
|
-
video: VideoBlock;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/** Base64 length of raw bytes, including padding. */
|
|
66
|
-
export declare function base64LengthOf(bytes: number): number;
|
|
67
|
-
/** Canonical data URL the OpenAI-compatible video part carries. */
|
|
68
|
-
export declare function videoDataUrl(mediaType: string, base64: string): string;
|
|
69
|
-
/**
|
|
70
|
-
* Human-readable byte size for a refusal message.
|
|
71
|
-
* @param bytes - exact encoded byte length.
|
|
9
|
+
* What stays here is the part that is genuinely Kimi's: the models that take
|
|
10
|
+
* video, and the wording used when one cannot be sent.
|
|
72
11
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
export type VideoOmissionReason = 'unsupported-model' | 'unreadable' | 'unsupported-container'
|
|
76
|
-
/** The selected protocol has no documented video part, so none is sent. */
|
|
77
|
-
| 'unsupported-wire';
|
|
12
|
+
import { type VideoOmissionReason } from '../common/video.ts';
|
|
13
|
+
export { VIDEO_MEDIA_TYPES, base64LengthOf, formatMediaBytes, isVideoMediaType, videoBlockLabel, videoDataUrl, type VideoAttachmentRef, type VideoBlock, type VideoOmissionReason, } from '../common/video.ts';
|
|
78
14
|
/**
|
|
79
15
|
* Deterministic text standing in for a video the request cannot carry.
|
|
80
16
|
*
|
|
@@ -84,11 +20,4 @@ export type VideoOmissionReason = 'unsupported-model' | 'unreadable' | 'unsuppor
|
|
|
84
20
|
* @param label - display name or attachment id, when known.
|
|
85
21
|
*/
|
|
86
22
|
export declare function videoOmissionText(reason: VideoOmissionReason, label?: string): string;
|
|
87
|
-
/** Attachment id or display name for one block, whichever is present. */
|
|
88
|
-
export declare function videoBlockLabel(block: {
|
|
89
|
-
attachment?: {
|
|
90
|
-
name?: string;
|
|
91
|
-
attachmentId?: string;
|
|
92
|
-
};
|
|
93
|
-
}): string | undefined;
|
|
94
23
|
//# sourceMappingURL=modalities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modalities.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/modalities.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"modalities.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/modalities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAYrF"}
|
|
@@ -25,6 +25,14 @@ export interface KimiCodeStatusOptions {
|
|
|
25
25
|
* caller that passes none keeps the single-account behavior.
|
|
26
26
|
*/
|
|
27
27
|
accountPool?: KimiCodeAccountPool;
|
|
28
|
+
/**
|
|
29
|
+
* Session whose cache numbers the card should show.
|
|
30
|
+
*
|
|
31
|
+
* Omitted means "no particular conversation", which reports the process
|
|
32
|
+
* aggregate. The cache is per conversation, so a card that names a session
|
|
33
|
+
* is the only way its hit ratio describes something a reader can act on.
|
|
34
|
+
*/
|
|
35
|
+
sessionId?: string;
|
|
28
36
|
}
|
|
29
37
|
/** Everything the settings card renders: account, quota, and the model catalog. */
|
|
30
38
|
export declare function getKimiCodeWebStatus(store: FileCredentialStore, modelSettings: FileModelSettingsStore, preferences?: KimiCodePreferenceStore, options?: KimiCodeStatusOptions, accountPool?: KimiCodeAccountPool | undefined): Promise<KimiCodeWebStatus>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,EAEL,WAAW,EACX,aAAa,EAKd,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EAEtB,KAAK,oBAAoB,EAGzB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,EAEL,WAAW,EACX,aAAa,EAKd,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EAEtB,KAAK,oBAAoB,EAGzB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAevD,OAAO,EAQL,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAA;AAwD5C;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,OAAO,UAAO,GACb,MAAM,EAAE,CAUV;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAA;IACnC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA;IAChD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,mFAAmF;AACnF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,GAAE,qBAA0B,EACnC,WAAW,GAAE,mBAAmB,GAAG,SAA+B,GACjE,OAAO,CAAC,iBAAiB,CAAC,CA6E5B;AA6CD,qEAAqE;AACrE,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,GAAE,qBAA0B,EACnC,WAAW,GAAE,mBAAmB,GAAG,SAA+B,GACjE,MAAM,IAAI,CA+UZ;AAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KimiCodeReasoningEffort, KimiCodeRegion } from '../../shared/kimi-code-contracts.ts';
|
|
1
|
+
import type { KimiCodeReasoningEffort, KimiCodeRegion, KimiCodeThinkingType } from '../../shared/kimi-code-contracts.ts';
|
|
2
2
|
import type { CredentialStore } from '../token-store.ts';
|
|
3
3
|
import { type ContextWindowOverridePatch } from '../common/context-window-overrides.ts';
|
|
4
4
|
import { DEFAULT_OAUTH_HOST, type KimiCacheTtl } from './types.ts';
|
|
@@ -59,6 +59,35 @@ export interface KimiCodeCatalogModel {
|
|
|
59
59
|
* information rather than acted on.
|
|
60
60
|
*/
|
|
61
61
|
supportsDynamicTools?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Server-declared toggle support for thinking.
|
|
64
|
+
*
|
|
65
|
+
* The three-state declaration, and the one that wins over the older
|
|
66
|
+
* `supports_reasoning` boolean: `only` means the model reasons at every
|
|
67
|
+
* level and cannot be turned off, `no` means it does not reason at all, and
|
|
68
|
+
* `both` means it can be toggled. A model declaring `only` must not be
|
|
69
|
+
* offered a `none` effort, because the service rejects one.
|
|
70
|
+
*
|
|
71
|
+
* Absent on older servers, where the effort list alone is the evidence.
|
|
72
|
+
*/
|
|
73
|
+
thinkingType?: KimiCodeThinkingType;
|
|
74
|
+
/**
|
|
75
|
+
* Largest prompt the model accepts, when it is smaller than the window.
|
|
76
|
+
*
|
|
77
|
+
* A model can have a 1M window and a lower input cap. The window still
|
|
78
|
+
* bounds the completion budget, but prompt budgeting has to use this, or a
|
|
79
|
+
* session is allowed to grow past what the endpoint will accept and the
|
|
80
|
+
* request fails instead of compacting first.
|
|
81
|
+
*/
|
|
82
|
+
maxInputTokens?: number;
|
|
83
|
+
/**
|
|
84
|
+
* Whether the model accepts tool declarations at all.
|
|
85
|
+
*
|
|
86
|
+
* Absent means the server said nothing, which is not the same as a denial —
|
|
87
|
+
* the parser keeps that distinction, so a silent listing does not disable
|
|
88
|
+
* tools on a model that still takes them.
|
|
89
|
+
*/
|
|
90
|
+
supportsToolUse?: boolean;
|
|
62
91
|
}
|
|
63
92
|
export interface KimiCodeModelSettings {
|
|
64
93
|
enabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/token-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/token-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-store.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/video-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"video-store.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/video-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAA+C,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEtG;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,QAAmB,CAAA;AAEpD,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,QAA0C,CAAA;AAE7E,6CAA6C;AAC7C,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AA+BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,+DAA+D;AAC/D,qBAAa,gBAAiB,SAAQ,KAAK;IACZ,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAW,IAAI,EAAE,MAAM;CAInD;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8C9B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAoB,CAAA;AAEzD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,WAAW,SAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CA8B7F;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAIzE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBjF"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { LlmAdapter, type GenerateOptions, type LlmModelInfo, type LlmProviderInfo, type LlmResolvedModelInfo, type PreparedAdapterCall, type ResolvedRetryPolicy, type StreamChunk } from '@deepseek-ai/dsh-llm';
|
|
16
16
|
import { PROVIDER_ID } from './types.ts';
|
|
17
17
|
import { MinimaxCodeCredentialStore, MinimaxCodeModelSettingsStore, type MinimaxCodePreferenceStore } from './token-store.ts';
|
|
18
|
-
import { clampOutputToContext, maxOutputTokensFor, type AttachmentImageReader } from './mapper.ts';
|
|
18
|
+
import { clampOutputToContext, maxOutputTokensFor, type AttachmentVideoReader, type AttachmentImageReader } from './mapper.ts';
|
|
19
19
|
import type { MinimaxCodeAccountPool } from './account-pool.ts';
|
|
20
20
|
/**
|
|
21
21
|
* Transient-failure retry policy for the minimax-code route.
|
|
@@ -63,6 +63,13 @@ export interface MinimaxCodeAdapterOptions {
|
|
|
63
63
|
fetchFn?: typeof fetch;
|
|
64
64
|
/** Attachment seam: verified bytes for one durable image. */
|
|
65
65
|
attachments?: AttachmentImageReader;
|
|
66
|
+
/**
|
|
67
|
+
* Attachment seam: verified bytes for one durable video.
|
|
68
|
+
*
|
|
69
|
+
* Absent means every video resolves to `unavailable` and the model is told the
|
|
70
|
+
* clip is missing, which is the same honest degradation the image seam uses.
|
|
71
|
+
*/
|
|
72
|
+
videos?: AttachmentVideoReader;
|
|
66
73
|
/**
|
|
67
74
|
* The account pool, when this process installed one.
|
|
68
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/minimax-code/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACL,UAAU,EAIV,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAEL,WAAW,EAOZ,MAAM,YAAY,CAAA;AASnB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAG7B,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EAIL,oBAAoB,EAIpB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/minimax-code/adapter.ts"],"names":[],"mappings":"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"}
|