// Code generated by seatgen from the seat definitions; DO NOT EDIT. // The contract of the seat "node-build-node", defined whole (seats/node-build-node/seat.json): The Node build module on a node: it takes the asks of the builder and the checker, runs them as steps and answers. import type * as buildStep from "./parts/build-step.js"; export const seat = "node-build-node"; export const verbs = { current: "current", pause: "pause", resume: "resume", } as const; export const accepts = { delivery: "delivery", check: "check", recheck: "recheck", } as const; export const deliverySubject = "mesh.seat.node-build-node.accept.delivery"; export const checkSubject = "mesh.seat.node-build-node.accept.check"; export const recheckSubject = "mesh.seat.node-build-node.accept.recheck"; export const states = { steps: "steps", pauses: "pauses", toolchains: "toolchains", } as const; /** The key of one value of the state steps under the form ".". */ export function stepsByNodeIDKey(node: string, id: string): string { return node + "." + id; } /** The parts of a key of the form ".", or undefined for a key of another form. */ export function parseStepsByNodeIDKey(key: string): { node: string; id: string } | undefined { let rest = key; const at0 = rest.indexOf("."); if (at0 <= 0) return undefined; const node = rest.slice(0, at0); rest = rest.slice(at0 + 1); if (rest === "") return undefined; const id = rest; rest = ""; if (rest !== "") return undefined; return { node, id }; } /** The key of one value of the state pauses under the form "paused.". */ export function pausesByPausedNodeKey(node: string): string { return "paused." + node; } /** The parts of a key of the form "paused.", or undefined for a key of another form. */ export function parsePausesByPausedNodeKey(key: string): { node: string } | undefined { let rest = key; if (!rest.startsWith("paused.")) return undefined; rest = rest.slice(7); if (rest === "") return undefined; const node = rest; rest = ""; if (rest !== "") return undefined; return { node }; } /** The key of one value of the state pauses under the form "capacity.". */ export function pausesByCapacityNodeKey(node: string): string { return "capacity." + node; } /** The parts of a key of the form "capacity.", or undefined for a key of another form. */ export function parsePausesByCapacityNodeKey(key: string): { node: string } | undefined { let rest = key; if (!rest.startsWith("capacity.")) return undefined; rest = rest.slice(9); if (rest === "") return undefined; const node = rest; rest = ""; if (rest !== "") return undefined; return { node }; } /** The key of one value of the state toolchains under the form ".". */ export function toolchainsByNodeLanguageKey(node: string, language: string): string { return node + "." + language; } /** The parts of a key of the form ".", or undefined for a key of another form. */ export function parseToolchainsByNodeLanguageKey(key: string): { node: string; language: string } | undefined { let rest = key; const at0 = rest.indexOf("."); if (at0 <= 0) return undefined; const node = rest.slice(0, at0); rest = rest.slice(at0 + 1); if (rest === "") return undefined; const language = rest; rest = ""; if (rest !== "") return undefined; return { node, language }; } export type AskArtifact = buildStep.AskArtifact; export type BuildAnswer = buildStep.BuildAnswer; export type BuiltArtifact = buildStep.BuiltArtifact; export type Capacity = buildStep.Capacity; export type CheckAnswer = buildStep.CheckAnswer; export type ComposeAnswer = buildStep.ComposeAnswer; export type CurrentAnswer = buildStep.CurrentAnswer; export type CurrentInput = buildStep.CurrentInput; export type Fetch = buildStep.Fetch; export type FetchBesideItem = buildStep.FetchBesideItem; export type LevelAnswer = buildStep.LevelAnswer; export type LevelAnswerDigest = buildStep.LevelAnswerDigest; export type LevelAnswerDigestNeedsItem = buildStep.LevelAnswerDigestNeedsItem; export type LevelAnswerDigestPackagesItem = buildStep.LevelAnswerDigestPackagesItem; export type LevelAnswerKeptItem = buildStep.LevelAnswerKeptItem; export type LevelAnswerUnmetItem = buildStep.LevelAnswerUnmetItem; export type Pause = buildStep.Pause; export type PauseAnswer = buildStep.PauseAnswer; export type PauseInput = buildStep.PauseInput; export type ResumeAnswer = buildStep.ResumeAnswer; export type ResumeInput = buildStep.ResumeInput; export type Step = buildStep.Step; export type StepAsk = buildStep.StepAsk; export type StepAskBuild = buildStep.StepAskBuild; export type StepAskCheck = buildStep.StepAskCheck; export type StepAskCompose = buildStep.StepAskCompose; export type StepResult = buildStep.StepResult; export type Toolchain = buildStep.Toolchain; export type ToolchainUsed = buildStep.ToolchainUsed; /** is the body of delivery. */ export type DeliveryAccept = StepAsk; /** is the body of check. */ export type CheckAccept = StepAsk; /** is the body of recheck. */ export type RecheckAccept = StepAsk; /** is one value of the state steps under the key .. */ export type StepsByNodeIDValue = Step; /** is one value of the state pauses under the key paused.. */ export type PausesByPausedNodeValue = Pause; /** is one value of the state pauses under the key capacity.. */ export type PausesByCapacityNodeValue = Capacity; /** is one value of the state toolchains under the key .. */ export type ToolchainsByNodeLanguageValue = Toolchain;