import type { ServerSkillVersion, ServerArtifact, ServerPin, ServerRunLog, ServerRunRecord, ServerSkillBundle, ServerSkillRecord, PublishedSkillSelectionState } from "./types.js"; export declare function nowIso(): string; /** * Coerce a caller-supplied row limit to a non-negative integer. * * The two engines disagree loudly about what a bad limit means. SQLite reads `LIMIT -1` * as *unlimited* and rejects `LIMIT 1.5` as a datatype mismatch; Postgres rejects -1 and * rounds 1.5 up. Left alone, `listRuns(principal, -1)` returned one org's entire history * on SQLite and an error on Postgres - and the SQLite answer is the dangerous direction, * since the argument exists to bound the response. HTTP callers are already clamped in * app.ts; this covers the store used as a library, which is a published seam. */ export declare function normalizeLimit(limit: number): number; export declare function runId(): string; export declare function artifactId(): string; export declare function rowToRun(row: Record): ServerRunRecord; export declare function rowToLog(row: Record): ServerRunLog; export declare function rowToArtifact(row: Record): ServerArtifact; export declare function rowToSkill(row: Record): ServerSkillRecord; export declare function rowToPublishedSelectionState(row: Record): PublishedSkillSelectionState; export declare function rowToPin(row: Record): ServerPin; export declare function rowToSkillBundle(row: Record): ServerSkillBundle; export declare function parseJsonObject(value: unknown): Record; export declare function parseJsonArray(value: unknown): string[]; export declare function dateString(value: unknown): string; export declare function rowToSkillVersion(row: Record): ServerSkillVersion;