0.8.1 • Published 2 months ago

universeai v0.8.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 months ago

Continuous integration: main branch

The UniverseAI Protocol

UniverseAI logo

The UniverseAI Protocol is an interoperable application and data sharing protocol where each party keep ownership and control over their data. The protocol and this implementation is developed by The UniverseAI Foundation.

Users are not required to host their own data but can let services host data while users can at any time sync home their data, or sync their data to another service.

UniverseAI is a graph of data which is cryptographically signed by each user creating data. Data is either public, private or licensed. Users issue licenses on their licensed data towards other users for specific time ranges, for a specific intent and for how many times a license can be "extented" towards other users.

All communication between peers are encrypted.

This repo is a production intended reference implementation of the UniverseAI protocol bundled with an SDK and licensed with the Apache license version 2.

This implementation is written in TypeScript meaning it can also be run in the browser. It uses relatively few dependencies.

Use this repo to:

- build decentralized applications using nothing else than UniverseAI as backend, or
- use UniverseAI as part of your applications backend and storage strategy
- create interoperable applications
    - Move data between similar applications
    - Sync data in near realtime to **complementing** applications to enrich your current dataset
- setup data lakes for data sharing amongst participants

Roadmap

This repo follows the semver versioning schema, however breaking changes are expected for any new version below 1.0.0.

Status

The project is currently (2023-09-19) going through a wrapping up phase together with the Data Wallet browser extension (https://github.com/universe-ai/datawallet) and the Web Chat application (https://github.com/universe-ai/webchat/) in preparation for a stable release.

Documentation

Documentation is found at https://universe.ai/docs/.

NPM

This project is released on NPM as https://www.npmjs.com/package/universeai.

Test

npm i
npm test

See also the chat integration test below.

Base setup

npm i

Build

npm run build

Test

npm run test

Chat reference example

Node.js

npx ts-node ./test/integration/chat/Chat.ts

Expected output:

2023-07-24T17:24:29 [ℹ INFO ] [Main  ] Init Chat Server
2023-07-24T17:24:29 [ℹ INFO ] [Main  ] Storage connected, send message from Server side
2023-07-24T17:24:30 [ℹ INFO ] [Main  ] Init Chat Client
2023-07-24T17:24:30 [ℹ INFO ] [Main  ] Connection connected to server
2023-07-24T17:24:30 [ℹ INFO ] [Main  ] Connection connected to client, send message from Client side
2023-07-24T17:24:30 [ℹ INFO ] [Server] Hello from Server
2023-07-24T17:24:30 [ℹ INFO ] [Client] Hello from Client
2023-07-24T17:24:30 [ℹ INFO ] [Client] Hello from Server
2023-07-24T17:24:31 [ℹ INFO ] [Server] Hello from Client
2023-07-24T17:24:31 [ℹ INFO ] [Server] Downloaded blob
2023-07-24T17:24:31 [✓ ACED ] [Main  ] All messages transferred, closing Server and Client
2023-07-24T17:24:31 [ℹ INFO ] [Service] Database connection closed
2023-07-24T17:24:31 [ℹ INFO ] [Service] Database connection closed

Browser

Build and test in browser.

npm run c
cp ./src/datamodel/decoder/thread.js ./build/src/datamodel/decoder/.
npm run browser
cp ./build/browser/Chat.js <dest>
cp ./build/src/datamodel/decoder/thread.js <dest>
cp ./test/integration/chat/index.html <dest>

Double click index.html to run it locally.

Expected output:

2023-07-24T17:24:29 [ℹ INFO ] [Main  ] Init Chat Server
2023-07-24T17:24:29 [ℹ INFO ] [Main  ] Storage connected, send message from Server side
2023-07-24T17:24:30 [ℹ INFO ] [Main  ] Init Chat Client
2023-07-24T17:24:30 [ℹ INFO ] [Main  ] Connection connected to server
2023-07-24T17:24:30 [ℹ INFO ] [Main  ] Connection connected to client, send message from Client side
2023-07-24T17:24:30 [ℹ INFO ] [Server] Hello from Server
2023-07-24T17:24:30 [ℹ INFO ] [Client] Hello from Client
2023-07-24T17:24:30 [ℹ INFO ] [Client] Hello from Server
2023-07-24T17:24:31 [ℹ INFO ] [Server] Hello from Client
2023-07-24T17:24:31 [ℹ INFO ] [Server] Downloaded blob
2023-07-24T17:24:31 [✓ ACED ] [Main  ] All messages transferred, closing Server and Client
2023-07-24T17:24:31 [ℹ INFO ] [Service] Database connection closed
2023-07-24T17:24:31 [ℹ INFO ] [Service] Database connection closed
0.8.1

2 months ago

0.8.0

2 months ago

0.7.9

4 months ago

0.7.6

5 months ago

0.7.8

5 months ago

0.7.7

5 months ago

0.7.4

6 months ago

0.7.2

6 months ago

0.7.1

7 months ago

0.7.0

7 months ago

0.6.8

7 months ago

0.6.7

7 months ago

0.6.6

7 months ago

0.6.5

8 months ago

0.6.4

8 months ago

0.6.3

9 months ago

0.6.2

9 months ago

0.6.1

9 months ago

0.6.0

9 months ago