mesh-delivery-contracts: mesh-catalog serves the verb seat-definitions, every definition names its domain Delivery, regenerated (ADR 0636 §1, §5; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
@@ -14,10 +14,11 @@ import (
|
||||
const Seat = "mesh-catalog"
|
||||
|
||||
const (
|
||||
VerbModules = "modules"
|
||||
VerbModule = "module"
|
||||
VerbProvides = "provides"
|
||||
VerbDependents = "dependents"
|
||||
VerbSeatDefinitions = "seat-definitions"
|
||||
VerbModules = "modules"
|
||||
VerbModule = "module"
|
||||
VerbProvides = "provides"
|
||||
VerbDependents = "dependents"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -27,7 +28,7 @@ const (
|
||||
|
||||
// Verbs is every verb the seat serves, in its definition's order: a new copy each call.
|
||||
func Verbs() []string {
|
||||
return []string{VerbModules, VerbModule, VerbProvides, VerbDependents}
|
||||
return []string{VerbSeatDefinitions, VerbModules, VerbModule, VerbProvides, VerbDependents}
|
||||
}
|
||||
|
||||
// Events is every event published on the seat's subject: a new copy each call.
|
||||
@@ -309,6 +310,15 @@ func DecodePackagesByPackageSeriesValue(raw []byte) (PackagesByPackageSeriesValu
|
||||
return v, nil
|
||||
}
|
||||
|
||||
// SeatDefinitionsInput is what seat-definitions takes.
|
||||
type SeatDefinitionsInput struct {
|
||||
// the seat to give whole; omit for the list of every seat
|
||||
Seat string `json:"seat,omitempty"`
|
||||
}
|
||||
|
||||
// SeatDefinitionsAnswer is what seat-definitions answers.
|
||||
type SeatDefinitionsAnswer = map[string]any
|
||||
|
||||
// ModulesInput is what modules takes.
|
||||
type ModulesInput struct {
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "container-image-registry",
|
||||
"scope": "mesh",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0605",
|
||||
"description": "The mesh's container images, in the one artifact store: the OCI distribution protocol's read side, an image's tags and mirroring an outside image.",
|
||||
"includes": [
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "git",
|
||||
"scope": "mesh",
|
||||
"grain": "seat-list",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0111",
|
||||
"delivers": "git"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "go-package-registry",
|
||||
"scope": "mesh",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0605",
|
||||
"description": "The mesh's Go modules: Go's module proxy protocol's read side, and publishing over the bus.",
|
||||
"delivers": "go-package-registry",
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
"seat": "mesh-artifact-store",
|
||||
"scope": "mesh",
|
||||
"grain": "seat-list",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0075"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "mesh-artifact-sweep",
|
||||
"scope": "mesh",
|
||||
"grain": "seat-list",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0571",
|
||||
"verbs": [
|
||||
{
|
||||
@@ -19,7 +20,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"repository": {
|
||||
"description": "only this repository's references, as \u003cmodule\u003e/\u003cartifact\u003e (the counts stay whole)",
|
||||
"description": "only this repository's references, as <module>/<artifact> (the counts stay whole)",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@@ -32,7 +33,7 @@
|
||||
"input": {
|
||||
"properties": {
|
||||
"references": {
|
||||
"description": "the artifacts' references, artifact-store://\u003cmodule\u003e/\u003cartifact\u003e/blobs/sha256:\u003chex\u003e: a list, or one text separated by commas",
|
||||
"description": "the artifacts' references, artifact-store://<module>/<artifact>/blobs/sha256:<hex>: a list, or one text separated by commas",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
|
||||
@@ -3,8 +3,27 @@
|
||||
"seat": "mesh-catalog",
|
||||
"scope": "mesh",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0604",
|
||||
"verbs": [
|
||||
{
|
||||
"name": "seat-definitions",
|
||||
"description": "The seats' definitions the trunk holds, for the seat list reader of every host (ADR 0636 §1, §4): with no seat, the revision and every trunk seat's name and digest; with a seat, that seat's resolved definition, its digest and any reason it did not parse. Trunk definitions only. Reads only.",
|
||||
"optional": false,
|
||||
"input": {
|
||||
"properties": {
|
||||
"seat": {
|
||||
"description": "the seat to give whole; omit for the list of every seat",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"answer": {
|
||||
"type": "object",
|
||||
"description": "{revision, seats:[{seat, source, digest}]} for no seat; {seat, found, entry:{seat, source, digest, definition, unparsed?}, revision} for one"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "modules",
|
||||
"description": "Every module the trunk holds, each with its repository, its directory there, the merge commit it was last changed at and its fingerprint (or why it has none): the catalog of the mesh, read from its holder's state. Reads only.",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "mesh-delivery-checker",
|
||||
"scope": "mesh",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0547",
|
||||
"verbs": [
|
||||
{
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "mesh-delivery",
|
||||
"scope": "mesh",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0239",
|
||||
"verbs": [
|
||||
{
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "node-build-go",
|
||||
"scope": "node",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0525, ADR 0536, ADR 0553",
|
||||
"pulled-by-kind": true,
|
||||
"yields": true,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "node-build-image",
|
||||
"scope": "node",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0525, ADR 0536, ADR 0553",
|
||||
"pulled-by-kind": true,
|
||||
"yields": true,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "node-build-node",
|
||||
"scope": "node",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0525, ADR 0536, ADR 0553",
|
||||
"pulled-by-kind": true,
|
||||
"yields": true,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "npm-package-registry",
|
||||
"scope": "mesh",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0109",
|
||||
"description": "The mesh's npm packages: the npm registry protocol's read side, and publishing over the bus.",
|
||||
"delivers": "npm-package-registry",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"seat": "oci-artifact-registry",
|
||||
"scope": "mesh",
|
||||
"grain": "whole",
|
||||
"domain": "Delivery",
|
||||
"decision": "novox/hq ADR 0605",
|
||||
"description": "The mesh's bundles and archives, by digest, in the one artifact store: the OCI distribution protocol's read side.",
|
||||
"includes": [
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
export const seat = "mesh-catalog";
|
||||
|
||||
export const verbs = {
|
||||
seatDefinitions: "seat-definitions",
|
||||
modules: "modules",
|
||||
module: "module",
|
||||
provides: "provides",
|
||||
@@ -155,6 +156,15 @@ export function parsePackagesByPackageSeriesKey(key: string): { packagePart: str
|
||||
return { packagePart, series };
|
||||
}
|
||||
|
||||
/** is what seat-definitions takes. */
|
||||
export interface SeatDefinitionsInput {
|
||||
/** the seat to give whole; omit for the list of every seat */
|
||||
"seat"?: string;
|
||||
}
|
||||
|
||||
/** is what seat-definitions answers. */
|
||||
export type SeatDefinitionsAnswer = Record<string, unknown>;
|
||||
|
||||
/** is what modules takes. */
|
||||
export interface ModulesInput {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user