diff --git a/.licenses/arduino-create-agent/go/github.com/go-chi/chi/v5.dep.yml b/.licenses/arduino-create-agent/go/github.com/go-chi/chi/v5.dep.yml
index 57a10174..ed956774 100644
--- a/.licenses/arduino-create-agent/go/github.com/go-chi/chi/v5.dep.yml
+++ b/.licenses/arduino-create-agent/go/github.com/go-chi/chi/v5.dep.yml
@@ -1,6 +1,6 @@
 ---
 name: github.com/go-chi/chi/v5
-version: v5.0.11
+version: v5.0.12
 type: go
 summary: Package chi is a small, idiomatic and composable router for building HTTP
   services.
diff --git a/.licenses/arduino-create-agent/go/github.com/google/uuid.dep.yml b/.licenses/arduino-create-agent/go/github.com/google/uuid.dep.yml
index f5f34777..e01f5c10 100644
--- a/.licenses/arduino-create-agent/go/github.com/google/uuid.dep.yml
+++ b/.licenses/arduino-create-agent/go/github.com/google/uuid.dep.yml
@@ -1,6 +1,6 @@
 ---
 name: github.com/google/uuid
-version: v1.5.0
+version: v1.6.0
 type: go
 summary: Package uuid generates and inspects UUIDs.
 homepage: https://pkg.go.dev/github.com/google/uuid
diff --git a/.licenses/arduino-create-agent/go/goa.design/goa/v3/http.dep.yml b/.licenses/arduino-create-agent/go/goa.design/goa/v3/http.dep.yml
index fb20bfd5..e5895ae5 100644
--- a/.licenses/arduino-create-agent/go/goa.design/goa/v3/http.dep.yml
+++ b/.licenses/arduino-create-agent/go/goa.design/goa/v3/http.dep.yml
@@ -1,13 +1,13 @@
 ---
 name: goa.design/goa/v3/http
-version: v3.14.6
+version: v3.15.2
 type: go
 summary: Package http contains HTTP specific constructs that complement the code generated
   by Goa.
 homepage: https://pkg.go.dev/goa.design/goa/v3/http
 license: mit
 licenses:
-- sources: v3@v3.14.6/LICENSE
+- sources: v3@v3.15.2/LICENSE
   text: |
     The MIT License (MIT)
 
diff --git a/.licenses/arduino-create-agent/go/goa.design/goa/v3/http/middleware.dep.yml b/.licenses/arduino-create-agent/go/goa.design/goa/v3/http/middleware.dep.yml
index b7e6310f..38592f92 100644
--- a/.licenses/arduino-create-agent/go/goa.design/goa/v3/http/middleware.dep.yml
+++ b/.licenses/arduino-create-agent/go/goa.design/goa/v3/http/middleware.dep.yml
@@ -1,6 +1,6 @@
 ---
 name: goa.design/goa/v3/http/middleware
-version: v3.14.6
+version: v3.15.2
 type: go
 summary: Package middleware contains HTTP middlewares that wrap a HTTP handler to
   provide ancilliary functionality such as capturing HTTP details into the request
@@ -8,7 +8,7 @@ summary: Package middleware contains HTTP middlewares that wrap a HTTP handler t
 homepage: https://pkg.go.dev/goa.design/goa/v3/http/middleware
 license: mit
 licenses:
-- sources: v3@v3.14.6/LICENSE
+- sources: v3@v3.15.2/LICENSE
   text: |
     The MIT License (MIT)
 
diff --git a/.licenses/arduino-create-agent/go/goa.design/goa/v3/middleware.dep.yml b/.licenses/arduino-create-agent/go/goa.design/goa/v3/middleware.dep.yml
index 4974138e..dadcb49d 100644
--- a/.licenses/arduino-create-agent/go/goa.design/goa/v3/middleware.dep.yml
+++ b/.licenses/arduino-create-agent/go/goa.design/goa/v3/middleware.dep.yml
@@ -1,12 +1,12 @@
 ---
 name: goa.design/goa/v3/middleware
-version: v3.14.6
+version: v3.15.2
 type: go
 summary: Package middleware contains transport independent middlewares.
 homepage: https://pkg.go.dev/goa.design/goa/v3/middleware
 license: mit
 licenses:
-- sources: v3@v3.14.6/LICENSE
+- sources: v3@v3.15.2/LICENSE
   text: |
     The MIT License (MIT)
 
diff --git a/.licenses/arduino-create-agent/go/goa.design/goa/v3/pkg.dep.yml b/.licenses/arduino-create-agent/go/goa.design/goa/v3/pkg.dep.yml
index 7acdbd65..c6366883 100644
--- a/.licenses/arduino-create-agent/go/goa.design/goa/v3/pkg.dep.yml
+++ b/.licenses/arduino-create-agent/go/goa.design/goa/v3/pkg.dep.yml
@@ -1,6 +1,6 @@
 ---
 name: goa.design/goa/v3/pkg
