diff --git a/src/application/InventoryProjectionEvidence.ts b/src/application/InventoryProjectionEvidence.ts
index b89059c15e..9d25988723 100644
--- a/src/application/InventoryProjectionEvidence.ts
+++ b/src/application/InventoryProjectionEvidence.ts
@@ -1,23 +1,15 @@
-import { z } from "zod";
-
-import { AnalysisInputError } from "../domain/analysisErrorCore.js";
-import { AnalysisError } from "../domain/analysisErrorBase.js";
+import type { AnalysisInputError } from "../domain/analysisErrorCore.js";
+import type { AnalysisError } from "../domain/analysisErrorBase.js";
import {
createEvidence,
type Evidence,
type EvidenceProvider,
type EvidenceSubjectTarget,
} from "../domain/evidence.js";
-import { jsonValueSchema } from "../domain/jsonValue.js";
-import type { MobileApplicationProjectionWithSources } from "../domain/mobileApplicationGraphProjection.js";
-import { err, ok, type Result } from "../domain/result.js";
-import { requestInputError } from "./workflowInputError.js";
-import { ArtifactInventoryCarrierError } from "../domain/artifactInventoryEvidence.js";
-
-interface InventoryProjectionInput {
- readonly inventory_evidence: readonly Evidence[];
- readonly limits?: unknown;
-}
+import type { JsonValue } from "../domain/jsonValue.js";
+import type { ParsedInventorySet } from "../domain/artifactInventoryEvidence.js";
+import { readApplicationInventoryProjection } from "../domain/mobileApplicationGraphProjection.js";
+import { ok, type Result } from "../domain/result.js";
interface InventoryProjectionResult {
readonly root_sha256: string;
@@ -31,86 +23,56 @@ export interface InventoryProjectionEvidenceResult {
}
interface InventoryProjectionOptions<
- Input extends InventoryProjectionInput,
- Output extends InventoryProjectionResult,
+ Output extends InventoryProjectionResult & JsonValue,
> {
readonly rawInput: unknown;
- readonly schema: z.ZodType;
readonly project: (
- input: Input,
- ) => MobileApplicationProjectionWithSources