openvibers/openvibe.contracts index.js

index.js

main 1.5 KB · 38 lines · javascript

1'use strict';
2/**
3 * openvibe-contracts — machine-readable contracts for the OpenVibe network.
4 *
5 * const contracts = require('openvibe-contracts');
6 * contracts.validate('identity.subject-ref@1', { type: 'user', id: 'usr_01J...' });
7 * contracts.ids.newId('user'); // 'usr_01J...'
8 * contracts.http.problem(403, 'capability.denied'); // RFC 9457 body
9 * contracts.capabilities.check(tokenClaims, 'media.object.read', { namespace: 'live' });
10 * contracts.staff.can(userTokenClaims, 'staff.moderation.chat'); // staff roles → staff capabilities
11 * contracts.resources.parse('ovrn:media:prj_…:object/med_…'); // { service, project_id, type, id }
12 */
13const registry = require('./lib/registry');
14
15module.exports = {
16 levels: require('./lib/levels'),
17 catalog: registry.catalog,
18 resolve: registry.resolve,
19 validate: registry.validate,
20 assertValid: registry.assertValid,
21 schema: registry.schema,
22 ids: require('./lib/ids'),
23 http: require('./lib/http'),
24 capabilities: require('./lib/capabilities'),
25 services: require('./lib/services'),
26 products: require('./lib/products'),
27 serviceAuth: require('./lib/service-auth'),
28 modules: require('./lib/modules'),
29 tools: require('./lib/tools'),
30 zones: require('./lib/zones'),
31 usage: require('./lib/usage'),
32 resources: require('./lib/resources'),
33 staff: require('./lib/staff'),
34 labels: require('./lib/labels'),
35 moneyReasons: require('./lib/money-reasons'),
36 openapi: require('./lib/openapi'),
37};
38