-version: v3.14.6
+version: v3.15.2
 type: go
 summary: Package goa implements a Go framework for writing microservices that promotes
   best practice by providing a single source of truth from which server code, client
@@ -8,7 +8,7 @@ summary: Package goa implements a Go framework for writing microservices that pr
 homepage: https://pkg.go.dev/goa.design/goa/v3/pkg
 license: mit
 licenses:
-- sources: v3@v3.14.6/LICENSE
+- sources: v3@v3.15.2/LICENSE
   text: |
     The MIT License (MIT)
 
diff --git a/gen/http/cli/arduino_create_agent/cli.go b/gen/http/cli/arduino_create_agent/cli.go
index cc8fa2b3..f7f30176 100644
--- a/gen/http/cli/arduino_create_agent/cli.go
+++ b/gen/http/cli/arduino_create_agent/cli.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // arduino-create-agent HTTP client CLI support package
 //
diff --git a/gen/http/tools/client/cli.go b/gen/http/tools/client/cli.go
index 0ef560d4..2e502af9 100644
--- a/gen/http/tools/client/cli.go
+++ b/gen/http/tools/client/cli.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools HTTP client CLI support package
 //
diff --git a/gen/http/tools/client/client.go b/gen/http/tools/client/client.go
index 0ffc2b81..3ada9a97 100644
--- a/gen/http/tools/client/client.go
+++ b/gen/http/tools/client/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools client HTTP transport
 //
diff --git a/gen/http/tools/client/encode_decode.go b/gen/http/tools/client/encode_decode.go
index 8e265b39..4e887370 100644
--- a/gen/http/tools/client/encode_decode.go
+++ b/gen/http/tools/client/encode_decode.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools HTTP client encoders and decoders
 //
diff --git a/gen/http/tools/client/paths.go b/gen/http/tools/client/paths.go
index 0c837aae..a4e8e0f2 100644
--- a/gen/http/tools/client/paths.go
+++ b/gen/http/tools/client/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // HTTP request path constructors for the tools service.
 //
diff --git a/gen/http/tools/client/types.go b/gen/http/tools/client/types.go
index 167a7bd6..47fe921d 100644
--- a/gen/http/tools/client/types.go
+++ b/gen/http/tools/client/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools HTTP client types
 //
diff --git a/gen/http/tools/server/encode_decode.go b/gen/http/tools/server/encode_decode.go
index 96030487..d8df0910 100644
--- a/gen/http/tools/server/encode_decode.go
+++ b/gen/http/tools/server/encode_decode.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools HTTP server encoders and decoders
 //
diff --git a/gen/http/tools/server/paths.go b/gen/http/tools/server/paths.go
index 910488f0..01a007ca 100644
--- a/gen/http/tools/server/paths.go
+++ b/gen/http/tools/server/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // HTTP request path constructors for the tools service.
 //
diff --git a/gen/http/tools/server/server.go b/gen/http/tools/server/server.go
index 7e8bc304..fad105af 100644
--- a/gen/http/tools/server/server.go
+++ b/gen/http/tools/server/server.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools HTTP server
 //
diff --git a/gen/http/tools/server/types.go b/gen/http/tools/server/types.go
index 4f7e6261..aa309167 100644
--- a/gen/http/tools/server/types.go
+++ b/gen/http/tools/server/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools HTTP server types
 //
diff --git a/gen/tools/client.go b/gen/tools/client.go
index 358134d1..59f85886 100644
--- a/gen/tools/client.go
+++ b/gen/tools/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools client
 //
diff --git a/gen/tools/endpoints.go b/gen/tools/endpoints.go
index 9e63ef16..02507a81 100644
--- a/gen/tools/endpoints.go
+++ b/gen/tools/endpoints.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools endpoints
 //
diff --git a/gen/tools/service.go b/gen/tools/service.go
index c987a583..028cb512 100644
--- a/gen/tools/service.go
+++ b/gen/tools/service.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools service
 //
diff --git a/gen/tools/views/view.go b/gen/tools/views/view.go
index 6e36c940..c1dcaaa7 100644
--- a/gen/tools/views/view.go
+++ b/gen/tools/views/view.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.14.6, DO NOT EDIT.
+// Code generated by goa v3.15.2, DO NOT EDIT.
 //
 // tools views
 //
diff --git a/go.mod b/go.mod
index 91f932f2..bf9d2d10 100644
--- a/go.mod
+++ b/go.mod
@@ -22,7 +22,7 @@ require (
 	github.com/stretchr/testify v1.9.0
 	github.com/xrash/smetrics v0.0.0-20170218160415-a3153f7040e9
 	go.bug.st/serial v1.6.1
-	goa.design/goa/v3 v3.14.6
+	goa.design/goa/v3 v3.15.2
 	golang.org/x/sys v0.18.0
 	gopkg.in/inconshreveable/go-update.v0 v0.0.0-20150814200126-d8b0b1d421aa
 )
