feature/pubsub #7

Merged
mats merged 67 commits from feature/pubsub into main 2025-11-28 17:45:22 +01:00
46 changed files with 78 additions and 71 deletions
Showing only changes of commit 374bd4272b - Show all commits

View File

@@ -14,10 +14,10 @@
# Conventions: # Conventions:
# - All .proto files live in $(PROTO_DIR) # - All .proto files live in $(PROTO_DIR)
# - Generated Go code is emitted under $(PROTO_DIR) via go_package mapping # - Generated Go code is emitted under $(PROTO_DIR) via go_package mapping
# - go_package is set to: git.tornberg.me/go-cart-actor/proto;messages # - go_package is set to: git.k6n.net/go-cart-actor/proto;messages
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
MODULE_PATH := git.tornberg.me/go-cart-actor MODULE_PATH := git.k6n.net/go-cart-actor
PROTO_DIR := proto PROTO_DIR := proto
PROTOS := $(PROTO_DIR)/messages.proto $(PROTO_DIR)/control_plane.proto PROTOS := $(PROTO_DIR)/messages.proto $(PROTO_DIR)/control_plane.proto

View File

@@ -16,8 +16,8 @@ import (
"strings" "strings"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
"github.com/gogo/protobuf/proto" "github.com/gogo/protobuf/proto"
) )

View File

@@ -7,7 +7,7 @@ import (
"testing" "testing"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
) )
// TestAppendFileInfoRandomProjectFile picks a random existing .go source file in the // TestAppendFileInfoRandomProjectFile picks a random existing .go source file in the

View File

@@ -9,9 +9,9 @@ import (
"os" "os"
"time" "time"
actor "git.tornberg.me/go-cart-actor/pkg/actor" actor "git.k6n.net/go-cart-actor/pkg/actor"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
"git.tornberg.me/mats/go-redis-inventory/pkg/inventory" "github.com/matst80/go-redis-inventory/pkg/inventory"
"github.com/matst80/slask-finder/pkg/messaging" "github.com/matst80/slask-finder/pkg/messaging"
amqp "github.com/rabbitmq/amqp091-go" amqp "github.com/rabbitmq/amqp091-go"
"github.com/redis/go-redis/v9" "github.com/redis/go-redis/v9"

View File

@@ -4,7 +4,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
) )
// CheckoutMeta carries the external / URL metadata required to build a // CheckoutMeta carries the external / URL metadata required to build a

View File

@@ -8,10 +8,10 @@ import (
"net/http" "net/http"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
"git.tornberg.me/go-cart-actor/pkg/messages" "git.k6n.net/go-cart-actor/pkg/messages"
"git.tornberg.me/mats/go-redis-inventory/pkg/inventory" "github.com/matst80/go-redis-inventory/pkg/inventory"
amqp "github.com/rabbitmq/amqp091-go" amqp "github.com/rabbitmq/amqp091-go"
) )

View File

@@ -3,9 +3,9 @@ package main
import ( import (
"log" "log"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
"git.tornberg.me/go-cart-actor/pkg/discovery" "git.k6n.net/go-cart-actor/pkg/discovery"
"k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest" "k8s.io/client-go/rest"
) )

View File

@@ -13,13 +13,13 @@ import (
"strings" "strings"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
"git.tornberg.me/go-cart-actor/pkg/promotions" "git.k6n.net/go-cart-actor/pkg/promotions"
"git.tornberg.me/go-cart-actor/pkg/proxy" "git.k6n.net/go-cart-actor/pkg/proxy"
"git.tornberg.me/go-cart-actor/pkg/voucher" "git.k6n.net/go-cart-actor/pkg/voucher"
"git.tornberg.me/mats/go-redis-inventory/pkg/inventory" "github.com/matst80/go-redis-inventory/pkg/inventory"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto" "github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/client_golang/prometheus/promhttp"

View File

@@ -11,12 +11,12 @@ import (
"sync" "sync"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
"git.tornberg.me/go-cart-actor/pkg/voucher" "git.k6n.net/go-cart-actor/pkg/voucher"
"git.tornberg.me/mats/go-redis-inventory/pkg/inventory"
"github.com/gogo/protobuf/proto" "github.com/gogo/protobuf/proto"
"github.com/matst80/go-redis-inventory/pkg/inventory"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto" "github.com/prometheus/client_golang/prometheus/promauto"
"go.opentelemetry.io/contrib/bridges/otelslog" "go.opentelemetry.io/contrib/bridges/otelslog"

View File

@@ -6,8 +6,8 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
"github.com/matst80/slask-finder/pkg/index" "github.com/matst80/slask-finder/pkg/index"
) )

