import { z } from 'zod'; import type { AssetDependencies } from '../schemas.js'; import type { AssetFileEntry, AssetInstallMetadata, AssetSearchResult, AssetVersion, PaginatedList, User } from '../contract.js'; /** * The v1 manifest of an asset version — the one linkable, cacheable answer to "what is this * version": its metadata plus every stored file with a fetch-ready content-plane URL, the preview * URL, and the zip URL. All URLs are minted by the server and MUST be treated as opaque by * clients; that opacity is what lets the content plane evolve without client releases. */ export interface AssetVersionManifest { name: string; type: string; version: string; ownerId: string; description: string | null; approved: boolean; access: 'public' | 'private'; npmDependencies: Record; assetDependencies: AssetDependencies; skillDependencies: Record; files: AssetFileEntry[]; previewUrl: string | null; zipUrl: string; } /** One entry of the refs read: the version's full manifest plus the asset's version history * (oldest first), so range selection and multi-version hashing need no further calls. */ export interface AssetRefEntry extends AssetVersionManifest { versions: string[]; } export interface AssetRefsResult { assets: (AssetRefEntry | null)[]; } export interface AssetQueryResult { type: string; query: string | null; startAfter: number; total: number; assets: AssetSearchResult[]; } /** * The v1 contract: the same procedure tree as the legacy RPC surface (so call sites migrate by * swapping only the client), with HTTP routes attached — served as plain REST under `/api/v1`. * The route annotations here ARE the control-plane URL contract. */ export declare const contract: { asset: { search: import("@orpc/contract").ContractProcedureBuilderWithInputOutput; key: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ page: z.ZodDefault; limit: z.ZodDefault; type: z.ZodOptional>; query: z.ZodOptional; includeUnapproved: z.ZodDefault; refs: z.ZodOptional; }, z.core.$strip>]>, z.ZodCustom, AssetRefsResult | PaginatedList>, Record, Record>; query: import("@orpc/contract").ContractProcedureBuilderWithInputOutput; query: z.ZodOptional; startAfter: z.ZodDefault; amount: z.ZodDefault; }, z.core.$strip>>; }, z.core.$strip>, z.ZodCustom<{ results: AssetQueryResult[]; }, { results: AssetQueryResult[]; }>, Record, Record>; uploadZip: import("@orpc/contract").ContractProcedureBuilderWithInputOutput; version: z.ZodString; description: z.ZodOptional; npmDependencies: z.ZodDefault>; assetDependencies: z.ZodDefault]>>>; }, z.core.$strip>]>>>; skillDependencies: z.ZodDefault>; tags: z.ZodDefault>; access: z.ZodOptional>; zip: z.ZodCustom; }, z.core.$strip>, z.ZodCustom, Record, Record>; installMetadata: import("@orpc/contract").ContractProcedureBuilderWithOutput, z.ZodCustom, Record>, Record, Record>; generate: import("@orpc/contract").ContractProcedureBuilderWithInputOutput>; referenceImages: z.ZodOptional>; access: z.ZodOptional>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ assetName: z.ZodString; version: z.ZodString; status: z.ZodLiteral<"completed">; }, z.core.$strip>, z.ZodObject<{ status: z.ZodLiteral<"pending">; jobId: z.ZodString; }, z.core.$strip>], "status">, Record, Record>; generateStatus: import("@orpc/contract").ContractProcedureBuilderWithInputOutput, z.ZodDiscriminatedUnion<[z.ZodObject<{ status: z.ZodLiteral<"running">; }, z.core.$strip>, z.ZodObject<{ assetName: z.ZodString; version: z.ZodString; status: z.ZodLiteral<"completed">; }, z.core.$strip>, z.ZodObject<{ status: z.ZodLiteral<"failed">; error: z.ZodString; }, z.core.$strip>], "status">, Record, Record>; agent: { start: import("@orpc/contract").ContractProcedureBuilderWithInputOutput>; }, z.core.$strict>, z.ZodObject<{ runId: z.ZodString; }, z.core.$strip>, Record, Record>; status: import("@orpc/contract").ContractProcedureBuilderWithInputOutput, z.ZodDiscriminatedUnion<[z.ZodObject<{ status: z.ZodLiteral<"running">; }, z.core.$strip>, z.ZodObject<{ status: z.ZodLiteral<"completed">; result: z.ZodObject<{ notes: z.ZodString; assets: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ status: z.ZodLiteral<"failed">; error: z.ZodString; }, z.core.$strip>], "status">, Record, Record>; }; }; user: { getProfile: import("@orpc/contract").ContractProcedureBuilderWithOutput, z.ZodCustom, Record, Record>; updateProfile: import("@orpc/contract").ContractProcedureBuilderWithInputOutput; image: z.ZodOptional; }, z.core.$strip>, z.ZodCustom, Record, Record>; getAuthToken: import("@orpc/contract").ContractProcedureBuilderWithOutput, z.ZodCustom<{ prefix: string; createdAt: Date; } | null, { prefix: string; createdAt: Date; } | null>, Record, Record>; createAuthToken: import("@orpc/contract").ContractProcedureBuilderWithOutput, z.ZodObject<{ token: z.ZodString; prefix: z.ZodString; }, z.core.$strip>, Record, Record>; }; }; export type V1Contract = typeof contract; //# sourceMappingURL=contract.d.ts.map