dsh-connect-trae 1.0.0 → 1.1.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/CHANGELOG.md +39 -0
- package/README.en.md +26 -6
- package/README.md +12 -9
- package/cordis.patch.yml +1 -1
- package/docs/assets/dsh-connect-trae-usage-card.png +0 -0
- package/lib/client.js +92 -54
- package/lib/index.d.ts +121 -62
- package/lib/index.js +310 -510
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -34,24 +34,88 @@ interface TraeDiscoveredModel {
|
|
|
34
34
|
declare function parseTraeRemoteModel(value: unknown): TraeDiscoveredModel | undefined;
|
|
35
35
|
//#endregion
|
|
36
36
|
//#region src/catalog.d.ts
|
|
37
|
+
type TraeInputModality = 'text' | 'image';
|
|
38
|
+
/**
|
|
39
|
+
* One model the adapter exposes. `contextWindow` is the effective DSH context
|
|
40
|
+
* after the user's budget; `maxContextWindow` is the native Max window Trae
|
|
41
|
+
* advertises (capability display only — never a second model entry).
|
|
42
|
+
*/
|
|
37
43
|
interface TraeModelInfo {
|
|
38
44
|
id: string;
|
|
39
45
|
name: string;
|
|
40
46
|
contextWindow?: number;
|
|
41
47
|
maxTokens?: number;
|
|
42
|
-
input?:
|
|
48
|
+
input?: TraeInputModality[];
|
|
43
49
|
creditMultiplier?: number;
|
|
44
50
|
reasoningSupported?: boolean;
|
|
45
51
|
reasoning?: TraeDiscoveredReasoning;
|
|
46
52
|
reasoningEfforts?: Partial<Record<TraeReasoningEffort, string | null>>;
|
|
47
|
-
baseModelId?: string;
|
|
48
|
-
maxContext?: boolean;
|
|
49
53
|
maxContextWindow?: number;
|
|
54
|
+
/** The `config_name` `llm_utils_chat` accepts; absent means `id` is already the wire id. */
|
|
55
|
+
wireConfigName?: string;
|
|
50
56
|
}
|
|
51
57
|
/** Bootstrap catalog: identity only where current Trae metadata has not been fetched yet. */
|
|
52
58
|
declare const FALLBACK_TRAE_MODELS: readonly TraeModelInfo[];
|
|
53
|
-
/**
|
|
54
|
-
declare function
|
|
59
|
+
/** Exact DSH modalities for one catalog entry; absent metadata is text-only. */
|
|
60
|
+
declare function traeInputModalities(model: Pick<TraeModelInfo, 'input'>): TraeInputModality[];
|
|
61
|
+
/** Apply the user's explicit image opt-ins; upstream and saved row hints are ignored. */
|
|
62
|
+
declare function applyImageSelection(models: readonly TraeModelInfo[], selected: ReadonlySet<string>): TraeModelInfo[];
|
|
63
|
+
/** One row from `get_detail_param`: the authoritative llm_utils_chat wire id + display name. */
|
|
64
|
+
interface TraeWireModel {
|
|
65
|
+
id: string;
|
|
66
|
+
name: string;
|
|
67
|
+
contextWindow?: number;
|
|
68
|
+
maxTokens?: number;
|
|
69
|
+
reasoning?: TraeReasoningCapability;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Merge the two Trae model sources into one authoritative catalog.
|
|
73
|
+
*
|
|
74
|
+
* `remote` (the solo.trae.cn `/models` directory) is the authoritative model
|
|
75
|
+
* skeleton: it supplies the display id, display name, context windows, credit
|
|
76
|
+
* multiplier, reasoning and multimodal flags. `wire` (from `get_detail_param`)
|
|
77
|
+
* supplies the real `llm_utils_chat` `config_name` — the only id the chat
|
|
78
|
+
* endpoint actually accepts. A remote row is only callable when it maps to a
|
|
79
|
+
* wire `config_name`, so a remote row with no wire match is DROPPED (it would
|
|
80
|
+
* otherwise be sent as an invalid `config_name` and rejected with 4001
|
|
81
|
+
* "param is invalid"). Verified 2026-08-30: the Remote directory advertises
|
|
82
|
+
* `Doubao-Seed-Code` and `glm-5.3`, neither of which is a current `config_name`;
|
|
83
|
+
* both fail every request, so they must not be exposed.
|
|
84
|
+
*
|
|
85
|
+
* Joining is two-tier, in priority order:
|
|
86
|
+
* 1. `wire.id` (the `config_name`) equals the remote id — the model's display
|
|
87
|
+
* id is already its wire id (the common case: glm-5.2, DeepSeek-V4-Flash,
|
|
88
|
+
* kimi-k3, …).
|
|
89
|
+
* 2. `wire.name` (the `display_name`) equals the remote display name — for
|
|
90
|
+
* models whose display id differs from the wire id across Trae versions.
|
|
91
|
+
* When the matched wire `config_name` differs from the remote id it is recorded
|
|
92
|
+
* as `wireConfigName`; otherwise it is left undefined (id is already the wire id).
|
|
93
|
+
*/
|
|
94
|
+
declare function mergeTraeModelSources(remote: readonly TraeDiscoveredModel[], wire: readonly TraeWireModel[]): TraeModelInfo[];
|
|
95
|
+
/** Local DSH context budget per model; a value may only select an advertised window. */
|
|
96
|
+
type TraeContextBudget = number;
|
|
97
|
+
/**
|
|
98
|
+
* Apply the saved local budget. Trae advertises two windows per model (dev and
|
|
99
|
+
* Max), so the budget may only switch a model to its own advertised Max value —
|
|
100
|
+
* never to a fabricated number. Everything else keeps the dev window.
|
|
101
|
+
*/
|
|
102
|
+
declare function applyContextBudgets(catalog: readonly TraeModelInfo[], budgets?: Readonly<Record<string, TraeContextBudget | undefined>>): TraeModelInfo[];
|
|
103
|
+
/** Convert Trae metadata into text-only model rows; image support is user-owned configuration. */
|
|
104
|
+
declare function discoveredCatalog(models: readonly TraeDiscoveredModel[]): TraeModelInfo[];
|
|
105
|
+
/**
|
|
106
|
+
* Drop rows saved by older releases that generated `@1m` variant models, so a
|
|
107
|
+
* stale configuration cannot resurrect a variant the runtime no longer builds.
|
|
108
|
+
*/
|
|
109
|
+
declare function sanitizeCatalog(catalog: readonly TraeModelInfo[]): TraeModelInfo[];
|
|
110
|
+
/**
|
|
111
|
+
* Derive the runtime catalog from the last refreshed Trae directory plus the
|
|
112
|
+
* user's explicit selection and context budgets. An empty selection falls back
|
|
113
|
+
* to the whole directory: a plugin that has never been configured must still
|
|
114
|
+
* serve models rather than nothing. This is the single source of truth for
|
|
115
|
+
* what DSH actually exposes, so saving only the selection and budgets is
|
|
116
|
+
* enough to rebuild it after a restart.
|
|
117
|
+
*/
|
|
118
|
+
declare function deriveCatalog(catalog: readonly TraeModelInfo[], enabled: ReadonlySet<string>, budgets?: Readonly<Record<string, TraeContextBudget | undefined>>): TraeModelInfo[];
|
|
55
119
|
declare class TraeCatalog {
|
|
56
120
|
private models;
|
|
57
121
|
current(): readonly TraeModelInfo[];
|
|
@@ -161,7 +225,6 @@ declare class TraeCredentialStore {
|
|
|
161
225
|
private storagePathOverride;
|
|
162
226
|
private edition;
|
|
163
227
|
private accountId;
|
|
164
|
-
private preferIds;
|
|
165
228
|
private readonly ownPath;
|
|
166
229
|
private readonly refresh;
|
|
167
230
|
private readonly refreshMarginMs;
|
|
@@ -169,15 +232,13 @@ declare class TraeCredentialStore {
|
|
|
169
232
|
constructor(options: TraeCredentialStoreOptions);
|
|
170
233
|
setSource(storagePath: string | undefined, edition?: TraeEdition | 'auto', accountId?: string): void;
|
|
171
234
|
selectAccount(accountId: string | undefined): void;
|
|
235
|
+
candidates(): TraeStorageCandidate[];
|
|
172
236
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
237
|
+
* Deterministic default when no account is explicitly selected: the first
|
|
238
|
+
* discovered account. This is NOT credit-seeking — it never reorders accounts
|
|
239
|
+
* to find one with general credits. The plugin bills exactly the account the
|
|
240
|
+
* user selected, or the first account when nothing has been selected yet.
|
|
177
241
|
*/
|
|
178
|
-
setPreferAccountIds(ids: readonly string[]): void;
|
|
179
|
-
candidates(): TraeStorageCandidate[];
|
|
180
|
-
/** First credential matching the preferred ordering, else the first live one. */
|
|
181
242
|
private preferred;
|
|
182
243
|
accounts(): Promise<TraeAccountChoice[]>;
|
|
183
244
|
current(): Promise<TraeCredential | undefined>;
|
|
@@ -213,8 +274,16 @@ interface TraeIdentity {
|
|
|
213
274
|
osVersion?: string;
|
|
214
275
|
platform: NodeJS.Platform;
|
|
215
276
|
}
|
|
277
|
+
interface TraeIdentityReadOptions {
|
|
278
|
+
/** Platform override for testing; defaults to process.platform. */
|
|
279
|
+
platform?: NodeJS.Platform;
|
|
280
|
+
/** Home-directory override for testing; defaults to homedir(). */
|
|
281
|
+
home?: string;
|
|
282
|
+
/** Environment override for testing; defaults to process.env. */
|
|
283
|
+
env?: NodeJS.ProcessEnv;
|
|
284
|
+
}
|
|
216
285
|
/** Read stable identity from Trae-owned files without generating impersonated IDs. */
|
|
217
|
-
declare function readTraeIdentity(candidate: TraeStorageCandidate): Promise<TraeIdentity>;
|
|
286
|
+
declare function readTraeIdentity(candidate: TraeStorageCandidate, options?: TraeIdentityReadOptions): Promise<TraeIdentity>;
|
|
218
287
|
/** Headers derived from actual persisted identity, never a new random identity per request. */
|
|
219
288
|
declare function identityHeaders(identity: TraeIdentity): Record<string, string>;
|
|
220
289
|
//#endregion
|
|
@@ -244,8 +313,20 @@ interface TraeCachedModelConfig {
|
|
|
244
313
|
}
|
|
245
314
|
/** Parse a safe subset of one cached model entry; credentials and endpoints are intentionally omitted. */
|
|
246
315
|
declare function parseTraeCachedModel(value: unknown): TraeCachedModelConfig | undefined;
|
|
247
|
-
|
|
248
|
-
|
|
316
|
+
interface TraeCachedModelReadOptions {
|
|
317
|
+
/** Platform override for testing; defaults to process.platform. */
|
|
318
|
+
platform?: NodeJS.Platform;
|
|
319
|
+
/** Home-directory override for testing; defaults to homedir(). */
|
|
320
|
+
home?: string;
|
|
321
|
+
/** Environment override for testing; defaults to process.env. */
|
|
322
|
+
env?: NodeJS.ProcessEnv;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Read Trae's own current user's model map via sqlite3 without exposing
|
|
326
|
+
* secrets. The sqlite3 command line is a macOS prerequisite; on Windows it is
|
|
327
|
+
* typically absent, so the call fails and callers fall back gracefully.
|
|
328
|
+
*/
|
|
329
|
+
declare function readTraeCachedModel(functionName: string, modelName: string, userId: string, options?: TraeCachedModelReadOptions): Promise<TraeCachedModelConfig | undefined>;
|
|
249
330
|
//#endregion
|
|
250
331
|
//#region src/model-extra-config.d.ts
|
|
251
332
|
interface TraeRawChatBehaviorConfig {
|
|
@@ -591,7 +672,7 @@ interface TraeFallbackUpstreamOptions {
|
|
|
591
672
|
}>) => void;
|
|
592
673
|
}
|
|
593
674
|
/**
|
|
594
|
-
*
|
|
675
|
+
* Optional primary route first, native SOLO tool-call route second. Fallback is intentionally narrow:
|
|
595
676
|
* only definitive pre-stream schema/route incompatibilities may retry the same
|
|
596
677
|
* user request. Authentication, credit, rate, cancellation, transport/server
|
|
597
678
|
* failures, and every successful Response are never replayed.
|
|
@@ -686,6 +767,7 @@ interface TraeSoloClientOptions {
|
|
|
686
767
|
identity(): Promise<TraeIdentity>;
|
|
687
768
|
baseUrl?: string;
|
|
688
769
|
fetchImpl?: typeof fetch;
|
|
770
|
+
log?: (message: string, detail?: unknown) => void;
|
|
689
771
|
}
|
|
690
772
|
declare class TraeSoloUpstreamClient {
|
|
691
773
|
private readonly options;
|
|
@@ -698,58 +780,39 @@ declare class TraeSoloUpstreamClient {
|
|
|
698
780
|
//#region src/solo-bridge.d.ts
|
|
699
781
|
/** Convert Trae's named SSE events into OpenAI chat-completion SSE chunks. */
|
|
700
782
|
declare function bridgeTraeSoloStream(response: Response, model: string): Response;
|
|
783
|
+
/** Resolves a display model id to the real llm_utils_chat config_name. */
|
|
784
|
+
type TraeWireResolver = (displayId: string) => string | undefined;
|
|
701
785
|
/** Native SOLO client wrapper used by the loopback OpenAI adapter. */
|
|
702
786
|
declare class TraeSoloBridge implements TraeUpstreamClient {
|
|
703
787
|
private readonly upstream;
|
|
704
|
-
|
|
788
|
+
private readonly catalog?;
|
|
789
|
+
private readonly wireResolver?;
|
|
790
|
+
constructor(upstream: TraeUpstreamClient, catalog?: Pick<TraeCatalog, "current"> | undefined, wireResolver?: TraeWireResolver | undefined);
|
|
705
791
|
chatStream(bodyJson: string, signal?: AbortSignal): Promise<TraeChatResult>;
|
|
706
792
|
}
|
|
707
793
|
//#endregion
|
|
708
794
|
//#region src/solo-remote.d.ts
|
|
709
795
|
declare const TRAE_SOLO_REMOTE_BASE = "https://solo.trae.cn/api/remote/v1";
|
|
710
|
-
|
|
711
|
-
name: string;
|
|
712
|
-
displayName: string;
|
|
713
|
-
multimodal: boolean;
|
|
714
|
-
}[];
|
|
715
|
-
interface TraeSoloRemoteOptions {
|
|
796
|
+
interface TraeSoloRemoteCatalogOptions {
|
|
716
797
|
credential(): Promise<TraeCredential>;
|
|
717
798
|
fetchImpl?: typeof fetch;
|
|
718
799
|
baseUrl?: string;
|
|
719
|
-
pollIntervalMs?: number;
|
|
720
|
-
timeoutMs?: number;
|
|
721
|
-
}
|
|
722
|
-
interface TraeRemoteInputMessage {
|
|
723
|
-
role: string;
|
|
724
|
-
content: string;
|
|
725
800
|
}
|
|
726
|
-
|
|
801
|
+
/**
|
|
802
|
+
* Read-only model catalog client for the SOLO Web API.
|
|
803
|
+
*
|
|
804
|
+
* This deliberately has no chat/session method: the Remote session protocol
|
|
805
|
+
* only exposes a final answer and cannot preserve DSH's structured tool loop.
|
|
806
|
+
*/
|
|
807
|
+
declare class TraeSoloRemoteCatalogClient {
|
|
727
808
|
private readonly options;
|
|
728
809
|
private readonly fetchImpl;
|
|
729
810
|
private readonly baseUrl;
|
|
730
|
-
|
|
731
|
-
private readonly timeoutMs;
|
|
732
|
-
constructor(options: TraeSoloRemoteOptions);
|
|
811
|
+
constructor(options: TraeSoloRemoteCatalogOptions);
|
|
733
812
|
private headers;
|
|
734
|
-
chat(messages: readonly TraeRemoteInputMessage[], model: string, signal?: AbortSignal): Promise<{
|
|
735
|
-
content: string;
|
|
736
|
-
sessionId: string;
|
|
737
|
-
}>;
|
|
738
813
|
fetchModels(signal?: AbortSignal): Promise<TraeDiscoveredModel[]>;
|
|
739
814
|
}
|
|
740
815
|
//#endregion
|
|
741
|
-
//#region src/solo-remote-bridge.d.ts
|
|
742
|
-
/**
|
|
743
|
-
* Bridges the SOLO remote polling-based API into the shim's stream interface.
|
|
744
|
-
* The remote API uses create-session + poll-messages rather than raw SSE,
|
|
745
|
-
* so this bridge converts the final result into a synthetic OpenAI SSE stream.
|
|
746
|
-
*/
|
|
747
|
-
declare class TraeSoloRemoteBridge implements TraeUpstreamClient {
|
|
748
|
-
private readonly remote;
|
|
749
|
-
constructor(remote: TraeSoloRemoteClient);
|
|
750
|
-
chatStream(bodyJson: string, signal?: AbortSignal): Promise<TraeChatResult>;
|
|
751
|
-
}
|
|
752
|
-
//#endregion
|
|
753
816
|
//#region src/delegating-upstream.d.ts
|
|
754
817
|
/** Stable shim dependency whose delegate can be replaced after async setup. */
|
|
755
818
|
declare class TraeDelegatingUpstreamClient implements TraeUpstreamClient {
|
|
@@ -877,10 +940,7 @@ interface TraeWebModel {
|
|
|
877
940
|
supported: string[];
|
|
878
941
|
defaultEffort?: string;
|
|
879
942
|
};
|
|
880
|
-
baseModelId?: string;
|
|
881
|
-
maxContext?: boolean;
|
|
882
943
|
maxContextWindow?: number;
|
|
883
|
-
maxContextEnabled?: boolean;
|
|
884
944
|
}
|
|
885
945
|
/** Daily check-in status rendered by the card. */
|
|
886
946
|
interface TraeWebCheckin {
|
|
@@ -915,7 +975,6 @@ type TraeWebUsage = {
|
|
|
915
975
|
accounts: readonly TraeWebAccount[];
|
|
916
976
|
models: readonly TraeWebModel[];
|
|
917
977
|
enabledModelIds: readonly string[];
|
|
918
|
-
enabled1mModelIds: readonly string[];
|
|
919
978
|
rawChat?: {
|
|
920
979
|
state: 'disabled' | 'unchecked' | 'available' | 'protocol-gated' | 'authentication' | 'credit' | 'rate' | 'transport' | 'server';
|
|
921
980
|
checkedAtMs?: number;
|
|
@@ -933,12 +992,10 @@ type TraeWebUsage = {
|
|
|
933
992
|
interface TraeUsageRouteOptions {
|
|
934
993
|
store: TraeCredentialStore;
|
|
935
994
|
client: TraeUsageClient;
|
|
936
|
-
/** The last-refreshed Trae raw directory (
|
|
995
|
+
/** The last-refreshed Trae raw directory (one entry per upstream model) for card display. */
|
|
937
996
|
displayModels(): readonly TraeModelInfo[];
|
|
938
|
-
/** The user's
|
|
997
|
+
/** The user's model selection stored as model id (= Trae name). */
|
|
939
998
|
enabledModelIds(): readonly string[];
|
|
940
|
-
/** The user's 1M selection stored as base-model id. */
|
|
941
|
-
enabled1mModelIds(): readonly string[];
|
|
942
999
|
discoverModels?(signal?: AbortSignal): Promise<readonly TraeModelInfo[]>;
|
|
943
1000
|
rawDiagnostic?(): TraeRawDiagnostic;
|
|
944
1001
|
}
|
|
@@ -952,7 +1009,7 @@ declare function traeWebUsage(deps: TraeUsageRouteOptions): Promise<TraeWebUsage
|
|
|
952
1009
|
declare function registerTraeUsageRoute(ctx: Context, deps: TraeUsageRouteOptions): void;
|
|
953
1010
|
//#endregion
|
|
954
1011
|
//#region src/index.d.ts
|
|
955
|
-
declare const name = "
|
|
1012
|
+
declare const name = "dsh-connect-trae";
|
|
956
1013
|
declare const inject: string[];
|
|
957
1014
|
declare const TRAE_SETTINGS_NS: import("@deepseek-ai/dsh-settings").SettingsNamespace;
|
|
958
1015
|
interface Config {
|
|
@@ -964,12 +1021,14 @@ interface Config {
|
|
|
964
1021
|
lastCatalog?: TraeModelInfo[];
|
|
965
1022
|
/** The user's ordinary-model selection, as model id (= Trae name). */
|
|
966
1023
|
enabledModelIds?: string[];
|
|
967
|
-
/**
|
|
968
|
-
|
|
1024
|
+
/** Local DSH context budget per model; a value may only select an advertised window. */
|
|
1025
|
+
contextBudgets?: Record<string, number>;
|
|
1026
|
+
/** Models the user explicitly enabled for image input; text is always enabled. */
|
|
1027
|
+
imageModelIds?: string[];
|
|
969
1028
|
/** Legacy generated runtime catalog; kept for backwards compatibility. */
|
|
970
1029
|
models?: TraeModelInfo[];
|
|
971
1030
|
}
|
|
972
1031
|
declare const Config: z<Config>;
|
|
973
1032
|
declare function apply(ctx: Context, config: Config): void;
|
|
974
1033
|
//#endregion
|
|
975
|
-
export { Config, FALLBACK_TRAE_MODELS, type RawChatDelta, type RawChatMessage, type RawChatTool, SseDecoder, type SseEvent, TRAE_CN_AGENT_TASK_PATH, TRAE_CN_TITLE_PATH, TRAE_MODEL_DETAIL_FUNCTIONS, TRAE_MODEL_DETAIL_PATH, TRAE_PAY_BASE, TRAE_PROVIDER, TRAE_RAW_CHAT_V1_PATH, TRAE_RAW_CHAT_V2_PATH, TRAE_REASONING_EFFORTS, TRAE_SETTINGS_NS, TRAE_SOLO_CHAT_PATH, TRAE_SOLO_FUNCTION, TRAE_SOLO_MODELS_PATH, TRAE_SOLO_REMOTE_BASE,
|
|
1034
|
+
export { Config, FALLBACK_TRAE_MODELS, type RawChatDelta, type RawChatMessage, type RawChatTool, SseDecoder, type SseEvent, TRAE_CN_AGENT_TASK_PATH, TRAE_CN_TITLE_PATH, TRAE_MODEL_DETAIL_FUNCTIONS, TRAE_MODEL_DETAIL_PATH, TRAE_PAY_BASE, TRAE_PROVIDER, TRAE_RAW_CHAT_V1_PATH, TRAE_RAW_CHAT_V2_PATH, TRAE_REASONING_EFFORTS, TRAE_SETTINGS_NS, TRAE_SOLO_CHAT_PATH, TRAE_SOLO_FUNCTION, TRAE_SOLO_MODELS_PATH, TRAE_SOLO_REMOTE_BASE, TRAE_STREAM_IDLE_TIMEOUT_MS, TRAE_USAGE_PATH, TRAE_VERSION_CODE_FALLBACK, type TraeActivityRule, type TraeCachedModelConfig, TraeCatalog, type TraeChatResult, type TraeCheckinStatus, type TraeContextBudget, type TraeCredential, TraeCredentialStore, TraeDelegatingUpstreamClient, type TraeDiscoveredModel, type TraeDiscoveredReasoning, type TraeEdition, TraeFallbackUpstreamClient, type TraeFallbackUpstreamOptions, type TraeFusionRawChatEnvelope, TraeGatedUpstreamClient, type TraeGatedUpstreamOptions, type TraeIdentity, type TraeInputModality, type TraeModelDetailRequest, type TraeModelInfo, type TraeObservedModelConfig, TraeRawCapabilityController, type TraeRawCapabilityControllerOptions, type TraeRawCapabilitySnapshot, TraeRawCapabilityState, type TraeRawChatBehaviorConfig, type TraeRawChatCapability, type TraeRawChatClientOptions, type TraeRawChatConfig, type TraeRawChatFailureReason, type TraeRawChatRuntimeConfig, TraeRawChatUpstreamClient, type TraeRawDiagnostic, type TraeRawDiagnosticState, type TraeRawGateway, type TraeRawGatewayOptions, type TraeRawResolverResult, type TraeReasoningCapability, type TraeReasoningEffort, type TraeShim, TraeSoloBridge, type TraeSoloClientOptions, TraeSoloRemoteCatalogClient, type TraeSoloRemoteCatalogOptions, TraeSoloUpstreamClient, type TraeStorageCandidate, type TraeStreamEvent, type TraeUpstreamClient, TraeUsageClient, type TraeUsageOptions, type TraeUsagePack, type TraeUsageRouteOptions, type TraeUsageSnapshot, type TraeUsageSummary, type TraeUsageView, type TraeWebActivity, type TraeWebCheckin, type TraeWebCredits, type TraeWebUsage, type TraeWireModel, UnconfiguredTraeUpstreamClient, apply, applyContextBudgets, applyImageSelection, applyReasoningEffort, bridgeTraeSoloStream, buildTraeAgentTaskBody, buildTraeCnHeaders, buildTraeFusionRawChatEnvelope, buildTraeModelDetailRequest, buildTraeRawChatDraft, buildTraeRawChatRuntimeConfig, classifyTraeRawChatFailure, createTraeAdapter, createTraeRawGateway, createTraeShim, decodeRawChatChunk, decodeTraeEvent, decryptTraeStorageValue, deriveCatalog, discoveredCatalog, hashTraeRawChatArg, identityHeaders, inject, mergeTraeModelSources, name, normalizeTraeCredential, normalizeTraeVersionCode, parseObservedModelConfig, parseReasoningCapability, parseTraeAuthValue, parseTraeCachedModel, parseTraeModelExtraConfigLogLine, parseTraeRawChatBehaviorConfig, parseTraeRemoteModel, parseTraeStorageDocument, prepareSoloBody, probeTraeRawChatCapability, rawCapabilityDiagnostic, rawCapabilityFingerprint, readTraeCachedModel, readTraeIdentity, refreshTraeCredential, registerTraeUsageRoute, resolveTraeRawRuntime, sanitizeCatalog, traeEndpoint, traeInputModalities, traeOwnAuthPath, traeRawChatExtraInfo, traeStorageCandidates, traeWebUsage };
|