gitextract_ixpf0f65/ ├── .eslintignore ├── .eslintrc ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report-cn.yml │ │ ├── bug-report.yml │ │ ├── feature-request-cn.yml │ │ ├── feature-request.yml │ │ ├── rfc-cn.yml │ │ └── rfc.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── codeql-analysis.yml │ ├── nodejs.yml │ └── release.yml ├── .gitignore ├── .mocharc.yml ├── .nycrc.yml ├── CHANGELOG.md ├── CLAUDE.md ├── LICENSE ├── README.md ├── benchmark/ │ └── http/ │ ├── app/ │ │ ├── controller/ │ │ │ ├── FooTeggController.ts │ │ │ └── template/ │ │ │ └── egg_controller_1.js │ │ └── router.js │ ├── config/ │ │ ├── config.default.js │ │ └── plugin.js │ ├── package.json │ └── tsconfig.json ├── core/ │ ├── agent-runtime/ │ │ ├── CHANGELOG.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AgentRuntime.ts │ │ │ ├── AgentStoreUtils.ts │ │ │ ├── HttpSSEWriter.ts │ │ │ ├── MessageConverter.ts │ │ │ ├── OSSAgentStore.ts │ │ │ ├── OSSObjectStorageClient.ts │ │ │ ├── RunBuilder.ts │ │ │ └── SSEWriter.ts │ │ ├── test/ │ │ │ ├── AgentRuntime.test.ts │ │ │ ├── HttpSSEWriter.test.ts │ │ │ ├── MessageConverter.test.ts │ │ │ ├── OSSAgentStore.test.ts │ │ │ ├── OSSObjectStorageClient.test.ts │ │ │ ├── RunBuilder.test.ts │ │ │ └── helpers.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── agent-tracing/ │ │ ├── CHANGELOG.md │ │ ├── claude.ts │ │ ├── index.ts │ │ ├── langgraph.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AbstractLogServiceClient.ts │ │ │ ├── AbstractOssClient.ts │ │ │ ├── ClaudeAgentTracer.ts │ │ │ ├── LangGraphTracer.ts │ │ │ ├── TracingService.ts │ │ │ └── types.ts │ │ ├── test/ │ │ │ ├── ClaudeAgentTracer.test.ts │ │ │ ├── Configure.test.ts │ │ │ ├── LangGraphTracer.test.ts │ │ │ ├── TestUtils.ts │ │ │ └── TracingService.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── ajv-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── enum/ │ │ │ │ └── TransformEnum.ts │ │ │ ├── error/ │ │ │ │ └── AjvInvalidParamError.ts │ │ │ └── type/ │ │ │ └── Ajv.ts │ │ ├── test/ │ │ │ └── TransformEnum.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── aop-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AspectMetaBuilder.ts │ │ │ ├── CrosscutAdviceFactory.ts │ │ │ ├── decorator/ │ │ │ │ ├── Advice.ts │ │ │ │ ├── Crosscut.ts │ │ │ │ └── Pointcut.ts │ │ │ ├── model/ │ │ │ │ ├── Aspect.ts │ │ │ │ └── PointcutInfo.ts │ │ │ └── util/ │ │ │ ├── AdviceInfoUtil.ts │ │ │ ├── AspectInfoUtil.ts │ │ │ ├── CrosscutInfoUtil.ts │ │ │ └── PointcutAdviceInfoUtil.ts │ │ ├── test/ │ │ │ ├── AspectMetaBuilder.test.ts │ │ │ └── fixtures/ │ │ │ ├── CrosscutExample.ts │ │ │ ├── InheritExample.ts │ │ │ └── PointcutExample.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── aop-runtime/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AspectExecutor.ts │ │ │ ├── CrossCutGraphHook.ts │ │ │ ├── EggObjectAopHook.ts │ │ │ ├── EggPrototypeCrossCutHook.ts │ │ │ ├── LoadUnitAopHook.ts │ │ │ └── PointCutGraphHook.ts │ │ ├── test/ │ │ │ ├── aop-runtime.test.ts │ │ │ └── fixtures/ │ │ │ ├── modules/ │ │ │ │ ├── constructor_inject_aop/ │ │ │ │ │ ├── Hello.ts │ │ │ │ │ └── package.json │ │ │ │ ├── hello_cross_cut/ │ │ │ │ │ ├── CallTrace.ts │ │ │ │ │ ├── HelloCrossCut.ts │ │ │ │ │ └── package.json │ │ │ │ ├── hello_point_cut/ │ │ │ │ │ ├── HelloPointCut.ts │ │ │ │ │ └── package.json │ │ │ │ ├── hello_succeed/ │ │ │ │ │ ├── Hello.ts │ │ │ │ │ └── package.json │ │ │ │ └── should_throw/ │ │ │ │ ├── Hello.ts │ │ │ │ └── package.json │ │ │ └── mutli/ │ │ │ ├── a/ │ │ │ │ ├── A.ts │ │ │ │ └── package.json │ │ │ ├── b/ │ │ │ │ ├── B.ts │ │ │ │ └── package.json │ │ │ ├── c/ │ │ │ │ ├── Base.ts │ │ │ │ └── package.json │ │ │ └── cross/ │ │ │ ├── Cross.ts │ │ │ └── package.json │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── background-task/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ └── BackgroundTaskHelper.ts │ │ ├── test/ │ │ │ └── BackgroundTaskHelper.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── common-util/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FSUtil.ts │ │ │ ├── Graph.ts │ │ │ ├── MapUtil.ts │ │ │ ├── ModuleConfig.ts │ │ │ ├── ModuleConfigs.ts │ │ │ ├── NameUtil.ts │ │ │ ├── ObjectUtils.ts │ │ │ ├── ProxyUtil.ts │ │ │ ├── StackUtil.ts │ │ │ ├── StreamUtil.ts │ │ │ └── TimerUtil.ts │ │ ├── test/ │ │ │ ├── MapUtil.test.ts │ │ │ ├── ModuleConfig.test.ts │ │ │ ├── NameUtil.test.ts │ │ │ ├── ObjectUtil.test.ts │ │ │ ├── ProtoGraph.test.ts │ │ │ ├── TimerUtil.test.ts │ │ │ └── fixtures/ │ │ │ ├── apps/ │ │ │ │ ├── app-with-module-json/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── module-a/ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── module-b/ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── module.json │ │ │ │ │ └── package.json │ │ │ │ ├── app-with-module-pkg-json/ │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── module.json │ │ │ │ │ ├── node_modules/ │ │ │ │ │ │ └── module-a/ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── app-with-modules/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── module-a/ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── app-with-no-module-json/ │ │ │ │ │ ├── .sff/ │ │ │ │ │ │ ├── .other/ │ │ │ │ │ │ │ └── module-d/ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── module-c/ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── module-a/ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── module-b/ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test/ │ │ │ │ │ │ └── fixtures/ │ │ │ │ │ │ └── module-e/ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── node_modules/ │ │ │ │ │ │ ├── dep/ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── module-c/ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── app-with-no-module-json-duplicated/ │ │ │ │ │ ├── .sff/ │ │ │ │ │ │ ├── .other/ │ │ │ │ │ │ │ └── module-d/ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── module-c/ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── module-a/ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── module-b/ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test/ │ │ │ │ │ │ └── fixtures/ │ │ │ │ │ │ └── module-e/ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── node_modules/ │ │ │ │ │ │ └── module-b/ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ └── app-with-symlink/ │ │ │ │ ├── app/ │ │ │ │ │ └── module-a/ │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── modules/ │ │ │ │ ├── dev-module-config/ │ │ │ │ │ ├── module.dev.yml │ │ │ │ │ └── module.yml │ │ │ │ └── foo-yaml/ │ │ │ │ └── module.yml │ │ │ └── monorepo/ │ │ │ ├── foo/ │ │ │ │ └── .gitkeep │ │ │ └── packages/ │ │ │ ├── a/ │ │ │ │ ├── node_modules/ │ │ │ │ │ └── c/ │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── b/ │ │ │ │ └── package.json │ │ │ └── d/ │ │ │ ├── node_modules/ │ │ │ │ ├── e/ │ │ │ │ │ └── package.json │ │ │ │ └── f/ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── controller-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.json │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── builder/ │ │ │ │ └── ControllerMetaBuilderFactory.ts │ │ │ ├── decorator/ │ │ │ │ ├── Acl.ts │ │ │ │ ├── Context.ts │ │ │ │ ├── Middleware.ts │ │ │ │ ├── agent/ │ │ │ │ │ ├── AgentController.ts │ │ │ │ │ ├── AgentHandler.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── http/ │ │ │ │ │ ├── HTTPController.ts │ │ │ │ │ ├── HTTPMethod.ts │ │ │ │ │ ├── HTTPParam.ts │ │ │ │ │ └── Host.ts │ │ │ │ └── mcp/ │ │ │ │ ├── Extra.ts │ │ │ │ ├── MCPController.ts │ │ │ │ ├── MCPPrompt.ts │ │ │ │ ├── MCPResource.ts │ │ │ │ └── MCPTool.ts │ │ │ ├── impl/ │ │ │ │ ├── http/ │ │ │ │ │ ├── HTTPControllerMetaBuilder.ts │ │ │ │ │ └── HTTPControllerMethodMetaBuilder.ts │ │ │ │ └── mcp/ │ │ │ │ ├── MCPControllerMetaBuilder.ts │ │ │ │ ├── MCPControllerPromptMetaBuilder.ts │ │ │ │ ├── MCPControllerResourceMetaBuilder.ts │ │ │ │ └── MCPControllerToolMetaBuilder.ts │ │ │ ├── model/ │ │ │ │ ├── HTTPControllerMeta.ts │ │ │ │ ├── HTTPCookies.ts │ │ │ │ ├── HTTPMethodMeta.ts │ │ │ │ ├── HTTPRequest.ts │ │ │ │ ├── HTTPResponse.ts │ │ │ │ ├── MCPControllerMeta.ts │ │ │ │ ├── MCPPromptMeta.ts │ │ │ │ ├── MCPResourceMeta.ts │ │ │ │ ├── MCPToolMeta.ts │ │ │ │ └── index.ts │ │ │ └── util/ │ │ │ ├── AgentInfoUtil.ts │ │ │ ├── ControllerInfoUtil.ts │ │ │ ├── ControllerMetadataUtil.ts │ │ │ ├── HTTPInfoUtil.ts │ │ │ ├── HTTPPriorityUtil.ts │ │ │ ├── MCPInfoUtil.ts │ │ │ ├── MethodInfoUtil.ts │ │ │ └── validator/ │ │ │ ├── ControllerValidator.ts │ │ │ └── MethodValidator.ts │ │ ├── test/ │ │ │ ├── Acl.test.ts │ │ │ ├── AgentController.test.ts │ │ │ ├── Context.test.ts │ │ │ ├── MCPMeta.test.ts │ │ │ ├── Middleware.test.ts │ │ │ ├── decorators.test.ts │ │ │ ├── fixtures/ │ │ │ │ ├── AclController.ts │ │ │ │ ├── AgentFooController.ts │ │ │ │ ├── AopMiddlewareController.ts │ │ │ │ ├── ContextController.ts │ │ │ │ ├── HTTPFooController.ts │ │ │ │ ├── HTTPPriorityController.ts │ │ │ │ ├── HostController.ts │ │ │ │ ├── MCPController.ts │ │ │ │ └── MiddlewareController.ts │ │ │ ├── http/ │ │ │ │ ├── HTTPMeta.test.ts │ │ │ │ └── Host.test.ts │ │ │ └── util/ │ │ │ ├── ControllerMetadataUtil.test.ts │ │ │ └── HTTPPriority.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── core-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── decorator/ │ │ │ │ ├── ConfigSource.ts │ │ │ │ ├── ContextProto.ts │ │ │ │ ├── EggQualifier.ts │ │ │ │ ├── InitTypeQualifier.ts │ │ │ │ ├── Inject.ts │ │ │ │ ├── ModuleQualifier.ts │ │ │ │ ├── MultiInstanceInfo.ts │ │ │ │ ├── MultiInstanceProto.ts │ │ │ │ ├── Prototype.ts │ │ │ │ └── SingletonProto.ts │ │ │ └── util/ │ │ │ ├── MetadataUtil.ts │ │ │ ├── PrototypeUtil.ts │ │ │ └── QualifierUtil.ts │ │ ├── test/ │ │ │ ├── decorators.test.ts │ │ │ ├── fixtures/ │ │ │ │ └── decators/ │ │ │ │ ├── CacheService.ts │ │ │ │ ├── ChildService.ts │ │ │ │ ├── ConstructorObject.ts │ │ │ │ ├── ContextCache.ts │ │ │ │ ├── FooLogger.ts │ │ │ │ ├── ICache.ts │ │ │ │ ├── OtherService.ts │ │ │ │ ├── QualifierCacheService.ts │ │ │ │ └── SingletonCache.ts │ │ │ └── util/ │ │ │ └── MetadataUtil.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── dal-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── decorator/ │ │ │ │ ├── Column.ts │ │ │ │ ├── Dao.ts │ │ │ │ ├── DataSourceQualifier.ts │ │ │ │ ├── Index.ts │ │ │ │ └── Table.ts │ │ │ ├── model/ │ │ │ │ ├── ColumnModel.ts │ │ │ │ ├── IndexModel.ts │ │ │ │ └── TableModel.ts │ │ │ ├── type/ │ │ │ │ ├── MySql.ts │ │ │ │ └── Spatial.ts │ │ │ └── util/ │ │ │ ├── ColumnInfoUtil.ts │ │ │ ├── DaoInfoUtil.ts │ │ │ ├── IndexInfoUtil.ts │ │ │ └── TableInfoUtil.ts │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ └── modules/ │ │ │ │ └── dal/ │ │ │ │ ├── Foo.ts │ │ │ │ └── package.json │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── dal-runtime/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── BaseSqlMap.ts │ │ │ ├── CodeGenerator.ts │ │ │ ├── DaoLoader.ts │ │ │ ├── DataSource.ts │ │ │ ├── DatabaseForker.ts │ │ │ ├── MySqlDataSource.ts │ │ │ ├── NunjucksConverter.ts │ │ │ ├── NunjucksUtil.ts │ │ │ ├── SqlGenerator.ts │ │ │ ├── SqlMapLoader.ts │ │ │ ├── SqlUtil.ts │ │ │ ├── TableModelInstanceBuilder.ts │ │ │ ├── TableSqlMap.ts │ │ │ ├── TemplateUtil.ts │ │ │ └── templates/ │ │ │ ├── base_dao.njk │ │ │ ├── dao.njk │ │ │ └── extension.njk │ │ ├── test/ │ │ │ ├── CodeGenerator.test.ts │ │ │ ├── DAO.test.ts │ │ │ ├── DataSource.test.ts │ │ │ ├── SqlGenerator.test.ts │ │ │ ├── SqlUtil.test.ts │ │ │ ├── TableSqlMap.test.ts │ │ │ └── fixtures/ │ │ │ └── modules/ │ │ │ ├── dal/ │ │ │ │ ├── AutoUpdateTime.ts │ │ │ │ ├── Foo.ts │ │ │ │ ├── FooIndexName.ts │ │ │ │ └── package.json │ │ │ ├── generate_codes/ │ │ │ │ ├── Foo.ts │ │ │ │ ├── MultiPrimaryKey.ts │ │ │ │ └── package.json │ │ │ ├── generate_codes_not_overwrite_dao/ │ │ │ │ ├── Foo.ts │ │ │ │ └── package.json │ │ │ └── generate_codes_to_src/ │ │ │ ├── package.json │ │ │ └── src/ │ │ │ └── Foo.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── dynamic-inject/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── QualifierImplDecoratorUtil.ts │ │ │ └── QualifierImplUtil.ts │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ └── modules/ │ │ │ │ ├── base/ │ │ │ │ │ ├── AbstractContextHello.ts │ │ │ │ │ ├── ContextHello.ts │ │ │ │ │ └── FooType.ts │ │ │ │ ├── wrong-enum-module/ │ │ │ │ │ ├── WrongEnumCase.ts │ │ │ │ │ └── tsconfig.json │ │ │ │ └── wrong-extends-module/ │ │ │ │ ├── WrongExtendsCase.ts │ │ │ │ └── tsconfig.json │ │ │ └── typing.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── dynamic-inject-runtime/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── EggObjectFactory.ts │ │ │ ├── EggObjectFactoryObject.ts │ │ │ └── EggObjectFactoryPrototype.ts │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ └── modules/ │ │ │ │ └── dynamic-inject-module/ │ │ │ │ ├── AbstractContextHello.ts │ │ │ │ ├── AbstractSingletonHello.ts │ │ │ │ ├── FooType.ts │ │ │ │ ├── HelloService.ts │ │ │ │ ├── decorator/ │ │ │ │ │ ├── ContextHello.ts │ │ │ │ │ └── SingletonHello.ts │ │ │ │ ├── impl/ │ │ │ │ │ ├── BarContextHello.ts │ │ │ │ │ ├── BarSingletonHello.ts │ │ │ │ │ ├── FooContextHello.ts │ │ │ │ │ └── FooSingletonHello.ts │ │ │ │ └── package.json │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── eventbus-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Event.ts │ │ │ ├── EventBus.ts │ │ │ ├── EventContext.ts │ │ │ ├── EventInfoUtil.ts │ │ │ └── type.d.ts │ │ ├── test/ │ │ │ ├── Event.test.ts │ │ │ └── fixtures/ │ │ │ ├── empty-handle.ts │ │ │ ├── event-handle-with-context.ts │ │ │ ├── multiple-events-handle.ts │ │ │ ├── right-event-handle.ts │ │ │ └── wrong-event-handle.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── eventbus-runtime/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── EventContextFactory.ts │ │ │ ├── EventHandlerFactory.ts │ │ │ └── SingletonEventBus.ts │ │ ├── test/ │ │ │ ├── EventBus.test.ts │ │ │ └── fixtures/ │ │ │ └── modules/ │ │ │ ├── event/ │ │ │ │ ├── HelloEvent.ts │ │ │ │ ├── MultiEvent.ts │ │ │ │ ├── MultiEventWithContext.ts │ │ │ │ └── package.json │ │ │ └── mock-module/ │ │ │ ├── MockLogger.ts │ │ │ └── package.json │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── langchain-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── builder/ │ │ │ │ ├── BoundModelMetaBuilder.ts │ │ │ │ ├── GraphEdgeMetaBuilder.ts │ │ │ │ ├── GraphMetaBuilder.ts │ │ │ │ ├── GraphNodeMetaBuilder.ts │ │ │ │ └── GraphToolMetaBuilder.ts │ │ │ ├── decorator/ │ │ │ │ ├── BoundModel.ts │ │ │ │ ├── Graph.ts │ │ │ │ ├── GraphEdge.ts │ │ │ │ ├── GraphNode.ts │ │ │ │ └── GraphTool.ts │ │ │ ├── model/ │ │ │ │ ├── BoundModelMetadata.ts │ │ │ │ ├── GraphEdgeMetadata.ts │ │ │ │ ├── GraphMetadata.ts │ │ │ │ ├── GraphNodeMetadata.ts │ │ │ │ └── GraphToolMetadata.ts │ │ │ ├── qualifier/ │ │ │ │ ├── ChatCheckpointSaverQualifier.ts │ │ │ │ └── ChatModelQualifier.ts │ │ │ ├── type/ │ │ │ │ └── metadataKey.ts │ │ │ └── util/ │ │ │ ├── BoundModelInfoUtil.ts │ │ │ ├── GraphEdgeInfoUtil.ts │ │ │ ├── GraphInfoUtil.ts │ │ │ ├── GraphNodeInfoUtil.ts │ │ │ ├── GraphToolInfoUtil.ts │ │ │ └── index.ts │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ └── modules/ │ │ │ │ ├── langchain/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── package.json │ │ │ │ └── langgraph/ │ │ │ │ └── Graph.ts │ │ │ ├── graph.test.ts │ │ │ ├── index.test.ts │ │ │ ├── package.json │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── lifecycle/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── IdenticalObject.ts │ │ │ ├── LifycycleUtil.ts │ │ │ └── decorator/ │ │ │ └── index.ts │ │ ├── test/ │ │ │ └── IdenticalObject.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── loader/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── LoaderFactory.ts │ │ │ ├── LoaderUtil.ts │ │ │ └── impl/ │ │ │ └── ModuleLoader.ts │ │ ├── test/ │ │ │ ├── Loader.test.ts │ │ │ └── fixtures/ │ │ │ └── modules/ │ │ │ ├── loader-failed/ │ │ │ │ ├── AppRepo.ts │ │ │ │ └── package.json │ │ │ ├── module-for-loader/ │ │ │ │ ├── AppRepo.ts │ │ │ │ ├── SprintRepo.ts │ │ │ │ ├── UserRepo.ts │ │ │ │ └── package.json │ │ │ ├── module-with-extra/ │ │ │ │ ├── .dist/ │ │ │ │ │ └── ThrowError.ts │ │ │ │ ├── AppRepo.ts │ │ │ │ ├── extra/ │ │ │ │ │ └── UserRepo.ts │ │ │ │ └── package.json │ │ │ └── module-with-test/ │ │ │ ├── .gitignore │ │ │ ├── AppRepo.ts │ │ │ ├── coverage/ │ │ │ │ └── fixtures/ │ │ │ │ └── UserRepo.ts │ │ │ ├── package.json │ │ │ └── test/ │ │ │ └── fixtures/ │ │ │ └── UserRepo.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── mcp-client/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── HeaderUtil.ts │ │ │ ├── HttpMCPClient.ts │ │ │ └── MCPClientQualifier.ts │ │ ├── test/ │ │ │ ├── HttpMCPClient.test.ts │ │ │ └── fixtures/ │ │ │ ├── sse-mcp-server/ │ │ │ │ └── http.ts │ │ │ └── streamable-mcp-server/ │ │ │ └── http.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── metadata/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── errors.ts │ │ │ ├── factory/ │ │ │ │ ├── EggPrototypeCreatorFactory.ts │ │ │ │ ├── EggPrototypeFactory.ts │ │ │ │ └── LoadUnitFactory.ts │ │ │ ├── impl/ │ │ │ │ ├── EggPrototypeBuilder.ts │ │ │ │ ├── EggPrototypeImpl.ts │ │ │ │ ├── LoadUnitMultiInstanceProtoHook.ts │ │ │ │ └── ModuleLoadUnit.ts │ │ │ ├── model/ │ │ │ │ ├── AppGraph.ts │ │ │ │ ├── EggPrototype.ts │ │ │ │ ├── LoadUnit.ts │ │ │ │ ├── ModuleDescriptor.ts │ │ │ │ ├── ProtoDescriptor/ │ │ │ │ │ ├── AbstractProtoDescriptor.ts │ │ │ │ │ └── ClassProtoDescriptor.ts │ │ │ │ ├── ProtoDescriptorHelper.ts │ │ │ │ └── graph/ │ │ │ │ ├── GlobalGraph.ts │ │ │ │ ├── GlobalModuleNode.ts │ │ │ │ ├── GlobalModuleNodeBuilder.ts │ │ │ │ ├── ProtoNode.ts │ │ │ │ └── ProtoSelector.ts │ │ │ └── util/ │ │ │ └── ClassUtil.ts │ │ ├── test/ │ │ │ ├── AppGraph.test.ts │ │ │ ├── GlobalGraph.test.ts │ │ │ ├── LoadUnit.test.ts │ │ │ ├── ModuleGraph.test.ts │ │ │ └── fixtures/ │ │ │ ├── LoaderUtil.ts │ │ │ ├── TestLoader.ts │ │ │ └── modules/ │ │ │ ├── app-graph-modules/ │ │ │ │ ├── root/ │ │ │ │ │ ├── Root.ts │ │ │ │ │ ├── RootConstructor.ts │ │ │ │ │ └── package.json │ │ │ │ ├── unused/ │ │ │ │ │ ├── Unused.ts │ │ │ │ │ └── package.json │ │ │ │ └── used/ │ │ │ │ ├── Used.ts │ │ │ │ └── package.json │ │ │ ├── app-multi-inject-multi/ │ │ │ │ ├── app/ │ │ │ │ │ └── modules/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── App.ts │ │ │ │ │ │ ├── module.yml │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── app2/ │ │ │ │ │ │ ├── App.ts │ │ │ │ │ │ ├── module.yml │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── bar/ │ │ │ │ │ │ ├── BizManager.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── foo/ │ │ │ │ │ ├── Secret.ts │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── extends-constructor-module/ │ │ │ │ ├── Base.ts │ │ │ │ └── package.json │ │ │ ├── extends-module/ │ │ │ │ ├── Base.ts │ │ │ │ └── package.json │ │ │ ├── incompatible-proto-inject/ │ │ │ │ ├── package.json │ │ │ │ └── test.ts │ │ │ ├── invalid-multimodule/ │ │ │ │ ├── invalidService.ts │ │ │ │ ├── invalidService2.ts │ │ │ │ ├── package.json │ │ │ │ └── test.ts │ │ │ ├── invalidate-module/ │ │ │ │ ├── InvalidateService.ts │ │ │ │ └── package.json │ │ │ ├── load-unit/ │ │ │ │ ├── AppRepo.ts │ │ │ │ ├── SprintRepo.ts │ │ │ │ ├── UserRepo.ts │ │ │ │ └── package.json │ │ │ ├── multi-callback-instance-module/ │ │ │ │ ├── MultiInstance.ts │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ ├── multi-instance-module/ │ │ │ │ ├── MultiInstance.ts │ │ │ │ └── package.json │ │ │ ├── optional-inject-module/ │ │ │ │ ├── OptionalInjectService.ts │ │ │ │ └── package.json │ │ │ ├── recursive-load-unit/ │ │ │ │ ├── AppRepo.ts │ │ │ │ ├── SprintRepo.ts │ │ │ │ ├── UserRepo.ts │ │ │ │ └── package.json │ │ │ └── same-name-object/ │ │ │ ├── AppCache.ts │ │ │ ├── ContextAppCache.ts │ │ │ ├── CountService.ts │ │ │ ├── SingletonAppCache.ts │ │ │ └── package.json │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── orm-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── builder/ │ │ │ │ ├── AttributeMetaBuilder.ts │ │ │ │ ├── IndexMetaBuilder.ts │ │ │ │ └── ModelMetaBuilder.ts │ │ │ ├── decorator/ │ │ │ │ ├── Attribute.ts │ │ │ │ ├── DataSource.ts │ │ │ │ ├── Index.ts │ │ │ │ └── Model.ts │ │ │ ├── model/ │ │ │ │ ├── AttributeMeta.ts │ │ │ │ ├── IndexMeta.ts │ │ │ │ └── ModelMetadata.ts │ │ │ └── util/ │ │ │ ├── ModelInfoUtil.ts │ │ │ ├── ModelMetadataUtil.ts │ │ │ └── NameUtil.ts │ │ ├── test/ │ │ │ ├── builder/ │ │ │ │ ├── AttributeMetaBuilder.test.ts │ │ │ │ ├── IndexMetaBuilder.test.ts │ │ │ │ └── ModelMetaBuilder.test.ts │ │ │ ├── decorator.test.ts │ │ │ └── fixtures/ │ │ │ ├── AttributeModel.ts │ │ │ ├── DefaultAttributeModel.ts │ │ │ ├── DefaultIndexModel.ts │ │ │ ├── Foo.ts │ │ │ ├── IndexModel.ts │ │ │ └── InvalidateIndexModel.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── runtime/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── factory/ │ │ │ │ ├── EggContainerFactory.ts │ │ │ │ ├── EggObjectFactory.ts │ │ │ │ └── LoadUnitInstanceFactory.ts │ │ │ ├── impl/ │ │ │ │ ├── ContextInitiator.ts │ │ │ │ ├── ContextObjectGraph.ts │ │ │ │ ├── EggAlwaysNewObjectContainer.ts │ │ │ │ ├── EggObjectImpl.ts │ │ │ │ ├── EggObjectUtil.ts │ │ │ │ └── ModuleLoadUnitInstance.ts │ │ │ └── model/ │ │ │ ├── AbstractEggContext.ts │ │ │ ├── ContextHandler.ts │ │ │ ├── EggContext.ts │ │ │ ├── EggObject.ts │ │ │ └── LoadUnitInstance.ts │ │ ├── test/ │ │ │ ├── EggObject.test.ts │ │ │ ├── EggObjectUtil.test.ts │ │ │ ├── LoadUnitInstance.test.ts │ │ │ ├── QualifierLoadUnitInstance.test.ts │ │ │ ├── fixtures/ │ │ │ │ ├── EggContextStorage.ts │ │ │ │ ├── EggTestContext.ts │ │ │ │ └── modules/ │ │ │ │ ├── extends-module/ │ │ │ │ │ ├── Base.ts │ │ │ │ │ └── package.json │ │ │ │ ├── init-type-qualifier-module/ │ │ │ │ │ ├── Cache.ts │ │ │ │ │ ├── CacheService.ts │ │ │ │ │ ├── ContextCache.ts │ │ │ │ │ ├── SingletonCache.ts │ │ │ │ │ └── package.json │ │ │ │ ├── inject-constructor-context-to-singleton/ │ │ │ │ │ ├── object.ts │ │ │ │ │ └── package.json │ │ │ │ ├── inject-context-to-singleton/ │ │ │ │ │ ├── object.ts │ │ │ │ │ └── package.json │ │ │ │ ├── lifecycle-hook/ │ │ │ │ │ ├── object.ts │ │ │ │ │ └── package.json │ │ │ │ ├── module-for-load-unit-instance/ │ │ │ │ │ ├── AppCache.ts │ │ │ │ │ ├── CountController.ts │ │ │ │ │ ├── CountService.ts │ │ │ │ │ ├── TempObj.ts │ │ │ │ │ └── package.json │ │ │ │ ├── multi-instance-module/ │ │ │ │ │ ├── MultiInstance.ts │ │ │ │ │ ├── MultiInstanceConstructor.ts │ │ │ │ │ └── package.json │ │ │ │ └── multi-module/ │ │ │ │ ├── multi-module-common/ │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── App.ts │ │ │ │ │ └── package.json │ │ │ │ ├── multi-module-repo/ │ │ │ │ │ ├── AppRepo.ts │ │ │ │ │ ├── PersistenceService.ts │ │ │ │ │ └── package.json │ │ │ │ └── multi-module-service/ │ │ │ │ ├── AppService.ts │ │ │ │ └── package.json │ │ │ └── util.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── schedule-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── builder/ │ │ │ │ └── ScheduleMetaBuilder.ts │ │ │ ├── decorator/ │ │ │ │ └── Schedule.ts │ │ │ ├── model/ │ │ │ │ └── ScheduleMetadata.ts │ │ │ └── util/ │ │ │ ├── ScheduleInfoUtil.ts │ │ │ └── ScheduleMetadataUtil.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── standalone-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── decorator/ │ │ │ │ └── Runner.ts │ │ │ ├── event/ │ │ │ │ └── EventHandler.ts │ │ │ ├── typing.ts │ │ │ └── util/ │ │ │ └── StandaloneUtil.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── tegg/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── agent.ts │ │ ├── ajv.ts │ │ ├── aop.ts │ │ ├── dal.ts │ │ ├── helper.ts │ │ ├── index.ts │ │ ├── orm.ts │ │ ├── package.json │ │ ├── schedule.ts │ │ ├── standalone.ts │ │ ├── test/ │ │ │ ├── helper.test.ts │ │ │ └── index.test.ts │ │ ├── transaction.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── zod.ts │ ├── test-util/ │ │ ├── CHANGELOG.md │ │ ├── CoreTestHelper.ts │ │ ├── EggTestContext.ts │ │ ├── LoaderUtil.ts │ │ ├── StandaloneTestUtil.ts │ │ ├── TestLoader.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── transaction-decorator/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── builder/ │ │ │ │ └── TransactionMetaBuilder.ts │ │ │ ├── decorator/ │ │ │ │ └── Transactional.ts │ │ │ └── util/ │ │ │ └── TransactionMetadataUtil.ts │ │ ├── test/ │ │ │ ├── builder/ │ │ │ │ └── TransactionMetaBuilder.test.ts │ │ │ └── fixtures/ │ │ │ └── transaction.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── types/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── agent-runtime/ │ │ │ ├── AgentMessage.ts │ │ │ ├── AgentRuntime.ts │ │ │ ├── AgentStore.ts │ │ │ ├── ObjectStorageClient.ts │ │ │ ├── errors.ts │ │ │ └── index.ts │ │ ├── aop/ │ │ │ ├── Advice.ts │ │ │ ├── Aspect.ts │ │ │ ├── Crosscut.ts │ │ │ ├── Pointcut.ts │ │ │ └── index.ts │ │ ├── common/ │ │ │ ├── Graph.ts │ │ │ ├── Logger.ts │ │ │ ├── ModuleConfig.ts │ │ │ ├── RuntimeConfig.ts │ │ │ └── index.ts │ │ ├── controller-decorator/ │ │ │ ├── HTTPController.ts │ │ │ ├── HTTPMethod.ts │ │ │ ├── HTTPParam.ts │ │ │ ├── MCPController.ts │ │ │ ├── MCPPromptParams.ts │ │ │ ├── MCPResourceParams.ts │ │ │ ├── MCPToolParams.ts │ │ │ ├── MetadataKey.ts │ │ │ ├── builder.ts │ │ │ ├── index.ts │ │ │ └── model/ │ │ │ ├── ControllerMetadata.ts │ │ │ ├── MethodMeta.ts │ │ │ └── types.ts │ │ ├── core-decorator/ │ │ │ ├── ContextProto.ts │ │ │ ├── Inject.ts │ │ │ ├── Metadata.ts │ │ │ ├── MultiInstanceProto.ts │ │ │ ├── Prototype.ts │ │ │ ├── SingletonProto.ts │ │ │ ├── enum/ │ │ │ │ ├── AccessLevel.ts │ │ │ │ ├── EggType.ts │ │ │ │ ├── InjectType.ts │ │ │ │ ├── MultiInstanceType.ts │ │ │ │ ├── ObjectInitType.ts │ │ │ │ └── Qualifier.ts │ │ │ ├── index.ts │ │ │ └── model/ │ │ │ ├── EggMultiInstancePrototypeInfo.ts │ │ │ ├── EggPrototypeInfo.ts │ │ │ ├── InjectConstructorInfo.ts │ │ │ ├── InjectObjectInfo.ts │ │ │ └── QualifierInfo.ts │ │ ├── dal/ │ │ │ ├── Qualifier.ts │ │ │ ├── decorator/ │ │ │ │ ├── Column.ts │ │ │ │ ├── DataSourceQualifier.ts │ │ │ │ ├── Index.ts │ │ │ │ └── Table.ts │ │ │ ├── enum/ │ │ │ │ ├── ColumnFormat.ts │ │ │ │ ├── ColumnType.ts │ │ │ │ ├── CompressionType.ts │ │ │ │ ├── IndexStoreType.ts │ │ │ │ ├── IndexType.ts │ │ │ │ ├── InsertMethod.ts │ │ │ │ ├── RowFormat.ts │ │ │ │ ├── SqlType.ts │ │ │ │ └── Templates.ts │ │ │ ├── index.ts │ │ │ └── type/ │ │ │ ├── BaseDao.ts │ │ │ ├── CodeGenerator.ts │ │ │ ├── ColumnTsType.ts │ │ │ ├── DateSource.ts │ │ │ ├── Spatial.ts │ │ │ └── SqlMap.ts │ │ ├── dynamic-inject.ts │ │ ├── index.ts │ │ ├── lifecycle/ │ │ │ ├── EggObjectLifecycle.ts │ │ │ ├── IdenticalObject.ts │ │ │ ├── LifecycleHook.ts │ │ │ └── index.ts │ │ ├── metadata/ │ │ │ ├── enum/ │ │ │ │ └── ProtoDescriptorType.ts │ │ │ ├── errors.ts │ │ │ ├── index.ts │ │ │ └── model/ │ │ │ ├── EggPrototype.ts │ │ │ ├── LoadUnit.ts │ │ │ ├── Loader.ts │ │ │ └── ProtoDescriptor.ts │ │ ├── orm.ts │ │ ├── package.json │ │ ├── runtime/ │ │ │ ├── Factory.ts │ │ │ ├── index.ts │ │ │ └── model/ │ │ │ ├── EggContainer.ts │ │ │ ├── EggContext.ts │ │ │ ├── EggObject.ts │ │ │ └── LoadUnitInstance.ts │ │ ├── schedule.ts │ │ ├── standalone/ │ │ │ ├── ServiceWorkerContext.ts │ │ │ ├── fetch.ts │ │ │ └── index.ts │ │ ├── transaction.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ └── vitest/ │ ├── CHANGELOG.md │ ├── README.md │ ├── index.ts │ ├── package.json │ ├── runner.ts │ ├── src/ │ │ ├── index.ts │ │ ├── runner.ts │ │ └── shared.ts │ ├── test/ │ │ ├── fixture_app.test.ts │ │ ├── fixtures/ │ │ │ └── apps/ │ │ │ └── demo-app/ │ │ │ ├── config/ │ │ │ │ └── module.json │ │ │ ├── modules/ │ │ │ │ └── demo-module/ │ │ │ │ ├── HelloService.ts │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── get_app_throw.test.ts │ │ ├── get_store_restore.test.ts │ │ ├── hooks.test.ts │ │ └── setup.ts │ ├── tsconfig.json │ ├── tsconfig.pub.json │ └── vitest.config.ts ├── lerna.json ├── package.json ├── plugin/ │ ├── ajv/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── lib/ │ │ │ └── Ajv.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── ajv.test.ts │ │ │ └── fixtures/ │ │ │ └── apps/ │ │ │ └── ajv-app/ │ │ │ ├── config/ │ │ │ │ ├── config.default.js │ │ │ │ ├── module.json │ │ │ │ └── plugin.js │ │ │ ├── modules/ │ │ │ │ └── demo/ │ │ │ │ ├── FooController.ts │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── aop/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app.ts │ │ ├── lib/ │ │ │ └── AopContextHook.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── aop.test.ts │ │ │ └── fixtures/ │ │ │ └── apps/ │ │ │ └── aop-app/ │ │ │ ├── app/ │ │ │ │ ├── controller/ │ │ │ │ │ └── app.ts │ │ │ │ ├── router.ts │ │ │ │ └── typings/ │ │ │ │ └── index.d.ts │ │ │ ├── config/ │ │ │ │ ├── config.default.js │ │ │ │ ├── module.json │ │ │ │ └── plugin.js │ │ │ ├── modules/ │ │ │ │ └── aop-module/ │ │ │ │ ├── Hello.ts │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── common/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ ├── config/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── agent.ts │ │ ├── app.ts │ │ ├── lib/ │ │ │ └── ModuleScanner.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── DuplicateOptionalModule.test.ts │ │ │ ├── ReadModule.test.ts │ │ │ └── fixtures/ │ │ │ └── apps/ │ │ │ ├── app-with-modules/ │ │ │ │ ├── app/ │ │ │ │ │ └── module-a/ │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ └── config.default.ts │ │ │ │ └── package.json │ │ │ └── duplicate-optional-module/ │ │ │ ├── config/ │ │ │ │ ├── config.default.js │ │ │ │ └── plugin.js │ │ │ ├── node_modules/ │ │ │ │ ├── foo/ │ │ │ │ │ └── package.json │ │ │ │ ├── unused/ │ │ │ │ │ ├── Unused.js │ │ │ │ │ └── package.json │ │ │ │ └── used/ │ │ │ │ ├── Used.js │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── controller/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app/ │ │ │ └── middleware/ │ │ │ ├── mcp_body_middleware.ts │ │ │ └── tegg_root_proto.ts │ │ ├── app.ts │ │ ├── config/ │ │ │ └── config.default.ts │ │ ├── lib/ │ │ │ ├── AgentControllerObject.ts │ │ │ ├── AgentControllerProto.ts │ │ │ ├── AppLoadUnitControllerHook.ts │ │ │ ├── ControllerLoadUnit.ts │ │ │ ├── ControllerLoadUnitHandler.ts │ │ │ ├── ControllerLoadUnitInstance.ts │ │ │ ├── ControllerMetadataManager.ts │ │ │ ├── ControllerRegister.ts │ │ │ ├── ControllerRegisterFactory.ts │ │ │ ├── EggControllerLoader.ts │ │ │ ├── EggControllerPrototypeHook.ts │ │ │ ├── MiddlewareGraphHook.ts │ │ │ ├── RootProtoManager.ts │ │ │ ├── errors.ts │ │ │ └── impl/ │ │ │ ├── http/ │ │ │ │ ├── Acl.ts │ │ │ │ ├── HTTPControllerRegister.ts │ │ │ │ ├── HTTPMethodRegister.ts │ │ │ │ └── Req.ts │ │ │ └── mcp/ │ │ │ ├── MCPConfig.ts │ │ │ ├── MCPControllerRegister.ts │ │ │ └── MCPServerHelper.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ └── apps/ │ │ │ │ ├── acl-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ └── AclController.ts │ │ │ │ │ │ └── extend/ │ │ │ │ │ │ └── context.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── controller-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ ├── AopMiddlewareController.ts │ │ │ │ │ │ │ ├── AppController.ts │ │ │ │ │ │ │ ├── MiddlewareController.ts │ │ │ │ │ │ │ ├── ParamController.ts │ │ │ │ │ │ │ ├── PriorityController.ts │ │ │ │ │ │ │ ├── RedirectController.ts │ │ │ │ │ │ │ ├── TimeoutController.ts │ │ │ │ │ │ │ └── ViewController.ts │ │ │ │ │ │ └── middleware/ │ │ │ │ │ │ ├── call_module.ts │ │ │ │ │ │ ├── count_mw.ts │ │ │ │ │ │ └── log_mw.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ ├── module.json │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── modules/ │ │ │ │ │ │ ├── multi-module-common/ │ │ │ │ │ │ │ ├── advice/ │ │ │ │ │ │ │ │ ├── BarMethodAdvice.ts │ │ │ │ │ │ │ │ ├── CountAdvice.ts │ │ │ │ │ │ │ │ ├── FooControllerAdvice.ts │ │ │ │ │ │ │ │ └── FooMethodAdvice.ts │ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ │ └── App.ts │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── multi-module-repo/ │ │ │ │ │ │ │ ├── AppRepo.ts │ │ │ │ │ │ │ ├── PersistenceService.ts │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── multi-module-service/ │ │ │ │ │ │ ├── AppService.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── duplicate-controller-name-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── controller/ │ │ │ │ │ │ ├── AppController.ts │ │ │ │ │ │ └── AppController2.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── duplicate-proto-name-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── controller/ │ │ │ │ │ │ ├── AppController.ts │ │ │ │ │ │ └── AppController2.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── host-controller-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── controller/ │ │ │ │ │ │ ├── AppController.ts │ │ │ │ │ │ ├── AppController2.ts │ │ │ │ │ │ ├── MultiHostController.ts │ │ │ │ │ │ └── MultiMethodHostController.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── http-conflict-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── controller/ │ │ │ │ │ │ ├── AppController.ts │ │ │ │ │ │ ├── HostController1.ts │ │ │ │ │ │ └── HostController2.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── http-inject-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ └── AppController.ts │ │ │ │ │ │ └── middleware/ │ │ │ │ │ │ ├── call_module.ts │ │ │ │ │ │ ├── count_mw.ts │ │ │ │ │ │ └── log_mw.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ ├── module.json │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── mcp-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ ├── AppController.ts │ │ │ │ │ │ │ ├── McpController.ts │ │ │ │ │ │ │ ├── TestAppController.ts │ │ │ │ │ │ │ └── TestController.ts │ │ │ │ │ │ └── middleware/ │ │ │ │ │ │ └── tracelog.js │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── hook-plugin/ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ ├── lib/ │ │ │ │ │ │ │ └── MCPControllerHook.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── middleware-graph-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── router.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ ├── module.json │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── modules/ │ │ │ │ │ │ ├── advice-module/ │ │ │ │ │ │ │ ├── advice/ │ │ │ │ │ │ │ │ ├── AnotherAdvice.ts │ │ │ │ │ │ │ │ └── TestAdvice.ts │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── controller-module/ │ │ │ │ │ │ ├── TestController.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── module-app/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ └── AppController2.ts │ │ │ │ │ │ └── router.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ ├── module.json │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── modules/ │ │ │ │ │ │ ├── foo-module/ │ │ │ │ │ │ │ ├── AppService.ts │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── http-module/ │ │ │ │ │ │ ├── AppController.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ └── proto-poisoning/ │ │ │ │ ├── app/ │ │ │ │ │ └── controller/ │ │ │ │ │ └── HelloController.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ ├── http/ │ │ │ │ ├── acl.test.ts │ │ │ │ ├── decorator.test.ts │ │ │ │ ├── edgecase.test.ts │ │ │ │ ├── host.test.ts │ │ │ │ ├── middleware-aop.test.ts │ │ │ │ ├── middleware.test.ts │ │ │ │ ├── module.test.ts │ │ │ │ ├── params.test.ts │ │ │ │ ├── priority.test.ts │ │ │ │ ├── proto-poisoning.test.ts │ │ │ │ └── request.test.ts │ │ │ ├── lib/ │ │ │ │ ├── AgentControllerProto.test.ts │ │ │ │ ├── ControllerMetaManager.test.ts │ │ │ │ ├── EggControllerLoader.test.ts │ │ │ │ └── HTTPMethodRegister.test.ts │ │ │ └── mcp/ │ │ │ ├── helper.test.ts │ │ │ ├── mcp.test.ts │ │ │ └── mcpCluster.test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── dal/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app/ │ │ │ └── extend/ │ │ │ └── application.ts │ │ ├── app.ts │ │ ├── index.ts │ │ ├── lib/ │ │ │ ├── DalModuleLoadUnitHook.ts │ │ │ ├── DalTableEggPrototypeHook.ts │ │ │ ├── DataSource.ts │ │ │ ├── MysqlDataSourceManager.ts │ │ │ ├── SqlMapManager.ts │ │ │ ├── TableModelManager.ts │ │ │ ├── TransactionPrototypeHook.ts │ │ │ └── TransactionalAOP.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── dal.test.ts │ │ │ ├── fixtures/ │ │ │ │ └── apps/ │ │ │ │ └── dal-app/ │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ └── dal/ │ │ │ │ │ ├── Foo.ts │ │ │ │ │ ├── FooService.ts │ │ │ │ │ ├── dal/ │ │ │ │ │ │ ├── dao/ │ │ │ │ │ │ │ ├── FooDAO.ts │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ └── BaseFooDAO.ts │ │ │ │ │ │ ├── extension/ │ │ │ │ │ │ │ └── FooExtension.ts │ │ │ │ │ │ └── structure/ │ │ │ │ │ │ ├── Foo.json │ │ │ │ │ │ └── Foo.sql │ │ │ │ │ ├── module.yml │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ └── transaction.test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── dns-cache/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app.ts │ │ ├── config/ │ │ │ └── config.default.ts │ │ ├── lib/ │ │ │ ├── DnsResolver.ts │ │ │ └── index.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── dns_cache_lookup.test.ts │ │ │ ├── dns_cache_lookup_http_next.test.ts │ │ │ ├── dns_cache_resolve.test.ts │ │ │ ├── fixtures/ │ │ │ │ └── apps/ │ │ │ │ ├── dns_cache_lookup/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ └── home.js │ │ │ │ │ │ └── router.js │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── dns_cache_lookup_http_next/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ └── home.js │ │ │ │ │ │ └── router.js │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ └── dns_cache_resolve/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── home.js │ │ │ │ │ └── router.js │ │ │ │ ├── config/ │ │ │ │ │ ├── config.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ └── utils.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── eventbus/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app/ │ │ │ └── extend/ │ │ │ ├── application.unittest.ts │ │ │ └── context.ts │ │ ├── app.ts │ │ ├── lib/ │ │ │ ├── EggContextEventBus.ts │ │ │ ├── EggEventContext.ts │ │ │ ├── EventHandlerProtoManager.ts │ │ │ ├── EventbusLoadUnitHook.ts │ │ │ └── EventbusProtoHook.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── eventbus.test.ts │ │ │ └── fixtures/ │ │ │ └── apps/ │ │ │ └── event-app/ │ │ │ ├── app/ │ │ │ │ └── event-module/ │ │ │ │ ├── HelloLogger.ts │ │ │ │ ├── HelloService.ts │ │ │ │ ├── MultiEventHandler.ts │ │ │ │ └── package.json │ │ │ ├── config/ │ │ │ │ ├── config.default.js │ │ │ │ └── plugin.js │ │ │ └── package.json │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── langchain/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app.ts │ │ ├── index.ts │ │ ├── lib/ │ │ │ ├── ChatModelHelper.ts │ │ │ ├── ChatOpenAI.ts │ │ │ ├── boundModel/ │ │ │ │ └── BoundModelObjectHook.ts │ │ │ ├── config/ │ │ │ │ └── QualifierUtil.ts │ │ │ ├── graph/ │ │ │ │ ├── CompiledStateGraphObject.ts │ │ │ │ ├── CompiledStateGraphProto.ts │ │ │ │ ├── GraphBuildHook.ts │ │ │ │ ├── GraphLoadUnitHook.ts │ │ │ │ ├── GraphObjectHook.ts │ │ │ │ └── GraphPrototypeHook.ts │ │ │ ├── tracing/ │ │ │ │ └── LangGraphTracer.ts │ │ │ └── util.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ ├── apps/ │ │ │ │ │ └── langchain/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── modules/ │ │ │ │ │ │ └── bar/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ └── AppController.ts │ │ │ │ │ │ ├── module.yml │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── service/ │ │ │ │ │ │ ├── BoundChatModel.ts │ │ │ │ │ │ └── Graph.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ ├── module.json │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tsconfig.json │ │ │ │ └── sse-mcp-server/ │ │ │ │ └── http.ts │ │ │ └── llm.test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── mcp-client/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.ts │ │ ├── lib/ │ │ │ ├── EggHttpMCPClient.ts │ │ │ ├── EggHttpStaticMCPClient.ts │ │ │ ├── HttpMCPClientFactory.ts │ │ │ ├── QualifierUtil.ts │ │ │ └── constants.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ ├── apps/ │ │ │ │ │ └── mcpclient/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── modules/ │ │ │ │ │ │ └── bar/ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ └── AppController.ts │ │ │ │ │ │ ├── module.yml │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ ├── module.json │ │ │ │ │ │ └── plugin.js │ │ │ │ │ └── package.json │ │ │ │ ├── sse-mcp-server/ │ │ │ │ │ └── http.ts │ │ │ │ └── streamable-mcp-server/ │ │ │ │ └── http.ts │ │ │ └── mcpclient.test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── mcp-proxy/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── agent.ts │ │ ├── app/ │ │ │ └── extend/ │ │ │ ├── agent.ts │ │ │ └── application.ts │ │ ├── app.ts │ │ ├── config/ │ │ │ └── config.default.ts │ │ ├── index.ts │ │ ├── lib/ │ │ │ └── MCPProxyDataClient.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ └── apps/ │ │ │ │ └── mcp-proxy/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ └── router.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ └── proxy.test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── orm/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app.ts │ │ ├── lib/ │ │ │ ├── DataSourceManager.ts │ │ │ ├── LeoricRegister.ts │ │ │ ├── ModelProtoHook.ts │ │ │ ├── ModelProtoManager.ts │ │ │ ├── ORMLoadUnitHook.ts │ │ │ ├── SingletonModelObject.ts │ │ │ ├── SingletonModelProto.ts │ │ │ └── SingletonORM.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ ├── apps/ │ │ │ │ │ └── orm-app/ │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.default.js │ │ │ │ │ │ ├── module.json │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── modules/ │ │ │ │ │ │ └── orm-module/ │ │ │ │ │ │ ├── AppService.ts │ │ │ │ │ │ ├── CtxService.ts │ │ │ │ │ │ ├── PkgService.ts │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ ├── App.ts │ │ │ │ │ │ │ └── Pkg.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ └── prepare.js │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ ├── schedule/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── agent.ts │ │ ├── app.ts │ │ ├── lib/ │ │ │ ├── EggScheduleAdapter.ts │ │ │ ├── EggScheduleMetadataConvertor.ts │ │ │ ├── ScheduleManager.ts │ │ │ ├── SchedulePrototypeHook.ts │ │ │ ├── ScheduleSubscriberRegister.ts │ │ │ ├── ScheduleWorkerLoadUnitHook.ts │ │ │ └── ScheduleWorkerRegister.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── ScheduleManager.test.ts │ │ │ ├── fixtures/ │ │ │ │ └── schedule-app/ │ │ │ │ ├── app/ │ │ │ │ │ ├── simple-schedule-module/ │ │ │ │ │ │ ├── SimpleSchedule.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── subscriber/ │ │ │ │ │ ├── Subscriber.ts │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ └── schedule.test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.pub.json │ │ └── typings/ │ │ └── index.d.ts │ └── tegg/ │ ├── CHANGELOG.md │ ├── README.md │ ├── app/ │ │ ├── extend/ │ │ │ ├── application.ts │ │ │ ├── application.unittest.ts │ │ │ └── context.ts │ │ └── middleware/ │ │ └── tegg_ctx_lifecycle_middleware.ts │ ├── app.ts │ ├── lib/ │ │ ├── AppLoadUnit.ts │ │ ├── AppLoadUnitInstance.ts │ │ ├── CompatibleUtil.ts │ │ ├── ConfigSourceLoadUnitHook.ts │ │ ├── EggAppLoader.ts │ │ ├── EggCompatibleObject.ts │ │ ├── EggCompatibleProtoImpl.ts │ │ ├── EggContextCompatibleHook.ts │ │ ├── EggContextHandler.ts │ │ ├── EggContextImpl.ts │ │ ├── EggModuleLoader.ts │ │ ├── EggQualifierProtoHook.ts │ │ ├── ModuleConfigLoader.ts │ │ ├── ModuleHandler.ts │ │ ├── Utils.ts │ │ ├── ctx_lifecycle_middleware.ts │ │ └── run_in_background.ts │ ├── package.json │ ├── test/ │ │ ├── AccessLevelCheck.test.ts │ │ ├── BackgroundTask.test.ts │ │ ├── ConstructorModuleConfig.test.ts │ │ ├── DynamicInject.test.ts │ │ ├── EggCompatible.test.ts │ │ ├── Inject.test.ts │ │ ├── ModuleConfig.test.ts │ │ ├── MultiInstanceInjectMultiInstance.test.ts │ │ ├── NoModuleJson.test.ts │ │ ├── OptionalModule.test.ts │ │ ├── OptionalPluginModule.test.ts │ │ ├── SameProtoName.test.ts │ │ ├── Subscription.test.ts │ │ ├── app/ │ │ │ └── extend/ │ │ │ ├── application.test.ts │ │ │ ├── application.unittest.test.ts │ │ │ └── context.test.ts │ │ ├── close.test.ts │ │ ├── fixtures/ │ │ │ └── apps/ │ │ │ ├── access-level-check/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ └── router.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ ├── module-a/ │ │ │ │ │ │ ├── BarService.ts │ │ │ │ │ │ ├── FooService.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── module-main/ │ │ │ │ │ │ ├── BarService.ts │ │ │ │ │ │ ├── FooService.ts │ │ │ │ │ │ ├── MainService.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── package.json │ │ │ │ └── typings/ │ │ │ │ └── index.d.ts │ │ │ ├── app-multi-inject-multi/ │ │ │ │ ├── app/ │ │ │ │ │ └── modules/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── App.ts │ │ │ │ │ │ ├── module.yml │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── app2/ │ │ │ │ │ │ ├── App.ts │ │ │ │ │ │ ├── module.yml │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── bar/ │ │ │ │ │ │ ├── BizManager.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── foo/ │ │ │ │ │ ├── Secret.ts │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ ├── app-with-no-module-json/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ ├── extend/ │ │ │ │ │ │ ├── application.unittest.ts │ │ │ │ │ │ └── context.ts │ │ │ │ │ ├── router.ts │ │ │ │ │ └── typings/ │ │ │ │ │ └── index.d.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ └── config-module/ │ │ │ │ │ ├── ConfigService.ts │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── background-app/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ ├── router.ts │ │ │ │ │ └── typings/ │ │ │ │ │ └── index.d.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ └── multi-module-background/ │ │ │ │ │ ├── BackgroundService.ts │ │ │ │ │ ├── CountService.ts │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── constructor-module-config/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ ├── extend/ │ │ │ │ │ │ ├── application.unittest.ts │ │ │ │ │ │ └── context.ts │ │ │ │ │ ├── router.ts │ │ │ │ │ └── typings/ │ │ │ │ │ └── index.d.ts │ │ │ │ ├── app.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ └── module-with-config/ │ │ │ │ │ ├── foo.ts │ │ │ │ │ ├── module.unittest.yml │ │ │ │ │ ├── module.yml │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── dynamic-inject-app/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ ├── router.ts │ │ │ │ │ └── typings/ │ │ │ │ │ └── index.d.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ └── dynamic-inject-module/ │ │ │ │ │ ├── AbstractContextHello.ts │ │ │ │ │ ├── AbstractSingletonHello.ts │ │ │ │ │ ├── FooType.ts │ │ │ │ │ ├── HelloService.ts │ │ │ │ │ ├── SingletonHelloService.ts │ │ │ │ │ ├── decorator/ │ │ │ │ │ │ ├── ContextHello.ts │ │ │ │ │ │ └── SingletonHello.ts │ │ │ │ │ ├── impl/ │ │ │ │ │ │ ├── BarContextHello.ts │ │ │ │ │ │ ├── BarSingletonHello.ts │ │ │ │ │ │ ├── FooContextHello.ts │ │ │ │ │ │ └── FooSingletonHello.ts │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── egg-app/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ ├── extend/ │ │ │ │ │ │ ├── application.ts │ │ │ │ │ │ ├── application.unittest.ts │ │ │ │ │ │ └── context.ts │ │ │ │ │ ├── router.ts │ │ │ │ │ └── typings/ │ │ │ │ │ └── index.d.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ ├── multi-module-common/ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ └── App.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── multi-module-repo/ │ │ │ │ │ │ ├── AppRepo.ts │ │ │ │ │ │ ├── GlobalAppRepo.ts │ │ │ │ │ │ ├── PersistenceService.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── multi-module-service/ │ │ │ │ │ ├── AppService.ts │ │ │ │ │ ├── ConfigService.ts │ │ │ │ │ ├── CustomLoggerService.ts │ │ │ │ │ ├── EggTypeService.ts │ │ │ │ │ ├── SingletonFooService.ts │ │ │ │ │ ├── TraceService.ts │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── inject-module-config/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ ├── extend/ │ │ │ │ │ │ ├── application.unittest.ts │ │ │ │ │ │ └── context.ts │ │ │ │ │ ├── router.ts │ │ │ │ │ └── typings/ │ │ │ │ │ └── index.d.ts │ │ │ │ ├── app.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ ├── module-with-config/ │ │ │ │ │ │ ├── foo.ts │ │ │ │ │ │ ├── module.unittest.yml │ │ │ │ │ │ ├── module.yml │ │ │ │ │ │ └── package.json │ │ │ │ │ └── module-with-overwrite-config/ │ │ │ │ │ ├── bar.ts │ │ │ │ │ ├── module.unittest.yml │ │ │ │ │ ├── module.yml │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── invalid-inject/ │ │ │ │ ├── app/ │ │ │ │ │ └── modules/ │ │ │ │ │ └── module-a/ │ │ │ │ │ ├── BarService.ts │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ ├── optional-inject/ │ │ │ │ ├── app/ │ │ │ │ │ └── modules/ │ │ │ │ │ └── module-a/ │ │ │ │ │ ├── BarService.ts │ │ │ │ │ ├── FooService.ts │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ ├── optional-module/ │ │ │ │ ├── app/ │ │ │ │ │ └── modules/ │ │ │ │ │ └── root/ │ │ │ │ │ ├── Root.ts │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── node_modules/ │ │ │ │ │ ├── foo/ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── unused/ │ │ │ │ │ │ ├── Unused.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── used/ │ │ │ │ │ ├── Used.js │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── plugin-module/ │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── node_modules/ │ │ │ │ │ ├── foo/ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── foo-plugin/ │ │ │ │ │ ├── Used.js │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── recursive-module-app/ │ │ │ │ ├── app/ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── app.ts │ │ │ │ │ └── router.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ ├── multi-module-repo/ │ │ │ │ │ │ ├── AppRepo.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── multi-module-service/ │ │ │ │ │ ├── AppService.ts │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── same-name-protos/ │ │ │ │ ├── app/ │ │ │ │ │ └── modules/ │ │ │ │ │ ├── module-a/ │ │ │ │ │ │ ├── BarService.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── module-bar/ │ │ │ │ │ │ ├── FooService.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── module-foo/ │ │ │ │ │ ├── FooService.ts │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ ├── same-name-singleton-and-context-proto/ │ │ │ │ ├── app/ │ │ │ │ │ └── modules/ │ │ │ │ │ ├── module-bar/ │ │ │ │ │ │ ├── BarConstructorService1.ts │ │ │ │ │ │ ├── BarConstructorService2.ts │ │ │ │ │ │ ├── BarService1.ts │ │ │ │ │ │ ├── BarService2.ts │ │ │ │ │ │ ├── FooService.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── module-foo/ │ │ │ │ │ ├── FooService.ts │ │ │ │ │ └── package.json │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ └── plugin.js │ │ │ │ └── package.json │ │ │ ├── schedule-app/ │ │ │ │ ├── app/ │ │ │ │ │ └── schedule/ │ │ │ │ │ └── foo.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── config.default.js │ │ │ │ │ ├── module.json │ │ │ │ │ └── plugin.js │ │ │ │ ├── modules/ │ │ │ │ │ ├── multi-module-repo/ │ │ │ │ │ │ ├── AppRepo.ts │ │ │ │ │ │ └── package.json │ │ │ │ │ └── multi-module-service/ │ │ │ │ │ ├── AppService.ts │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ └── wrong-order-app/ │ │ │ ├── app/ │ │ │ │ ├── controller/ │ │ │ │ │ └── app.ts │ │ │ │ └── router.ts │ │ │ ├── config/ │ │ │ │ ├── config.default.js │ │ │ │ ├── module.json │ │ │ │ └── plugin.js │ │ │ ├── modules/ │ │ │ │ ├── multi-module-repo/ │ │ │ │ │ ├── AppRepo.ts │ │ │ │ │ └── package.json │ │ │ │ └── multi-module-service/ │ │ │ │ ├── AppService.ts │ │ │ │ └── package.json │ │ │ └── package.json │ │ └── lib/ │ │ └── EggModuleLoader.test.ts │ ├── tsconfig.json │ ├── tsconfig.pub.json │ └── typings/ │ └── index.d.ts ├── standalone/ │ ├── service-worker/ │ │ ├── CHANGELOG.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ServiceWorkerApp.ts │ │ │ ├── ServiceWorkerRunner.ts │ │ │ ├── StandaloneEggObjectFactory.ts │ │ │ ├── constants.ts │ │ │ ├── controller/ │ │ │ │ ├── ControllerMetadataManager.ts │ │ │ │ ├── ControllerRegister.ts │ │ │ │ ├── ControllerRegisterFactory.ts │ │ │ │ ├── RootProtoManager.ts │ │ │ │ └── ServiceWorkerContext.ts │ │ │ ├── hook/ │ │ │ │ ├── ContextProtoLoadUnitHook.ts │ │ │ │ ├── ControllerLoadUnitHook.ts │ │ │ │ ├── ControllerPrototypeHook.ts │ │ │ │ └── LoadUnitInnerClassHook.ts │ │ │ ├── http/ │ │ │ │ ├── FetchEventHandler.ts │ │ │ │ ├── FetchRouter.ts │ │ │ │ ├── HTTPControllerRegister.ts │ │ │ │ ├── HTTPMethodRegister.ts │ │ │ │ └── ServiceWorkerFetchContext.ts │ │ │ ├── mcp/ │ │ │ │ ├── AbstractControllerAdvice.ts │ │ │ │ ├── MCPControllerRegister.ts │ │ │ │ └── MCPServerHelper.ts │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ ├── RequestUtils.ts │ │ │ └── ResponseUtils.ts │ │ ├── test/ │ │ │ ├── Utils.ts │ │ │ ├── fixtures/ │ │ │ │ ├── http/ │ │ │ │ │ ├── AopMiddlewareController.ts │ │ │ │ │ ├── GetController.ts │ │ │ │ │ ├── HttpTestAdvice.ts │ │ │ │ │ ├── PostController.ts │ │ │ │ │ └── package.json │ │ │ │ ├── http-builtin/ │ │ │ │ │ ├── BuiltinController.ts │ │ │ │ │ └── package.json │ │ │ │ ├── http-inject/ │ │ │ │ │ ├── UserController.ts │ │ │ │ │ ├── UserService.ts │ │ │ │ │ └── package.json │ │ │ │ ├── http-params/ │ │ │ │ │ ├── ParamController.ts │ │ │ │ │ └── package.json │ │ │ │ ├── http-priority/ │ │ │ │ │ ├── PriorityController.ts │ │ │ │ │ ├── ViewController.ts │ │ │ │ │ └── package.json │ │ │ │ └── mcp/ │ │ │ │ ├── MCPTestController.ts │ │ │ │ ├── McpTestAdvice.ts │ │ │ │ └── package.json │ │ │ ├── http/ │ │ │ │ ├── builtin.test.ts │ │ │ │ ├── inject.test.ts │ │ │ │ ├── params.test.ts │ │ │ │ ├── priority.test.ts │ │ │ │ ├── response.test.ts │ │ │ │ └── router.test.ts │ │ │ └── mcp/ │ │ │ └── mcp.test.ts │ │ ├── tsconfig.json │ │ └── tsconfig.pub.json │ └── standalone/ │ ├── CHANGELOG.md │ ├── README.md │ ├── index.ts │ ├── package.json │ ├── src/ │ │ ├── ConfigSourceLoadUnitHook.ts │ │ ├── EggModuleLoader.ts │ │ ├── ModuleConfig.ts │ │ ├── Runner.ts │ │ ├── StandaloneContext.ts │ │ ├── StandaloneContextHandler.ts │ │ ├── StandaloneContextImpl.ts │ │ ├── StandaloneInnerObject.ts │ │ ├── StandaloneInnerObjectProto.ts │ │ ├── StandaloneLoadUnit.ts │ │ └── main.ts │ ├── test/ │ │ ├── fixtures/ │ │ │ ├── ajv-module/ │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ ├── ajv-module-pass/ │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ ├── aop-module/ │ │ │ │ ├── Hello.ts │ │ │ │ ├── main.ts │ │ │ │ └── package.json │ │ │ ├── custom-context/ │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ ├── dal-module/ │ │ │ │ ├── module.yml │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── Foo.ts │ │ │ │ │ ├── dal/ │ │ │ │ │ │ ├── dao/ │ │ │ │ │ │ │ ├── FooDAO.ts │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ └── BaseFooDAO.ts │ │ │ │ │ │ ├── extension/ │ │ │ │ │ │ │ └── FooExtension.ts │ │ │ │ │ │ └── structure/ │ │ │ │ │ │ ├── Foo.json │ │ │ │ │ │ └── Foo.sql │ │ │ │ │ └── main.ts │ │ │ │ └── tsconfig.json │ │ │ ├── dal-transaction-module/ │ │ │ │ ├── module.yml │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── Foo.ts │ │ │ │ │ ├── FooService.ts │ │ │ │ │ ├── dal/ │ │ │ │ │ │ ├── dao/ │ │ │ │ │ │ │ ├── FooDAO.ts │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ └── BaseFooDAO.ts │ │ │ │ │ │ ├── extension/ │ │ │ │ │ │ │ └── FooExtension.ts │ │ │ │ │ │ └── structure/ │ │ │ │ │ │ ├── Foo.json │ │ │ │ │ │ └── Foo.sql │ │ │ │ │ └── main.ts │ │ │ │ └── tsconfig.json │ │ │ ├── dependency/ │ │ │ │ ├── foo.ts │ │ │ │ ├── node_modules/ │ │ │ │ │ ├── dependency-1/ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── dependency-2/ │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── module.yml │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── dynamic-inject-module/ │ │ │ │ ├── AbstractContextHello.ts │ │ │ │ ├── AbstractSingletonHello.ts │ │ │ │ ├── FooType.ts │ │ │ │ ├── HelloService.ts │ │ │ │ ├── decorator/ │ │ │ │ │ ├── ContextHello.ts │ │ │ │ │ └── SingletonHello.ts │ │ │ │ ├── impl/ │ │ │ │ │ ├── BarContextHello.ts │ │ │ │ │ ├── BarSingletonHello.ts │ │ │ │ │ ├── FooContextHello.ts │ │ │ │ │ └── FooSingletonHello.ts │ │ │ │ ├── main.ts │ │ │ │ └── package.json │ │ │ ├── inner-object/ │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ ├── invalid-inject/ │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ ├── lifecycle/ │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ ├── module-with-config/ │ │ │ │ ├── foo.ts │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ ├── module-with-empty-config/ │ │ │ │ ├── foo.ts │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ ├── module-with-empty-default-config/ │ │ │ │ ├── foo.ts │ │ │ │ ├── module.dev.yml │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ ├── module-with-env-config/ │ │ │ │ ├── foo.ts │ │ │ │ ├── module.dev.yml │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ ├── multi-callback-instance-module/ │ │ │ │ ├── biz/ │ │ │ │ │ ├── biz.ts │ │ │ │ │ ├── module.yml │ │ │ │ │ └── package.json │ │ │ │ ├── logger/ │ │ │ │ │ ├── DynamicLogger.ts │ │ │ │ │ └── package.json │ │ │ │ └── main/ │ │ │ │ ├── foo.ts │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ ├── multi-modules/ │ │ │ │ ├── bar/ │ │ │ │ │ ├── module.yml │ │ │ │ │ └── package.json │ │ │ │ └── foo/ │ │ │ │ ├── foo.ts │ │ │ │ ├── module.yml │ │ │ │ └── package.json │ │ │ ├── optional-inject/ │ │ │ │ ├── bar.ts │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ ├── runtime-config/ │ │ │ │ ├── foo.ts │ │ │ │ └── package.json │ │ │ └── simple/ │ │ │ ├── foo.ts │ │ │ └── package.json │ │ └── index.test.ts │ ├── tsconfig.json │ └── tsconfig.pub.json └── tsconfig.json