- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
27 lines
1.5 KiB
TypeScript
Executable File
27 lines
1.5 KiB
TypeScript
Executable File
import { describe, expect, it, vi } from "vitest";
|
|
import { getUxpObjectMaskAuditWorkflowTools } from "../../src/tools/uxp-object-mask-audit-workflows.js";
|
|
import type { UxpWebSocketBridge } from "../../src/bridge/uxp-websocket-bridge.js";
|
|
|
|
describe("public documented UXP object-mask audit tool", () => {
|
|
it("publishes a bounded read-only schema and maps only explicit audit selectors", async () => {
|
|
const request = vi.fn().mockResolvedValue({ projectGuid: "project-1" });
|
|
const tool = getUxpObjectMaskAuditWorkflowTools({ request } as unknown as UxpWebSocketBridge).audit_object_masks_uxp;
|
|
expect(tool.parameters).toMatchObject({
|
|
type: "object", additionalProperties: false,
|
|
properties: {
|
|
expected_project_guid: { minLength: 1, maxLength: 512 },
|
|
sequence_ids: { minItems: 1, maxItems: 64, uniqueItems: true, items: { minLength: 1, maxLength: 512 } },
|
|
},
|
|
});
|
|
expect(tool.description).toContain("not mask count");
|
|
expect(tool.operationalCapability).toMatchObject({ backend: "UXP", minimumPremiereVersion: "26.3", hostVerificationRequired: true });
|
|
|
|
await tool.handler({ expected_project_guid: "project-1", sequence_ids: ["sequence-b", "sequence-a"] });
|
|
await tool.handler({});
|
|
expect(request).toHaveBeenNthCalledWith(1, "objectMask.audit", {
|
|
expectedProjectGuid: "project-1", sequenceIds: ["sequence-b", "sequence-a"],
|
|
});
|
|
expect(request).toHaveBeenNthCalledWith(2, "objectMask.audit", {});
|
|
});
|
|
});
|