diff --git a/src/plugins/contracts/shape.contract.test.ts b/src/plugins/contracts/shape.contract.test.ts index 92c54234a61..ee7dce2482c 100644 --- a/src/plugins/contracts/shape.contract.test.ts +++ b/src/plugins/contracts/shape.contract.test.ts @@ -95,6 +95,15 @@ describe("plugin shape compatibility matrix", () => { }, }); + registerVirtualTestPlugin({ + registry, + config, + id: "document-extract-test", + name: "Document Extract Test", + contracts: { documentExtractors: ["pdf"] }, + register() {}, + }); + const report = { workspaceDir: "/virtual-workspace", ...registry.registry, @@ -130,11 +139,22 @@ describe("plugin shape compatibility matrix", () => { shape: "plain-capability", capabilityMode: "plain", }, + { + id: "document-extract-test", + shape: "plain-capability", + capabilityMode: "plain", + }, ]); expect(inspect[0]?.usesLegacyBeforeAgentStart).toBe(true); expect(inspect.map((entry) => entry.capabilities.map((capability) => capability.kind))).toEqual( - [[], ["text-inference"], ["text-inference", "web-search"], ["channel"]], + [ + [], + ["text-inference"], + ["text-inference", "web-search"], + ["channel"], + ["document-extractors"], + ], ); }); }); diff --git a/src/plugins/inspect-shape.ts b/src/plugins/inspect-shape.ts index 17b8f44dac7..6c355b16aa6 100644 --- a/src/plugins/inspect-shape.ts +++ b/src/plugins/inspect-shape.ts @@ -11,6 +11,7 @@ export type PluginCapabilityKind = | "realtime-voice" | "media-understanding" | "transcript-source" + | "document-extractors" | "image-generation" | "video-generation" | "music-generation" @@ -50,6 +51,7 @@ function buildPluginCapabilityEntries( { kind: "realtime-voice" as const, ids: plugin.realtimeVoiceProviderIds }, { kind: "media-understanding" as const, ids: plugin.mediaUnderstandingProviderIds }, { kind: "transcript-source" as const, ids: plugin.transcriptSourceProviderIds }, + { kind: "document-extractors" as const, ids: plugin.contracts?.documentExtractors ?? [] }, { kind: "image-generation" as const, ids: plugin.imageGenerationProviderIds }, { kind: "video-generation" as const, ids: plugin.videoGenerationProviderIds }, { kind: "music-generation" as const, ids: plugin.musicGenerationProviderIds },