@acosmi/sdk-ts 2.8.0 → 2.10.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 +25 -0
- package/README.md +63 -0
- package/dist/browser/index.mjs +47 -8
- package/dist/browser/index.mjs.map +1 -1
- package/dist/index.mjs +47 -8
- package/dist/index.mjs.map +1 -1
- package/dist/node/adapters/anthropic.cjs.map +1 -1
- package/dist/node/adapters/anthropic.d.cts +1 -1
- package/dist/node/adapters/anthropic.d.ts +1 -1
- package/dist/node/adapters/anthropic.mjs.map +1 -1
- package/dist/node/adapters/openai.cjs.map +1 -1
- package/dist/node/adapters/openai.d.cts +2 -2
- package/dist/node/adapters/openai.d.ts +2 -2
- package/dist/node/adapters/openai.mjs.map +1 -1
- package/dist/node/{index-BrbgHn0E.d.cts → index-CsDRFZIj.d.cts} +99 -1
- package/dist/node/{index-BrbgHn0E.d.ts → index-CsDRFZIj.d.ts} +99 -1
- package/dist/node/index.cjs +47 -8
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +41 -10
- package/dist/node/index.d.ts +41 -10
- package/dist/node/index.mjs +47 -8
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/{openai-DoPpzZmv.d.ts → openai-BdpEzATI.d.ts} +1 -1
- package/dist/node/{openai-CeM2k04b.d.cts → openai-Z2NDbHhT.d.cts} +1 -1
- package/package.json +1 -1
package/dist/node/index.cjs
CHANGED
|
@@ -2208,9 +2208,16 @@ var Client = class _Client {
|
|
|
2208
2208
|
fetchImpl;
|
|
2209
2209
|
/** 互斥锁 (TS 用 Promise chain 替代 sync.Mutex) */
|
|
2210
2210
|
mu = Promise.resolve();
|
|
2211
|
-
/**
|
|
2211
|
+
/**
|
|
2212
|
+
* WebSocket 状态 (实际方法由 ws.ts mixin 维护)。
|
|
2213
|
+
* @internal — 实现细节: 跨模块 (ws.ts mixin) 需可见故为 public, 但非消费者 API,
|
|
2214
|
+
* 消费者用 connect/subscribe 等高层方法; 引用的 WSState 不进公开文档。
|
|
2215
|
+
*/
|
|
2212
2216
|
ws = null;
|
|
2213
|
-
/**
|
|
2217
|
+
/**
|
|
2218
|
+
* v0.15.1: token 就绪等待机制 — login 成功后 resolve, 等待方解除阻塞。
|
|
2219
|
+
* @internal — 内部同步原语 (Deferred), 非消费者 API。
|
|
2220
|
+
*/
|
|
2214
2221
|
tokenReady = newDeferred();
|
|
2215
2222
|
/** Login 进行中 — 等待方需等而非 fail-fast */
|
|
2216
2223
|
loginInFlight = false;
|
|
@@ -2681,8 +2688,8 @@ var Client = class _Client {
|
|
|
2681
2688
|
* V30 二轮审计 D-P1-2: 此方法不返回 entitlement-filter-status header.
|
|
2682
2689
|
* UI 想根据 fallback 状态显示降级提示, 请改调 listModelsWithStatus.
|
|
2683
2690
|
*/
|
|
2684
|
-
async listModels(signal) {
|
|
2685
|
-
const r = await this.listModelsWithStatus(signal);
|
|
2691
|
+
async listModels(signal, opts) {
|
|
2692
|
+
const r = await this.listModelsWithStatus(signal, opts);
|
|
2686
2693
|
return r.models;
|
|
2687
2694
|
}
|
|
2688
2695
|
/**
|
|
@@ -2695,16 +2702,20 @@ var Client = class _Client {
|
|
|
2695
2702
|
* - status === 'disabled-by-flag' → 不显示余量 (运维灰度中)
|
|
2696
2703
|
* - status === '' (Unknown) → 老 nexus, 按老 v0.17 行为 (不显示 BucketInfo)
|
|
2697
2704
|
*/
|
|
2698
|
-
async listModelsWithStatus(signal) {
|
|
2705
|
+
async listModelsWithStatus(signal, opts) {
|
|
2706
|
+
const includeLocked = opts?.includeLocked === true;
|
|
2707
|
+
const path = includeLocked ? "/managed-models?picker=1" : "/managed-models";
|
|
2699
2708
|
const { result, headers } = await this.doJSONFull(
|
|
2700
2709
|
"GET",
|
|
2701
|
-
|
|
2710
|
+
path,
|
|
2702
2711
|
null,
|
|
2703
2712
|
signal
|
|
2704
2713
|
);
|
|
2705
2714
|
const normalized = normalizeInputModalities(result.data);
|
|
2706
|
-
|
|
2707
|
-
|
|
2715
|
+
if (!includeLocked) {
|
|
2716
|
+
this.modelCache = normalized;
|
|
2717
|
+
this.modelCacheTimeMs = Date.now();
|
|
2718
|
+
}
|
|
2708
2719
|
let status = "";
|
|
2709
2720
|
if (headers) {
|
|
2710
2721
|
const h = headers.get("X-Entitlement-Filter-Status");
|
|
@@ -2899,6 +2910,34 @@ var Client = class _Client {
|
|
|
2899
2910
|
const { result } = await this.doJSONFullRaw("GET", endpoint, null, signal);
|
|
2900
2911
|
return this.unwrapAPIResponse(result);
|
|
2901
2912
|
}
|
|
2913
|
+
/**
|
|
2914
|
+
* 向量 (同步)。POST /managed-models/:id/embeddings
|
|
2915
|
+
*
|
|
2916
|
+
* 仅 capabilities.supports_embedding=true 的托管模型可用 (上游接 DashScope)。
|
|
2917
|
+
* 响应为 OpenAI /v1/embeddings 标准格式 (网关直通, 无 response.Success 包装)。
|
|
2918
|
+
*
|
|
2919
|
+
* @param modelID 向量托管模型 ID
|
|
2920
|
+
*/
|
|
2921
|
+
async embeddings(modelID, req, signal) {
|
|
2922
|
+
const endpoint = `/managed-models/${encodeURIComponent(modelID)}/embeddings`;
|
|
2923
|
+
const { result } = await this.doJSONFullRaw("POST", endpoint, req, signal, CHAT_REQUEST_TIMEOUT_MS);
|
|
2924
|
+
return JSON.parse(new TextDecoder().decode(result));
|
|
2925
|
+
}
|
|
2926
|
+
/**
|
|
2927
|
+
* 重排序 (同步)。POST /managed-models/:id/rerank
|
|
2928
|
+
*
|
|
2929
|
+
* 仅 capabilities.supports_rerank=true 的托管模型可用 (上游接 DashScope)。
|
|
2930
|
+
* 统一扁平契约: { query, documents[], top_n?, return_documents?, instruct? };
|
|
2931
|
+
* 响应 { results: [{ index, relevance_score, document? }], usage, model }
|
|
2932
|
+
* (网关已把上游原生/OpenAI 兼容两线路归一化, 无 response.Success 包装)。
|
|
2933
|
+
*
|
|
2934
|
+
* @param modelID 重排序托管模型 ID
|
|
2935
|
+
*/
|
|
2936
|
+
async rerank(modelID, req, signal) {
|
|
2937
|
+
const endpoint = `/managed-models/${encodeURIComponent(modelID)}/rerank`;
|
|
2938
|
+
const { result } = await this.doJSONFullRaw("POST", endpoint, req, signal, CHAT_REQUEST_TIMEOUT_MS);
|
|
2939
|
+
return JSON.parse(new TextDecoder().decode(result));
|
|
2940
|
+
}
|
|
2902
2941
|
/**
|
|
2903
2942
|
* Anthropic 原生格式同步聊天
|
|
2904
2943
|
* v0.5.0: 根据 provider 自动路由
|