Files
reverse-engineering-anything/src/application/harmony/HarmonyApplicationService.ts
T
morlutoandFelix 52fe342c73 fix(evidence): preserve subjects in derived workflows (#9492)
* fix(javascript): preserve verified trace evidence subjects

Co-authored-by: Felix <3937061056@qq.com>

* fix(evidence): preserve selected subject names in views

* fix(evidence): preserve subjects across related workflows

* fix(evidence): retain inventory projection subjects

* fix(managed): validate projected graph root identity

* style: format evidence and native command code

* fix(javascript): validate static graph root identity

* test(javascript): update feature trace graph expectations

---------

Co-authored-by: Felix <3937061056@qq.com>
2026-11-09 08:12:17 +08:00

30 lines
1.2 KiB
TypeScript

import type { EvidenceLookup } from "../EvidenceInputResolver.js";
import type { ExecutionOptions } from "../AnalysisProvider.js";
import type { AnalysisError } from "../../domain/analysisErrorBase.js";
import { projectHarmonyInventory } from "../../domain/harmony/harmonyApplication.js";
import type { Result } from "../../domain/result.js";
import { HARMONY_APPLICATION_PROVIDER } from "../../domain/investigationProviders.js";
import {
projectInventoryEvidence,
type InventoryProjectionEvidenceResult,
} from "../InventoryProjectionEvidence.js";
const OPERATION = "project_harmony_application_graph" as const;
/** Project authenticated HarmonyOS package inventory Evidence into application evidence. */
export const projectHarmonyApplicationEvidence = (
rawInput: unknown,
lookup?: EvidenceLookup,
execution?: Pick<ExecutionOptions, "signal">,
): Result<InventoryProjectionEvidenceResult, AnalysisError> => {
return projectInventoryEvidence({
rawInput,
...(lookup === undefined ? {} : { lookup }),
...(execution === undefined ? {} : { execution }),
project: projectHarmonyInventory,
operation: OPERATION,
predicateType: "rea.harmony-application-graph",
provider: HARMONY_APPLICATION_PROVIDER,
});
};