diff --git a/go/seats/operatorchannel/contract.go b/go/seats/operatorchannel/contract.go index 104afe6..eece285 100644 --- a/go/seats/operatorchannel/contract.go +++ b/go/seats/operatorchannel/contract.go @@ -68,11 +68,11 @@ const ( // HolderSubjectRefused is where the holder publishes refused. func HolderSubjectRefused(holder string) string { return "mesh.mod." + holder + ".event.refused" } -// HolderSubjectOffered is where the holder publishes offered, kept in the router's restricted stream (design 55 § 11). -func HolderSubjectOffered(holder string) string { return "mesh.mod." + holder + ".event.offered" } +// HolderSubjectOffered is where the holder publishes offered, kept in router.asks. +func HolderSubjectOffered(holder string) string { return "mesh.stream." + holder + ".event.offered" } -// HolderSubjectClosed is where the holder publishes closed, kept in the router's restricted stream (design 55 § 11). -func HolderSubjectClosed(holder string) string { return "mesh.mod." + holder + ".event.closed" } +// HolderSubjectClosed is where the holder publishes closed, kept in router.asks. +func HolderSubjectClosed(holder string) string { return "mesh.stream." + holder + ".event.closed" } const ( RecordAsks = "asks" diff --git a/go/seats/operatorchannel/contract_test.go b/go/seats/operatorchannel/contract_test.go index 2a8c9ce..c5e8a8e 100644 --- a/go/seats/operatorchannel/contract_test.go +++ b/go/seats/operatorchannel/contract_test.go @@ -21,10 +21,10 @@ func TestFixtures(t *testing.T) { decode: func(b []byte) (any, error) { var v DecidedEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.operator-channel\\.event\\.decided\\.[A-Za-z0-9_-]+$")}, {name: "refused under the holder's own subjects", subject: "mesh.mod.messenger.event.refused", given: "{}", wire: "{}", decode: func(b []byte) (any, error) { var v map[string]any; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.mod\\.[a-z0-9-]+\\.event\\.refused$")}, - {name: "offered on the router's restricted stream", subject: "mesh.mod.messenger.event.offered", given: "{\"asker\":\"mesh-delivery\",\"channels\":[\"telegram\"],\"headline\":\"release held\",\"id\":\"a1\"}", wire: "{\"asker\":\"mesh-delivery\",\"channels\":[\"telegram\"],\"headline\":\"release held\",\"id\":\"a1\"}", - decode: func(b []byte) (any, error) { var v OfferedHolderEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.mod\\.[a-z0-9-]+\\.event\\.offered$")}, - {name: "closed once per end", subject: "mesh.mod.messenger.event.closed", given: "{\"asker\":\"mesh-delivery\",\"how\":\"answered\",\"id\":\"a1\"}", wire: "{\"asker\":\"mesh-delivery\",\"how\":\"answered\",\"id\":\"a1\"}", - decode: func(b []byte) (any, error) { var v ClosedHolderEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.mod\\.[a-z0-9-]+\\.event\\.closed$")}, + {name: "offered on the router's restricted stream", subject: "mesh.stream.messenger.event.offered", given: "{\"asker\":\"mesh-delivery\",\"channels\":[\"telegram\"],\"headline\":\"release held\",\"id\":\"a1\"}", wire: "{\"asker\":\"mesh-delivery\",\"channels\":[\"telegram\"],\"headline\":\"release held\",\"id\":\"a1\"}", + decode: func(b []byte) (any, error) { var v OfferedHolderEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.stream\\.[a-z0-9-]+\\.event\\.offered$")}, + {name: "closed once per end", subject: "mesh.stream.messenger.event.closed", given: "{\"asker\":\"mesh-delivery\",\"how\":\"answered\",\"id\":\"a1\"}", wire: "{\"asker\":\"mesh-delivery\",\"how\":\"answered\",\"id\":\"a1\"}", + decode: func(b []byte) (any, error) { var v ClosedHolderEvent; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.stream\\.[a-z0-9-]+\\.event\\.closed$")}, {name: "an ask by its asker", subject: "mesh.seat.operator-channel.accept.ask.mesh-delivery", given: "{\"expires\":\"2026-11-05T12:00:00Z\",\"explanation\":\"A delivery waits on your word.\",\"headline\":\"release held\",\"id\":\"a1\",\"on-expiry\":\"the delivery stays held\",\"options\":[{\"binds\":\"sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\",\"does\":\"releases it\",\"id\":\"ok\",\"label\":\"Release\",\"level\":\"approve\"}],\"who\":\"operator\"}", wire: "{\"expires\":\"2026-11-05T12:00:00Z\",\"explanation\":\"A delivery waits on your word.\",\"headline\":\"release held\",\"id\":\"a1\",\"on-expiry\":\"the delivery stays held\",\"options\":[{\"binds\":\"sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\",\"does\":\"releases it\",\"id\":\"ok\",\"label\":\"Release\",\"level\":\"approve\"}],\"who\":\"operator\"}", decode: func(b []byte) (any, error) { var v AskAccept; err := json.Unmarshal(b, &v); return v, err }, subjectIs: regexp.MustCompile("^mesh\\.seat\\.operator-channel\\.accept\\.ask\\.[A-Za-z0-9_-]+$")}, {name: "a cancel by its asker", subject: "mesh.seat.operator-channel.accept.cancel.mesh-delivery", given: "{\"id\":\"a1\"}", wire: "{\"id\":\"a1\"}", diff --git a/seats/operator-channel/fixtures/events.json b/seats/operator-channel/fixtures/events.json index 971ce14..efa6a5b 100644 --- a/seats/operator-channel/fixtures/events.json +++ b/seats/operator-channel/fixtures/events.json @@ -30,7 +30,7 @@ { "name": "offered on the router's restricted stream", "of": "holder-event:offered", - "subject": "mesh.mod.messenger.event.offered", + "subject": "mesh.stream.messenger.event.offered", "given": { "id": "a1", "asker": "mesh-delivery", @@ -43,7 +43,7 @@ { "name": "closed once per end", "of": "holder-event:closed", - "subject": "mesh.mod.messenger.event.closed", + "subject": "mesh.stream.messenger.event.closed", "given": { "id": "a1", "asker": "mesh-delivery", diff --git a/seats/operator-channel/seat.json b/seats/operator-channel/seat.json index 12fb625..4fe0a0c 100644 --- a/seats/operator-channel/seat.json +++ b/seats/operator-channel/seat.json @@ -189,8 +189,8 @@ }, { "name": "offered", - "subject": "mesh.mod..event.offered", - "family": "the router's restricted stream (design 55 § 11)", + "subject": "mesh.stream..event.offered", + "family": "router.asks", "body": { "type": "object", "properties": { @@ -222,8 +222,8 @@ }, { "name": "closed", - "subject": "mesh.mod..event.closed", - "family": "the router's restricted stream (design 55 § 11)", + "subject": "mesh.stream..event.closed", + "family": "router.asks", "body": { "type": "object", "properties": { diff --git a/ts/src/operator-channel.ts b/ts/src/operator-channel.ts index e8ad2ba..16e5cb0 100644 --- a/ts/src/operator-channel.ts +++ b/ts/src/operator-channel.ts @@ -51,11 +51,11 @@ export function refusedHolderSubject(holder: string): string { } export function offeredHolderSubject(holder: string): string { - return "mesh.mod." + holder + ".event.offered"; + return "mesh.stream." + holder + ".event.offered"; } export function closedHolderSubject(holder: string): string { - return "mesh.mod." + holder + ".event.closed"; + return "mesh.stream." + holder + ".event.closed"; } export interface Ask {