@acosmi/sdk-ts 2.8.0 → 2.9.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/dist/index.mjs CHANGED
@@ -2679,8 +2679,8 @@ var Client = class _Client {
2679
2679
  * V30 二轮审计 D-P1-2: 此方法不返回 entitlement-filter-status header.
2680
2680
  * UI 想根据 fallback 状态显示降级提示, 请改调 listModelsWithStatus.
2681
2681
  */
2682
- async listModels(signal) {
2683
- const r = await this.listModelsWithStatus(signal);
2682
+ async listModels(signal, opts) {
2683
+ const r = await this.listModelsWithStatus(signal, opts);
2684
2684
  return r.models;
2685
2685
  }
2686
2686
  /**
@@ -2693,16 +2693,20 @@ var Client = class _Client {
2693
2693
  * - status === 'disabled-by-flag' → 不显示余量 (运维灰度中)
2694
2694
  * - status === '' (Unknown) → 老 nexus, 按老 v0.17 行为 (不显示 BucketInfo)
2695
2695
  */
2696
- async listModelsWithStatus(signal) {
2696
+ async listModelsWithStatus(signal, opts) {
2697
+ const includeLocked = opts?.includeLocked === true;
2698
+ const path = includeLocked ? "/managed-models?picker=1" : "/managed-models";
2697
2699
  const { result, headers } = await this.doJSONFull(
2698
2700
  "GET",
2699
- "/managed-models",
2701
+ path,
2700
2702
  null,
2701
2703
  signal
2702
2704
  );
2703
2705
  const normalized = normalizeInputModalities(result.data);
2704
- this.modelCache = normalized;
2705
- this.modelCacheTimeMs = Date.now();
2706
+ if (!includeLocked) {
2707
+ this.modelCache = normalized;
2708
+ this.modelCacheTimeMs = Date.now();
2709
+ }
2706
2710
  let status = "";
2707
2711
  if (headers) {
2708
2712
  const h = headers.get("X-Entitlement-Filter-Status");
@@ -2897,6 +2901,34 @@ var Client = class _Client {
2897
2901
  const { result } = await this.doJSONFullRaw("GET", endpoint, null, signal);
2898
2902
  return this.unwrapAPIResponse(result);
2899
2903
  }
2904
+ /**
2905
+ * 向量 (同步)。POST /managed-models/:id/embeddings
2906
+ *
2907
+ * 仅 capabilities.supports_embedding=true 的托管模型可用 (上游接 DashScope)。
2908
+ * 响应为 OpenAI /v1/embeddings 标准格式 (网关直通, 无 response.Success 包装)。
2909
+ *
2910
+ * @param modelID 向量托管模型 ID
2911
+ */
2912
+ async embeddings(modelID, req, signal) {
2913
+ const endpoint = `/managed-models/${encodeURIComponent(modelID)}/embeddings`;
2914
+ const { result } = await this.doJSONFullRaw("POST", endpoint, req, signal, CHAT_REQUEST_TIMEOUT_MS);
2915
+ return JSON.parse(new TextDecoder().decode(result));
2916
+ }
2917
+ /**
2918
+ * 重排序 (同步)。POST /managed-models/:id/rerank
2919
+ *
2920
+ * 仅 capabilities.supports_rerank=true 的托管模型可用 (上游接 DashScope)。
2921
+ * 统一扁平契约: { query, documents[], top_n?, return_documents?, instruct? };
2922
+ * 响应 { results: [{ index, relevance_score, document? }], usage, model }
2923
+ * (网关已把上游原生/OpenAI 兼容两线路归一化, 无 response.Success 包装)。
2924
+ *
2925
+ * @param modelID 重排序托管模型 ID
2926
+ */
2927
+ async rerank(modelID, req, signal) {
2928
+ const endpoint = `/managed-models/${encodeURIComponent(modelID)}/rerank`;
2929
+ const { result } = await this.doJSONFullRaw("POST", endpoint, req, signal, CHAT_REQUEST_TIMEOUT_MS);
2930
+ return JSON.parse(new TextDecoder().decode(result));
2931
+ }
2900
2932
  /**
2901
2933
  * Anthropic 原生格式同步聊天
2902
2934
  * v0.5.0: 根据 provider 自动路由