Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: rename to credo #1713

Merged
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

repository:
name: credo-ts
description: Extension libraries for Aries Framework JavaScript
description: The Credo Core Repository
homepage: https://github.com/openwallet-foundation/credo-ts
default_branch: main
has_downloads: false
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/continuous-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
- name: Get version number
id: get-version
run: |
LAST_RELEASED_VERSION=$(npm view @aries-framework/core@alpha version)
LAST_RELEASED_VERSION=$(npm view @credo-ts/core@alpha version)

echo version="${LAST_RELEASED_VERSION}" >> "$GITHUB_OUTPUT"

Expand All @@ -66,7 +66,7 @@ jobs:
# Only run if the last pushed commit is a release commit
if: "startsWith(github.event.head_commit.message, 'chore(release): v')"
steps:
- name: Checkout aries-framework-javascript
- name: Checkout credo
uses: actions/checkout@v4

# setup dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ jobs:
node-version: [18.x, 20.x]

steps:
- name: Checkout aries-framework-javascript
- name: Checkout credo
uses: actions/checkout@v4

# setup dependencies
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Contributions are made pursuant to the Developer's Certificate of Origin, availa
- It is difficult to manage a release with too many changes.
- We should **release more often**, not months apart.
- We should focus on feature releases (minor and patch releases) to speed iteration.
- See our [Aries JavaScript Docs on semantic versioning](https://aries.js.org/guides/updating#versioning). Notably, while our versions are pre 1.0.0, minor versions are breaking change versions.
- See our [Credo Docs on semantic versioning](https://https://credo.js.org/guides/updating#versioning). Notably, while our versions are pre 1.0.0, minor versions are breaking change versions.
- Mixing breaking changes with other PRs slows development.
- Non-breaking change PRs are merged earlier into **main**
- Breaking change PRs will go to a branch named **<release-version>-pre (ie. 0.3.0-pre)** and merged later in the release cycle.
Expand Down
10 changes: 5 additions & 5 deletions DEVREADME.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ If you're using the setup as described in this document, you don't need to provi

### Setup Postgres

> Note: Setup the postgres plugin first by following the [docs](https://aries.js.org/)
> Note: Setup the postgres plugin first by following the [docs](https://https://credo.js.org/)

```sh
# Get postgres docker image
Expand Down Expand Up @@ -108,10 +108,10 @@ Locally, you might want to run the tests without postgres tests. You can do that
yarn test --testPathIgnorePatterns postgres.e2e.test.ts
```

In case you run into trouble running the tests, e.g. complaining about snapshots not being up-to-date, you can try and remove the data stored for the indy-client or AFJ. Note this removes all wallets and data, so make sure you're okay with all data being removed. On a Unix system with default setup you achieve this by running:
In case you run into trouble running the tests, e.g. complaining about snapshots not being up-to-date, you can try and remove the data stored for the indy-client or Credo. Note this removes all wallets and data, so make sure you're okay with all data being removed. On a Unix system with default setup you achieve this by running:

```sh
rm -rf ~/.indy-client ~/.afj
rm -rf ~/.indy-client ~/.credo
TimoGlastra marked this conversation as resolved.
Show resolved Hide resolved
```

## Usage with Docker
Expand All @@ -122,8 +122,8 @@ Make sure you followed the [local ledger setup](#setup-indy-ledger) to setup a l

```sh
# Builds the framework docker image with all dependencies installed
docker build -t aries-framework-javascript .
docker build -t credo .

# Run test with ledger pool
docker run -it --rm --network host aries-framework-javascript yarn test
docker run -it --rm --network host credo yarn test
```
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ RUN cargo build --release
# set up library path for postgres plugin
ENV LIB_INDY_STRG_POSTGRES="/indy-sdk/experimental/plugins/postgres_storage/target/release"

## Stage 2: Build Aries Framework JavaScript
## Stage 2: Build Credo

FROM base as final

Expand Down
108 changes: 54 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
<br />
<img
alt="Hyperledger Aries logo"
src="https://raw.githubusercontent.com/hyperledger/aries-framework-javascript/aa31131825e3331dc93694bc58414d955dcb1129/images/aries-logo.png"
src="https://raw.githubusercontent.com/openwallet-foundation/credo-ts/aa31131825e3331dc93694bc58414d955dcb1129/images/aries-logo.png"
height="250px"
/>
</p>
<h1 align="center"><b>Aries Framework JavaScript</b></h1>
<h1 align="center"><b>Credo</b></h1>
<p align="center">
<img
alt="Pipeline Status"
src="https://github.com/hyperledger/aries-framework-javascript/workflows/Continuous%20Integration/badge.svg?branch=main"
src="https://github.com/openwallet-foundation/credo-ts/workflows/Continuous%20Integration/badge.svg?branch=main"
/>
<a href="https://codecov.io/gh/hyperledger/aries-framework-javascript/"
<a href="https://codecov.io/gh/openwallet-foundation/credo-ts/"
><img
alt="Codecov Coverage"
src="https://img.shields.io/codecov/c/github/hyperledger/aries-framework-javascript/coverage.svg?style=flat-square"
src="https://img.shields.io/codecov/c/github/openwallet-foundation/credo-ts/coverage.svg?style=flat-square"
/></a>
<a
href="https://raw.githubusercontent.com/hyperledger/aries-framework-javascript/main/LICENSE"
href="https://raw.githubusercontent.com/openwallet-foundation/credo-ts/main/LICENSE"
><img
alt="License"
src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"
Expand All @@ -38,11 +38,11 @@
<a href="#license">License</a>
</p>

Aries Framework JavaScript is a framework written in TypeScript for building **SSI Agents and DIDComm services** that aims to be **compliant and interoperable** with the standards defined in the [Aries RFCs](https://github.com/hyperledger/aries-rfcs).
Credo is a framework written in TypeScript for building **SSI Agents and DIDComm services** that aims to be **compliant and interoperable** with the standards defined in the [Aries RFCs](https://github.com/hyperledger/aries-rfcs).

> **Note**
> The Aries Framework JavaScript project has recently been moved from the Hyperledger Foundation to the Open Wallet Foundation.
> We are currently in the process of changing the name of the project, and updating all the documentation and links to reflect this change.
> The Aries Framework JavaScript project has recently been rebranded to "Credo" was moved from the Hyperledger Foundation to the Open Wallet Foundation.
TimoGlastra marked this conversation as resolved.
Show resolved Hide resolved
> We are currently in the process of changing the name of the project to Credo, and updating all the documentation and links to reflect this change.
> You may encounter some broken links, or references to the old name, but we are working hard to fix this. Once the new name has been decided
> we will update this README and all the documentation to reflect this change.
> You can follow this discussion for updates about the name: https://github.com/openwallet-foundation/agent-framework-javascript/discussions/1668
Expand All @@ -66,128 +66,128 @@ Aries Framework JavaScript is a framework written in TypeScript for building **S
<th><b>Version</b></th>
</tr>
<tr>
<td>@aries-framework/core</td>
<td>@credo-ts/core</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/core">
<img alt="@aries-framework/core version" src="https://img.shields.io/npm/v/@aries-framework/core"/>
<a href="https://npmjs.com/package/@credo-ts/core">
<img alt="@credo-ts/core version" src="https://img.shields.io/npm/v/@credo-ts/core"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/node</td>
<td>@credo-ts/node</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/node">
<img alt="@aries-framework/node version" src="https://img.shields.io/npm/v/@aries-framework/node"/>
<a href="https://npmjs.com/package/@credo-ts/node">
<img alt="@credo-ts/node version" src="https://img.shields.io/npm/v/@credo-ts/node"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/react-native</td>
<td>@credo-ts/react-native</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/react-native">
<img alt="@aries-framework/react-native version" src="https://img.shields.io/npm/v/@aries-framework/react-native"/>
<a href="https://npmjs.com/package/@credo-ts/react-native">
<img alt="@credo-ts/react-native version" src="https://img.shields.io/npm/v/@credo-ts/react-native"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/indy-sdk</td>
<td>@credo-ts/indy-sdk</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/indy-sdk">
<img alt="@aries-framework/indy-sdk version" src="https://img.shields.io/npm/v/@aries-framework/indy-sdk"/>
<a href="https://npmjs.com/package/@credo-ts/indy-sdk">
<img alt="@credo-ts/indy-sdk version" src="https://img.shields.io/npm/v/@credo-ts/indy-sdk"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/indy-vdr</td>
<td>@credo-ts/indy-vdr</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/indy-vdr">
<img alt="@aries-framework/indy-vdr version" src="https://img.shields.io/npm/v/@aries-framework/indy-vdr"/>
<a href="https://npmjs.com/package/@credo-ts/indy-vdr">
<img alt="@credo-ts/indy-vdr version" src="https://img.shields.io/npm/v/@credo-ts/indy-vdr"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/cheqd</td>
<td>@credo-ts/cheqd</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/cheqd">
<img alt="@aries-framework/cheqd version" src="https://img.shields.io/npm/v/@aries-framework/cheqd"/>
<a href="https://npmjs.com/package/@credo-ts/cheqd">
<img alt="@credo-ts/cheqd version" src="https://img.shields.io/npm/v/@credo-ts/cheqd"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/askar</td>
<td>@credo-ts/askar</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/askar">
<img alt="@aries-framework/askar version" src="https://img.shields.io/npm/v/@aries-framework/askar"/>
<a href="https://npmjs.com/package/@credo-ts/askar">
<img alt="@credo-ts/askar version" src="https://img.shields.io/npm/v/@credo-ts/askar"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/anoncreds</td>
<td>@credo-ts/anoncreds</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/anoncreds">
<img alt="@aries-framework/anoncreds version" src="https://img.shields.io/npm/v/@aries-framework/anoncreds"/>
<a href="https://npmjs.com/package/@credo-ts/anoncreds">
<img alt="@credo-ts/anoncreds version" src="https://img.shields.io/npm/v/@credo-ts/anoncreds"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/anoncreds-rs</td>
<td>@credo-ts/anoncreds-rs</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/anoncreds-rs">
<img alt="@aries-framework/anoncreds-rs version" src="https://img.shields.io/npm/v/@aries-framework/anoncreds-rs"/>
<a href="https://npmjs.com/package/@credo-ts/anoncreds-rs">
<img alt="@credo-ts/anoncreds-rs version" src="https://img.shields.io/npm/v/@credo-ts/anoncreds-rs"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/openid4vc-client</td>
<td>@credo-ts/openid4vc-client</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/openid4vc-client">
<img alt="@aries-framework/openid4vc-client version" src="https://img.shields.io/npm/v/@aries-framework/openid4vc-client"/>
<a href="https://npmjs.com/package/@credo-ts/openid4vc-client">
<img alt="@credo-ts/openid4vc-client version" src="https://img.shields.io/npm/v/@credo-ts/openid4vc-client"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/action-menu</td>
<td>@credo-ts/action-menu</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/action-menu">
<img alt="@aries-framework/action-menu version" src="https://img.shields.io/npm/v/@aries-framework/action-menu"/>
<a href="https://npmjs.com/package/@credo-ts/action-menu">
<img alt="@credo-ts/action-menu version" src="https://img.shields.io/npm/v/@credo-ts/action-menu"/>
</a>
</td>
</tr>
<td>@aries-framework/question-answer</td>
<td>@credo-ts/question-answer</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/question-answer">
<img alt="@aries-framework/question-answer version" src="https://img.shields.io/npm/v/@aries-framework/question-answer"/>
<a href="https://npmjs.com/package/@credo-ts/question-answer">
<img alt="@credo-ts/question-answer version" src="https://img.shields.io/npm/v/@credo-ts/question-answer"/>
</a>
</td>
</tr>
<tr>
<td>@aries-framework/tenants</td>
<td>@credo-ts/tenants</td>
<td>
<a href="https://npmjs.com/package/@aries-framework/tenants">
<img alt="@aries-framework/tenants version" src="https://img.shields.io/npm/v/@aries-framework/tenants"/>
<a href="https://npmjs.com/package/@credo-ts/tenants">
<img alt="@credo-ts/tenants version" src="https://img.shields.io/npm/v/@credo-ts/tenants"/>
</a>
</td>
</tr>
</table>

## Getting Started

Documentation on how to get started with Aries Framework JavaScript can be found at https://aries.js.org
Documentation on how to get started with Credo can be found at https://https://credo.js.org/
TimoGlastra marked this conversation as resolved.
Show resolved Hide resolved

### Demo

To get to know the AFJ flow, we built a demo to walk through it yourself together with agents Alice and Faber.
To get to know the Credo flow, we built a demo to walk through it yourself together with agents Alice and Faber.

- [Demo](/demo)

### Divergence from Aries RFCs

Although Aries Framework JavaScript tries to follow the standards as described in the Aries RFCs as much as possible, some features in AFJ slightly diverge from the written spec. Below is an overview of the features that diverge from the spec, their impact and the reasons for diverging.
Although Credo tries to follow the standards as described in the Aries RFCs as much as possible, some features in Credo slightly diverge from the written spec. Below is an overview of the features that diverge from the spec, their impact and the reasons for diverging.

| Feature | Impact | Reason |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Support for `imageUrl` attribute in connection invitation and connection request | Properties that are not recognized should be ignored, meaning this shouldn't limit interoperability between agents. As the image url is self-attested it could give a false sense of trust. Better, credential based, method for visually identifying an entity are not present yet. | Even though not documented, almost all agents support this feature. Not including this feature means AFJ is lacking in features in comparison to other implementations. |
| Revocation Notification v1 uses a different `thread_id` format ( `indy::<revocation_registry_id>::<credential_revocation_id>`) than specified in the Aries RFC | Any agents adhering to the [revocation notification v1 RFC](https://github.com/hyperledger/aries-rfcs/tree/main/features/0183-revocation-notification) will not be interoperable with Aries Framework Javascript. However, revocation notification is considered an optional portion of revocation, therefore this will not break core revocation behavior. Ideally agents should use and implement revocation notification v2. | Actual implementations (ACA-Py) of revocation notification v1 so far have implemented this different format, so this format change was made to remain interoperable. |
| Support for `imageUrl` attribute in connection invitation and connection request | Properties that are not recognized should be ignored, meaning this shouldn't limit interoperability between agents. As the image url is self-attested it could give a false sense of trust. Better, credential based, method for visually identifying an entity are not present yet. | Even though not documented, almost all agents support this feature. Not including this feature means Credo is lacking in features in comparison to other implementations. |
| Revocation Notification v1 uses a different `thread_id` format ( `indy::<revocation_registry_id>::<credential_revocation_id>`) than specified in the Aries RFC | Any agents adhering to the [revocation notification v1 RFC](https://github.com/hyperledger/aries-rfcs/tree/main/features/0183-revocation-notification) will not be interoperable with Credo. However, revocation notification is considered an optional portion of revocation, therefore this will not break core revocation behavior. Ideally agents should use and implement revocation notification v2. | Actual implementations (ACA-Py) of revocation notification v1 so far have implemented this different format, so this format change was made to remain interoperable. |

## Contributing

Expand All @@ -197,4 +197,4 @@ There are regular community working groups to discuss ongoing efforts within the

## License

Hyperledger Aries Framework JavaScript is licensed under the [Apache License Version 2.0 (Apache-2.0)](/LICENSE).
OpenWallet Foundation Credo is licensed under the [Apache License Version 2.0 (Apache-2.0)](/LICENSE).
Loading
Loading