anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
70 lines • 2.42 kB
JavaScript
;
/**
* Agent Activity Monitoring Types
*
* Defines the structure for tracking and auditing agent activities
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ACTIVITY_SCHEMA = exports.ActivityStatus = exports.ActivityType = void 0;
var ActivityType;
(function (ActivityType) {
ActivityType["AUTHENTICATION"] = "authentication";
ActivityType["AUTHORIZATION"] = "authorization";
ActivityType["DATA_ACCESS"] = "data_access";
ActivityType["DATA_MODIFICATION"] = "data_modification";
ActivityType["SCOPE_USAGE"] = "scope_usage";
ActivityType["ERROR"] = "error";
ActivityType["REVOCATION"] = "revocation";
ActivityType["SESSION_START"] = "session_start";
ActivityType["SESSION_END"] = "session_end";
ActivityType["DELEGATION"] = "delegation";
ActivityType["COMMUNICATION"] = "communication";
})(ActivityType || (exports.ActivityType = ActivityType = {}));
var ActivityStatus;
(function (ActivityStatus) {
ActivityStatus["SUCCESS"] = "success";
ActivityStatus["FAILED"] = "failed";
ActivityStatus["DENIED"] = "denied";
ActivityStatus["PARTIAL"] = "partial";
})(ActivityStatus || (exports.ActivityStatus = ActivityStatus = {}));
// Schema validation
exports.ACTIVITY_SCHEMA = {
$schema: 'http://json-schema.org/draft-07/schema#',
type: 'object',
properties: {
id: { type: 'string', format: 'uuid' },
agentDID: { type: 'string', pattern: '^did:' },
parentDID: { type: 'string', pattern: '^did:' },
timestamp: { type: 'string', format: 'date-time' },
type: {
type: 'string',
enum: Object.values(ActivityType)
},
serviceDID: { type: 'string', pattern: '^did:' },
serviceEndpoint: { type: 'string', format: 'uri' },
scopes: {
type: 'array',
items: { type: 'string' }
},
status: {
type: 'string',
enum: Object.values(ActivityStatus)
},
details: { type: 'object' },
ipfsHash: { type: 'string' },
signature: { type: 'string' },
duration: { type: 'number', minimum: 0 },
sessionId: { type: 'string' }
},
required: [
'id',
'agentDID',
'parentDID',
'timestamp',
'type',
'serviceDID',
'status',
'details'
]
};
//# sourceMappingURL=types.js.map