Files
microdao-daarion/backend/services/pdp/policies.config.ts
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- matrix-gateway: POST /internal/matrix/presence/online endpoint
- usePresenceHeartbeat hook with activity tracking
- Auto away after 5 min inactivity
- Offline on page close/visibility change
- Integrated in MatrixChatRoom component
2025-11-27 00:19:40 -08:00

77 lines
2.0 KiB
TypeScript

/**
* Policies Configuration
* Based on: pdp_access.md
*
* Initial set of policies for MVP
*/
export const policiesConfig = {
'policy.dao.create': {
id: 'policy.dao.create',
description: 'Створення нового MicroDAO',
conditions: [
{
type: 'or',
rules: [
{ type: 'balance', token: 'DAAR', gte: 1 },
{ type: 'balance', token: 'DAARION', gte: 0.01 },
],
},
],
},
'policy.vendor.register': {
id: 'policy.vendor.register',
description: 'Реєстрація вендора на платформі',
conditions: [
{ type: 'staked', token: 'DAARION', gte: 0.01 },
],
},
'policy.platform.create': {
id: 'policy.platform.create',
description: 'Створення платформи',
conditions: [
{ type: 'staked', token: 'DAARION', gte: 1 },
],
},
'policy.federation.join': {
id: 'policy.federation.join',
description: 'Вступ DAO до SuperDAO',
conditions: [
{ type: 'role', value: 'owner' },
{ type: 'target', property: 'federation_mode', value: 'superdao' },
],
},
'policy.federation.leave': {
id: 'policy.federation.leave',
description: 'Вихід DAO з SuperDAO',
conditions: [
{ type: 'role', value: 'owner' },
],
},
'policy.federation.create-superdao': {
id: 'policy.federation.create-superdao',
description: 'Створення SuperDAO',
conditions: [
{ type: 'role', value: 'owner' },
{ type: 'dao', property: 'child_count', gte: 1 },
],
},
'policy.federation.dissolve': {
id: 'policy.federation.dissolve',
description: 'Розформування федерації',
conditions: [
{ type: 'role', value: 'owner' },
{ type: 'dao', property: 'level', ne: 'A1' },
],
},
'policy.agent.run': {
id: 'policy.agent.run',
description: 'Запуск агента',
conditions: [
{ type: 'agent', property: 'registered', value: true },
],
},
} as const;