View File

@@ -9,7 +9,7 @@ import (
"strings" "strings"
"sync" "sync"
"git.tornberg.me/mats/go-redis-inventory/pkg/inventory" "github.com/matst80/go-redis-inventory/pkg/inventory"
"github.com/matst80/slask-finder/pkg/index" "github.com/matst80/slask-finder/pkg/index"
"github.com/matst80/slask-finder/pkg/messaging" "github.com/matst80/slask-finder/pkg/messaging"
"github.com/redis/go-redis/v9" "github.com/redis/go-redis/v9"

View File

@@ -7,7 +7,7 @@ import (
"strings" "strings"
"sync" "sync"
"git.tornberg.me/mats/go-redis-inventory/pkg/inventory" "github.com/matst80/go-redis-inventory/pkg/inventory"
"github.com/matst80/slask-finder/pkg/types" "github.com/matst80/slask-finder/pkg/types"
"github.com/redis/go-redis/v9" "github.com/redis/go-redis/v9"
) )

5
go.mod
View File

@@ -1,11 +1,11 @@
module git.tornberg.me/go-cart-actor module git.k6n.net/go-cart-actor
go 1.25.4 go 1.25.4
require ( require (
git.tornberg.me/mats/go-redis-inventory v0.0.0-20251113201741-8bf0efac50ee
github.com/gogo/protobuf v1.3.2 github.com/gogo/protobuf v1.3.2
github.com/google/uuid v1.6.0 github.com/google/uuid v1.6.0
github.com/matst80/go-redis-inventory v0.0.0-20251125181530-7ebbc97e3841
github.com/matst80/slask-finder v0.0.0-20251118173753-f66c21cfbda4 github.com/matst80/slask-finder v0.0.0-20251118173753-f66c21cfbda4
github.com/prometheus/client_golang v1.23.2 github.com/prometheus/client_golang v1.23.2
github.com/rabbitmq/amqp091-go v1.10.0 github.com/rabbitmq/amqp091-go v1.10.0
@@ -30,6 +30,7 @@ require (
) )
require ( require (
git.tornberg.me/mats/go-redis-inventory v0.0.0-20251113201741-8bf0efac50ee // indirect
github.com/RoaringBitmap/roaring/v2 v2.14.4 // indirect github.com/RoaringBitmap/roaring/v2 v2.14.4 // indirect
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
github.com/bits-and-blooms/bitset v1.24.4 // indirect github.com/bits-and-blooms/bitset v1.24.4 // indirect

2
go.sum
View File

@@ -115,6 +115,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8=
github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
github.com/matst80/go-redis-inventory v0.0.0-20251125181530-7ebbc97e3841 h1:CCHa+LuxwGOPPbIpuFYNT7VtC5rHjSulB337Y+Yyys8=
github.com/matst80/go-redis-inventory v0.0.0-20251125181530-7ebbc97e3841/go.mod h1:d42+bHxhmMg73OQM+5i5U7vyEQfuVLJkt7QPsEbr8kI=
github.com/matst80/slask-finder v0.0.0-20251118173753-f66c21cfbda4 h1:yWwWkCaXhwrp5EAd6Z2Rd/n823K0Fz/A3+bqcAcn0qk= github.com/matst80/slask-finder v0.0.0-20251118173753-f66c21cfbda4 h1:yWwWkCaXhwrp5EAd6Z2Rd/n823K0Fz/A3+bqcAcn0qk=
github.com/matst80/slask-finder v0.0.0-20251118173753-f66c21cfbda4/go.mod h1:aqCC0Y1Jv+DhL36YHXf+0bZZkpQNMe9yFMcwgRSJ+Rc= github.com/matst80/slask-finder v0.0.0-20251118173753-f66c21cfbda4/go.mod h1:aqCC0Y1Jv+DhL36YHXf+0bZZkpQNMe9yFMcwgRSJ+Rc=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=

View File

@@ -7,7 +7,7 @@ import (
"net" "net"
"time" "time"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
"go.opentelemetry.io/contrib/bridges/otelslog" "go.opentelemetry.io/contrib/bridges/otelslog"
"go.opentelemetry.io/otel" "go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/attribute"

View File

@@ -7,7 +7,7 @@ import (
"slices" "slices"
"testing" "testing"
"git.tornberg.me/go-cart-actor/pkg/messages" "git.k6n.net/go-cart-actor/pkg/messages"
) )
type cartState struct { type cartState struct {

View File

@@ -7,9 +7,9 @@ import (
"sync" "sync"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
"git.tornberg.me/go-cart-actor/pkg/voucher" "git.k6n.net/go-cart-actor/pkg/voucher"
) )
// Legacy padded [16]byte CartId and its helper methods removed. // Legacy padded [16]byte CartId and its helper methods removed.

View File

@@ -1,8 +1,8 @@
package cart package cart
import ( import (
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func NewCartMultationRegistry() actor.MutationRegistry { func NewCartMultationRegistry() actor.MutationRegistry {

View File

@@ -4,7 +4,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
) )

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_add_item.go // mutation_add_item.go

View File

@@ -3,8 +3,8 @@ package cart
import ( import (
"slices" "slices"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
"git.tornberg.me/go-cart-actor/pkg/messages" "git.k6n.net/go-cart-actor/pkg/messages"
) )
func RemoveVoucher(g *CartGrain, m *messages.RemoveVoucher) error { func RemoveVoucher(g *CartGrain, m *messages.RemoveVoucher) error {

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_change_quantity.go // mutation_change_quantity.go

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"time" "time"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func ConfirmationViewed(grain *CartGrain, req *messages.ConfirmationViewed) error { func ConfirmationViewed(grain *CartGrain, req *messages.ConfirmationViewed) error {

View File

@@ -2,8 +2,9 @@ package cart
import ( import (
"errors" "errors"
messages "git.k6n.net/go-cart-actor/pkg/messages"
"github.com/google/uuid" "github.com/google/uuid"
messages "git.tornberg.me/go-cart-actor/pkg/messages"
) )
func CreateCheckoutOrder(grain *CartGrain, req *messages.CreateCheckoutOrder) error { func CreateCheckoutOrder(grain *CartGrain, req *messages.CreateCheckoutOrder) error {

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_initialize_checkout.go // mutation_initialize_checkout.go

View File

@@ -1,6 +1,6 @@
package cart package cart
import "git.tornberg.me/go-cart-actor/pkg/messages" import "git.k6n.net/go-cart-actor/pkg/messages"
func InventoryReserved(g *CartGrain, m *messages.InventoryReserved) error { func InventoryReserved(g *CartGrain, m *messages.InventoryReserved) error {
g.InventoryReserved = true g.InventoryReserved = true

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func LineItemMarking(grain *CartGrain, req *messages.LineItemMarking) error { func LineItemMarking(grain *CartGrain, req *messages.LineItemMarking) error {

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_order_created.go // mutation_order_created.go

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"time" "time"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func PaymentDeclined(grain *CartGrain, req *messages.PaymentDeclined) error { func PaymentDeclined(grain *CartGrain, req *messages.PaymentDeclined) error {

View File

@@ -1,6 +1,6 @@
package cart package cart
import messages "git.tornberg.me/go-cart-actor/pkg/messages" import messages "git.k6n.net/go-cart-actor/pkg/messages"
func PreConditionFailed(g *CartGrain, m *messages.PreConditionFailed) error { func PreConditionFailed(g *CartGrain, m *messages.PreConditionFailed) error {
return nil return nil

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_remove_delivery.go // mutation_remove_delivery.go

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func RemoveGiftcard(grain *CartGrain, req *messages.RemoveGiftcard) error { func RemoveGiftcard(grain *CartGrain, req *messages.RemoveGiftcard) error {

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_remove_item.go // mutation_remove_item.go

View File

@@ -2,7 +2,8 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages"
messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func RemoveLineItemMarking(grain *CartGrain, req *messages.RemoveLineItemMarking) error { func RemoveLineItemMarking(grain *CartGrain, req *messages.RemoveLineItemMarking) error {

View File

@@ -4,7 +4,7 @@ import (
"fmt" "fmt"
"slices" "slices"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_set_delivery.go // mutation_set_delivery.go

View File

@@ -3,7 +3,7 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// mutation_set_pickup_point.go // mutation_set_pickup_point.go

View File

@@ -2,7 +2,8 @@ package cart
import ( import (
"errors" "errors"
messages "git.tornberg.me/go-cart-actor/pkg/messages"
messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func SetUserId(grain *CartGrain, req *messages.SetUserId) error { func SetUserId(grain *CartGrain, req *messages.SetUserId) error {

View File

@@ -2,7 +2,8 @@ package cart
import ( import (
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages"
messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func SubscriptionAdded(grain *CartGrain, req *messages.SubscriptionAdded) error { func SubscriptionAdded(grain *CartGrain, req *messages.SubscriptionAdded) error {

View File

@@ -13,8 +13,8 @@ import (
"github.com/gogo/protobuf/proto" "github.com/gogo/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/anypb"
"git.tornberg.me/go-cart-actor/pkg/actor" "git.k6n.net/go-cart-actor/pkg/actor"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
// ---------------------- // ----------------------

View File

@@ -4,7 +4,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
) )
func UpsertSubscriptionDetails(g *CartGrain, m *messages.UpsertSubscriptionDetails) error { func UpsertSubscriptionDetails(g *CartGrain, m *messages.UpsertSubscriptionDetails) error {

View File

@@ -7,7 +7,7 @@ import (
"strings" "strings"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
) )
var errInvalidTimeFormat = errors.New("invalid time format") var errInvalidTimeFormat = errors.New("invalid time format")

View File

@@ -6,7 +6,7 @@ import (
"testing" "testing"
"time" "time"
"git.tornberg.me/go-cart-actor/pkg/cart" "git.k6n.net/go-cart-actor/pkg/cart"
) )
// --- Helpers --------------------------------------------------------------- // --- Helpers ---------------------------------------------------------------

View File

@@ -9,7 +9,7 @@ import (
"net/http" "net/http"
"time" "time"
messages "git.tornberg.me/go-cart-actor/pkg/messages" messages "git.k6n.net/go-cart-actor/pkg/messages"
"go.opentelemetry.io/contrib/bridges/otelslog" "go.opentelemetry.io/contrib/bridges/otelslog"
"go.opentelemetry.io/otel" "go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/attribute"

View File

@@ -6,7 +6,7 @@ import (
"fmt" "fmt"
"os" "os"
"git.tornberg.me/go-cart-actor/pkg/messages" "git.k6n.net/go-cart-actor/pkg/messages"
) )
type Rule struct { type Rule struct {

View File

@@ -2,7 +2,7 @@ syntax = "proto3";
package messages; package messages;
option go_package = "git.tornberg.me/go-cart-actor/proto;messages"; option go_package = "git.k6n.net/go-cart-actor/proto;messages";
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// Control Plane gRPC API // Control Plane gRPC API

View File

@@ -1,6 +1,6 @@
syntax = "proto3"; syntax = "proto3";
package messages; package messages;
option go_package = "git.tornberg.me/go-cart-actor/proto;messages"; option go_package = "git.k6n.net/go-cart-actor/proto;messages";
import "google/protobuf/any.proto"; import "google/protobuf/any.proto";