@fastthree-ai/cli 0.2.0 → 0.3.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.
@@ -1,33 +1,5 @@
1
1
  import { request } from "../api.js";
2
- /**
3
- * 与 OpenApiController.ALLOWED_OPEN_API_KEYS 保持一致。
4
- * 后端白名单变化时这里也要同步——它是「入口白名单」,前端手册 docsModel.ts
5
- * 的 PUBLIC_API_KEYS 是「手册白名单」,二者口径不同,本表只覆盖允许直接点名的 key。
6
- */
7
- const DRAW_MODELS = [
8
- { key: "matting", desc: "抠图" },
9
- { key: "extract", desc: "图案提取(主档)" },
10
- { key: "extract-fast", desc: "图案提取(快速档)" },
11
- { key: "extract-ultra", desc: "图案提取(超清档)" },
12
- { key: "image-edit", desc: "图像编辑(主档)" },
13
- { key: "image-edit-fast", desc: "图像编辑(快速档)" },
14
- { key: "image-edit-ultra", desc: "图像编辑(超清档)" },
15
- { key: "image-edit-2.5", desc: "图像编辑 2.5(主档)" },
16
- { key: "image-edit-2.5-fast", desc: "图像编辑 2.5(快速档)" },
17
- { key: "image-edit-2.5-plus", desc: "图像编辑 2.5(增强档)" },
18
- { key: "image-edit-2.5-ultra", desc: "图像编辑 2.5(超清档)" },
19
- { key: "image-edit-2.5-max", desc: "图像编辑 2.5(顶配档)" },
20
- { key: "seamless-tile", desc: "无缝拼贴" },
21
- { key: "seamless-tile-fast", desc: "无缝拼贴(快速档)" },
22
- { key: "pattern-extract-rh", desc: "图案提取 RH" },
23
- { key: "upscale", desc: "超分辨率放大" },
24
- { key: "image-expand", desc: "扩图" },
25
- { key: "nano banana 2", desc: "Nano Banana 2" },
26
- { key: "nano banana pro", desc: "Nano Banana Pro" },
27
- { key: "nano-banana-lite", desc: "Nano Banana Lite" },
28
- { key: "turbo", desc: "Turbo" },
29
- { key: "cut-pieces", desc: "裁片提取(按片计费)" },
30
- ];
2
+ const GROUP_LABELS = { image: "图片生成与编辑", tool: "图片处理", video: "视频" };
31
3
  export function registerModelsCommands(program) {
32
4
  const m = program.command("models").description("查询模型列表");
33
5
  // 不带子命令时直接显示 help:commander 默认对"有子命令但未命中"的调用静默退出,
@@ -38,11 +10,18 @@ export function registerModelsCommands(program) {
38
10
  m.help({ error: false });
39
11
  });
40
12
  m.command("draw")
41
- .description("列出可调用的出图模型 api_key(作为 ft draw <apiKey> 的参数)")
42
- .action(() => {
43
- console.log("出图模型 api_key(用于 ft draw <apiKey>):\n");
44
- for (const it of DRAW_MODELS) {
45
- console.log(` ${it.key.padEnd(22)} ${it.desc}`);
13
+ .description("列出可调用的任务模型 api_key(作为 ft draw <apiKey> 的参数)")
14
+ .action(async () => {
15
+ const list = await request("GET", "/api/open/v1/catalog");
16
+ console.log("任务模型 api_key(用于 ft draw <apiKey>):");
17
+ for (const [group, label] of Object.entries(GROUP_LABELS)) {
18
+ const items = list.filter((it) => it.group === group);
19
+ if (!items.length)
20
+ continue;
21
+ console.log(`\n${label}:`);
22
+ for (const it of items) {
23
+ console.log(` ${it.key.padEnd(22)} ${it.name}`);
24
+ }
46
25
  }
47
26
  });
48
27
  m.command("llm")
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,MAAM,YAAY,GAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAa7F,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE1D,kDAAkD;IAClD,uBAAuB;IACvB,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;SACd,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAiB,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;YAC3B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SACb,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAa,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ import { registerChatCommands } from "./commands/chat.js";
16
16
  program
17
17
  .name("ft")
18
18
  .description("FastThree 命令行工具 — 封装 /api/open/v1 开放 REST API")
19
- .version("0.2.0");
19
+ .version("0.3.0");
20
20
  registerConfigureCommand(program);
21
21
  registerConfigCommands(program);
22
22
  registerAccountCommands(program);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fastthree-ai/cli",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "FastThree 命令行工具,封装 /api/open/v1 开放 REST API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",