@@ -39,14 +39,14 @@ require (
 	github.com/dimfeld/httppath v0.0.0-20170720192232-ee938bf73598 // indirect
 	github.com/gabriel-vasile/mimetype v1.4.3 // indirect
 	github.com/gin-contrib/sse v0.1.0 // indirect
-	github.com/go-chi/chi/v5 v5.0.11 // indirect
+	github.com/go-chi/chi/v5 v5.0.12 // indirect
 	github.com/go-playground/locales v0.14.1 // indirect
 	github.com/go-playground/universal-translator v0.18.1 // indirect
 	github.com/go-playground/validator/v10 v10.19.0 // indirect
 	github.com/goccy/go-json v0.10.2 // indirect
 	github.com/godbus/dbus/v5 v5.0.4 // indirect
 	github.com/google/go-cmp v0.5.9 // indirect
-	github.com/google/uuid v1.5.0 // indirect
+	github.com/google/uuid v1.6.0 // indirect
 	github.com/googollee/go-engine.io v0.0.0-20180829091931-e2f255711dcb // indirect
 	github.com/gorilla/websocket v1.5.1 // indirect
 	github.com/h2non/filetype v1.1.3 // indirect
@@ -73,10 +73,10 @@ require (
 	github.com/ulikunitz/xz v0.5.11 // indirect
 	golang.org/x/arch v0.7.0 // indirect
 	golang.org/x/crypto v0.21.0 // indirect
-	golang.org/x/mod v0.14.0 // indirect
+	golang.org/x/mod v0.16.0 // indirect
 	golang.org/x/net v0.22.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	golang.org/x/tools v0.17.0 // indirect
+	golang.org/x/tools v0.19.0 // indirect
 	google.golang.org/protobuf v1.33.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
diff --git a/go.sum b/go.sum
index be5fdb86..7b01d1c3 100644
--- a/go.sum
+++ b/go.sum
@@ -47,8 +47,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE
 github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
 github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
 github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
-github.com/go-chi/chi/v5 v5.0.11 h1:BnpYbFZ3T3S1WMpD79r7R5ThWX40TaFB7L31Y8xqSwA=
-github.com/go-chi/chi/v5 v5.0.11/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
+github.com/go-chi/chi/v5 v5.0.12 h1:9euLV5sTrTNTRUU9POmDUvfxyj6LAABLUcEWO+JJb4s=
+github.com/go-chi/chi/v5 v5.0.12/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
 github.com/go-ini/ini v1.62.0 h1:7VJT/ZXjzqSrvtraFp4ONq80hTcRQth1c9ZnQ3uNQvU=
 github.com/go-ini/ini v1.62.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
 github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
@@ -66,8 +66,8 @@ github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x
 github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
-github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googollee/go-engine.io v0.0.0-20180829091931-e2f255711dcb h1:n22Aukg/TjoypWc37dbKIpCsz0VMFPD36HQk1WKvg3A=
 github.com/googollee/go-engine.io v0.0.0-20180829091931-e2f255711dcb/go.mod h1:MBpz1MS3P4HtRcBpQU4HcjvWXZ9q+JWacMEh2/BFYbg=
 github.com/googollee/go-socket.io v0.0.0-20181101151912-c8aeb1ed9b49 h1:vKXGRzlhWE9TUVhLqAOcgQbfYvReAnsvQQIcnvWMfcg=
@@ -163,16 +163,16 @@ github.com/xrash/smetrics v0.0.0-20170218160415-a3153f7040e9 h1:w8V9v0qVympSF6Gj
 github.com/xrash/smetrics v0.0.0-20170218160415-a3153f7040e9/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
 go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY=
 go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE=
-goa.design/goa/v3 v3.14.6 h1:mbu6n9be7puIqhn95zZaccn+k3QVqiR5teLvIrznt5c=
-goa.design/goa/v3 v3.14.6/go.mod h1:wcdZ2jy4oC2R93R3kBWKqyDapkVLQbILkOLXcqWMXHY=
+goa.design/goa/v3 v3.15.2 h1:ziyJuVR+GSBBmQ/Nkr7FDZx9qtEBpRA6wle3hYqJT9Q=
+goa.design/goa/v3 v3.15.2/go.mod h1:zZLxqfk8mZu0Q6fmnnflXYbIJ6BA3SVSB6LSz7Tzcv4=
 golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
 golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc=
 golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
 golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
-golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
-golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
+golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
 golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
@@ -189,8 +189,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc=
-golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
+golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
+golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
 google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
 google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=