@sphereon/ssi-sdk.event-logger 0.33.1-feature.vcdm2.tsup.31 → 0.33.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../plugin.schema.json","../src/agent/EventLogger.ts","../src/index.ts"],"sourcesContent":["{\n \"IEventLogger\": {\n \"components\": {\n \"schemas\": {\n \"GetActivityEventsArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"$ref\": \"#/components/schemas/FindActivityLoggingEventArgs\"\n }\n }\n },\n \"FindActivityLoggingEventArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PartialActivityLoggingEvent\"\n }\n },\n \"PartialActivityLoggingEvent\": {\n \"type\": \"object\",\n \"properties\": {\n \"level\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"correlationId\": {\n \"type\": \"string\"\n },\n \"timestamp\": {\n \"type\": \"object\",\n \"properties\": {},\n \"format\": \"date-time\"\n },\n \"diagnosticData\": {},\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"originalCredential\": {\n \"type\": \"string\"\n },\n \"credentialHash\": {\n \"type\": \"string\"\n },\n \"parentCredentialHash\": {\n \"type\": \"string\"\n },\n \"credentialType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"sharePurpose\": {\n \"type\": \"string\"\n },\n \"system\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"subSystemType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"actionType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"actionSubType\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {}\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"initiatorType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"systemCorrelationIdType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"systemCorrelationId\": {\n \"type\": \"string\"\n },\n \"systemAlias\": {\n \"type\": \"string\"\n },\n \"partyCorrelationType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"partyCorrelationId\": {\n \"type\": \"string\"\n },\n \"partyAlias\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"data\": {}\n }\n },\n \"ActivityLoggingEvent\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\",\n \"const\": \"activity\"\n },\n \"originalCredential\": {\n \"type\": \"string\"\n },\n \"credentialHash\": {\n \"type\": \"string\"\n },\n \"parentCredentialHash\": {\n \"type\": \"string\"\n },\n \"credentialType\": {\n \"$ref\": \"#/components/schemas/CredentialType\"\n },\n \"sharePurpose\": {\n \"type\": \"string\"\n },\n \"correlationId\": {\n \"type\": \"string\"\n },\n \"system\": {\n \"$ref\": \"#/components/schemas/System\"\n },\n \"subSystemType\": {\n \"$ref\": \"#/components/schemas/SubSystem\"\n },\n \"actionType\": {\n \"$ref\": \"#/components/schemas/ActionType\"\n },\n \"actionSubType\": {\n \"$ref\": \"#/components/schemas/ActionSubType\"\n },\n \"initiatorType\": {\n \"$ref\": \"#/components/schemas/InitiatorType\"\n },\n \"systemCorrelationIdType\": {\n \"$ref\": \"#/components/schemas/SystemCorrelationIdType\"\n },\n \"systemCorrelationId\": {\n \"type\": \"string\"\n },\n \"systemAlias\": {\n \"type\": \"string\"\n },\n \"partyCorrelationType\": {\n \"$ref\": \"#/components/schemas/PartyCorrelationType\"\n },\n \"partyCorrelationId\": {\n \"type\": \"string\"\n },\n \"partyAlias\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"data\": {},\n \"level\": {\n \"$ref\": \"#/components/schemas/LogLevel\"\n },\n \"timestamp\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"diagnosticData\": {}\n },\n \"required\": [\n \"actionSubType\",\n \"actionType\",\n \"correlationId\",\n \"description\",\n \"id\",\n \"initiatorType\",\n \"level\",\n \"subSystemType\",\n \"system\",\n \"timestamp\",\n \"type\"\n ]\n },\n \"CredentialType\": {\n \"type\": \"string\",\n \"enum\": [\n \"JSON_LD\",\n \"JWT\",\n \"SD_JWT\",\n \"MSO_MDOC\"\n ]\n },\n \"System\": {\n \"type\": \"string\",\n \"enum\": [\n \"general\",\n \"kms\",\n \"identity\",\n \"oid4vci\",\n \"oid4vp\",\n \"siopv2\",\n \"PE\",\n \"credentials\",\n \"web3\",\n \"profile\",\n \"contact\"\n ]\n },\n \"SubSystem\": {\n \"type\": \"string\",\n \"enum\": [\n \"key\",\n \"did_provider\",\n \"did_resolver\",\n \"oid4vp_op\",\n \"oid4vci_client\",\n \"siopv2_op\",\n \"contact_manager\",\n \"vc_issuer\",\n \"vc_verifier\",\n \"vc_persistence\",\n \"transport\",\n \"profile\",\n \"api\"\n ]\n },\n \"ActionType\": {\n \"type\": \"string\",\n \"enum\": [\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"execute\"\n ]\n },\n \"ActionSubType\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/DefaultActionSubType\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"DefaultActionSubType\": {\n \"type\": \"string\",\n \"enum\": [\n \"Key generation\",\n \"Key import\",\n \"Key persistence\",\n \"Key removal\",\n \"DID creation\",\n \"DID resolution\",\n \"DID service update\",\n \"VC issue\",\n \"VC verify\",\n \"VC share\",\n \"VC delete\",\n \"VC issue decline\",\n \"VC share decline\"\n ]\n },\n \"InitiatorType\": {\n \"type\": \"string\",\n \"enum\": [\n \"user\",\n \"system\",\n \"external\"\n ]\n },\n \"SystemCorrelationIdType\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"url\",\n \"email\",\n \"hostname\",\n \"phone\",\n \"user\"\n ]\n },\n \"PartyCorrelationType\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"url\",\n \"email\",\n \"hostname\",\n \"phone\"\n ]\n },\n \"LogLevel\": {\n \"type\": \"number\",\n \"enum\": [\n 0,\n 1,\n 2,\n 3,\n 4\n ]\n },\n \"GetAuditEventsArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"$ref\": \"#/components/schemas/FindAuditLoggingEventArgs\"\n }\n }\n },\n \"FindAuditLoggingEventArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PartialAuditLoggingEvent\"\n }\n },\n \"PartialAuditLoggingEvent\": {\n \"type\": \"object\",\n \"properties\": {\n \"level\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"correlationId\": {\n \"type\": \"string\"\n },\n \"timestamp\": {\n \"type\": \"object\",\n \"properties\": {},\n \"format\": \"date-time\"\n },\n \"diagnosticData\": {},\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"system\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"subSystemType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"actionType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"actionSubType\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {}\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"initiatorType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"systemCorrelationIdType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"systemCorrelationId\": {\n \"type\": \"string\"\n },\n \"systemAlias\": {\n \"type\": \"string\"\n },\n \"partyCorrelationType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"partyCorrelationId\": {\n \"type\": \"string\"\n },\n \"partyAlias\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"data\": {}\n }\n },\n \"AuditLoggingEvent\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\",\n \"const\": \"audit\"\n },\n \"correlationId\": {\n \"type\": \"string\"\n },\n \"system\": {\n \"$ref\": \"#/components/schemas/System\"\n },\n \"subSystemType\": {\n \"$ref\": \"#/components/schemas/SubSystem\"\n },\n \"actionType\": {\n \"$ref\": \"#/components/schemas/ActionType\"\n },\n \"actionSubType\": {\n \"$ref\": \"#/components/schemas/ActionSubType\"\n },\n \"initiatorType\": {\n \"$ref\": \"#/components/schemas/InitiatorType\"\n },\n \"systemCorrelationIdType\": {\n \"$ref\": \"#/components/schemas/SystemCorrelationIdType\"\n },\n \"systemCorrelationId\": {\n \"type\": \"string\"\n },\n \"systemAlias\": {\n \"type\": \"string\"\n },\n \"partyCorrelationType\": {\n \"$ref\": \"#/components/schemas/PartyCorrelationType\"\n },\n \"partyCorrelationId\": {\n \"type\": \"string\"\n },\n \"partyAlias\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"data\": {},\n \"level\": {\n \"$ref\": \"#/components/schemas/LogLevel\"\n },\n \"timestamp\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"diagnosticData\": {}\n },\n \"required\": [\n \"actionSubType\",\n \"actionType\",\n \"correlationId\",\n \"description\",\n \"id\",\n \"initiatorType\",\n \"level\",\n \"subSystemType\",\n \"system\",\n \"timestamp\",\n \"type\"\n ]\n },\n \"LogEventArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"event\": {\n \"$ref\": \"#/components/schemas/LogEventType\"\n }\n },\n \"required\": [\n \"event\"\n ]\n },\n \"LogEventType\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/NonPersistedAuditLoggingEvent\"\n },\n {\n \"$ref\": \"#/components/schemas/NonPersistedActivityLoggingEvent\"\n }\n ]\n },\n \"NonPersistedAuditLoggingEvent\": {\n \"type\": \"object\",\n \"properties\": {\n \"system\": {\n \"$ref\": \"#/components/schemas/System\"\n },\n \"subSystemType\": {\n \"$ref\": \"#/components/schemas/SubSystem\"\n },\n \"initiatorType\": {\n \"$ref\": \"#/components/schemas/InitiatorType\"\n },\n \"diagnosticData\": {},\n \"actionType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"actionSubType\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {}\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"systemCorrelationIdType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"systemCorrelationId\": {\n \"type\": \"string\"\n },\n \"systemAlias\": {\n \"type\": \"string\"\n },\n \"partyCorrelationType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"partyCorrelationId\": {\n \"type\": \"string\"\n },\n \"partyAlias\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"data\": {},\n \"level\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"correlationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"actionSubType\",\n \"actionType\",\n \"description\",\n \"initiatorType\",\n \"subSystemType\",\n \"system\"\n ]\n },\n \"NonPersistedActivityLoggingEvent\": {\n \"type\": \"object\",\n \"properties\": {\n \"system\": {\n \"$ref\": \"#/components/schemas/System\"\n },\n \"subSystemType\": {\n \"$ref\": \"#/components/schemas/SubSystem\"\n },\n \"initiatorType\": {\n \"$ref\": \"#/components/schemas/InitiatorType\"\n },\n \"originalCredential\": {\n \"type\": \"string\"\n },\n \"credentialHash\": {\n \"type\": \"string\"\n },\n \"parentCredentialHash\": {\n \"type\": \"string\"\n },\n \"credentialType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"sharePurpose\": {\n \"type\": \"string\"\n },\n \"data\": {},\n \"diagnosticData\": {},\n \"actionType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"actionSubType\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {}\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"systemCorrelationIdType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"systemCorrelationId\": {\n \"type\": \"string\"\n },\n \"systemAlias\": {\n \"type\": \"string\"\n },\n \"partyCorrelationType\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"partyCorrelationId\": {\n \"type\": \"string\"\n },\n \"partyAlias\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"level\": {\n \"type\": \"object\",\n \"properties\": {}\n },\n \"correlationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"actionSubType\",\n \"actionType\",\n \"description\",\n \"initiatorType\",\n \"subSystemType\",\n \"system\"\n ]\n }\n },\n \"methods\": {\n \"loggerGetActivityEvents\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetActivityEventsArgs\"\n },\n \"returnType\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ActivityLoggingEvent\"\n }\n }\n },\n \"loggerGetAuditEvents\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetAuditEventsArgs\"\n },\n \"returnType\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/AuditLoggingEvent\"\n }\n }\n },\n \"loggerLogActivityEvent\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/LogEventArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ActivityLoggingEvent\"\n }\n },\n \"loggerLogAuditEvent\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/LogEventArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/AuditLoggingEvent\"\n }\n },\n \"loggerLogGeneralEvent\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/LogEventArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/LogEventType\"\n }\n }\n }\n }\n }\n}","import { AbstractEventLoggerStore } from '@sphereon/ssi-sdk.data-store'\nimport { Loggers, LoggingEventType, LogLevel, LogMethod } from '@sphereon/ssi-types'\nimport { ActivityLoggingEvent, AuditLoggingEvent } from '@sphereon/ssi-sdk.core'\nimport { IAgentPlugin } from '@veramo/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { schema } from '../index'\nimport {\n EventLoggerOptions,\n GetActivityEventsArgs,\n GetAuditEventsArgs,\n IEventLogger,\n LogActivityEventArgs,\n LogAuditEventArgs,\n LogEventArgs,\n LoggingEvent,\n LogEventType,\n RequiredContext,\n} from '../types/IEventLogger'\n\n/**\n * {@inheritDoc IEventLogger}\n */\n\n// Exposing the methods here for any REST implementation\nexport const eventLoggerAuditMethods: Array<string> = [\n 'loggerGetAuditEvents',\n 'loggerLogAuditEvent',\n 'loggerLogGeneralEvent',\n 'loggerLogActivityEvent',\n 'loggerGetActivityEvents',\n]\nexport const eventLoggerMethods: Array<string> = [...eventLoggerAuditMethods]\n\nexport class EventLogger implements IAgentPlugin {\n readonly schema = schema.IEventLogger\n readonly eventTypes: Array<LoggingEventType> = []\n private readonly store?: AbstractEventLoggerStore\n readonly simpleLoggers: Loggers\n\n readonly methods: IEventLogger = {\n loggerGetAuditEvents: this.loggerGetAuditEvents.bind(this),\n loggerLogAuditEvent: this.loggerLogAuditEvent.bind(this),\n loggerLogGeneralEvent: this.loggerLogGeneralEvent.bind(this),\n loggerLogActivityEvent: this.loggerLogActivityEvent.bind(this),\n loggerGetActivityEvents: this.loggerGetActivityEvents.bind(this),\n }\n\n constructor(options: EventLoggerOptions) {\n const { store, eventTypes } = options\n const generalOpts = options.general ?? { debugPkg: true }\n this.store = store\n this.eventTypes = eventTypes\n\n const methods: Array<LogMethod> = []\n if (generalOpts.debugPkg) {\n methods.push(LogMethod.DEBUG_PKG)\n }\n if (generalOpts.console) {\n methods.push(LogMethod.CONSOLE)\n }\n if (generalOpts.events) {\n methods.push(LogMethod.EVENT)\n }\n this.simpleLoggers = new Loggers({\n methods,\n eventName: generalOpts.eventName,\n defaultLogLevel: generalOpts.defaultLogLevel,\n })\n }\n\n public async onEvent(event: LoggingEvent, context: RequiredContext): Promise<void> {\n switch (event.type) {\n case LoggingEventType.AUDIT:\n // Calling the context of the agent to make sure the REST client is called when configured\n await context.agent.loggerLogAuditEvent({ event: event.data })\n break\n case LoggingEventType.GENERAL:\n // Calling the context of the agent to make sure the REST client is called when configured\n // TODO: We might also want to do this locally though, as these logs are not persisted typically\n await context.agent.loggerLogGeneralEvent({ event: event.data })\n break\n case LoggingEventType.ACTIVITY:\n // Calling the context of the agent to make sure the REST client is called when configured\n await context.agent.loggerLogActivityEvent({ event: event.data })\n break\n default:\n return Promise.reject(Error(`Event type ${event.type} not supported`))\n }\n }\n\n private async loggerGetAuditEvents(args?: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>> {\n const { filter } = args ?? {}\n\n if (!this.store) {\n return Promise.reject(Error('No store available in options'))\n }\n\n return this.store.getAuditEvents({ filter })\n }\n\n private async loggerGetActivityEvents(args?: GetActivityEventsArgs): Promise<Array<ActivityLoggingEvent>> {\n const { filter } = args ?? {}\n\n if (!this.store) {\n return Promise.reject(Error('No store available in options'))\n }\n\n return this.store.getActivityEvents({ filter })\n }\n\n private async loggerLogGeneralEvent(args: LogEventArgs): Promise<LogEventType> {\n const { event } = args\n this.simpleLoggers.get(event.data.system).logl(event.data.level ?? LogLevel.INFO, event.data.data, event.data)\n\n return args.event\n }\n\n private async loggerLogAuditEvent(args: LogAuditEventArgs): Promise<AuditLoggingEvent> {\n const { event } = args\n\n if (!this.store) {\n return Promise.reject(Error('No store available in options'))\n }\n\n return this.store.storeAuditEvent({\n event: {\n ...event,\n system: event.system,\n subSystemType: event.subSystemType,\n initiatorType: event.initiatorType,\n level: event.level ?? LogLevel.INFO,\n correlationId: event.correlationId ?? uuidv4(),\n timestamp: new Date(),\n },\n })\n }\n\n private async loggerLogActivityEvent(args: LogActivityEventArgs): Promise<ActivityLoggingEvent> {\n const { event } = args\n\n if (!this.store) {\n return Promise.reject(Error('No store available in options'))\n }\n\n return this.store.storeActivityEvent({\n event: {\n ...event,\n system: event.system,\n subSystemType: event.subSystemType,\n initiatorType: event.initiatorType,\n level: event.level ?? LogLevel.INFO,\n correlationId: event.correlationId ?? uuidv4(),\n timestamp: new Date(),\n },\n })\n }\n}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { EventLogger, eventLoggerMethods, eventLoggerAuditMethods } from './agent/EventLogger'\nexport * from './types/IEventLogger'\n"],"mappings":"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","names":["Loggers","LoggingEventType","LogLevel","LogMethod","v4","uuidv4","eventLoggerAuditMethods","eventLoggerMethods","EventLogger","schema","IEventLogger","eventTypes","store","simpleLoggers","methods","loggerGetAuditEvents","bind","loggerLogAuditEvent","loggerLogGeneralEvent","loggerLogActivityEvent","loggerGetActivityEvents","constructor","options","generalOpts","general","debugPkg","push","LogMethod","DEBUG_PKG","console","CONSOLE","events","EVENT","Loggers","eventName","defaultLogLevel","onEvent","event","context","type","LoggingEventType","AUDIT","agent","data","GENERAL","ACTIVITY","Promise","reject","Error","args","filter","getAuditEvents","getActivityEvents","get","system","logl","level","LogLevel","INFO","storeAuditEvent","subSystemType","initiatorType","correlationId","uuidv4","timestamp","Date","storeActivityEvent","schema","require"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;AACtC,wBAAM;AACf,mDAA8F;AAArF,0GAAA,WAAW,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AACjE,uDAAoC"}
@@ -0,0 +1,115 @@
1
+ import { AbstractEventLoggerStore } from '@sphereon/ssi-sdk.data-store';
2
+ import { ActivityLoggingEvent } from '@sphereon/ssi-sdk.core';
3
+ import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core';
4
+ import { CredentialType } from '@sphereon/ssi-sdk.core';
5
+ import { FindActivityLoggingEventArgs } from '@sphereon/ssi-sdk.data-store';
6
+ import { FindAuditLoggingEventArgs } from '@sphereon/ssi-sdk.data-store';
7
+ import { IAgentContext } from '@veramo/core';
8
+ import { IAgentPlugin } from '@veramo/core';
9
+ import { InitiatorType } from '@sphereon/ssi-types';
10
+ import { IPluginMethodMap } from '@veramo/core';
11
+ import { Loggers } from '@sphereon/ssi-types';
12
+ import { LoggingEventType } from '@sphereon/ssi-types';
13
+ import { LogLevel } from '@sphereon/ssi-types';
14
+ import { NonPersistedActivityLoggingEvent as NonPersistedActivityLoggingEvent_2 } from '@sphereon/ssi-sdk.core';
15
+ import { NonPersistedAuditLoggingEvent as NonPersistedAuditLoggingEvent_2 } from '@sphereon/ssi-sdk.core';
16
+ import { SubSystem } from '@sphereon/ssi-types';
17
+ import { System } from '@sphereon/ssi-types';
18
+
19
+ export declare class EventLogger implements IAgentPlugin {
20
+ readonly schema: any;
21
+ readonly eventTypes: Array<LoggingEventType>;
22
+ private readonly store?;
23
+ readonly simpleLoggers: Loggers;
24
+ readonly methods: IEventLogger;
25
+ constructor(options: EventLoggerOptions);
26
+ onEvent(event: LoggingEvent, context: RequiredContext): Promise<void>;
27
+ private loggerGetAuditEvents;
28
+ private loggerGetActivityEvents;
29
+ private loggerLogGeneralEvent;
30
+ private loggerLogAuditEvent;
31
+ private loggerLogActivityEvent;
32
+ }
33
+
34
+ /**
35
+ * {@inheritDoc IEventLogger}
36
+ */
37
+ export declare const eventLoggerAuditMethods: Array<string>;
38
+
39
+ export declare interface EventLoggerGeneralLogOpts {
40
+ debugPkg?: boolean;
41
+ console?: boolean;
42
+ events?: boolean;
43
+ eventName?: string;
44
+ defaultLogLevel?: LogLevel;
45
+ }
46
+
47
+ export declare const eventLoggerMethods: Array<string>;
48
+
49
+ export declare type EventLoggerOptions = {
50
+ store?: AbstractEventLoggerStore;
51
+ eventTypes: Array<LoggingEventType>;
52
+ general?: EventLoggerGeneralLogOpts;
53
+ };
54
+
55
+ export declare type GetActivityEventsArgs = {
56
+ filter?: FindActivityLoggingEventArgs;
57
+ };
58
+
59
+ export declare type GetAuditEventsArgs = {
60
+ filter?: FindAuditLoggingEventArgs;
61
+ };
62
+
63
+ export declare interface IEventLogger extends IPluginMethodMap {
64
+ loggerGetAuditEvents(args?: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>;
65
+ loggerLogAuditEvent(args: LogEventArgs, context: RequiredContext): Promise<AuditLoggingEvent>;
66
+ loggerLogGeneralEvent(args: LogEventArgs, context: RequiredContext): Promise<LogEventType>;
67
+ loggerLogActivityEvent(args: LogEventArgs, context: RequiredContext): Promise<ActivityLoggingEvent>;
68
+ loggerGetActivityEvents(args?: GetActivityEventsArgs): Promise<Array<ActivityLoggingEvent>>;
69
+ }
70
+
71
+ export declare type LogActivityEventArgs = {
72
+ event: NonPersistedActivityLoggingEvent;
73
+ };
74
+
75
+ export declare type LogAuditEventArgs = {
76
+ event: NonPersistedAuditLoggingEvent;
77
+ };
78
+
79
+ export declare type LogEventArgs = {
80
+ event: LogEventType;
81
+ };
82
+
83
+ export declare type LogEventType = NonPersistedAuditLoggingEvent | NonPersistedActivityLoggingEvent;
84
+
85
+ export declare type LoggingEvent = {
86
+ type: LoggingEventType;
87
+ data: LogEventType;
88
+ };
89
+
90
+ export declare type NonPersistedActivityLoggingEvent = Omit<NonPersistedActivityLoggingEvent_2, 'system' | 'subSystemType' | 'initiatorType'> & {
91
+ system: System;
92
+ subSystemType: SubSystem;
93
+ initiatorType: InitiatorType;
94
+ originalCredential?: string;
95
+ credentialHash?: string;
96
+ parentCredentialHash?: string;
97
+ credentialType?: CredentialType;
98
+ sharePurpose?: string;
99
+ data?: any;
100
+ };
101
+
102
+ export declare type NonPersistedAuditLoggingEvent = Omit<NonPersistedAuditLoggingEvent_2, 'system' | 'subSystemType' | 'initiatorType'> & {
103
+ system: System;
104
+ subSystemType: SubSystem;
105
+ initiatorType: InitiatorType;
106
+ };
107
+
108
+ export declare type RequiredContext = IAgentContext<IEventLogger>;
109
+
110
+ /**
111
+ * @public
112
+ */
113
+ export declare const schema: any;
114
+
115
+ export { }
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.52.1"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,61 @@
1
+ import { InitiatorType, LoggingEventType, LogLevel, SubSystem, System } from '@sphereon/ssi-types';
2
+ import { AuditLoggingEvent, CredentialType, NonPersistedAuditLoggingEvent as NPAuditLoggingEvent, NonPersistedActivityLoggingEvent as NPActivityLoggingEvent, ActivityLoggingEvent } from '@sphereon/ssi-sdk.core';
3
+ import { AbstractEventLoggerStore, FindActivityLoggingEventArgs, FindAuditLoggingEventArgs } from '@sphereon/ssi-sdk.data-store';
4
+ import { IAgentContext, IPluginMethodMap } from '@veramo/core';
5
+ export interface IEventLogger extends IPluginMethodMap {
6
+ loggerGetAuditEvents(args?: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>;
7
+ loggerLogAuditEvent(args: LogEventArgs, context: RequiredContext): Promise<AuditLoggingEvent>;
8
+ loggerLogGeneralEvent(args: LogEventArgs, context: RequiredContext): Promise<LogEventType>;
9
+ loggerLogActivityEvent(args: LogEventArgs, context: RequiredContext): Promise<ActivityLoggingEvent>;
10
+ loggerGetActivityEvents(args?: GetActivityEventsArgs): Promise<Array<ActivityLoggingEvent>>;
11
+ }
12
+ export interface EventLoggerGeneralLogOpts {
13
+ debugPkg?: boolean;
14
+ console?: boolean;
15
+ events?: boolean;
16
+ eventName?: string;
17
+ defaultLogLevel?: LogLevel;
18
+ }
19
+ export type EventLoggerOptions = {
20
+ store?: AbstractEventLoggerStore;
21
+ eventTypes: Array<LoggingEventType>;
22
+ general?: EventLoggerGeneralLogOpts;
23
+ };
24
+ export type GetAuditEventsArgs = {
25
+ filter?: FindAuditLoggingEventArgs;
26
+ };
27
+ export type GetActivityEventsArgs = {
28
+ filter?: FindActivityLoggingEventArgs;
29
+ };
30
+ export type LogEventArgs = {
31
+ event: LogEventType;
32
+ };
33
+ export type LogEventType = NonPersistedAuditLoggingEvent | NonPersistedActivityLoggingEvent;
34
+ export type LogAuditEventArgs = {
35
+ event: NonPersistedAuditLoggingEvent;
36
+ };
37
+ export type LogActivityEventArgs = {
38
+ event: NonPersistedActivityLoggingEvent;
39
+ };
40
+ export type NonPersistedAuditLoggingEvent = Omit<NPAuditLoggingEvent, 'system' | 'subSystemType' | 'initiatorType'> & {
41
+ system: System;
42
+ subSystemType: SubSystem;
43
+ initiatorType: InitiatorType;
44
+ };
45
+ export type NonPersistedActivityLoggingEvent = Omit<NPActivityLoggingEvent, 'system' | 'subSystemType' | 'initiatorType'> & {
46
+ system: System;
47
+ subSystemType: SubSystem;
48
+ initiatorType: InitiatorType;
49
+ originalCredential?: string;
50
+ credentialHash?: string;
51
+ parentCredentialHash?: string;
52
+ credentialType?: CredentialType;
53
+ sharePurpose?: string;
54
+ data?: any;
55
+ };
56
+ export type LoggingEvent = {
57
+ type: LoggingEventType;
58
+ data: LogEventType;
59
+ };
60
+ export type RequiredContext = IAgentContext<IEventLogger>;
61
+ //# sourceMappingURL=IEventLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventLogger.d.ts","sourceRoot":"","sources":["../../src/types/IEventLogger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IEventLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventLogger.js","sourceRoot":"","sources":["../../src/types/IEventLogger.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,48 +1,39 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.event-logger",
3
- "version": "0.33.1-feature.vcdm2.tsup.31+71b615ad",
3
+ "version": "0.33.1-next.2+6f7f40b9",
4
4
  "source": "src/index.ts",
5
- "type": "module",
6
- "main": "./dist/index.cjs",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- "import": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
13
- },
14
- "require": {
15
- "types": "./dist/index.d.cts",
16
- "require": "./dist/index.cjs"
17
- }
18
- },
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
19
7
  "veramo": {
20
8
  "pluginInterfaces": {
21
9
  "IEventLogger": "./src/types/IEventLogger.ts"
22
10
  }
23
11
  },
24
12
  "scripts": {
25
- "build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json",
13
+ "build": "tsc",
14
+ "build:clean": "tsc --build --clean && tsc --build",
26
15
  "generate-plugin-schema": "ts-node ../../packages/dev/bin/sphereon.js dev generate-plugin-schema"
27
16
  },
28
17
  "dependencies": {
29
- "@sphereon/ssi-sdk.data-store": "^0.33.1-feature.vcdm2.tsup.31+71b615ad",
30
- "@sphereon/ssi-types": "^0.33.1-feature.vcdm2.tsup.31+71b615ad",
18
+ "@sphereon/ssi-sdk.data-store": "0.33.1-next.2+6f7f40b9",
19
+ "@sphereon/ssi-types": "0.33.1-next.2+6f7f40b9",
31
20
  "uuid": "^9.0.1"
32
21
  },
33
22
  "devDependencies": {
34
- "@sphereon/ssi-sdk.agent-config": "^0.33.1-feature.vcdm2.tsup.31+71b615ad",
35
- "@sphereon/ssi-sdk.core": "^0.33.1-feature.vcdm2.tsup.31+71b615ad",
36
- "@sphereon/ssi-sdk.data-store": "workspace:^",
23
+ "@sphereon/ssi-sdk.agent-config": "0.33.1-next.2+6f7f40b9",
24
+ "@sphereon/ssi-sdk.core": "0.33.1-next.2+6f7f40b9",
25
+ "@sphereon/ssi-sdk.data-store": "workspace:*",
26
+ "@types/jest": "^27.5.2",
37
27
  "@types/uuid": "^9.0.8",
38
28
  "@veramo/remote-client": "4.2.0",
39
29
  "@veramo/remote-server": "4.2.0",
40
- "typeorm": "^0.3.22",
41
- "typescript": "5.8.3"
30
+ "jest": "^27.5.1",
31
+ "typeorm": "^0.3.21",
32
+ "typescript": "^5.5.3"
42
33
  },
43
34
  "files": [
44
- "dist",
45
- "src",
35
+ "dist/**/*",
36
+ "src/**/*",
46
37
  "README.md",
47
38
  "plugin.schema.json",
48
39
  "LICENSE"
@@ -62,5 +53,6 @@
62
53
  "Logger",
63
54
  "Audit"
64
55
  ],
65
- "gitHead": "71b615adbfef8ecd843edb2f3d0c58cb6453cff9"
56
+ "nx": {},
57
+ "gitHead": "6f7f40b94beb385369fede046c3912bd0c053408"
66
58
  }