fix: bypass image billing for canvas view intents
This commit is contained in:
parent
1669f4e2a4
commit
ac0456eb97
@ -10,7 +10,7 @@ const CANVAS_AGENT_IMAGE_GENERATION_OR_EDIT_REGEX =
|
||||
/(生成|生图|出图|画一张|来一张|做一张|做图|做视频|生成视频|视频生成|换背景|背景换|白底|去背景|删除背景|抠图|高清|增强|超清|超分|修图|重绘|扩图|扩展画幅|局部重绘|风格化|海报|主图|logo)/i;
|
||||
|
||||
const CANVAS_AGENT_VIEW_CONTROL_REGEX =
|
||||
/(看全局|看全部|缩小看|适配全部|适配画布|聚焦选中|聚焦结果|聚焦刚生成|focus selection|focus latest|fit all|zoom in|zoom out|pan to)|(画布|视角|镜头|viewport|canvas).{0,12}(放大|缩小|缩放|聚焦|定位|居中|看全局|看全部|移动|平移|拖动|zoom|fit|focus|pan)|(放大|缩小|缩放|聚焦|定位|居中|zoom|fit|focus).{0,12}(画布|视角|镜头|全局|全部|选中|选择|刚生成|结果|节点|对象|图片|图)/i;
|
||||
/(看全局|看全部|缩小看|适配全部|适配画布|聚焦选中|聚焦结果|聚焦刚生成|对比.{0,8}(原图|新图|结果|版本)|(原图|新图|结果|版本).{0,8}对比|focus selection|focus latest|fit all|zoom in|zoom out|pan to)|(画布|视角|镜头|viewport|canvas).{0,12}(放大|缩小|缩放|聚焦|定位|居中|看全局|看全部|移动|平移|拖动|zoom|fit|focus|pan)|(放大|缩小|缩放|聚焦|定位|居中|zoom|fit|focus).{0,12}(画布|视角|镜头|全局|全部|选中|选择|刚生成|结果|节点|对象|图片|图)/i;
|
||||
|
||||
const CANVAS_AGENT_SLOT_MANAGEMENT_REGEX =
|
||||
/(新建|创建|添加|插入|放置|加一个|建一个).{0,10}(图片|视频|ui|画面|空)?(槽位|slot|空框|占位框|框)|(槽位|slot|空框|占位框).{0,10}(新建|创建|添加|插入|放置)/i;
|
||||
@ -21,9 +21,9 @@ const CANVAS_AGENT_STRUCTURAL_OPERATION_REGEX =
|
||||
export function hasCanvasAgentNonGenerativeControlIntent(value: unknown) {
|
||||
const text = normalizeCanvasAgentClientIntentText(value);
|
||||
if (!text) return false;
|
||||
if (CANVAS_AGENT_VIEW_CONTROL_REGEX.test(text)) return true;
|
||||
if (CANVAS_AGENT_IMAGE_GENERATION_OR_EDIT_REGEX.test(text)) return false;
|
||||
return (
|
||||
CANVAS_AGENT_VIEW_CONTROL_REGEX.test(text) ||
|
||||
CANVAS_AGENT_SLOT_MANAGEMENT_REGEX.test(text) ||
|
||||
CANVAS_AGENT_STRUCTURAL_OPERATION_REGEX.test(text)
|
||||
);
|
||||
|
||||
@ -234,6 +234,8 @@ test.describe("canvas chat pure helpers", () => {
|
||||
test("bypasses image point precheck only for non-generative canvas agent controls", () => {
|
||||
expect(hasCanvasAgentNonGenerativeControlIntent("把画布放大一点")).toBe(true);
|
||||
expect(hasCanvasAgentNonGenerativeControlIntent("缩小看全局")).toBe(true);
|
||||
expect(hasCanvasAgentNonGenerativeControlIntent("聚焦刚生成结果")).toBe(true);
|
||||
expect(hasCanvasAgentNonGenerativeControlIntent("对比原图和新图")).toBe(true);
|
||||
expect(hasCanvasAgentNonGenerativeControlIntent("新建一个图片槽位")).toBe(true);
|
||||
expect(hasCanvasAgentNonGenerativeControlIntent("创建一个图片槽位")).toBe(true);
|
||||
expect(hasCanvasAgentNonGenerativeControlIntent("删除选中的节点")).toBe(true);
|
||||
@ -248,6 +250,20 @@ test.describe("canvas chat pure helpers", () => {
|
||||
agentEnabled: true,
|
||||
})
|
||||
).toBe(true);
|
||||
expect(
|
||||
shouldBypassCanvasImagePointsPrecheckForAgentControl({
|
||||
text: "聚焦刚生成结果",
|
||||
activeComposerMode: "image",
|
||||
agentEnabled: true,
|
||||
})
|
||||
).toBe(true);
|
||||
expect(
|
||||
shouldBypassCanvasImagePointsPrecheckForAgentControl({
|
||||
text: "对比原图和新图",
|
||||
activeComposerMode: "image",
|
||||
agentEnabled: true,
|
||||
})
|
||||
).toBe(true);
|
||||
expect(
|
||||
shouldBypassCanvasImagePointsPrecheckForAgentControl({
|
||||
text: "把画布放大一点",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user