@coralai/sps-cli 0.65.74 → 0.65.76
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/commands/artCommand.d.ts.map +1 -1
- package/dist/commands/artCommand.js +13 -3
- package/dist/commands/artCommand.js.map +1 -1
- package/dist/console/index.d.ts.map +1 -1
- package/dist/console/index.js +8 -0
- package/dist/console/index.js.map +1 -1
- package/dist/console/lib/artPaths.d.ts +29 -0
- package/dist/console/lib/artPaths.d.ts.map +1 -0
- package/dist/console/lib/artPaths.js +170 -0
- package/dist/console/lib/artPaths.js.map +1 -0
- package/dist/console/lib/artRunRequest.d.ts +46 -0
- package/dist/console/lib/artRunRequest.d.ts.map +1 -0
- package/dist/console/lib/artRunRequest.js +107 -0
- package/dist/console/lib/artRunRequest.js.map +1 -0
- package/dist/console/routes/art.d.ts +3 -0
- package/dist/console/routes/art.d.ts.map +1 -0
- package/dist/console/routes/art.js +355 -0
- package/dist/console/routes/art.js.map +1 -0
- package/dist/console/routes/artPipeline.d.ts +15 -0
- package/dist/console/routes/artPipeline.d.ts.map +1 -0
- package/dist/console/routes/artPipeline.js +83 -0
- package/dist/console/routes/artPipeline.js.map +1 -0
- package/dist/core/art/artConcurrency.d.ts +63 -0
- package/dist/core/art/artConcurrency.d.ts.map +1 -0
- package/dist/core/art/artConcurrency.js +63 -0
- package/dist/core/art/artConcurrency.js.map +1 -0
- package/dist/core/art/artRunLauncher.d.ts +6 -0
- package/dist/core/art/artRunLauncher.d.ts.map +1 -0
- package/dist/core/art/artRunLauncher.js +91 -0
- package/dist/core/art/artRunLauncher.js.map +1 -0
- package/dist/core/art/artRunService.d.ts +102 -0
- package/dist/core/art/artRunService.d.ts.map +1 -0
- package/dist/core/art/artRunService.js +181 -0
- package/dist/core/art/artRunService.js.map +1 -0
- package/dist/core/art/assetLocator.d.ts +33 -0
- package/dist/core/art/assetLocator.d.ts.map +1 -0
- package/dist/core/art/assetLocator.js +61 -0
- package/dist/core/art/assetLocator.js.map +1 -0
- package/dist/providers/art/artDriver.d.ts +71 -0
- package/dist/providers/art/artDriver.d.ts.map +1 -0
- package/dist/providers/art/artDriver.js +119 -0
- package/dist/providers/art/artDriver.js.map +1 -0
- package/dist/providers/art/artEvents.d.ts +23 -0
- package/dist/providers/art/artEvents.d.ts.map +1 -0
- package/dist/providers/art/artEvents.js +40 -0
- package/dist/providers/art/artEvents.js.map +1 -0
- package/dist/providers/art/artGen.d.ts +253 -0
- package/dist/providers/art/artGen.d.ts.map +1 -0
- package/dist/providers/art/artGen.js +1263 -0
- package/dist/providers/art/artGen.js.map +1 -0
- package/dist/providers/art/artPrompt.d.ts +42 -0
- package/dist/providers/art/artPrompt.d.ts.map +1 -0
- package/dist/providers/art/artPrompt.js +41 -0
- package/dist/providers/art/artPrompt.js.map +1 -0
- package/dist/providers/art/artRunChild.d.ts +3 -0
- package/dist/providers/art/artRunChild.d.ts.map +1 -0
- package/dist/providers/art/artRunChild.js +127 -0
- package/dist/providers/art/artRunChild.js.map +1 -0
- package/dist/providers/art/atomicWrite.d.ts +16 -0
- package/dist/providers/art/atomicWrite.d.ts.map +1 -0
- package/dist/providers/art/atomicWrite.js +62 -0
- package/dist/providers/art/atomicWrite.js.map +1 -0
- package/dist/providers/art/cancelMarker.d.ts +9 -0
- package/dist/providers/art/cancelMarker.d.ts.map +1 -0
- package/dist/providers/art/cancelMarker.js +60 -0
- package/dist/providers/art/cancelMarker.js.map +1 -0
- package/dist/providers/art/composeAsset.d.ts +52 -0
- package/dist/providers/art/composeAsset.d.ts.map +1 -0
- package/dist/providers/art/composeAsset.js +73 -0
- package/dist/providers/art/composeAsset.js.map +1 -0
- package/dist/providers/art/imageSize.d.ts +31 -0
- package/dist/providers/art/imageSize.d.ts.map +1 -0
- package/dist/providers/art/imageSize.js +92 -0
- package/dist/providers/art/imageSize.js.map +1 -0
- package/dist/providers/art/jobContext.d.ts +25 -0
- package/dist/providers/art/jobContext.d.ts.map +1 -0
- package/dist/providers/art/jobContext.js +5 -0
- package/dist/providers/art/jobContext.js.map +1 -0
- package/dist/providers/art/rateLimitRetry.d.ts +25 -0
- package/dist/providers/art/rateLimitRetry.d.ts.map +1 -0
- package/dist/providers/art/rateLimitRetry.js +40 -0
- package/dist/providers/art/rateLimitRetry.js.map +1 -0
- package/dist/providers/art/uiKit.d.ts +61 -0
- package/dist/providers/art/uiKit.d.ts.map +1 -0
- package/dist/providers/art/uiKit.js +331 -0
- package/dist/providers/art/uiKit.js.map +1 -0
- package/dist/providers/art/visionJudge.d.ts +26 -0
- package/dist/providers/art/visionJudge.d.ts.map +1 -0
- package/dist/providers/art/visionJudge.js +127 -0
- package/dist/providers/art/visionJudge.js.map +1 -0
- package/dist/providers/art/withinDir.d.ts +2 -0
- package/dist/providers/art/withinDir.d.ts.map +1 -0
- package/dist/providers/art/withinDir.js +19 -0
- package/dist/providers/art/withinDir.js.map +1 -0
- package/dist/providers/media/gatewayMediaProviders.d.ts +58 -0
- package/dist/providers/media/gatewayMediaProviders.d.ts.map +1 -0
- package/dist/providers/media/gatewayMediaProviders.js +46 -0
- package/dist/providers/media/gatewayMediaProviders.js.map +1 -0
- package/dist/providers/media/generateAsset.d.ts +9 -0
- package/dist/providers/media/generateAsset.d.ts.map +1 -1
- package/dist/providers/media/generateAsset.js +7 -1
- package/dist/providers/media/generateAsset.js.map +1 -1
- package/dist/providers/media/mediaProviders.d.ts +31 -1
- package/dist/providers/media/mediaProviders.d.ts.map +1 -1
- package/dist/providers/media/mediaProviders.js +33 -1
- package/dist/providers/media/mediaProviders.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module providers/media/gatewayMediaProviders
|
|
3
|
+
* @description 从「一把网关 token + 一个网关基址」构造**整套**项目级 media provider 条目。
|
|
4
|
+
* @layer provider
|
|
5
|
+
* @boundedContext media
|
|
6
|
+
*
|
|
7
|
+
* ══════════════════════════════════════════════════════════════════════════
|
|
8
|
+
* 为什么存在(美术流水线 1.7b · 设计 studio `docs/39` §十三):
|
|
9
|
+
*
|
|
10
|
+
* > studio → sps { …, gatewayToken, gatewayBaseUrl, ttl }
|
|
11
|
+
* > sps **自己**落成工作区里那份
|
|
12
|
+
* > **注入方给的是数据,落盘的是拥有者。**
|
|
13
|
+
*
|
|
14
|
+
* 在此之前 sps 收下这两个字段就丢掉了,子进程于是回落到项目级旧文件或 **sps 全局** ——
|
|
15
|
+
* 归因落 `system:distill` = **平台账,不是租户账**,而且**不报错**。
|
|
16
|
+
*
|
|
17
|
+
* 🔴 **必须给全量能力,不能只给 image。**
|
|
18
|
+
* `listMediaProviders` 的覆盖粒度是**按 capability 逐个**:项目级只声明 image 时,
|
|
19
|
+
* voice/video/music/3d 会回落到**全局** provider —— 那是 sps 自己的厂商 key,
|
|
20
|
+
* 不经网关、不计量、不扣分。coral 为这个洞吃过两次账(2026-08-06 视频那次是真花了钱)。
|
|
21
|
+
* ⇒ 本文件是**第四条 provision 路**(前三条:门户会话 / 任务会话 / studio 能力闸),
|
|
22
|
+
* **能力集必须与它们一致**。漏一个 = 给这条路开一个计量绕过。
|
|
23
|
+
*
|
|
24
|
+
* ⚠️ 不含 `embedding` / `rerank`:那两个今天由全局 openrouter 直连,
|
|
25
|
+
* Eddy 2026-08-11 定「内部记忆系统用,不涉多租户,暂不管」。前三条路也都没管它们 ——
|
|
26
|
+
* **保持一致比顺手多管两个更重要**(不一致才是将来归因困难的来源)。
|
|
27
|
+
* ══════════════════════════════════════════════════════════════════════════
|
|
28
|
+
*/
|
|
29
|
+
import type { MediaProvider } from './mediaProviders.js';
|
|
30
|
+
/**
|
|
31
|
+
* 没拿到模型名时写进 image 条目的占位。
|
|
32
|
+
*
|
|
33
|
+
* 🔴 **不是"随便填一个"**:coral 网关按消费方指名的模型选家,认不出的模型名会
|
|
34
|
+
* **回落到网关自己的默认并留 `console.warn`**(coral `gateway/mediaProxy.resolveProvider`,
|
|
35
|
+
* 2026-08-11 定的行为)。所以这里填一个**故意认不出**的名字,效果是
|
|
36
|
+
* 「由网关按它的控制面默认决定」,而且两侧各留一条痕。
|
|
37
|
+
*
|
|
38
|
+
* ⚠️ 填一个**真模型名**当默认才是危险的:那会变成 sps 替控制面做了选型决定,
|
|
39
|
+
* 而且改控制面默认时不生效 —— 正是 `coral-media-model-routing` 那条 bug 的形状。
|
|
40
|
+
*/
|
|
41
|
+
export declare const GATEWAY_DEFAULT_MODEL = "gateway-default";
|
|
42
|
+
export interface GatewayMediaProvidersInput {
|
|
43
|
+
/** 网关媒体基址,形如 `http://127.0.0.1:8787/gateway/media/v1`。 */
|
|
44
|
+
gatewayBaseUrl: string;
|
|
45
|
+
/** 该 attempt 的网关 token(**自带归因**:租户 + jobId)。 */
|
|
46
|
+
gatewayToken: string;
|
|
47
|
+
/** 生图模型名;缺省时见 {@link GATEWAY_DEFAULT_MODEL}。 */
|
|
48
|
+
imageModel?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 建整套条目:`image` 指真基址,其余四个能力指**能力闸** `/cap/<能力>/v1`(平台在那里响亮拒绝)。
|
|
52
|
+
*
|
|
53
|
+
* 🔴 adapter 一律 `coral` 而不是 `agnes`:agnes 是**标准** images/generations,那个协议
|
|
54
|
+
* 没有图片输入 —— 用它对接网关时 `referenceUrl` 会在适配器那层被**静默丢弃**,
|
|
55
|
+
* 「改图」变成「按描述重画一张」且不报错(coral 2026-08-06 真机撞到)。
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildGatewayMediaProviders(input: GatewayMediaProvidersInput): MediaProvider[];
|
|
58
|
+
//# sourceMappingURL=gatewayMediaProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatewayMediaProviders.d.ts","sourceRoot":"","sources":["../../../src/providers/media/gatewayMediaProviders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAK1E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,MAAM,WAAW,0BAA0B;IACzC,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,GAAG,aAAa,EAAE,CAyB7F"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** 与门户/任务/studio 三条 provision 路同一个能力集(见模块头:不一致 = 计量绕过)。 */
|
|
2
|
+
const PROVISIONED = ['image', 'video', 'music', '3d', 'voice'];
|
|
3
|
+
/**
|
|
4
|
+
* 没拿到模型名时写进 image 条目的占位。
|
|
5
|
+
*
|
|
6
|
+
* 🔴 **不是"随便填一个"**:coral 网关按消费方指名的模型选家,认不出的模型名会
|
|
7
|
+
* **回落到网关自己的默认并留 `console.warn`**(coral `gateway/mediaProxy.resolveProvider`,
|
|
8
|
+
* 2026-08-11 定的行为)。所以这里填一个**故意认不出**的名字,效果是
|
|
9
|
+
* 「由网关按它的控制面默认决定」,而且两侧各留一条痕。
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ 填一个**真模型名**当默认才是危险的:那会变成 sps 替控制面做了选型决定,
|
|
12
|
+
* 而且改控制面默认时不生效 —— 正是 `coral-media-model-routing` 那条 bug 的形状。
|
|
13
|
+
*/
|
|
14
|
+
export const GATEWAY_DEFAULT_MODEL = 'gateway-default';
|
|
15
|
+
/**
|
|
16
|
+
* 建整套条目:`image` 指真基址,其余四个能力指**能力闸** `/cap/<能力>/v1`(平台在那里响亮拒绝)。
|
|
17
|
+
*
|
|
18
|
+
* 🔴 adapter 一律 `coral` 而不是 `agnes`:agnes 是**标准** images/generations,那个协议
|
|
19
|
+
* 没有图片输入 —— 用它对接网关时 `referenceUrl` 会在适配器那层被**静默丢弃**,
|
|
20
|
+
* 「改图」变成「按描述重画一张」且不报错(coral 2026-08-06 真机撞到)。
|
|
21
|
+
*/
|
|
22
|
+
export function buildGatewayMediaProviders(input) {
|
|
23
|
+
// 能力编进**路径**:`coral` 适配器固定往 `{baseUrl}/images/generations` 发,请求体里带不出能力。
|
|
24
|
+
const gateBase = input.gatewayBaseUrl.replace(/\/v1$/, '');
|
|
25
|
+
return PROVISIONED.map((capability) => capability === 'image'
|
|
26
|
+
? {
|
|
27
|
+
id: 'coral-gateway-image',
|
|
28
|
+
name: '生图(coral 网关)',
|
|
29
|
+
capability,
|
|
30
|
+
adapter: 'coral',
|
|
31
|
+
baseUrl: input.gatewayBaseUrl,
|
|
32
|
+
apiKey: input.gatewayToken,
|
|
33
|
+
models: [input.imageModel?.trim() || GATEWAY_DEFAULT_MODEL],
|
|
34
|
+
}
|
|
35
|
+
: {
|
|
36
|
+
id: `coral-gate-${capability}`,
|
|
37
|
+
name: `${capability} 未开放(美术 run)`,
|
|
38
|
+
capability,
|
|
39
|
+
adapter: 'coral',
|
|
40
|
+
baseUrl: `${gateBase}/cap/${capability}/v1`,
|
|
41
|
+
apiKey: input.gatewayToken,
|
|
42
|
+
// 占位模型名:models 为空时 sps 解析不出模型,报错方向会指向"没配模型"而不是"不支持"。
|
|
43
|
+
models: [`unavailable-${capability}`],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=gatewayMediaProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatewayMediaProviders.js","sourceRoot":"","sources":["../../../src/providers/media/gatewayMediaProviders.ts"],"names":[],"mappings":"AA8BA,2DAA2D;AAC3D,MAAM,WAAW,GAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAE3F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAWvD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAiC;IAC1E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACpC,UAAU,KAAK,OAAO;QACpB,CAAC,CAAC;YACA,EAAE,EAAE,qBAAqB;YACzB,IAAI,EAAE,cAAc;YACpB,UAAU;YACV,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK,CAAC,cAAc;YAC7B,MAAM,EAAE,KAAK,CAAC,YAAY;YAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,qBAAqB,CAAC;SAC5D;QACD,CAAC,CAAC;YACA,EAAE,EAAE,cAAc,UAAU,EAAE;YAC9B,IAAI,EAAE,GAAG,UAAU,cAAc;YACjC,UAAU;YACV,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,GAAG,QAAQ,QAAQ,UAAU,KAAK;YAC3C,MAAM,EAAE,KAAK,CAAC,YAAY;YAC1B,qDAAqD;YACrD,MAAM,EAAE,CAAC,eAAe,UAAU,EAAE,CAAC;SACtC,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -8,6 +8,15 @@ export interface GenerateAssetInput {
|
|
|
8
8
|
outPath?: string;
|
|
9
9
|
size?: string;
|
|
10
10
|
referenceUrl?: string;
|
|
11
|
+
/**
|
|
12
|
+
* 点名用哪一家(取自 `listUsableProviders(capability, cwd)` 的 `id`)。
|
|
13
|
+
*
|
|
14
|
+
* 🔴 **不传 = 行为与从前完全一致**(按能力解析默认那家)—— 已上生产的 `generate_asset`
|
|
15
|
+
* MCP 路径零影响。它存在只为一件事:**回退链要能真的换一家**。
|
|
16
|
+
* 只能"列出候选"却不能"指定用哪个"时,回退循环转起来也是同一家跑五遍 ——
|
|
17
|
+
* 而每一次都是要花钱的。
|
|
18
|
+
*/
|
|
19
|
+
providerId?: string;
|
|
11
20
|
}
|
|
12
21
|
export interface GenerateAssetResult {
|
|
13
22
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateAsset.d.ts","sourceRoot":"","sources":["../../../src/providers/media/generateAsset.ts"],"names":[],"mappings":"AAaA,OAAO,EAA6B,KAAK,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAE5G,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"generateAsset.d.ts","sourceRoot":"","sources":["../../../src/providers/media/generateAsset.ts"],"names":[],"mappings":"AAaA,OAAO,EAA6B,KAAK,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAE5G,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAID,sFAAsF;AACtF,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA0C3F"}
|
|
@@ -17,8 +17,14 @@ const EXT_DIR = { png: 'assets', jpg: 'assets', mp3: 'assets/audio', mp4: 'asset
|
|
|
17
17
|
export async function generateAsset(input) {
|
|
18
18
|
// cwd 一并传下去:项目级 `<cwd>/.sps/media-providers.json` 覆盖全局兜底
|
|
19
19
|
// (上层应用把每会话临时 token 注入到这里 —— 全局文件放不下 per-user 凭据)。
|
|
20
|
-
const resolved = resolveMediaProvider(input.capability, input.cwd);
|
|
20
|
+
const resolved = resolveMediaProvider(input.capability, input.cwd, input.providerId);
|
|
21
21
|
if (!resolved) {
|
|
22
|
+
// 点名了却解析不到 —— 与"一家都没配"是两件事,报错文案不能混:
|
|
23
|
+
// 混了的话,回退链里一个失效的 id 会被读成"这个工作区没配 provider"。
|
|
24
|
+
if (input.providerId) {
|
|
25
|
+
throw new Error(`指定的 provider "${input.providerId}" 不在 ${input.capability} 的可用候选里` +
|
|
26
|
+
`(配置已变 / id 拼错)—— 不回落到默认那家,那会让"换一家重试"变成同一家重跑`);
|
|
27
|
+
}
|
|
22
28
|
// 宿主已接管本工作区的媒体凭据时,给出可操作的原因 —— 而不是让它静默回落到
|
|
23
29
|
// sps 自己的厂商 key(那会变成"产物照出、消费方账本空白",最坏的失效模式)。
|
|
24
30
|
const injected = injectedMediaCapabilities(input.cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateAsset.js","sourceRoot":"","sources":["../../../src/providers/media/generateAsset.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAwB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"generateAsset.js","sourceRoot":"","sources":["../../../src/providers/media/generateAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export declare function setMediaDefault(capability: MediaCapability, def: MediaD
|
|
|
62
62
|
* (它不在覆盖后的候选里),于是取项目级第一条 —— 这正是我们要的:
|
|
63
63
|
* 上层应用注入一条即生效,不必同时改默认。
|
|
64
64
|
*/
|
|
65
|
-
export declare function resolveMediaProvider(capability: MediaCapability, cwd?: string): {
|
|
65
|
+
export declare function resolveMediaProvider(capability: MediaCapability, cwd?: string, providerId?: string): {
|
|
66
66
|
provider: MediaProvider;
|
|
67
67
|
model?: string;
|
|
68
68
|
} | undefined;
|
|
@@ -81,4 +81,34 @@ export declare function resolveMediaProvider(capability: MediaCapability, cwd?:
|
|
|
81
81
|
* (见 docs/design/service-layering.md 附录 A.8)。
|
|
82
82
|
*/
|
|
83
83
|
export declare function writeProjectMediaProviders(cwd: string, list: MediaProvider[]): void;
|
|
84
|
+
/**
|
|
85
|
+
* 一个**可用** provider 的对外视图 —— 给需要自己做回退策略的消费方(如美术链)。
|
|
86
|
+
*
|
|
87
|
+
* 🔴 **没有 `apiKey`,也没有 `hasKey`。** 这不是脱敏,是切分:
|
|
88
|
+
* ```
|
|
89
|
+
* media 层 回答「**有哪些能用**」 —— 能力发现,通用
|
|
90
|
+
* 消费方 决定「**先用哪家 · 失败了怎么办**」—— 使用策略,领域相关
|
|
91
|
+
* ```
|
|
92
|
+
* 返回"全部 + hasKey 标记"会让调用方自己判"能不能用" —— 那是把内部状态递出去一格。
|
|
93
|
+
* **"这家能不能用"是 provider 的内部状态,"有哪些能用"才是它的对外能力。**
|
|
94
|
+
* 所以这里**只返回能用的**,调用方从不问 key。
|
|
95
|
+
*/
|
|
96
|
+
export interface UsableMediaProvider {
|
|
97
|
+
id: string;
|
|
98
|
+
name: string;
|
|
99
|
+
/** 适配器名 —— 消费方按它做领域排序(如"支持图生图的优先")。 */
|
|
100
|
+
adapter: string;
|
|
101
|
+
models: string[];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 列出该 capability 下**当前上下文可用**的 provider(项目级覆盖 > 全局默认,顺序即优先级)。
|
|
105
|
+
*
|
|
106
|
+
* "可用" = 已注册 **且** 有 key —— 与 studio 侧 `listImageProviders().find(p => … && p.apiKey)`
|
|
107
|
+
* **逐字同一个判据**(移交的是行为,不是我对"可用"的理解)。
|
|
108
|
+
*
|
|
109
|
+
* ⚠️ 我一度想写成"或者不需要凭据的订阅制端点也算可用",用 baseUrl 猜 ——
|
|
110
|
+
* **那是我发明的规则,不是移交件里的**。媒体 provider 今天没有免 key 的形态;
|
|
111
|
+
* 真出现了,应当由它**显式声明**,而不是靠 URL 长相推断。
|
|
112
|
+
*/
|
|
113
|
+
export declare function listUsableProviders(capability: MediaCapability, cwd?: string): UsableMediaProvider[];
|
|
84
114
|
//# sourceMappingURL=mediaProviders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaProviders.d.ts","sourceRoot":"","sources":["../../../src/providers/media/mediaProviders.ts"],"names":[],"mappings":"AAeA,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEpG,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAAsE,CAAC;AAEhI,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAc9F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI,CAG/E;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtE;AAED,kDAAkD;AAClD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAYvE;AAED,cAAc;AACd,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED,kCAAkC;AAClC,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAI3G;AAKD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAI9F;AAED,8BAA8B;AAC9B,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAIpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,eAAe,EAC3B,GAAG,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mediaProviders.d.ts","sourceRoot":"","sources":["../../../src/providers/media/mediaProviders.ts"],"names":[],"mappings":"AAeA,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEpG,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAAsE,CAAC;AAEhI,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAc9F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI,CAG/E;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtE;AAED,kDAAkD;AAClD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAYvE;AAED,cAAc;AACd,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED,kCAAkC;AAClC,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAI3G;AAKD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAI9F;AAED,8BAA8B;AAC9B,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAIpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,eAAe,EAC3B,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqBzD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAEnF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAUpG"}
|
|
@@ -172,11 +172,22 @@ export function setMediaDefault(capability, def) {
|
|
|
172
172
|
* (它不在覆盖后的候选里),于是取项目级第一条 —— 这正是我们要的:
|
|
173
173
|
* 上层应用注入一条即生效,不必同时改默认。
|
|
174
174
|
*/
|
|
175
|
-
export function resolveMediaProvider(capability, cwd) {
|
|
175
|
+
export function resolveMediaProvider(capability, cwd, providerId) {
|
|
176
176
|
const list = listMediaProviders(capability, cwd);
|
|
177
177
|
if (list.length === 0)
|
|
178
178
|
return undefined;
|
|
179
179
|
const def = readMediaDefaults(cwd)[capability];
|
|
180
|
+
// 调用方点名了某一家(回退链逐家重试用)→ 只认那一家。
|
|
181
|
+
// 🔴 **点名落空绝不回落默认那家**:回落的话"换一家重试"会变成同一家跑五遍,
|
|
182
|
+
// 而且没有任何一刻看得出来(这正是"能列出候选却不能指定用哪个"要治的病)。
|
|
183
|
+
if (providerId) {
|
|
184
|
+
const picked = list.find((p) => p.id === providerId);
|
|
185
|
+
if (!picked)
|
|
186
|
+
return undefined;
|
|
187
|
+
// 点名的恰好是默认那家 → 沿用默认里配的 model(否则只能用它自己的第一个)。
|
|
188
|
+
const m = (def?.providerId === providerId ? def?.model : undefined) ?? picked.models[0];
|
|
189
|
+
return { provider: picked, model: m };
|
|
190
|
+
}
|
|
180
191
|
const pinned = def?.providerId ? list.find((p) => p.id === def.providerId) : undefined;
|
|
181
192
|
const provider = pinned ?? list[0];
|
|
182
193
|
// 🔴 default 的 model 只在它的 providerId 确实命中时才作数。
|
|
@@ -202,4 +213,25 @@ export function resolveMediaProvider(capability, cwd) {
|
|
|
202
213
|
export function writeProjectMediaProviders(cwd, list) {
|
|
203
214
|
writeSecretFile(join(cwd, '.sps', 'media-providers.json'), `${JSON.stringify(list, null, 2)}\n`);
|
|
204
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* 列出该 capability 下**当前上下文可用**的 provider(项目级覆盖 > 全局默认,顺序即优先级)。
|
|
218
|
+
*
|
|
219
|
+
* "可用" = 已注册 **且** 有 key —— 与 studio 侧 `listImageProviders().find(p => … && p.apiKey)`
|
|
220
|
+
* **逐字同一个判据**(移交的是行为,不是我对"可用"的理解)。
|
|
221
|
+
*
|
|
222
|
+
* ⚠️ 我一度想写成"或者不需要凭据的订阅制端点也算可用",用 baseUrl 猜 ——
|
|
223
|
+
* **那是我发明的规则,不是移交件里的**。媒体 provider 今天没有免 key 的形态;
|
|
224
|
+
* 真出现了,应当由它**显式声明**,而不是靠 URL 长相推断。
|
|
225
|
+
*/
|
|
226
|
+
export function listUsableProviders(capability, cwd) {
|
|
227
|
+
const usable = listMediaProviders(capability, cwd).filter((p) => p.apiKey.trim() !== '');
|
|
228
|
+
// 🔴 **默认那家排第一** —— "顺序即优先级"必须对"默认"也成立,否则消费方按顺序取首选时,
|
|
229
|
+
// 拿到的是注册表里的第一条而不是配置里选中的那条:**图照出、用的却是另一家**,
|
|
230
|
+
// 而回退链的留痕只在"非首选成功"时才打,于是这种偏差一次都不会露头。
|
|
231
|
+
// (与 `resolveMediaProvider` 同一判据:项目级覆盖 > 全局,能力内再按默认挑。)
|
|
232
|
+
const pinnedId = readMediaDefaults(cwd)[capability]?.providerId;
|
|
233
|
+
const at = pinnedId ? usable.findIndex((p) => p.id === pinnedId) : -1;
|
|
234
|
+
const ordered = at > 0 ? [usable[at], ...usable.filter((_, i) => i !== at)] : usable;
|
|
235
|
+
return ordered.map((p) => ({ id: p.id, name: p.name, adapter: p.adapter, models: p.models }));
|
|
236
|
+
}
|
|
205
237
|
//# sourceMappingURL=mediaProviders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaProviders.js","sourceRoot":"","sources":["../../../src/providers/media/mediaProviders.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mediaProviders.js","sourceRoot":"","sources":["../../../src/providers/media/mediaProviders.ts"],"names":[],"mappings":"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"}
|