Files
reverse-engineering-anything/src/domain/fridaSessionStatus.ts
T
gensokyo-dev 4bfdadb7de perf(frida): add retained summaries for session status (#5661)
Add opt-in Frida session status summaries linked to complete retained Evidence. Share canonical session facts across contracts and preserve observed state, source identity and capture truncation.

Validated with native SDK/client workflows, default delivery compatibility, lifecycle and provenance tests. The completed large-history task uses 50.9% fewer estimated request tokens; no general CPU or latency improvement is claimed.

Fixes #5640
2026-10-21 03:21:30 +08:00

28 lines
1.0 KiB
TypeScript

import { z } from "zod";
/** Delivery selection is separate from the provider's live session lookup. */
export const fridaSessionStatusInputSchema = z.strictObject({
session_id: z.string().uuid(),
detail: z.enum(["complete", "summary"]).optional(),
});
/** Session identity and state shared by start, status and one-shot observations. */
export const fridaSessionObservationSchema = z.strictObject({
session_id: z.string().uuid(),
device_id: z.string(),
state: z.enum(["paused", "running", "detached"]),
target: z.string(),
pid: z.number().int().nonnegative(),
mode: z.enum(["attach", "spawn"]),
});
/** Canonical captured facts; message payload meanings remain caller-defined. */
export const fridaSessionStatusSchema = fridaSessionObservationSchema.extend({
scripts: z.array(
z.strictObject({ script_id: z.string().uuid(), name: z.string() }),
),
// Evidence validates JSON payloads; status views validate only this envelope.
messages: z.array(z.unknown()),
messages_truncated: z.boolean(),
});