Files
mesh-contracts/ts/src/oci-artifact-registry.ts
T
jschoubben c7fb8d6689 SD-M3: the Go and TypeScript generated from the definitions (design 26 *The generator*)
go/seats the seat list every reader compiles and every seat's name; a package per whole seat with its names, subjects,
types and a test of its fixtures; ts/ the same as a TypeScript package. Written by seatgen, never by hand.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 11:50:54 +01:00

115 lines
3.1 KiB
TypeScript

// Code generated by seatgen from the seat definitions; DO NOT EDIT.
// The contract of the seat "oci-artifact-registry", defined whole (seats/oci-artifact-registry/seat.json): The mesh's bundles and archives, by digest, in the one artifact store: the OCI distribution protocol's read side.
import type * as registry from "./parts/registry.js";
export const seat = "oci-artifact-registry";
export const verbs = {
publish: "publish",
publishPart: "publish-part",
versions: "versions",
remove: "remove",
hold: "hold",
release: "release",
} as const;
export const events = {
published: "published",
refused: "refused",
removed: "removed",
held: "held",
released: "released",
} as const;
export const family = { name: "oci-artifact-registry.events", maxAgeDays: 7 } as const;
export const publishedSubject = "mesh.seat.oci-artifact-registry.event.published";
export const refusedSubject = "mesh.seat.oci-artifact-registry.event.refused";
export const removedSubject = "mesh.seat.oci-artifact-registry.event.removed";
export const heldSubject = "mesh.seat.oci-artifact-registry.event.held";
export const releasedSubject = "mesh.seat.oci-artifact-registry.event.released";
export type Artifact = registry.Artifact;
export type Outcome = registry.Outcome;
export type Part = registry.Part;
export type PublishAnswer = registry.PublishAnswer;
export type PublishInput = registry.PublishInput;
export type PublishPartAnswer = registry.PublishPartAnswer;
export type PublishPartInput = registry.PublishPartInput;
export type PublishedEvent = registry.PublishedEvent;
export type RefusedEvent = registry.RefusedEvent;
export type RemoveAnswer = registry.RemoveAnswer;
export type RemoveInput = registry.RemoveInput;
export type RemovedEvent = registry.RemovedEvent;
export type VersionsAnswer = registry.VersionsAnswer;
export type VersionsInput = registry.VersionsInput;
/** the body of held and released */
export interface Hold {
/** when, RFC 3339 */
"at"?: string;
/** the caller the holder proved */
"by"?: string;
/** the digest */
"digest": string;
/** the module holding the seat */
"holder": string;
/** the name */
"name": string;
/** why */
"reason"?: string;
}
/** is what hold takes. */
export interface HoldInput {
/** the digest */
"digest": string;
/** the name */
"name": string;
/** which of the sweep's rules keeps it */
"reason": string;
}
/** is what hold answers. */
export interface HoldAnswer {
/** it is held */
"held": boolean;
/** when the hold began, RFC 3339 */
"since"?: string;
}
/** is what release takes. */
export interface ReleaseInput {
/** the digest */
"digest": string;
/** the name */
"name": string;
/** why it is let go */
"reason": string;
}
/** is what release answers. */
export interface ReleaseAnswer {
/** the hold is gone */
"released": boolean;
}
/** is the body of the event held. */
export type HeldEvent = Hold;
/** is the body of the event released. */
export type ReleasedEvent = Hold;
/** is the form of the provision artifact-store. */
export interface ArtifactStoreForm {
/** the store's address */
"url": string;
}