The Consent/Contracts Agent is a comprehensive library designed to seamlessly integrate with the contract-manager and consent-manager. It offers a range of features, including the automatic creation and management of profiles, automation of processes, personalized recommendations, and the ability to set and manage profile preferences. Additionally, the agent provides a robust routing system to facilitate the efficient flow of these functionalities.
See the design document here.
- Consent Profile Management: Enables profiles for users in the consent-manager.
- Contract Profile Management: Enables profiles for contract-manager.
- Contract Negotiation Management: Enables organizations to define default rules and conditions for negotiation.
Here’s an example of a JSON configuration:
{
"source": "profiles",
"url": "mongodb://localhost:27017",
"dbName": "contract_consent_agent_db",
"watchChanges": false,
"hostsProfiles": true,
"existingDataCheck": true
}
pnpm install
pnpm test-cca-contract
pnpm test-cca-consent
- Individuals can manage their consent preferences effectively.
- Organizations can streamline the negotiation process for data sharing agreements.
- Automatic recommendations for services based on consent profiles and contract profiles.
The API for the Consent/Contracts Negotiating Agent is documented using Swagger. You can find the API routes and their descriptions in the swagger.json
file located in the contract-agent/docs
directory.
- Get Recommendations:
GET /profile/{profileId}/recommendations/consent
- Set Preferences:
POST /profile/{profileId}/preferences
- Get Preferences:
GET /profile/{profileId}/preferences
- Negotiate Contract:
POST /negotiation/contract/negotiate
Describe how to check some basic functionality of the BB. E.g.:
Send the following requests to the designated endpoints:
Endpoint | Example input | Expected output |
---|---|---|
/hello | World | 200, Hello World! |
- Data Format Standards: JSON-LD, ISO 3166-1 alpha-2, ISO 8601, ODRL
The architecture consists of several key components:
- Contract Agent: Manages contract profiles of organizations and facilitates contract negotiations.
- Consent Agent: Manages consent preferences of individuals and automates responses to consent requests.
The agent logs operations, errors, and warnings to facilitate troubleshooting and debugging. It also imposes limits and usage constraints to ensure efficient operation.
The testing strategy includes unit tests, integration tests, and UI tests to ensure the correctness and reliability of functionalities.
pnpm report-cca-contract
pnpm report-cca-consent
pnpm test
The Consent/Contracts Negotiating Agent enhances data usage and sharing agreements management, ensuring compliance with policies and streamlining processes for individuals and organizations.
pnpm build
This project is licensed under the MIT License.
Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes.
For more information, please contact the project maintainers.