feat(electron): report custom URL protocol registrations

Expose static Electron protocol call facts through the shared application graph and existing CLI/MCP Evidence views. Preserve canonical case-insensitive scheme identity, original spellings, exact source provenance and explicit unknowns; keep registration success and runtime routing unproven.

Integration fixes also enforce module-only privileged API ownership, reuse the shared finding-key owner, and align the owning type documentation with the Evidence semantics. Validation and bounded real Obsidian CLI/MCP measurements are recorded in the PR.

Co-authored-by: UnknownHacker1 <35694178+UnknownHacker1@users.noreply.github.com>
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
This commit is contained in:
Abdelrahman Teimaandgensokyo-dev authored and GitHub committed 2026-10-31 02:23:47 +08:00
1 parent 69bf61f7c7
commit 47fa6ab379
24 files changed
+1134 -11

No files matched your search

@@ -300,6 +300,23 @@ const electron = z
dynamic_member_access: z.boolean().optional(),
}),
),
protocols: z.array(
z
.strictObject({
...findingContext,
api: z.string(),
role: z.enum([
"os-default-client",
"privileged-scheme",
"handler",
"interceptor",
]),
scheme: staticValue,
session: z.enum(["default-protocol", "default-session"]),
enabled_privileges: strings.nullable(),
})
.transform(withRuntime),
),
})
.transform(({ call_paths, app_path_changes, ...rest }) => ({
...rest,