@sphereon/ssi-sdk.event-logger 0.33.1-next.3 → 0.33.1-next.68

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/EventLogger.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 \"additionalProperties\": false\n },\n \"FindActivityLoggingEventArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PartialActivityLoggingEvent\"\n }\n },\n \"PartialActivityLoggingEvent\": {\n \"$ref\": \"#/components/schemas/Partial<ActivityLoggingEvent>\"\n },\n \"Partial<ActivityLoggingEvent>\": {\n \"type\": \"object\",\n \"properties\": {\n \"level\": {\n \"$ref\": \"#/components/schemas/LogLevel\"\n },\n \"correlationId\": {\n \"type\": \"string\"\n },\n \"timestamp\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"diagnosticData\": {},\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/LoggingEventType.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 \"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 },\n \"additionalProperties\": false\n },\n \"LogLevel\": {\n \"type\": \"number\",\n \"enum\": [0, 1, 2, 3, 4]\n },\n \"LoggingEventType.ACTIVITY\": {\n \"type\": \"string\",\n \"const\": \"activity\"\n },\n \"CredentialType\": {\n \"type\": \"string\",\n \"enum\": [\"JSON_LD\", \"JWT\", \"SD_JWT\", \"MSO_MDOC\"]\n },\n \"System\": {\n \"type\": \"string\",\n \"enum\": [\"general\", \"kms\", \"identity\", \"oid4vci\", \"oid4vp\", \"siopv2\", \"PE\", \"credentials\", \"web3\", \"profile\", \"contact\"]\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\": [\"create\", \"read\", \"update\", \"delete\", \"execute\"]\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\": [\"user\", \"system\", \"external\"]\n },\n \"SystemCorrelationIdType\": {\n \"type\": \"string\",\n \"enum\": [\"did\", \"url\", \"email\", \"hostname\", \"phone\", \"user\"]\n },\n \"PartyCorrelationType\": {\n \"type\": \"string\",\n \"enum\": [\"did\", \"url\", \"email\", \"hostname\", \"phone\"]\n },\n \"ActivityLoggingEvent\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/LoggingEventType.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 \"GetAuditEventsArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"$ref\": \"#/components/schemas/FindAuditLoggingEventArgs\"\n }\n },\n \"additionalProperties\": false\n },\n \"FindAuditLoggingEventArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PartialAuditLoggingEvent\"\n }\n },\n \"PartialAuditLoggingEvent\": {\n \"$ref\": \"#/components/schemas/Partial<AuditLoggingEvent>\"\n },\n \"Partial<AuditLoggingEvent>\": {\n \"type\": \"object\",\n \"properties\": {\n \"level\": {\n \"$ref\": \"#/components/schemas/LogLevel\"\n },\n \"correlationId\": {\n \"type\": \"string\"\n },\n \"timestamp\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"diagnosticData\": {},\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/LoggingEventType.AUDIT\"\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 },\n \"additionalProperties\": false\n },\n \"LoggingEventType.AUDIT\": {\n \"type\": \"string\",\n \"const\": \"audit\"\n },\n \"AuditLoggingEvent\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/LoggingEventType.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\": [\"event\"],\n \"additionalProperties\": false\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 \"additionalProperties\": false,\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 \"$ref\": \"#/components/schemas/ActionType\"\n },\n \"actionSubType\": {\n \"$ref\": \"#/components/schemas/ActionSubType\"\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 \"correlationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"actionSubType\", \"actionType\", \"description\", \"initiatorType\", \"subSystemType\", \"system\"]\n },\n \"NonPersistedActivityLoggingEvent\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\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 \"$ref\": \"#/components/schemas/CredentialType\"\n },\n \"sharePurpose\": {\n \"type\": \"string\"\n },\n \"data\": {},\n \"diagnosticData\": {},\n \"actionType\": {\n \"$ref\": \"#/components/schemas/ActionType\"\n },\n \"actionSubType\": {\n \"$ref\": \"#/components/schemas/ActionSubType\"\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 \"level\": {\n \"$ref\": \"#/components/schemas/LogLevel\"\n },\n \"correlationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"actionSubType\", \"actionType\", \"description\", \"initiatorType\", \"subSystemType\", \"system\"]\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}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { EventLogger, eventLoggerMethods, eventLoggerAuditMethods } from './agent/EventLogger'\nexport * from './types/IEventLogger'\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,gCAAAA,SAAA;AAAA,IAAAA,QAAA;AAAA,MACE,cAAgB;AAAA,QACd,YAAc;AAAA,UACZ,SAAW;AAAA,YACT,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,8BAAgC;AAAA,cAC9B,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,6BAA+B;AAAA,cAC7B,MAAQ;AAAA,YACV;AAAA,YACA,iCAAiC;AAAA,cAC/B,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,gBACA,gBAAkB,CAAC;AAAA,gBACnB,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,gBAAkB;AAAA,kBAChB,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,gBAAkB;AAAA,kBAChB,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,gBACV;AAAA,gBACA,qBAAuB;AAAA,kBACrB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ,CAAC;AAAA,cACX;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,MAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAAA,YACxB;AAAA,YACA,6BAA6B;AAAA,cAC3B,MAAQ;AAAA,cACR,OAAS;AAAA,YACX;AAAA,YACA,gBAAkB;AAAA,cAChB,MAAQ;AAAA,cACR,MAAQ,CAAC,WAAW,OAAO,UAAU,UAAU;AAAA,YACjD;AAAA,YACA,QAAU;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ,CAAC,WAAW,OAAO,YAAY,WAAW,UAAU,UAAU,MAAM,eAAe,QAAQ,WAAW,SAAS;AAAA,YACzH;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,MAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,MAAQ,CAAC,UAAU,QAAQ,UAAU,UAAU,SAAS;AAAA,YAC1D;AAAA,YACA,eAAiB;AAAA,cACf,OAAS;AAAA,gBACP;AAAA,kBACE,MAAQ;AAAA,gBACV;AAAA,gBACA;AAAA,kBACE,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA,sBAAwB;AAAA,cACtB,MAAQ;AAAA,cACR,MAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,MAAQ,CAAC,QAAQ,UAAU,UAAU;AAAA,YACvC;AAAA,YACA,yBAA2B;AAAA,cACzB,MAAQ;AAAA,cACR,MAAQ,CAAC,OAAO,OAAO,SAAS,YAAY,SAAS,MAAM;AAAA,YAC7D;AAAA,YACA,sBAAwB;AAAA,cACtB,MAAQ;AAAA,cACR,MAAQ,CAAC,OAAO,OAAO,SAAS,YAAY,OAAO;AAAA,YACrD;AAAA,YACA,sBAAwB;AAAA,cACtB,MAAQ;AAAA,cACR,sBAAwB;AAAA,cACxB,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,gBAAkB;AAAA,kBAChB,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,gBAAkB;AAAA,kBAChB,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,gBACV;AAAA,gBACA,qBAAuB;AAAA,kBACrB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ,CAAC;AAAA,gBACT,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,gBACA,gBAAkB,CAAC;AAAA,cACrB;AAAA,cACA,UAAY;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,YACA,oBAAsB;AAAA,cACpB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,2BAA6B;AAAA,cAC3B,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,0BAA4B;AAAA,cAC1B,MAAQ;AAAA,YACV;AAAA,YACA,8BAA8B;AAAA,cAC5B,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,gBACA,gBAAkB,CAAC;AAAA,gBACnB,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,gBACV;AAAA,gBACA,qBAAuB;AAAA,kBACrB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ,CAAC;AAAA,cACX;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,0BAA0B;AAAA,cACxB,MAAQ;AAAA,cACR,OAAS;AAAA,YACX;AAAA,YACA,mBAAqB;AAAA,cACnB,MAAQ;AAAA,cACR,sBAAwB;AAAA,cACxB,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,gBACV;AAAA,gBACA,qBAAuB;AAAA,kBACrB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ,CAAC;AAAA,gBACT,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,gBACA,gBAAkB,CAAC;AAAA,cACrB;AAAA,cACA,UAAY;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,YACA,cAAgB;AAAA,cACd,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,OAAO;AAAA,cACpB,sBAAwB;AAAA,YAC1B;AAAA,YACA,cAAgB;AAAA,cACd,OAAS;AAAA,gBACP;AAAA,kBACE,MAAQ;AAAA,gBACV;AAAA,gBACA;AAAA,kBACE,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA,+BAAiC;AAAA,cAC/B,MAAQ;AAAA,cACR,sBAAwB;AAAA,cACxB,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,gBAAkB,CAAC;AAAA,gBACnB,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,gBACV;AAAA,gBACA,qBAAuB;AAAA,kBACrB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ,CAAC;AAAA,gBACT,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,iBAAiB,cAAc,eAAe,iBAAiB,iBAAiB,QAAQ;AAAA,YACvG;AAAA,YACA,kCAAoC;AAAA,cAClC,MAAQ;AAAA,cACR,sBAAwB;AAAA,cACxB,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,gBAAkB;AAAA,kBAChB,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,gBAAkB;AAAA,kBAChB,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ,CAAC;AAAA,gBACT,gBAAkB,CAAC;AAAA,gBACnB,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,gBACV;AAAA,gBACA,qBAAuB;AAAA,kBACrB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,sBAAwB;AAAA,kBACtB,MAAQ;AAAA,gBACV;AAAA,gBACA,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,iBAAiB,cAAc,eAAe,iBAAiB,iBAAiB,QAAQ;AAAA,YACvG;AAAA,UACF;AAAA,UACA,SAAW;AAAA,YACT,yBAA2B;AAAA,cACzB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA,sBAAwB;AAAA,cACtB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA,wBAA0B;AAAA,cACxB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,qBAAuB;AAAA,cACrB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,uBAAyB;AAAA,cACvB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACnmBA;;;;;;;;;;ACCA,uBAA+D;AAG/D,kBAA6B;AAoBtB,IAAMC,0BAAyC;EACpD;EACA;EACA;EACA;EACA;;AAEK,IAAMC,qBAAoC;KAAID;;AAE9C,IAAME,cAAN,MAAMA;EAhCb,OAgCaA;;;EACFC,SAASA,OAAOC;EAChBC,aAAsC,CAAA;EAC9BC;EACRC;EAEAC,UAAwB;IAC/BC,sBAAsB,KAAKA,qBAAqBC,KAAK,IAAI;IACzDC,qBAAqB,KAAKA,oBAAoBD,KAAK,IAAI;IACvDE,uBAAuB,KAAKA,sBAAsBF,KAAK,IAAI;IAC3DG,wBAAwB,KAAKA,uBAAuBH,KAAK,IAAI;IAC7DI,yBAAyB,KAAKA,wBAAwBJ,KAAK,IAAI;EACjE;EAEAK,YAAYC,SAA6B;AACvC,UAAM,EAAEV,OAAOD,WAAU,IAAKW;AAC9B,UAAMC,cAAcD,QAAQE,WAAW;MAAEC,UAAU;IAAK;AACxD,SAAKb,QAAQA;AACb,SAAKD,aAAaA;AAElB,UAAMG,UAA4B,CAAA;AAClC,QAAIS,YAAYE,UAAU;AACxBX,cAAQY,KAAKC,2BAAUC,SAAS;IAClC;AACA,QAAIL,YAAYM,SAAS;AACvBf,cAAQY,KAAKC,2BAAUG,OAAO;IAChC;AACA,QAAIP,YAAYQ,QAAQ;AACtBjB,cAAQY,KAAKC,2BAAUK,KAAK;IAC9B;AACA,SAAKnB,gBAAgB,IAAIoB,yBAAQ;MAC/BnB;MACAoB,WAAWX,YAAYW;MACvBC,iBAAiBZ,YAAYY;IAC/B,CAAA;EACF;EAEA,MAAaC,QAAQC,OAAqBC,SAAyC;AACjF,YAAQD,MAAME,MAAI;MAChB,KAAKC,kCAAiBC;AAEpB,cAAMH,QAAQI,MAAMzB,oBAAoB;UAAEoB,OAAOA,MAAMM;QAAK,CAAA;AAC5D;MACF,KAAKH,kCAAiBI;AAGpB,cAAMN,QAAQI,MAAMxB,sBAAsB;UAAEmB,OAAOA,MAAMM;QAAK,CAAA;AAC9D;MACF,KAAKH,kCAAiBK;AAEpB,cAAMP,QAAQI,MAAMvB,uBAAuB;UAAEkB,OAAOA,MAAMM;QAAK,CAAA;AAC/D;MACF;AACE,eAAOG,QAAQC,OAAOC,MAAM,cAAcX,MAAME,IAAI,gBAAgB,CAAA;IACxE;EACF;EAEA,MAAcxB,qBAAqBkC,MAA8D;AAC/F,UAAM,EAAEC,OAAM,IAAKD,QAAQ,CAAC;AAE5B,QAAI,CAAC,KAAKrC,OAAO;AACf,aAAOkC,QAAQC,OAAOC,MAAM,+BAAA,CAAA;IAC9B;AAEA,WAAO,KAAKpC,MAAMuC,eAAe;MAAED;IAAO,CAAA;EAC5C;EAEA,MAAc9B,wBAAwB6B,MAAoE;AACxG,UAAM,EAAEC,OAAM,IAAKD,QAAQ,CAAC;AAE5B,QAAI,CAAC,KAAKrC,OAAO;AACf,aAAOkC,QAAQC,OAAOC,MAAM,+BAAA,CAAA;IAC9B;AAEA,WAAO,KAAKpC,MAAMwC,kBAAkB;MAAEF;IAAO,CAAA;EAC/C;EAEA,MAAchC,sBAAsB+B,MAA2C;AAC7E,UAAM,EAAEZ,MAAK,IAAKY;AAClB,SAAKpC,cAAcwC,IAAIhB,MAAMM,KAAKW,MAAM,EAAEC,KAAKlB,MAAMM,KAAKa,SAASC,0BAASC,MAAMrB,MAAMM,KAAKA,MAAMN,MAAMM,IAAI;AAE7G,WAAOM,KAAKZ;EACd;EAEA,MAAcpB,oBAAoBgC,MAAqD;AACrF,UAAM,EAAEZ,MAAK,IAAKY;AAElB,QAAI,CAAC,KAAKrC,OAAO;AACf,aAAOkC,QAAQC,OAAOC,MAAM,+BAAA,CAAA;IAC9B;AAEA,WAAO,KAAKpC,MAAM+C,gBAAgB;MAChCtB,OAAO;QACL,GAAGA;QACHiB,QAAQjB,MAAMiB;QACdM,eAAevB,MAAMuB;QACrBC,eAAexB,MAAMwB;QACrBL,OAAOnB,MAAMmB,SAASC,0BAASC;QAC/BI,eAAezB,MAAMyB,qBAAiBC,YAAAA,IAAAA;QACtCC,WAAW,oBAAIC,KAAAA;MACjB;IACF,CAAA;EACF;EAEA,MAAc9C,uBAAuB8B,MAA2D;AAC9F,UAAM,EAAEZ,MAAK,IAAKY;AAElB,QAAI,CAAC,KAAKrC,OAAO;AACf,aAAOkC,QAAQC,OAAOC,MAAM,+BAAA,CAAA;IAC9B;AAEA,WAAO,KAAKpC,MAAMsD,mBAAmB;MACnC7B,OAAO;QACL,GAAGA;QACHiB,QAAQjB,MAAMiB;QACdM,eAAevB,MAAMuB;QACrBC,eAAexB,MAAMwB;QACrBL,OAAOnB,MAAMmB,SAASC,0BAASC;QAC/BI,eAAezB,MAAMyB,qBAAiBC,YAAAA,IAAAA;QACtCC,WAAW,oBAAIC,KAAAA;MACjB;IACF,CAAA;EACF;AACF;;;ADzJA,IAAME,SAASC;","names":["module","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"]}
@@ -0,0 +1,88 @@
1
+ import { System, SubSystem, InitiatorType, LoggingEventType, LogLevel, Loggers } from '@sphereon/ssi-types';
2
+ import { IPluginMethodMap, IAgentContext, IAgentPlugin } from '@veramo/core';
3
+ import { AuditLoggingEvent, NonPersistedAuditLoggingEvent as NonPersistedAuditLoggingEvent$1, NonPersistedActivityLoggingEvent as NonPersistedActivityLoggingEvent$1, CredentialType, ActivityLoggingEvent } from '@sphereon/ssi-sdk.core';
4
+ import { FindAuditLoggingEventArgs, FindActivityLoggingEventArgs, AbstractEventLoggerStore } from '@sphereon/ssi-sdk.data-store';
5
+
6
+ interface IEventLogger extends IPluginMethodMap {
7
+ loggerGetAuditEvents(args?: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>;
8
+ loggerLogAuditEvent(args: LogEventArgs, context: RequiredContext): Promise<AuditLoggingEvent>;
9
+ loggerLogGeneralEvent(args: LogEventArgs, context: RequiredContext): Promise<LogEventType>;
10
+ loggerLogActivityEvent(args: LogEventArgs, context: RequiredContext): Promise<ActivityLoggingEvent>;
11
+ loggerGetActivityEvents(args?: GetActivityEventsArgs): Promise<Array<ActivityLoggingEvent>>;
12
+ }
13
+ interface EventLoggerGeneralLogOpts {
14
+ debugPkg?: boolean;
15
+ console?: boolean;
16
+ events?: boolean;
17
+ eventName?: string;
18
+ defaultLogLevel?: LogLevel;
19
+ }
20
+ type EventLoggerOptions = {
21
+ store?: AbstractEventLoggerStore;
22
+ eventTypes: Array<LoggingEventType>;
23
+ general?: EventLoggerGeneralLogOpts;
24
+ };
25
+ type GetAuditEventsArgs = {
26
+ filter?: FindAuditLoggingEventArgs;
27
+ };
28
+ type GetActivityEventsArgs = {
29
+ filter?: FindActivityLoggingEventArgs;
30
+ };
31
+ type LogEventArgs = {
32
+ event: LogEventType;
33
+ };
34
+ type LogEventType = NonPersistedAuditLoggingEvent | NonPersistedActivityLoggingEvent;
35
+ type LogAuditEventArgs = {
36
+ event: NonPersistedAuditLoggingEvent;
37
+ };
38
+ type LogActivityEventArgs = {
39
+ event: NonPersistedActivityLoggingEvent;
40
+ };
41
+ type NonPersistedAuditLoggingEvent = Omit<NonPersistedAuditLoggingEvent$1, 'system' | 'subSystemType' | 'initiatorType'> & {
42
+ system: System;
43
+ subSystemType: SubSystem;
44
+ initiatorType: InitiatorType;
45
+ };
46
+ type NonPersistedActivityLoggingEvent = Omit<NonPersistedActivityLoggingEvent$1, 'system' | 'subSystemType' | 'initiatorType'> & {
47
+ system: System;
48
+ subSystemType: SubSystem;
49
+ initiatorType: InitiatorType;
50
+ originalCredential?: string;
51
+ credentialHash?: string;
52
+ parentCredentialHash?: string;
53
+ credentialType?: CredentialType;
54
+ sharePurpose?: string;
55
+ data?: any;
56
+ };
57
+ type LoggingEvent = {
58
+ type: LoggingEventType;
59
+ data: LogEventType;
60
+ };
61
+ type RequiredContext = IAgentContext<IEventLogger>;
62
+
63
+ /**
64
+ * {@inheritDoc IEventLogger}
65
+ */
66
+ declare const eventLoggerAuditMethods: Array<string>;
67
+ declare const eventLoggerMethods: Array<string>;
68
+ declare class EventLogger implements IAgentPlugin {
69
+ readonly schema: any;
70
+ readonly eventTypes: Array<LoggingEventType>;
71
+ private readonly store?;
72
+ readonly simpleLoggers: Loggers;
73
+ readonly methods: IEventLogger;
74
+ constructor(options: EventLoggerOptions);
75
+ onEvent(event: LoggingEvent, context: RequiredContext): Promise<void>;
76
+ private loggerGetAuditEvents;
77
+ private loggerGetActivityEvents;
78
+ private loggerLogGeneralEvent;
79
+ private loggerLogAuditEvent;
80
+ private loggerLogActivityEvent;
81
+ }
82
+
83
+ /**
84
+ * @public
85
+ */
86
+ declare const schema: any;
87
+
88
+ export { EventLogger, type EventLoggerGeneralLogOpts, type EventLoggerOptions, type GetActivityEventsArgs, type GetAuditEventsArgs, type IEventLogger, type LogActivityEventArgs, type LogAuditEventArgs, type LogEventArgs, type LogEventType, type LoggingEvent, type NonPersistedActivityLoggingEvent, type NonPersistedAuditLoggingEvent, type RequiredContext, eventLoggerAuditMethods, eventLoggerMethods, schema };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,88 @@
1
+ import { System, SubSystem, InitiatorType, LoggingEventType, LogLevel, Loggers } from '@sphereon/ssi-types';
2
+ import { IPluginMethodMap, IAgentContext, IAgentPlugin } from '@veramo/core';
3
+ import { AuditLoggingEvent, NonPersistedAuditLoggingEvent as NonPersistedAuditLoggingEvent$1, NonPersistedActivityLoggingEvent as NonPersistedActivityLoggingEvent$1, CredentialType, ActivityLoggingEvent } from '@sphereon/ssi-sdk.core';
4
+ import { FindAuditLoggingEventArgs, FindActivityLoggingEventArgs, AbstractEventLoggerStore } from '@sphereon/ssi-sdk.data-store';
5
+
6
+ interface IEventLogger extends IPluginMethodMap {
7
+ loggerGetAuditEvents(args?: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>;
8
+ loggerLogAuditEvent(args: LogEventArgs, context: RequiredContext): Promise<AuditLoggingEvent>;
9
+ loggerLogGeneralEvent(args: LogEventArgs, context: RequiredContext): Promise<LogEventType>;
10
+ loggerLogActivityEvent(args: LogEventArgs, context: RequiredContext): Promise<ActivityLoggingEvent>;
11
+ loggerGetActivityEvents(args?: GetActivityEventsArgs): Promise<Array<ActivityLoggingEvent>>;
12
+ }
13
+ interface EventLoggerGeneralLogOpts {
14
+ debugPkg?: boolean;
15
+ console?: boolean;
16
+ events?: boolean;
17
+ eventName?: string;
18
+ defaultLogLevel?: LogLevel;
19
+ }
20
+ type EventLoggerOptions = {
21
+ store?: AbstractEventLoggerStore;
22
+ eventTypes: Array<LoggingEventType>;
23
+ general?: EventLoggerGeneralLogOpts;
24
+ };
25
+ type GetAuditEventsArgs = {
26
+ filter?: FindAuditLoggingEventArgs;
27
+ };
28
+ type GetActivityEventsArgs = {
29
+ filter?: FindActivityLoggingEventArgs;
30
+ };
31
+ type LogEventArgs = {
32
+ event: LogEventType;
33
+ };
34
+ type LogEventType = NonPersistedAuditLoggingEvent | NonPersistedActivityLoggingEvent;
35
+ type LogAuditEventArgs = {
36
+ event: NonPersistedAuditLoggingEvent;
37
+ };
38
+ type LogActivityEventArgs = {
39
+ event: NonPersistedActivityLoggingEvent;
40
+ };
41
+ type NonPersistedAuditLoggingEvent = Omit<NonPersistedAuditLoggingEvent$1, 'system' | 'subSystemType' | 'initiatorType'> & {
42
+ system: System;
43
+ subSystemType: SubSystem;
44
+ initiatorType: InitiatorType;
45
+ };
46
+ type NonPersistedActivityLoggingEvent = Omit<NonPersistedActivityLoggingEvent$1, 'system' | 'subSystemType' | 'initiatorType'> & {
47
+ system: System;
48
+ subSystemType: SubSystem;
49
+ initiatorType: InitiatorType;
50
+ originalCredential?: string;
51
+ credentialHash?: string;
52
+ parentCredentialHash?: string;
53
+ credentialType?: CredentialType;
54
+ sharePurpose?: string;
55
+ data?: any;
56
+ };
57
+ type LoggingEvent = {
58
+ type: LoggingEventType;
59
+ data: LogEventType;
60
+ };
61
+ type RequiredContext = IAgentContext<IEventLogger>;
62
+
63
+ /**
64
+ * {@inheritDoc IEventLogger}
65
+ */
66
+ declare const eventLoggerAuditMethods: Array<string>;
67
+ declare const eventLoggerMethods: Array<string>;
68
+ declare class EventLogger implements IAgentPlugin {
69
+ readonly schema: any;
70
+ readonly eventTypes: Array<LoggingEventType>;
71
+ private readonly store?;
72
+ readonly simpleLoggers: Loggers;
73
+ readonly methods: IEventLogger;
74
+ constructor(options: EventLoggerOptions);
75
+ onEvent(event: LoggingEvent, context: RequiredContext): Promise<void>;
76
+ private loggerGetAuditEvents;
77
+ private loggerGetActivityEvents;
78
+ private loggerLogGeneralEvent;
79
+ private loggerLogAuditEvent;
80
+ private loggerLogActivityEvent;
81
+ }
82
+
1
83
  /**
2
84
  * @public
3
85
  */
4
86
  declare const schema: any;
5
- export { schema };
6
- export { EventLogger, eventLoggerMethods, eventLoggerAuditMethods } from './agent/EventLogger';
7
- export * from './types/IEventLogger';
8
- //# sourceMappingURL=index.d.ts.map
87
+
88
+ export { EventLogger, type EventLoggerGeneralLogOpts, type EventLoggerOptions, type GetActivityEventsArgs, type GetAuditEventsArgs, type IEventLogger, type LogActivityEventArgs, type LogAuditEventArgs, type LogEventArgs, type LogEventType, type LoggingEvent, type NonPersistedActivityLoggingEvent, type NonPersistedAuditLoggingEvent, type RequiredContext, eventLoggerAuditMethods, eventLoggerMethods, schema };