From 8954d09f46a84f7cf4b9307ba0dbcc302fb38d6f Mon Sep 17 00:00:00 2001 From: atala-dev Date: Thu, 25 Jan 2024 13:53:29 +0000 Subject: [PATCH] chore(release): cut open enterprise agent 1.25.0 release # [1.25.0](https://github.com/hyperledger-labs/open-enterprise-agent/compare/prism-agent-v1.24.0...prism-agent-v1.25.0) (2024-01-25) ### Features * **prism-agent:** add JWT auth support for agent-admin role ([#840](https://github.com/hyperledger-labs/open-enterprise-agent/issues/840)) ([3ccd56e](https://github.com/hyperledger-labs/open-enterprise-agent/commit/3ccd56efadbbb3ea70e7ca63e9eb89564a83c02f)) * upgrade ZIO http client to improve performance ([#850](https://github.com/hyperledger-labs/open-enterprise-agent/issues/850)) ([7aa9b4c](https://github.com/hyperledger-labs/open-enterprise-agent/commit/7aa9b4c27f92b169c72a68cd4bb8f4afb63943d4)) Signed-off-by: Anton Baliasnikov --- CHANGELOG.md | 8 + DEPENDENCIES.md | 108 ++-- infrastructure/charts/agent/Chart.yaml | 4 +- infrastructure/charts/index.yaml | 48 +- infrastructure/charts/prism-agent-1.25.0.tgz | Bin 0 -> 160946 bytes infrastructure/local/.env | 2 +- package-lock.json | 4 +- package.json | 2 +- .../api/http/prism-agent-openapi-spec.yaml | 544 +++++++++++++----- version.sbt | 2 +- 10 files changed, 506 insertions(+), 216 deletions(-) create mode 100644 infrastructure/charts/prism-agent-1.25.0.tgz diff --git a/CHANGELOG.md b/CHANGELOG.md index e098d58a6e..2859afc537 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# [1.25.0](https://github.com/hyperledger-labs/open-enterprise-agent/compare/prism-agent-v1.24.0...prism-agent-v1.25.0) (2024-01-25) + + +### Features + +* **prism-agent:** add JWT auth support for agent-admin role ([#840](https://github.com/hyperledger-labs/open-enterprise-agent/issues/840)) ([3ccd56e](https://github.com/hyperledger-labs/open-enterprise-agent/commit/3ccd56efadbbb3ea70e7ca63e9eb89564a83c02f)) +* upgrade ZIO http client to improve performance ([#850](https://github.com/hyperledger-labs/open-enterprise-agent/issues/850)) ([7aa9b4c](https://github.com/hyperledger-labs/open-enterprise-agent/commit/7aa9b4c27f92b169c72a68cd4bb8f4afb63943d4)) + # [1.24.0](https://github.com/hyperledger-labs/open-enterprise-agent/compare/prism-agent-v1.23.0...prism-agent-v1.24.0) (2023-12-21) diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index 6d9b110e17..e6e51ae74b 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -92,22 +92,22 @@ Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2. Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-crypto-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) | Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-identity-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) | Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-protos-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-buffer # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec-http # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec-socks # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-common # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-handler # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-handler-proxy # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-resolver # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-classes-epoll # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-classes-kqueue # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-native-epoll # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-native-kqueue # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-native-unix-common # 4.1.93.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty.incubator # netty-incubator-transport-classes-io_uring # 0.0.20.Final | -Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty.incubator # netty-incubator-transport-native-io_uring # 0.0.20.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-buffer # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec-http # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec-socks # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-common # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-handler # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-handler-proxy # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-resolver # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-classes-epoll # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-classes-kqueue # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-native-epoll # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-native-kqueue # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-transport-native-unix-common # 4.1.101.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty.incubator # netty-incubator-transport-classes-io_uring # 0.0.24.Final | +Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty.incubator # netty-incubator-transport-native-io_uring # 0.0.24.Final | Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | net.bytebuddy # byte-buddy # 1.12.19 | Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | net.bytebuddy # byte-buddy-agent # 1.12.19 | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.apache.httpcomponents # httpclient # 4.5.14](http://hc.apache.org/httpcomponents-client-ga) | @@ -144,13 +144,13 @@ Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # z Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-config-typesafe_3 # 3.0.7](https://zio.dev/zio-config/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-config_3 # 3.0.7](https://zio.dev/zio-config/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-constraintless_3 # 0.3.2](https://zio.dev/zio-flow/) | -Apache | [Apache-2.0](https://github.com/zio/zio-http/blob/master/LICENSE) | [dev.zio # zio-http_3 # 3.0.0-RC2](https://github.com/zio/zio-http) | +Apache | [Apache-2.0](https://github.com/zio/zio-http/blob/master/LICENSE) | [dev.zio # zio-http_3 # 3.0.0-RC4](https://github.com/zio/zio-http) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-internal-macros_3 # 2.0.18](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-internal-macros_3 # 2.0.19](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-interop-cats_3 # 23.0.0.8](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-interop-cats_3 # 3.3.0](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-interop-tracer_3 # 23.0.0.8](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-json_3 # 0.3.0](https://zio.github.io/zio-json/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-json_3 # 0.5.0](https://zio.dev/zio-json/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-json_3 # 0.6.2](https://zio.dev/zio-json/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-logging_3 # 2.0.1](https://zio.github.io/zio-logging/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-managed_3 # 2.0.0](https://zio.dev) | @@ -159,24 +159,27 @@ Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # z Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-metrics-connectors_3 # 2.1.0](https://zio.dev/zio-metrics-connectors/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-mock_3 # 1.0.0-RC11](https://zio.dev/zio-mock/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude-macros_3 # 1.0.0-RC16](https://zio.github.io/zio-prelude/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude-macros_3 # 1.0.0-RC18](https://zio.dev/zio-prelude/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude-macros_3 # 1.0.0-RC21](https://zio.dev/zio-prelude/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude_3 # 1.0.0-RC16](https://zio.github.io/zio-prelude/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude_3 # 1.0.0-RC18](https://zio.dev/zio-prelude/) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.11/LICENSE) | [dev.zio # zio-schema-derivation_3 # 0.4.11](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.11/LICENSE) | [dev.zio # zio-schema-json_3 # 0.4.11](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.11/LICENSE) | [dev.zio # zio-schema-macros_3 # 0.4.11](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.11/LICENSE) | [dev.zio # zio-schema_3 # 0.4.11](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude_3 # 1.0.0-RC21](https://zio.dev/zio-prelude/) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-derivation_3 # 0.4.16](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-json_3 # 0.4.16](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-macros_3 # 0.4.16](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-protobuf_3 # 0.4.16](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema_3 # 0.4.16](https://zio.dev/zio-schema) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-stacktracer_3 # 2.0.18](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-stacktracer_3 # 2.0.19](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.0](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.12](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.13](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.18](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.19](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.2](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test-magnolia_3 # 2.0.18](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test-sbt_3 # 2.0.18](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test_3 # 2.0.12](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test_3 # 2.0.18](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio_3 # 2.0.18](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio_3 # 2.0.19](https://zio.dev) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-core_3 # 0.14.6](https://github.com/circe/circe) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-generic_3 # 0.14.6](https://github.com/circe/circe) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-jawn_3 # 0.14.6](https://github.com/circe/circe) | @@ -264,7 +267,6 @@ Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licens Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.guava # failureaccess # 1.0.1 | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.guava # listenablefuture # 9999.0-empty-to-avoid-conflict-with-guava | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.j2objc # j2objc-annotations # 1.3](https://github.com/google/j2objc/) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.zxing # core # 3.5.0 | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.twitter # hpack # 1.0.2 | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.zaxxer # HikariCP # 4.0.3](https://github.com/brettwooldridge/HikariCP) | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.github.java-diff-utils # java-diff-utils # 4.12 | @@ -428,32 +430,32 @@ MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafe MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-vault_3 # 0.41.0](https://github.com/testcontainers/testcontainers-scala) | Public Domain | [Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/) | [org.hdrhistogram # HdrHistogram # 2.1.12](http://hdrhistogram.github.io/HdrHistogram/) | Public Domain | [Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/) | [org.latencyutils # LatencyUtils # 2.0.3](http://latencyutils.github.io/LatencyUtils/) | -none specified | []() | [io.iohk.atala # castor-core_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # connect-core_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # connect-sql-doobie_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # event-notification_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-agent-core_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-agent-didcommx_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-data-models_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-connection_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-coordinate-mediation_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-invitation_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-issue-credential_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-mailbox_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-outofband-login_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-present-proof_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-report-problem_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-routing-2-0_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-protocol-trust-ping_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-resolver_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # mercury-verifiable-credentials_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # pollux-anoncreds_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # pollux-core_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # pollux-sql-doobie_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # pollux-vc-jwt_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # prism-agent-wallet-api_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # prism-node-client_3 # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # shared # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | -none specified | []() | [io.iohk.atala # sharedtest # 1.23.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # castor-core_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # connect-core_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # connect-sql-doobie_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # event-notification_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-agent-core_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-agent-didcommx_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-data-models_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-connection_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-coordinate-mediation_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-invitation_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-issue-credential_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-mailbox_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-outofband-login_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-present-proof_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-report-problem_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-routing-2-0_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-protocol-trust-ping_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-resolver_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # mercury-verifiable-credentials_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # pollux-anoncreds_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # pollux-core_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # pollux-sql-doobie_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # pollux-vc-jwt_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # prism-agent-wallet-api_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # prism-node-client_3 # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # shared # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | +none specified | []() | [io.iohk.atala # sharedtest # 1.24.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) | none specified | []() | [net.jcip # jcip-annotations # 1.0](http://jcip.net/) | diff --git a/infrastructure/charts/agent/Chart.yaml b/infrastructure/charts/agent/Chart.yaml index 4dcfbb274e..992568c906 100644 --- a/infrastructure/charts/agent/Chart.yaml +++ b/infrastructure/charts/agent/Chart.yaml @@ -13,12 +13,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.24.0 +version: 1.25.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: 1.24.0 +appVersion: 1.25.0 dependencies: - name: vault version: 0.24.1 diff --git a/infrastructure/charts/index.yaml b/infrastructure/charts/index.yaml index dd72d64c85..27f9aceb3a 100644 --- a/infrastructure/charts/index.yaml +++ b/infrastructure/charts/index.yaml @@ -1,9 +1,27 @@ apiVersion: v1 entries: prism-agent: + - apiVersion: v2 + appVersion: 1.25.0 + created: "2024-01-25T13:52:57.980237948Z" + dependencies: + - name: vault + repository: https://helm.releases.hashicorp.com + version: 0.24.1 + - condition: keycloak.enabled + name: keycloak + repository: https://charts.bitnami.com/bitnami + version: 17.2.0 + description: A Helm chart for deploying prism-agent + digest: 4bfbd942f4d6371157f9762fa52a3ec62e1d064c200fe770f287b0f34f36e676 + name: prism-agent + type: application + urls: + - https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/infrastructure/charts/prism-agent-1.25.0.tgz + version: 1.25.0 - apiVersion: v2 appVersion: 1.24.0 - created: "2023-12-21T11:04:52.750011786Z" + created: "2024-01-25T13:52:57.970063546Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -21,7 +39,7 @@ entries: version: 1.24.0 - apiVersion: v2 appVersion: 1.23.0 - created: "2023-12-21T11:04:52.738441626Z" + created: "2024-01-25T13:52:57.960556309Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -39,7 +57,7 @@ entries: version: 1.23.0 - apiVersion: v2 appVersion: 1.22.0 - created: "2023-12-21T11:04:52.727732504Z" + created: "2024-01-25T13:52:57.949620457Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -57,7 +75,7 @@ entries: version: 1.22.0 - apiVersion: v2 appVersion: 1.21.1 - created: "2023-12-21T11:04:52.71795167Z" + created: "2024-01-25T13:52:57.939889983Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -75,7 +93,7 @@ entries: version: 1.21.1 - apiVersion: v2 appVersion: 1.21.0 - created: "2023-12-21T11:04:52.707364194Z" + created: "2024-01-25T13:52:57.930345376Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -93,7 +111,7 @@ entries: version: 1.21.0 - apiVersion: v2 appVersion: 1.20.1 - created: "2023-12-21T11:04:52.697755181Z" + created: "2024-01-25T13:52:57.91928279Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -111,7 +129,7 @@ entries: version: 1.20.1 - apiVersion: v2 appVersion: 1.20.0 - created: "2023-12-21T11:04:52.688180141Z" + created: "2024-01-25T13:52:57.909538701Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -129,7 +147,7 @@ entries: version: 1.20.0 - apiVersion: v2 appVersion: 1.19.1 - created: "2023-12-21T11:04:52.678362264Z" + created: "2024-01-25T13:52:57.89861368Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -147,7 +165,7 @@ entries: version: 1.19.1 - apiVersion: v2 appVersion: 1.19.0 - created: "2023-12-21T11:04:52.668605634Z" + created: "2024-01-25T13:52:57.889387998Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -165,7 +183,7 @@ entries: version: 1.19.0 - apiVersion: v2 appVersion: 1.18.0 - created: "2023-12-21T11:04:52.65871514Z" + created: "2024-01-25T13:52:57.878831955Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -179,7 +197,7 @@ entries: version: 1.18.0 - apiVersion: v2 appVersion: 1.17.0 - created: "2023-12-21T11:04:52.655891589Z" + created: "2024-01-25T13:52:57.87589029Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -193,7 +211,7 @@ entries: version: 1.17.0 - apiVersion: v2 appVersion: 1.16.4 - created: "2023-12-21T11:04:52.652459391Z" + created: "2024-01-25T13:52:57.873099867Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -207,7 +225,7 @@ entries: version: 1.16.4 - apiVersion: v2 appVersion: 1.16.3 - created: "2023-12-21T11:04:52.649652912Z" + created: "2024-01-25T13:52:57.869808278Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -221,7 +239,7 @@ entries: version: 1.16.3 - apiVersion: v2 appVersion: 1.16.2 - created: "2023-12-21T11:04:52.646794916Z" + created: "2024-01-25T13:52:57.866722905Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -233,4 +251,4 @@ entries: urls: - https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/infrastructure/charts/prism-agent-1.16.2.tgz version: 1.16.2 -generated: "2023-12-21T11:04:52.643019994Z" +generated: "2024-01-25T13:52:57.862930355Z" diff --git a/infrastructure/charts/prism-agent-1.25.0.tgz b/infrastructure/charts/prism-agent-1.25.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..347c8e47da05c004a5cc8044b50ddbd2d2df2730 GIT binary patch literal 160946 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%0A5h!Z;;1d0wMVzXX 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 literal 0 HcmV?d00001 diff --git a/infrastructure/local/.env b/infrastructure/local/.env index c3b46a1684..3d851d1c25 100644 --- a/infrastructure/local/.env +++ b/infrastructure/local/.env @@ -1,3 +1,3 @@ -PRISM_AGENT_VERSION=1.24.0 +PRISM_AGENT_VERSION=1.25.0 PRISM_NODE_VERSION=2.2.1 VAULT_DEV_ROOT_TOKEN_ID=root diff --git a/package-lock.json b/package-lock.json index 769b08d8ea..bfcb8ea48e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "atala-prism-building-blocks", - "version": "1.24.0", + "version": "1.25.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "atala-prism-building-blocks", - "version": "1.24.0", + "version": "1.25.0", "devDependencies": { "@commitlint/cli": "^17.0.3", "@commitlint/config-conventional": "^17.0.3", diff --git a/package.json b/package.json index a8c17e33c3..2ed4d1835a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "atala-prism-building-blocks", - "version": "1.24.0", + "version": "1.25.0", "engines": { "node": ">=16.13.0" }, diff --git a/prism-agent/service/api/http/prism-agent-openapi-spec.yaml b/prism-agent/service/api/http/prism-agent-openapi-spec.yaml index a36ab3c6b1..fd8b300159 100644 --- a/prism-agent/service/api/http/prism-agent-openapi-spec.yaml +++ b/prism-agent/service/api/http/prism-agent-openapi-spec.yaml @@ -1,7 +1,120 @@ openapi: 3.1.0 info: - title: Prism Agent - version: 1.24.0 + title: Open Enterprise Agent API Reference + version: 1.25.0 + summary: |2 + + This API provides interfaces for managing decentralized identities and secure communications in a self-sovereign identity framework. + It enables seamless interaction with various decentralized identity protocols and services using the [Open Enterprise Agent](https://github.com/hyperledger-labs/open-enterprise-agent) + description: |2 + + The Open Enterprise Agent API facilitates the integration and management of self-sovereign identity capabilities within applications. + It supports DID (Decentralized Identifiers) management, verifiable credential exchange, and secure messaging based on DIDComm standards. + The API is designed to be interoperable with various blockchain and DLT (Distributed Ledger Technology) platforms, ensuring wide compatibility and flexibility. + Key features include connection management, credential issuance and verification, and secure, privacy-preserving communication between entities. + Additional information and the full list of capabilities can be found in the [Open Enterprise Agent documentation](https://docs.atalaprism.io/docs/category/prism-cloud-agent) + termsOfService: |2 + + Users of the Open Enterprise Agent API must adhere to the terms and conditions outlined in [Link to Terms of Service](/). + This includes compliance with relevant data protection regulations, responsible usage policies, and adherence to the principles of decentralized identity management. + contact: + name: Contact - Name + email: Contact - Email + url: Contact - URL + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0 +tags: +- name: Connections Management + description: |2 + + The 'Connections Management' endpoints facilitate the initiation of connection flows between the current agent and peer agents, regardless of whether they reside in cloud or edge environments. +
+ This implementation adheres to the DIDComm Messaging v2.0 - [Out of Band Messages](https://identity.foundation/didcomm-messaging/spec/v2.0/#out-of-band-messages) specification [section 9.5.4](https://identity.foundation/didcomm-messaging/spec/v2.0/#invitation) - to generate invitations. + The from field of the out-of-band invitation message contains a freshly generated Peer DID that complies with the [did:peer:2](https://identity.foundation/peer-did-method-spec/#generating-a-didpeer2) specification. + This Peer DID includes the 'uri' location of the DIDComm messaging service, essential for the invitee's subsequent execution of the connection flow. +
+ Upon accepting an invitation, the invitee sends a connection request to the inviter's DIDComm messaging service endpoint. + The connection request's 'type' attribute must be specified as "https://atalaprism.io/mercury/connections/1.0/request". + The inviter agent responds with a connection response message, indicated by a 'type' attribute of "https://atalaprism.io/mercury/connections/1.0/response". + Both request and response types are proprietary to the Open Enterprise Agent ecosystem. +- name: Verification + description: |2- + +

The `Verification` endpoints enable the management and querying of verification policies, + which are applied to W3C Verifiable Credentials in JWT format.

+

Users can retrieve and paginate existing policies or create new ones. + These policies determine the verification criteria, allowing users to specify constraints such as `schemaId` and `trustedIssuers` in the current implementation.

+

The constraints are defined using the `schemaId` and a sequence of `trustedIssuers`. + This functionality ensures the system's integrity and adherence to specific verification requirements.

+

Endpoints are secured by `apiKeyAuth` or `jwtAuth` authentication

+- name: Schema Registry + description: |2 + + The Schema Registry is a REST API that allows to publish and lookup credential schemas in [W3C](https://w3c.github.io/vc-json-schema/) and [AnonCreds](https://hyperledger.github.io/anoncreds-spec/#term:schema) formats. + The Schema Registry is a part of the [Atala PRISM](https://docs.atalaprism.io/) ecosystem. + + The Credential Schema is a JSON document that describes the structure of the credential and consists of the following parts: metadata, schema and signature. + The metadata contains the following fields: + * `id` - locally unique identifier of the schema + * `version` - version of the schema + * `author` - the DID of the issuer of the schema + * `guid` - globally unique identifier of the schema (generated by the Schema Registry based on `author`, `id` and `version`) + * `name` - name of the schema + * `tags` - list of tags that describe the schema + * `createdAt` - timestamp of the schema creation + * `description` - description of the schema + + The schema contains the JSON Schema that describes the structure of the credential in the `schema` field + The signature contains the signature of the schema by the issuer in the `proof` field. The signature is generated by the issuer's DID key using Ed25519Signature2020 method. + + The Credential Schema object is immutable, so update operation creates a new version of the schema. + The Credential Schema is referenced via `schemaId` field in the issuance and verification flows. + + Endpoints are secured by `apiKeyAuth` or `jwtAuth` authentication.

+ externalDocs: + url: https://docs.atalaprism.io/tutorials/schemas/credential-schema + description: Credential Schema documentation +- name: DID + description: |2 + + The __DID__ endpoints expose publicly available DID operations. + + The key distinction from the __DID Registrar__ endpoints is that it directly exposes the DID resources interfacing with the [VDR](https://www.w3.org/TR/did-core/#dfn-verifiable-data-registry). + It is independent of the key management and the exposed operations are not part of the tenancy within the agent. + It serves as a proxy for interacting with the VDR, facilitating actions like resolving DIDs. +- name: DID Registrar + description: |2 + + The __DID Registrar__ endpoints facilitate the management of [PRISM DIDs](https://github.com/input-output-hk/prism-did-method-spec) hosted in the cloud agent. + + Implentation of [DID management](https://docs.atalaprism.io/docs/atala-prism/prism-cloud-agent/did-management/) in the cloud agent. + The agent securely manages and stores DIDs along with their keys in its secret storage. + These endpoints allow users to create, read, update, deactivate, and publish without direct exposure to the key material. + These DIDs can be utilized for various operations during issuance and verification processes. + + More examples and tutorials can be found in this [documentation](https://docs.atalaprism.io/tutorials/category/dids/). +- name: Wallet Management + description: |2 + + The __Wallet Management__ endpoints enable both users and administrators to manage [wallets](https://docs.atalaprism.io/docs/concepts/multi-tenancy#wallet). + + In a multitenant agent, wallet is a container for various resources (e.g. Connections, DIDs) and it isolates the access based on the authorization settings. + [Admnistrator](https://docs.atalaprism.io/docs/concepts/glossary#administrator) can utilize the endpoints to manage and onboard [tenants](https://docs.atalaprism.io/docs/concepts/glossary#tenant). + See [this example](https://docs.atalaprism.io/tutorials/multitenancy/tenant-onboarding-ext-iam) for instructions how to utilize the endpoints for administrator. + Tenants can also manage and onboard their own wallets using these endpoints depending on the configuration. + See [this document](https://docs.atalaprism.io/tutorials/multitenancy/tenant-onboarding-ext-iam) for a detailed example for self-service tenants onboarding. + + Wallet permissions are controlled by [UMA](https://docs.atalaprism.io/docs/concepts/glossary#uma) configuration which the agent + exposes endpoints to easily configure wallet access using `uma-permissions` resource. + The permissions can also be configured out-of-band directly on the external IAM provider that supports the UMA standard. +servers: +- url: http://localhost:8085 + description: Local Prism Agent +- url: http://localhost/prism-agent + description: Local Prism Agent with APISIX proxy +- url: https://k8s-dev.atalaprism.io/prism-agent + description: Prism Agent on the Staging Environment paths: /credential-definition-registry/definitions: get: @@ -38,12 +151,16 @@ paths: example: licence - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer @@ -239,12 +356,16 @@ paths: example: driving - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer @@ -438,41 +559,6 @@ paths: application/json: schema: $ref: '#/components/schemas/ErrorResponse' - /schema-registry/test: - get: - tags: - - Schema Registry - summary: Trace the request input from the point of view of the server - description: Trace the request input from the point of view of the server - operationId: test - responses: - '200': - description: '' - content: - application/json: - schema: - type: string - '400': - description: Invalid request parameters - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '500': - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - security: - - apiKeyAuth: [] - - jwtAuth: [] /verification/policies: get: tags: @@ -484,6 +570,8 @@ paths: parameters: - name: name in: query + description: A human-readable name for the verification policy. The `name` + cannot be empty. required: false schema: type: string @@ -510,7 +598,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VerificationPolicyPage' + $ref: '#/components/schemas/VerificationPolicyResponsePage' '400': description: Invalid request parameters content: @@ -551,7 +639,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VerificationPolicy' + $ref: '#/components/schemas/VerificationPolicyResponse' '400': description: Invalid request parameters content: @@ -594,7 +682,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VerificationPolicy' + $ref: '#/components/schemas/VerificationPolicyResponse' '400': description: Invalid request parameters content: @@ -655,7 +743,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VerificationPolicy' + $ref: '#/components/schemas/VerificationPolicyResponse' '400': description: Invalid request parameters content: @@ -731,31 +819,43 @@ paths: get: tags: - Connections Management - summary: Gets the list of connection records. - description: Get the list of connection records paginated + summary: Retrieves the list of connection flow records available from the agent's + database. + description: |2 + + Retrieve of a list containing connections available from the agent's database. + The API returns a comprehensive collection of connection flow records within the system, regardless of their state. + Each connection item includes essential metadata such as connection ID, thread ID, state, role, participant information, and other relevant details. + Pagination support is available, allowing for efficient handling of large datasets. operationId: getConnections parameters: - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer format: int32 - name: thid in: query - description: The thid of a DIDComm communication. + description: The `thid`, shared between the inviter and the invitee, that + uniquely identifies a connection flow. required: false schema: type: string responses: '200': - description: The list of connection records. + description: The list of connection flow records available from the agent's + database content: application/json: schema: @@ -784,12 +884,16 @@ paths: post: tags: - Connections Management - summary: Creates a new connection record and returns an Out of Band invitation. + summary: Create a new connection invitation that can be delivered out-of-band + to a peer agent. description: |2 - Generates a new Peer DID and creates an [Out of Band 2.0](https://identity.foundation/didcomm-messaging/spec/v2.0/#out-of-band-messages) invitation. - It returns a new connection record in `InvitationGenerated` state. - The request body may contain a `label` that can be used as a human readable alias for the connection, for example `{'label': "Bob"}` + Create a new connection invitation that can be delivered out-of-band to a peer agent, regardless of whether it resides in cloud or edge environment. + The generated invitation adheres to the DIDComm Messaging v2.0 - [Out of Band Messages](https://identity.foundation/didcomm-messaging/spec/v2.0/#out-of-band-messages) specification [section 9.5.4](https://identity.foundation/didcomm-messaging/spec/v2.0/#invitation). + The from field of the out-of-band invitation message contains a freshly generated Peer DID that complies with the [did:peer:2](https://identity.foundation/peer-did-method-spec/#generating-a-didpeer2) specification. + This Peer DID includes the 'uri' location of the DIDComm messaging service, essential for the invitee's subsequent execution of the connection flow. + In the agent database, the created connection record has an initial state set to `InvitationGenerated`. + The request body may contain a `label` that can be used as a human readable alias for the connection, for example `{'label': "Connection with Bob"}` operationId: createConnection requestBody: description: JSON object required for the connection creation @@ -831,20 +935,25 @@ paths: get: tags: - Connections Management - summary: Gets an existing connection record by its unique identifier. - description: Gets an existing connection record by its unique identifier + summary: Retrieves a specific connection flow record from the agent's database + based on its unique `connectionId`. + description: |2 + + Retrieve a specific connection flow record from the agent's database based in its unique `connectionId`. + The API returns a comprehensive collection of connection flow records within the system, regardless of their state. + The returned connection item includes essential metadata such as connection ID, thread ID, state, role, participant information, and other relevant details. operationId: getConnection parameters: - name: connectionId in: path - description: The unique identifier of the connection record. + description: The `connectionId` uniquely identifying the connection flow record. required: true schema: type: string format: uuid responses: '200': - description: The connection record. + description: The specific connection flow record. content: application/json: schema: @@ -880,12 +989,15 @@ paths: post: tags: - Connections Management - summary: Accepts an Out of Band invitation. + summary: Accept a new connection invitation received out-of-band from another + peer agent. description: |2 - Accepts an [Out of Band 2.0](https://identity.foundation/didcomm-messaging/spec/v2.0/#out-of-band-messages) invitation, generates a new Peer DID, - and submits a Connection Request to the inviter. - It returns a connection object in `ConnectionRequestPending` state, until the Connection Request is eventually sent to the inviter by the prism-agent's background process. The connection object state will then automatically move to `ConnectionRequestSent`. + Accept an new connection invitation received out-of-band from another peer agent. + The invitation must be compliant with the DIDComm Messaging v2.0 - [Out of Band Messages](https://identity.foundation/didcomm-messaging/spec/v2.0/#out-of-band-messages) specification [section 9.5.4](https://identity.foundation/didcomm-messaging/spec/v2.0/#invitation). + A new connection record with state `ConnectionRequestPending` will be created in the agent database and later processed by a background job to send a connection request to the peer agent. + The created record will contain a newly generated pairwise Peer DID used for that connection. + A connection request will then be sent to the peer agent to actually establish the connection, moving the record state to `ConnectionRequestSent`, and waiting the connection response from the peer agent. operationId: acceptConnectionInvitation requestBody: description: The request used by an invitee to accept a connection invitation @@ -1028,28 +1140,31 @@ paths: get: tags: - DID Registrar - summary: List all DIDs stored in Prism Agent's wallet + summary: List all DIDs stored in the agent's wallet description: |- - List all DIDs stored in Prism Agent's wallet. + List all DIDs stored in the agent's wallet. Return a paginated items ordered by created timestamp. - If the `limit` parameter is not set, it defaults to 100 items per page. operationId: getDid-registrarDids parameters: - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer format: int32 responses: '200': - description: List Prism Agent managed DIDs + description: List the agent managed DIDs in the wallet content: application/json: schema: @@ -1078,10 +1193,12 @@ paths: post: tags: - DID Registrar - summary: Create unpublished DID and store it in Prism Agent's wallet + summary: Create an unpublished PRISM DID and store it in the agent's wallet description: |- - Create unpublished DID and store it inside Prism Agent's wallet. The private keys of the DID is - managed by Prism Agent. The DID can later be published to the VDR using publications endpoint. + Create an unpublished PRISM DID and store it in the agent's wallet. + The public/private keys of the DID will be derived according to the `didDocumentTemplate` and managed by the agent. + The DID can later be published to the VDR using the `publications` endpoint. + After the DID is created, it has the `CREATED` status. operationId: postDid-registrarDids requestBody: content: @@ -1091,7 +1208,7 @@ paths: required: true responses: '201': - description: Created unpublished DID. + description: Created an unpublished PRISM DID content: application/json: schema: @@ -1133,8 +1250,8 @@ paths: get: tags: - DID Registrar - summary: Get DID stored in Prism Agent's wallet - description: Get DID stored in Prism Agent's wallet + summary: Get a specific DID stored in the agent's wallet + description: Get a specific DID stored in the agent's wallet operationId: getDid-registrarDidsDidref parameters: - name: didRef @@ -1146,7 +1263,7 @@ paths: example: did:prism:4a5b5cf0a513e83b598bbea25cd6196746747f361a73ef77068268bc9bd732ff responses: '200': - description: Get Prism Agent managed DID + description: Get a DID in the agent's wallet content: application/json: schema: @@ -1182,8 +1299,14 @@ paths: post: tags: - DID Registrar - summary: Publish the DID stored in Prism Agent's wallet to the VDR - description: Publish the DID stored in Prism Agent's wallet to the VDR. + summary: Publish the DID stored in the agent's wallet to the VDR + description: | + Initiate the publication of the DID stored in the agent's wallet to the VDR. + The publishing process is asynchronous. + Attempting to publish the same DID while the previous publication is ongoing will not initiate another publication. + After the submission of the DID publication, its status is changed to `PUBLICATION_PENDING`. + Upon confirmation after a predefined number of blocks, the status is changed to `PUBLISHED`. + In case of a failed DID publication, the status is reverted to `CREATED`. operationId: postDid-registrarDidsDidrefPublications parameters: - name: didRef @@ -1195,7 +1318,7 @@ paths: example: did:prism:4a5b5cf0a513e83b598bbea25cd6196746747f361a73ef77068268bc9bd732ff responses: '202': - description: Publishing DID to the VDR. + description: Publishing DID to the VDR initiated content: application/json: schema: @@ -1231,13 +1354,13 @@ paths: post: tags: - DID Registrar - summary: Update DID in Prism Agent's wallet and post update operation to the - VDR + summary: Update DID in the agent's wallet and post update operation to the VDR description: |- - Update DID in Prism Agent's wallet and post update operation to the VDR. + Update DID in the agent's wallet and post the update operation to the VDR. + Only the DID with status `PUBLISHED` can be updated. This endpoint updates the DID document from the last confirmed operation. - Submitting multiple update operations without waiting for confirmation will result in - some operations being rejected as only one operation is allowed to be appended to the last confirmed operation. + The update operation is asynchornous operation and the agent will reject + a new update request if the previous operation is not yet comfirmed. operationId: postDid-registrarDidsDidrefUpdates parameters: - name: didRef @@ -1303,10 +1426,13 @@ paths: post: tags: - DID Registrar - summary: Deactivate DID in Prism Agent's wallet and post deactivate operation + summary: Deactivate DID in the agent's wallet and post deactivate operation to the VDR - description: Deactivate DID in Prism Agent's wallet and post deactivate operation - to the VDR. + description: |- + Deactivate DID in the agent's wallet and post deactivate operation to the VDR. + Only the DID with status `PUBLISHED` can be deactivated. + The deactivate operation is asynchornous operation and the agent will reject + a new deactivate request if the previous operation is not yet comfirmed. operationId: postDid-registrarDidsDidrefDeactivations parameters: - name: didRef @@ -1415,12 +1541,16 @@ paths: parameters: - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer @@ -1625,12 +1755,16 @@ paths: parameters: - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer @@ -1886,12 +2020,16 @@ paths: parameters: - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer @@ -1922,8 +2060,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] post: tags: - Identity and Access Management @@ -1970,8 +2108,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] /iam/entities/{id}/name: put: tags: @@ -2025,8 +2163,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] /iam/entities/{id}/walletId: put: tags: @@ -2080,8 +2218,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] /iam/entities/{id}: get: tags: @@ -2129,8 +2267,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] delete: tags: - Identity and Access Management @@ -2173,8 +2311,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] /iam/apikey-authentication: post: tags: @@ -2217,8 +2355,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] delete: tags: - Identity and Access Management @@ -2260,30 +2398,36 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' security: - - {} - adminApiKeyAuth: [] + - jwtAuth: [] /wallets: get: tags: - Wallet Management - summary: List all wallets + summary: List all permitted wallets + description: List all permitted wallets. If the role is admin, returns all the + wallets. If the role is tenant, only return permitted wallets. operationId: getWallets parameters: - name: offset in: query + description: The number of items to skip before returning results. Default + is 0 if not specified. required: false schema: type: integer format: int32 - name: limit in: query + description: The maximum number of items to return. Defaults to 100 if not + specified. required: false schema: type: integer format: int32 responses: '200': - description: Successfully list all the wallets + description: Successfully list all permitted wallets content: application/json: schema: @@ -2314,9 +2458,12 @@ paths: tags: - Wallet Management summary: Create a new wallet - description: |- - Create a new wallet with optional to use provided seed. - The seed will be used for DID key derivation inside the wallet. + description: "Create a new wallet with the option to provide the seed.\nThe\ + \ seed will be used for all PRISM DID keypair derivation within the wallet.\n\ + \nIf the role is admin, a wallet can be created at any time.\nIf the role\ + \ is tenant, a wallet can only be created if there is no existing wallet permission\ + \ for that tenant.\nThe permission for the tenant will be automatically granted\ + \ after the wallet is created with tenant role.\n " operationId: createWallet requestBody: content: @@ -2326,7 +2473,7 @@ paths: required: true responses: '201': - description: A new wallet has been created + description: Successfully create a new wallet content: application/json: schema: @@ -2358,6 +2505,8 @@ paths: tags: - Wallet Management summary: Get the wallet by ID + description: Get the wallet by ID. If the role is tenant, only search the ID + of permitted wallets. operationId: getWalletsWalletid parameters: - name: walletId @@ -2407,6 +2556,10 @@ paths: - Wallet Management summary: Create a UMA resource permission on an authorization server for the wallet. + description: "Create a UMA resource permission on an authorization server for\ + \ the wallet.\nThis grants the wallet permission to the specified `subject`,\ + \ where the `subject` denotes the identity of the tenant on an authorization\ + \ server.\n " operationId: createWalletUmaPermission parameters: - name: walletId @@ -2423,7 +2576,7 @@ paths: required: true responses: '200': - description: UMA resource permission is created on an authorization server. + description: UMA resource permission is created on an authorization server '400': description: Invalid request parameters content: @@ -2451,6 +2604,10 @@ paths: - Wallet Management summary: Delete a UMA resource permission on an authorization server for the wallet. + description: "Remove a UMA resource permission on an authorization server for\ + \ the wallet.\nThis remove the wallet permission to the specified `subject`,\ + \ where the `subject` denotes the identity of the tenant on an authorization\ + \ server.\n " operationId: deleteWalletUmaPermission parameters: - name: walletId @@ -2958,6 +3115,8 @@ components: type: array items: type: string + description: The JSON-LD context describing the JSON document + example: https://didcomm.org/messaging/contexts/v2 CreateWalletRequest: required: - name @@ -3444,7 +3603,8 @@ components: type: array items: type: string - description: The JSON-LD context for the DID resolution result. + description: The JSON-LD context describing the JSON document + example: https://didcomm.org/messaging/contexts/v2 id: type: string description: |- @@ -3552,8 +3712,8 @@ components: properties: '@context': type: string - description: The JSON-LD context for the DID resolution result. - example: https://w3id.org/did-resolution/v1 + description: The JSON-LD context describing the JSON document + example: https://didcomm.org/messaging/contexts/v2 didDocument: $ref: '#/components/schemas/DIDDocument' didDocumentMetadata: @@ -3757,7 +3917,7 @@ components: type: string description: The date and time when the issue credential record was created. format: date-time - example: '2023-12-21T10:46:39.901591685Z' + example: '2024-01-25T13:33:28.428671446Z' updatedAt: type: string description: The date and time when the issue credential record was last @@ -3845,7 +4005,7 @@ components: example: [] Json: description: The service endpoint. Can contain multiple possible values as described - in the [Create DID operation] + in the [Create DID operation](https://github.com/input-output-hk/prism-did-method-spec/blob/main/w3c-spec/PRISM-method.md#create-did) example: https://example.com oneOf: - $ref: '#/components/schemas/Arr' @@ -3866,14 +4026,14 @@ components: example: did:prism:4a5b5cf0a513e83b598bbea25cd6196746747f361a73ef77068268bc9bd732ff longFormDid: type: string - description: A long-form DID. Mandatory when status is not PUBLISHED and - optional when status is PUBLISHED + description: A long-form DID. Mandatory when status is not `PUBLISHED` and + optional when status is `PUBLISHED` example: did:prism:4a5b5cf0a513e83b598bbea25cd6196746747f361a73ef77068268bc9bd732ff:Cr4BCrsBElsKBmF1dGgtMRAEQk8KCXNlY3AyNTZrMRIg0opTuxu-zt6aRbT1tPniG4eu4CYsQPM3rrLzvzNiNgwaIIFTnyT2N4U7qCQ78qtWC3-p0el6Hvv8qxG5uuEw-WgMElwKB21hc3RlcjAQAUJPCglzZWNwMjU2azESIKhBU0eCOO6Vinz_8vhtFSAhYYqrkEXC8PHGxkuIUev8GiAydFHLXb7c22A1Uj_PR21NZp6BCDQqNq2xd244txRgsQ status: type: string description: |- - A status indicating a publication state of a DID in the wallet (e.g. PUBLICATION_PENDING, PUBLISHED). - Does not represent DID a full lifecyle (e.g. deactivated, recovered, updated). + A status indicating a publication state of a DID in the wallet (e.g. `PUBLICATION_PENDING`, `PUBLISHED`). + Does not represent DID a lifecyle (e.g. `deactivated`, `recovered`, `updated`). example: CREATED ManagedDIDKeyTemplate: required: @@ -3887,7 +4047,7 @@ components: example: key-1 purpose: $ref: '#/components/schemas/Purpose' - description: key-pair template to add to DID document. + description: A key-pair template to add to DID document. ManagedDIDPage: required: - self @@ -3947,6 +4107,8 @@ components: type: array items: type: string + description: The JSON-LD context describing the JSON document + example: https://didcomm.org/messaging/contexts/v2 PresentationStatus: required: - presentationId @@ -4288,7 +4450,7 @@ components: - type: string serviceEndpoint: $ref: '#/components/schemas/Json' - description: A service expressed in the DID document. https://www.w3.org/TR/did-core/#services + description: A service that should appear in the DID document. https://www.w3.org/TR/did-core/#services Str: required: - value @@ -4391,7 +4553,58 @@ components: publicKeyJwk: $ref: '#/components/schemas/PublicKeyJwk' description: A cryptographic public key expressed in the DID document. https://www.w3.org/TR/did-core/#verification-methods - VerificationPolicy: + VerificationPolicyConstraint: + required: + - schemaId + type: object + properties: + schemaId: + type: string + description: The schema ID of the credential that is being verified. + example: https://example.com/driving-license-1.0 + minLength: 1 + trustedIssuers: + type: array + items: + type: string + description: A list of DIDs of the trusted issuers. + example: + - did:example:123456789abcdefghi + VerificationPolicyInput: + required: + - name + - description + type: object + properties: + id: + type: string + description: A unique identifier to address the verification policy instance. + UUID is generated by the backend. + format: uuid + example: 0527aea1-d131-3948-a34d-03af39aba8b5 + name: + type: string + description: A human-readable name for the verification policy. The `name` + cannot be empty. + example: Trusted Issuers Verification Policy + minLength: 1 + description: + type: string + description: A human-readable description of the verification policy. + example: Verification policy that checks if the credential was issued by + a trusted issuer. + constraints: + type: array + items: + $ref: '#/components/schemas/VerificationPolicyConstraint' + description: The object that describes the constraints of the verification + policy. Each constraint is a tuple of the `schemaId` and a set of DIDs + of the trusted issuers. + example: + - schemaId: https://example.com/driving-license-1.0 + trustedIssuers: + - did:example:123456789abcdefghi + VerificationPolicyResponse: required: - self - kind @@ -4405,57 +4618,61 @@ components: properties: self: type: string + description: The URL that uniquely identifies the resource being returned + in the response. + example: /prism-agent/verification/policies/0527aea1-d131-3948-a34d-03af39aba8b4 kind: type: string + description: A string that identifies the type of resource being returned + in the response. + example: VerificationPolicy id: type: string + description: A unique identifier to address the verification policy instance. + UUID is generated by the backend. format: uuid + example: 0527aea1-d131-3948-a34d-03af39aba8b5 nonce: type: integer + description: A number that is changed every time the verification policy + is updated. format: int32 + example: 1234 name: type: string + description: A human-readable name for the verification policy. The `name` + cannot be empty. + example: Trusted Issuers Verification Policy + minLength: 1 description: type: string + description: A human-readable description of the verification policy. + example: Verification policy that checks if the credential was issued by + a trusted issuer. createdAt: type: string + description: '[RFC3339](https://www.rfc-editor.org/rfc/rfc3339) date on + which the verification policy was created.' format: date-time + example: 2022-03-10T12:00Z updatedAt: type: string + description: '[RFC3339](https://www.rfc-editor.org/rfc/rfc3339) date on + which the verification policy was updated.' format: date-time + example: 2022-03-10T12:00Z constraints: type: array items: $ref: '#/components/schemas/VerificationPolicyConstraint' - VerificationPolicyConstraint: - required: - - schemaId - type: object - properties: - schemaId: - type: string - trustedIssuers: - type: array - items: - type: string - VerificationPolicyInput: - required: - - name - - description - type: object - properties: - id: - type: string - format: uuid - name: - type: string - description: - type: string - constraints: - type: array - items: - $ref: '#/components/schemas/VerificationPolicyConstraint' - VerificationPolicyPage: + description: The object that describes the constraints of the verification + policy. Each constraint is a tuple of the `schemaId` and a set of DIDs + of the trusted issuers. + example: + - schemaId: https://example.com/driving-license-1.0 + trustedIssuers: + - did:example:123456789abcdefghi + VerificationPolicyResponsePage: required: - self - kind @@ -4464,18 +4681,51 @@ components: properties: self: type: string + description: The URL that uniquely identifies the resource being returned + in the response. + example: /prism-agent/verification/policies?name=Trusted&offset=0&limit=10 kind: type: string + description: A string that identifies the type of resource being returned + in the response. + example: VerificationPolicyPage pageOf: type: string + description: A string field indicating the type of resource that the contents + field contains + example: /prism-agent/verification/policies next: type: string + description: An optional string field containing the URL of the next page + of results. If the API response does not contain any more pages, this + field should be set to None. + example: /prism-agent/verification/policies?skip=20&limit=10 previous: type: string + description: An optional string field containing the URL of the previous + page of results. If the API response is the first page of results, this + field should be set to None. + example: /prism-agent/verification/policies?skip=0&limit=10 contents: type: array items: - $ref: '#/components/schemas/VerificationPolicy' + $ref: '#/components/schemas/VerificationPolicyResponse' + description: A sequence of VerificationPolicyResponse objects representing + the list of verification policies that the paginated response contains + example: + - self: /prism-agent/verification/policies + kind: VerificationPolicy + id: 0527aea1-d131-3948-a34d-03af39aba8b4 + nonce: 0 + name: Trusted Issuers Verification Policy + description: Verification policy that checks if the credential was issued + by a trusted issuer. + createdAt: '2022-03-10T12:00:00Z' + updatedAt: '2022-03-10T12:00:00Z' + constraints: + - schemaId: https://example.com/driving-license-1.0 + trustedIssuers: + - did:example:123456789abcdefghi WalletDetail: required: - id @@ -4570,14 +4820,26 @@ components: items: $ref: '#/components/schemas/WebhookNotification' securitySchemes: - adminApiKeyAuth: - type: apiKey - name: x-admin-api-key - in: header apiKeyAuth: type: apiKey + description: API Key Authentication. The header `apikey` must be set with the + API key. name: apikey in: header + adminApiKeyAuth: + type: apiKey + description: Admin API Key Authentication. The header `x-admin-api-key` must + be set with the Admin API key. + name: x-admin-api-key + in: header jwtAuth: type: http - scheme: bearer + description: JWT Authentication. The header `Authorization` must be set with + the JWT token using `Bearer` scheme + name: Authorization + in: header + scheme: Bearer +security: +- apiKeyAuth: [] + adminApiKeyAuth: [] + jwtAuth: [] diff --git a/version.sbt b/version.sbt index 9462f4c845..16718a55af 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -ThisBuild / version := "1.24.0-SNAPSHOT" +ThisBuild / version := "1.25.0-SNAPSHOT"