

const require_AgentContext = require('./context/AgentContext.js');
require('./context/index.js');
const require_KeyManagementApi = require('../modules/kms/KeyManagementApi.js');
require('../modules/kms/index.js');
const require_X509Api = require('../modules/x509/X509Api.js');
require('../modules/x509/index.js');
const require_EventEmitter = require('./EventEmitter.js');
const require_DidsApi = require('../modules/dids/DidsApi.js');
require('../modules/dids/index.js');
const require_W3cCredentialsApi = require('../modules/vc/W3cCredentialsApi.js');
const require_W3cV2CredentialsApi = require('../modules/vc/W3cV2CredentialsApi.js');
require('../modules/vc/index.js');
const require_MdocApi = require('../modules/mdoc/MdocApi.js');
require('../modules/mdoc/index.js');
const require_SdJwtVcApi = require('../modules/sd-jwt-vc/SdJwtVcApi.js');
require('../modules/sd-jwt-vc/index.js');
const require_GenericRecordsApi = require('../modules/generic-records/GenericRecordsApi.js');
require('../modules/generic-records/index.js');
const require_AgentModules = require('./AgentModules.js');

//#region src/agent/BaseAgent.ts
var BaseAgent = class {
	constructor(agentConfig, dependencyManager) {
		this.agentConfig = agentConfig;
		this.dependencyManager = dependencyManager;
		this._isInitialized = false;
		this.logger = this.agentConfig.logger;
		this.logger.info("Creating agent with config", { agentConfig: agentConfig.toJSON() });
		this.eventEmitter = this.dependencyManager.resolve(require_EventEmitter.EventEmitter);
		this.agentContext = this.dependencyManager.resolve(require_AgentContext.AgentContext);
		this.genericRecords = this.dependencyManager.resolve(require_GenericRecordsApi.GenericRecordsApi);
		this.dids = this.dependencyManager.resolve(require_DidsApi.DidsApi);
		this.w3cCredentials = this.dependencyManager.resolve(require_W3cCredentialsApi.W3cCredentialsApi);
		this.w3cV2Credentials = this.dependencyManager.resolve(require_W3cV2CredentialsApi.W3cV2CredentialsApi);
		this.sdJwtVc = this.dependencyManager.resolve(require_SdJwtVcApi.SdJwtVcApi);
		this.x509 = this.dependencyManager.resolve(require_X509Api.X509Api);
		this.mdoc = this.dependencyManager.resolve(require_MdocApi.MdocApi);
		this.kms = this.dependencyManager.resolve(require_KeyManagementApi.KeyManagementApi);
		const defaultApis = [
			this.genericRecords,
			this.dids,
			this.w3cCredentials,
			this.w3cV2Credentials,
			this.sdJwtVc,
			this.x509,
			this.mdoc,
			this.kms
		];
		this.modules = require_AgentModules.getAgentApi(this.dependencyManager, defaultApis);
		this.didcomm = "didcomm" in this.modules ? this.modules.didcomm : void 0;
		this.openid4vc = "openid4vc" in this.modules ? this.modules.openid4vc : void 0;
	}
	get isInitialized() {
		return this._isInitialized;
	}
	get config() {
		return this.agentConfig;
	}
	get context() {
		return this.agentContext;
	}
};

//#endregion
exports.BaseAgent = BaseAgent;