macOS code signing rewrites unpacked native modules after electron-builder records their ASAR integrity, so the declared and observed hashes of those .node files differ in most signed Electron apps. Claude, ChatGPT, Notion, Obsidian, and Tabby all failed inspect_artifact, extract_artifact, and analyze_javascript_application by default. Only inspect_artifact offered integrity_policy, so extraction and JavaScript analysis of these apps was impossible. extract_artifact and analyze_javascript_application now accept the same integrity_policy (default fail). With record-and-continue, extraction writes the observed bytes, and JavaScript analysis reads contradicted files as observed. Contradicted nested archives stay unexpanded. Both results return the recorded integrity_contradictions and a limitation. The mismatch remediation now names this option instead of only advising a fresh copy, which cannot help for a signed installation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
549 B
TypeScript
16 lines
549 B
TypeScript
import { z } from "zod";
|
|
|
|
import { artifactIntegrityPolicySchema } from "../../domain/artifactGraph.js";
|
|
|
|
/** Local ASAR/directory reconstruction request. */
|
|
export const javascriptArtifactReconstructionInputSchema = z.strictObject({
|
|
input_path: z.string().min(1),
|
|
format: z.enum(["auto", "asar", "directory"]).default("auto"),
|
|
integrity_policy: artifactIntegrityPolicySchema,
|
|
});
|
|
|
|
/** Parsed local reconstruction request. */
|
|
export type JavaScriptArtifactReconstructionInput = z.infer<
|
|
typeof javascriptArtifactReconstructionInputSchema
|
|
>;
|