/** * share.ts — canonical share-JSON schema + local write. * * PRIVACY CONTRACT: the document built here MUST NEVER contain a hostname, * filesystem path, or username. `model.fileBasename` is a basename (see * ModelIdentity.fileName's own doc — never the full path); `hardware.label` * is a freeform string the CALLER chose (see types.ts's HostFingerprint — * defaults to nothing, never auto-filled from os.hostname()). See * test/share-schema.test.ts for the automated forbidden-field check this * contract is gated on. * * The submission endpoint is a placeholder — see writeShareDocument's doc. * No network call happens anywhere in this file. */ import type { ModelBenchResult, HostFingerprint, ShareDocument } from "./types.js"; /** Config placeholder for the future hosted submission endpoint (not implemented — see README "Stubbed"). */ export declare const SUBMISSION_ENDPOINT_PLACEHOLDER = "https://bench.tps.dev/api/submit"; export declare function buildShareDocument(result: ModelBenchResult, host: HostFingerprint): ShareDocument; export interface WrittenShare { filePath: string; endpointNote: string; } /** * Writes the share document locally and returns where. The hosted * submission endpoint (SUBMISSION_ENDPOINT_PLACEHOLDER) is not wired up — * this function never makes a network call; the CLI layer is what prints * `endpointNote` to the user (core does no console output — see index.ts's * header). */ export declare function writeShareDocument(doc: ShareDocument, outDir?: string): WrittenShare;