* fix(hopper): normalize string-backed addresses and update verification * feat(native): add inspection primitives, dispatch traces and approved UI observation * test: prioritize real artifact E2E and captured golden regressions * fix(process): queue observed output before reactive rendering actions * test: prune redundant cases and strengthen boundary assertions * fix(cli): route native value tracing through shared workflows * test: replace synthetic success with real workflows and captured data * fix(catalog): separate portable metadata from native host availability
30 lines
1023 B
TypeScript
30 lines
1023 B
TypeScript
import type { CapabilityDescriptor } from "../application/AnalysisProvider.js";
|
|
|
|
/** Apply native host restrictions to portable provider discovery metadata. */
|
|
export const nativeHostCapabilities = (
|
|
capabilities: readonly CapabilityDescriptor[],
|
|
platform: NodeJS.Platform = process.platform,
|
|
): readonly CapabilityDescriptor[] => {
|
|
if (platform === "darwin") return capabilities;
|
|
return capabilities.map((capability): CapabilityDescriptor => {
|
|
if (capability.provider.id === "native-macos")
|
|
return {
|
|
...capability,
|
|
available: false,
|
|
availabilityCode: "unsupported_host",
|
|
reason: "Native macOS utilities require macOS.",
|
|
};
|
|
if (
|
|
capability.provider.id === "rea-artifact-graph" &&
|
|
capability.operation === "inspect_asset_catalog"
|
|
)
|
|
return {
|
|
...capability,
|
|
available: false,
|
|
availabilityCode: "unsupported_host",
|
|
reason: "Apple asset catalogs require macOS assetutil.",
|
|
};
|
|
return capability;
|
|
});
|
|
};
|