29 lines
969 B
TypeScript
29 lines
969 B
TypeScript
import { z } from "zod";
|
|
|
|
import { evidenceSchema } from "../evidence.js";
|
|
import {
|
|
javaScriptSemanticQueryInputSchema,
|
|
javaScriptSemanticQueryResultSchema,
|
|
} from "./javascriptSemanticQuerySchemas.js";
|
|
import { prefixedDigestSchema } from "../digests.js";
|
|
|
|
const evidenceIdSchema = prefixedDigestSchema("ev");
|
|
|
|
/** Authenticated application Evidence plus one bounded semantic query. */
|
|
export const traceJavaScriptSemanticsInputSchema = z.strictObject({
|
|
application: evidenceSchema,
|
|
query: javaScriptSemanticQueryInputSchema,
|
|
});
|
|
|
|
/** Evidence-linked semantic query result shared by CLI and MCP. */
|
|
export const javaScriptSemanticTraceResultSchema =
|
|
javaScriptSemanticQueryResultSchema.extend({
|
|
source_evidence_id: evidenceIdSchema,
|
|
evidence_links: z.array(evidenceIdSchema).length(1),
|
|
});
|
|
|
|
/** Validated Evidence-linked semantic trace result. */
|
|
export type JavaScriptSemanticTraceResult = z.infer<
|
|
typeof javaScriptSemanticTraceResultSchema
|
|
>;
|