diff --git a/format/seat-definition.schema.json b/format/seat-definition.schema.json index d78ab51..b27097f 100644 --- a/format/seat-definition.schema.json +++ b/format/seat-definition.schema.json @@ -83,7 +83,7 @@ "items": { "$ref": "#/$defs/message" }, - "description": "published on mesh.seat..event." + "description": "published on mesh.seat..., the token event unless the family names its own" }, "family": { "type": "object", @@ -103,6 +103,20 @@ "max-mib": { "type": "integer", "minimum": 1 + }, + "token": { + "type": "string", + "pattern": "^[a-z][a-z0-9-]*$", + "not": { + "enum": [ + "event", + "accept", + "tool", + "call", + "proof" + ] + }, + "description": "the subject's word after the seat's name, event when absent: a family kept in a stream of its own names another, outside the shared events stream's mesh.seat.*.event.>" } } }, diff --git a/go/seats/meshbroker/contract.go b/go/seats/meshbroker/contract.go index 374d7de..c188609 100644 --- a/go/seats/meshbroker/contract.go +++ b/go/seats/meshbroker/contract.go @@ -46,32 +46,35 @@ const ( FamilyMaxMiB = 256 ) +// FamilySubjects is what the family's own stream takes, outside the shared events stream's subjects. +const FamilySubjects = "mesh.seat.mesh-broker.said.>" + // SubjectCreated is where created is published. -const SubjectCreated = "mesh.seat.mesh-broker.event.created" +const SubjectCreated = "mesh.seat.mesh-broker.said.created" // SubjectRefused is where refused is published. -const SubjectRefused = "mesh.seat.mesh-broker.event.refused" +const SubjectRefused = "mesh.seat.mesh-broker.said.refused" // SubjectDrifted is where drifted is published. -const SubjectDrifted = "mesh.seat.mesh-broker.event.drifted" +const SubjectDrifted = "mesh.seat.mesh-broker.said.drifted" // SubjectDriftCleared is where drift-cleared is published. -const SubjectDriftCleared = "mesh.seat.mesh-broker.event.drift-cleared" +const SubjectDriftCleared = "mesh.seat.mesh-broker.said.drift-cleared" // SubjectFull is where full is published. -const SubjectFull = "mesh.seat.mesh-broker.event.full" +const SubjectFull = "mesh.seat.mesh-broker.said.full" // SubjectFullCleared is where full-cleared is published. -const SubjectFullCleared = "mesh.seat.mesh-broker.event.full-cleared" +const SubjectFullCleared = "mesh.seat.mesh-broker.said.full-cleared" // SubjectOrphaned is where orphaned is published. -const SubjectOrphaned = "mesh.seat.mesh-broker.event.orphaned" +const SubjectOrphaned = "mesh.seat.mesh-broker.said.orphaned" // SubjectRecreated is where recreated is published. -const SubjectRecreated = "mesh.seat.mesh-broker.event.recreated" +const SubjectRecreated = "mesh.seat.mesh-broker.said.recreated" // SubjectDropped is where dropped is published. -const SubjectDropped = "mesh.seat.mesh-broker.event.dropped" +const SubjectDropped = "mesh.seat.mesh-broker.said.dropped" // Binding is the binding a module receives in its membership for one entry (ADR 0595 §1, §7). type Binding struct { diff --git a/go/seats/meshbroker/contract_test.go b/go/seats/meshbroker/contract_test.go index 03c1f9c..49861f6 100644 --- a/go/seats/meshbroker/contract_test.go +++ b/go/seats/meshbroker/contract_test.go @@ -17,24 +17,24 @@ func TestFixtures(t *testing.T) { decode func([]byte) (any, error) subjectIs *regexp.Regexp }{ - {name: "created on the seat's subject", subject: "mesh.seat.mesh-broker.event.created", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", - decode: func(b []byte) (any, error) { var v CreatedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.created$")}, - {name: "refused on the seat's subject", subject: "mesh.seat.mesh-broker.event.refused", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", - decode: func(b []byte) (any, error) { var v RefusedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.refused$")}, - {name: "drifted on the seat's subject", subject: "mesh.seat.mesh-broker.event.drifted", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", - decode: func(b []byte) (any, error) { var v DriftedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.drifted$")}, - {name: "drift-cleared on the seat's subject", subject: "mesh.seat.mesh-broker.event.drift-cleared", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", - decode: func(b []byte) (any, error) { var v DriftClearedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.drift-cleared$")}, - {name: "full on the seat's subject", subject: "mesh.seat.mesh-broker.event.full", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", - decode: func(b []byte) (any, error) { var v FullEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.full$")}, - {name: "full-cleared on the seat's subject", subject: "mesh.seat.mesh-broker.event.full-cleared", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", - decode: func(b []byte) (any, error) { var v FullClearedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.full-cleared$")}, - {name: "orphaned on the seat's subject", subject: "mesh.seat.mesh-broker.event.orphaned", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", - decode: func(b []byte) (any, error) { var v OrphanedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.orphaned$")}, - {name: "recreated on the seat's subject", subject: "mesh.seat.mesh-broker.event.recreated", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", - decode: func(b []byte) (any, error) { var v RecreatedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.recreated$")}, - {name: "dropped on the seat's subject", subject: "mesh.seat.mesh-broker.event.dropped", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", - decode: func(b []byte) (any, error) { var v DroppedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.event\\.dropped$")}, + {name: "created on the seat's subject", subject: "mesh.seat.mesh-broker.said.created", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", + decode: func(b []byte) (any, error) { var v CreatedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.created$")}, + {name: "refused on the seat's subject", subject: "mesh.seat.mesh-broker.said.refused", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", + decode: func(b []byte) (any, error) { var v RefusedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.refused$")}, + {name: "drifted on the seat's subject", subject: "mesh.seat.mesh-broker.said.drifted", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", + decode: func(b []byte) (any, error) { var v DriftedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.drifted$")}, + {name: "drift-cleared on the seat's subject", subject: "mesh.seat.mesh-broker.said.drift-cleared", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", + decode: func(b []byte) (any, error) { var v DriftClearedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.drift-cleared$")}, + {name: "full on the seat's subject", subject: "mesh.seat.mesh-broker.said.full", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", + decode: func(b []byte) (any, error) { var v FullEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.full$")}, + {name: "full-cleared on the seat's subject", subject: "mesh.seat.mesh-broker.said.full-cleared", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", + decode: func(b []byte) (any, error) { var v FullClearedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.full-cleared$")}, + {name: "orphaned on the seat's subject", subject: "mesh.seat.mesh-broker.said.orphaned", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\"}", + decode: func(b []byte) (any, error) { var v OrphanedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.orphaned$")}, + {name: "recreated on the seat's subject", subject: "mesh.seat.mesh-broker.said.recreated", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", + decode: func(b []byte) (any, error) { var v RecreatedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.recreated$")}, + {name: "dropped on the seat's subject", subject: "mesh.seat.mesh-broker.said.dropped", given: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", wire: "{\"asked\":{\"max-mib\":64},\"bus-name\":\"mesh-knowledge_ledger\",\"fill\":{\"bytes\":2048,\"cap\":67108864,\"count\":10},\"held\":{\"max-mib\":64},\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"storage-type\":\"ledger\",\"template\":\"ledger\",\"why\":\"the bus refused it\"}", + decode: func(b []byte) (any, error) { var v DroppedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.mesh-broker\\.said\\.dropped$")}, {name: "create one entry", subject: "", given: "{\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"options\":{\"max-mib\":64},\"storage-type\":\"ledger\",\"template\":\"ledger\"}", wire: "{\"local-name\":\"ledger\",\"module\":\"mesh-knowledge\",\"options\":{\"max-mib\":64},\"storage-type\":\"ledger\",\"template\":\"ledger\"}", decode: func(b []byte) (any, error) { var v CreateInput; err := json.Unmarshal(b, &v); return v, err }, subjectIs: nil}, {name: "drop on the operator's warrant", subject: "", given: "{\"local-name\":\"old\",\"module\":\"mesh-knowledge\",\"warrant\":\"w-1\",\"why\":\"the operator approved the drop\"}", wire: "{\"local-name\":\"old\",\"module\":\"mesh-knowledge\",\"warrant\":\"w-1\",\"why\":\"the operator approved the drop\"}", diff --git a/seats/mesh-broker/fixtures/events.json b/seats/mesh-broker/fixtures/events.json index 374448d..c6167bd 100644 --- a/seats/mesh-broker/fixtures/events.json +++ b/seats/mesh-broker/fixtures/events.json @@ -2,7 +2,7 @@ { "name": "created on the seat's subject", "of": "event:created", - "subject": "mesh.seat.mesh-broker.event.created", + "subject": "mesh.seat.mesh-broker.said.created", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -25,7 +25,7 @@ { "name": "refused on the seat's subject", "of": "event:refused", - "subject": "mesh.seat.mesh-broker.event.refused", + "subject": "mesh.seat.mesh-broker.said.refused", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -49,7 +49,7 @@ { "name": "drifted on the seat's subject", "of": "event:drifted", - "subject": "mesh.seat.mesh-broker.event.drifted", + "subject": "mesh.seat.mesh-broker.said.drifted", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -73,7 +73,7 @@ { "name": "drift-cleared on the seat's subject", "of": "event:drift-cleared", - "subject": "mesh.seat.mesh-broker.event.drift-cleared", + "subject": "mesh.seat.mesh-broker.said.drift-cleared", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -96,7 +96,7 @@ { "name": "full on the seat's subject", "of": "event:full", - "subject": "mesh.seat.mesh-broker.event.full", + "subject": "mesh.seat.mesh-broker.said.full", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -119,7 +119,7 @@ { "name": "full-cleared on the seat's subject", "of": "event:full-cleared", - "subject": "mesh.seat.mesh-broker.event.full-cleared", + "subject": "mesh.seat.mesh-broker.said.full-cleared", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -142,7 +142,7 @@ { "name": "orphaned on the seat's subject", "of": "event:orphaned", - "subject": "mesh.seat.mesh-broker.event.orphaned", + "subject": "mesh.seat.mesh-broker.said.orphaned", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -165,7 +165,7 @@ { "name": "recreated on the seat's subject", "of": "event:recreated", - "subject": "mesh.seat.mesh-broker.event.recreated", + "subject": "mesh.seat.mesh-broker.said.recreated", "given": { "module": "mesh-knowledge", "local-name": "ledger", @@ -189,7 +189,7 @@ { "name": "dropped on the seat's subject", "of": "event:dropped", - "subject": "mesh.seat.mesh-broker.event.dropped", + "subject": "mesh.seat.mesh-broker.said.dropped", "given": { "module": "mesh-knowledge", "local-name": "ledger", diff --git a/seats/mesh-broker/seat.json b/seats/mesh-broker/seat.json index d551eb7..167b3d7 100644 --- a/seats/mesh-broker/seat.json +++ b/seats/mesh-broker/seat.json @@ -252,7 +252,8 @@ "family": { "name": "mesh-broker.events", "max-age-days": 30, - "max-mib": 256 + "max-mib": 256, + "token": "said" }, "provisions": [ { diff --git a/ts/src/mesh-broker.ts b/ts/src/mesh-broker.ts index 01c8c50..bb3d52c 100644 --- a/ts/src/mesh-broker.ts +++ b/ts/src/mesh-broker.ts @@ -27,25 +27,25 @@ export const events = { dropped: "dropped", } as const; -export const family = { name: "mesh-broker.events", maxAgeDays: 30, maxMiB: 256 } as const; +export const family = { name: "mesh-broker.events", maxAgeDays: 30, maxMiB: 256, subjects: "mesh.seat.mesh-broker.said.>" } as const; -export const createdSubject = "mesh.seat.mesh-broker.event.created"; +export const createdSubject = "mesh.seat.mesh-broker.said.created"; -export const refusedSubject = "mesh.seat.mesh-broker.event.refused"; +export const refusedSubject = "mesh.seat.mesh-broker.said.refused"; -export const driftedSubject = "mesh.seat.mesh-broker.event.drifted"; +export const driftedSubject = "mesh.seat.mesh-broker.said.drifted"; -export const driftClearedSubject = "mesh.seat.mesh-broker.event.drift-cleared"; +export const driftClearedSubject = "mesh.seat.mesh-broker.said.drift-cleared"; -export const fullSubject = "mesh.seat.mesh-broker.event.full"; +export const fullSubject = "mesh.seat.mesh-broker.said.full"; -export const fullClearedSubject = "mesh.seat.mesh-broker.event.full-cleared"; +export const fullClearedSubject = "mesh.seat.mesh-broker.said.full-cleared"; -export const orphanedSubject = "mesh.seat.mesh-broker.event.orphaned"; +export const orphanedSubject = "mesh.seat.mesh-broker.said.orphaned"; -export const recreatedSubject = "mesh.seat.mesh-broker.event.recreated"; +export const recreatedSubject = "mesh.seat.mesh-broker.said.recreated"; -export const droppedSubject = "mesh.seat.mesh-broker.event.dropped"; +export const droppedSubject = "mesh.seat.mesh-broker.said.dropped"; /** the binding a module receives in its membership for one entry (ADR 0595 §1, §7) */ export interface Binding {