@fedmcp/core
Version:
Federal Model Context Protocol - TypeScript implementation
59 lines • 1.97 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FedMCPAuditEvent = exports.AuditAction = void 0;
const uuid_1 = require("uuid");
var AuditAction;
(function (AuditAction) {
AuditAction["CREATE"] = "create";
AuditAction["READ"] = "read";
AuditAction["UPDATE"] = "update";
AuditAction["DELETE"] = "delete";
AuditAction["VERIFY"] = "verify";
AuditAction["SIGN"] = "sign";
AuditAction["EXPORT"] = "export";
AuditAction["IMPORT"] = "import";
})(AuditAction || (exports.AuditAction = AuditAction = {}));
class FedMCPAuditEvent {
constructor(params) {
this.id = (0, uuid_1.v4)();
this.timestamp = new Date().toISOString();
this.action = params.action;
this.actor = params.actor;
this.workspaceId = params.workspaceId;
this.artifactId = params.artifactId;
this.metadata = params.metadata;
this.ipAddress = params.ipAddress;
this.userAgent = params.userAgent;
this.sessionId = params.sessionId;
}
toCloudWatchLog() {
return {
eventId: this.id,
timestamp: this.timestamp,
action: this.action,
actor: this.actor,
artifactId: this.artifactId || null,
workspaceId: this.workspaceId,
metadata: this.metadata,
ipAddress: this.ipAddress,
userAgent: this.userAgent,
sessionId: this.sessionId
};
}
toJSON() {
return {
id: this.id,
timestamp: this.timestamp,
action: this.action,
actor: this.actor,
artifactId: this.artifactId,
workspaceId: this.workspaceId,
metadata: this.metadata,
ipAddress: this.ipAddress,
userAgent: this.userAgent,
sessionId: this.sessionId
};
}
}
exports.FedMCPAuditEvent = FedMCPAuditEvent;
//# sourceMappingURL=audit.js.map