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
120 lines
3.0 KiB
TypeScript
120 lines
3.0 KiB
TypeScript
// Code generated by seatgen from the seat definitions; DO NOT EDIT.
|
|
|
|
// The contract of the seat "mesh-config", defined whole (seats/mesh-config/seat.json): The mesh's config values: read and set one, and the renames still open. mesh-config's own events stay under its own subjects (ADR 0620 §2).
|
|
|
|
export const seat = "mesh-config";
|
|
|
|
export const verbs = {
|
|
config: "config",
|
|
renames: "renames",
|
|
} as const;
|
|
|
|
export const holderEvents = {
|
|
configChanged: "config-changed",
|
|
renamed: "renamed",
|
|
retiring: "retiring",
|
|
retired: "retired",
|
|
} as const;
|
|
|
|
export function configChangedHolderSubject(holder: string): string {
|
|
return "mesh.mod." + holder + ".event.config-changed";
|
|
}
|
|
|
|
export function renamedHolderSubject(holder: string): string {
|
|
return "mesh.mod." + holder + ".event.renamed";
|
|
}
|
|
|
|
export function retiringHolderSubject(holder: string): string {
|
|
return "mesh.mod." + holder + ".event.retiring";
|
|
}
|
|
|
|
export function retiredHolderSubject(holder: string): string {
|
|
return "mesh.mod." + holder + ".event.retired";
|
|
}
|
|
|
|
/** is what config takes. */
|
|
export interface ConfigInput {
|
|
/** list (when not given), set, clear or history */
|
|
"action"?: string;
|
|
/** who gave the value at the controller's terminal */
|
|
"by"?: string;
|
|
/** the config key */
|
|
"key"?: string;
|
|
/** for history: at most this many, newest */
|
|
"limit"?: number;
|
|
/** a module: its own value, with node */
|
|
"module"?: string;
|
|
/** a node */
|
|
"node"?: string;
|
|
/** for set: the value, of the key's type: a number, a string, a boolean, or for a trusted key an object or a list */
|
|
"value"?: unknown;
|
|
/** for set and clear: why */
|
|
"why"?: string;
|
|
}
|
|
|
|
/** is what config answers. */
|
|
export type ConfigAnswer = Record<string, unknown>;
|
|
|
|
/** is what renames takes. */
|
|
export interface RenamesInput {
|
|
/** one module (optional) */
|
|
"module"?: string;
|
|
}
|
|
|
|
export interface RenamesAnswerRenamesItem {
|
|
/** when it moved, RFC 3339 */
|
|
"at"?: string;
|
|
/** the old name */
|
|
"from": string;
|
|
/** the module */
|
|
"module": string;
|
|
/** the nodes still holding the old name open */
|
|
"open"?: string[];
|
|
/** the new name */
|
|
"to": string;
|
|
}
|
|
|
|
/** is what renames answers. */
|
|
export interface RenamesAnswer {
|
|
/** every open rename */
|
|
"renames": RenamesAnswerRenamesItem[];
|
|
}
|
|
|
|
/** is the body of the holder's event renamed. */
|
|
export interface RenamedHolderEvent {
|
|
/** when, RFC 3339 */
|
|
"at": string;
|
|
/** the old name */
|
|
"from": string;
|
|
/** the module */
|
|
"module": string;
|
|
/** the new name */
|
|
"to": string;
|
|
}
|
|
|
|
/** is the body of the holder's event retiring. */
|
|
export interface RetiringHolderEvent {
|
|
/** the ask's id */
|
|
"ask"?: string;
|
|
/** the value's or secret's name */
|
|
"key": string;
|
|
"kind": "value" | "secret";
|
|
/** the module */
|
|
"module": string;
|
|
/** since when, RFC 3339 */
|
|
"since": string;
|
|
}
|
|
|
|
/** is the body of the holder's event retired. */
|
|
export interface RetiredHolderEvent {
|
|
/** the ask's id */
|
|
"ask"?: string;
|
|
/** the module */
|
|
"module": string;
|
|
/** the name */
|
|
"name": string;
|
|
/** the node */
|
|
"node"?: string;
|
|
}
|
|
|