@breadstone/archipel-mcp 0.0.1

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.
Files changed (347) hide show
  1. package/README.md +80 -0
  2. package/data/packages/index.md +42 -0
  3. package/data/packages/platform-authentication/api/Class.AnonymousAuthGuard.md +45 -0
  4. package/data/packages/platform-authentication/api/Class.AuthModule.md +72 -0
  5. package/data/packages/platform-authentication/api/Class.AuthSubjectPort.md +100 -0
  6. package/data/packages/platform-authentication/api/Class.AuthTokenService.md +64 -0
  7. package/data/packages/platform-authentication/api/Class.ChallengeService.md +136 -0
  8. package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +45 -0
  9. package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +45 -0
  10. package/data/packages/platform-authentication/api/Class.JwtPayloadBase.md +116 -0
  11. package/data/packages/platform-authentication/api/Class.LastActiveMiddleware.md +76 -0
  12. package/data/packages/platform-authentication/api/Class.LocalAuthGuard.md +45 -0
  13. package/data/packages/platform-authentication/api/Class.MfaService.md +257 -0
  14. package/data/packages/platform-authentication/api/Class.MfaSubjectPort.md +75 -0
  15. package/data/packages/platform-authentication/api/Class.RolesGuard.md +65 -0
  16. package/data/packages/platform-authentication/api/Class.SessionMappingProfile.md +65 -0
  17. package/data/packages/platform-authentication/api/Class.SessionPersistencePort.md +170 -0
  18. package/data/packages/platform-authentication/api/Class.SessionResponse.md +157 -0
  19. package/data/packages/platform-authentication/api/Class.SessionService.md +167 -0
  20. package/data/packages/platform-authentication/api/Class.SocialAuthGuard.md +66 -0
  21. package/data/packages/platform-authentication/api/Class.SocialAuthPort.md +53 -0
  22. package/data/packages/platform-authentication/api/Class.TokenEnricherPort.md +52 -0
  23. package/data/packages/platform-authentication/api/Class.VerificationService.md +159 -0
  24. package/data/packages/platform-authentication/api/Class.VerificationSubjectPort.md +121 -0
  25. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +89 -0
  26. package/data/packages/platform-authentication/api/Interface.IAuthSubject.md +112 -0
  27. package/data/packages/platform-authentication/api/Interface.IMfaChallengePayload.md +87 -0
  28. package/data/packages/platform-authentication/api/Interface.IMfaChallengeState.md +123 -0
  29. package/data/packages/platform-authentication/api/Interface.IMfaConfirmation.md +27 -0
  30. package/data/packages/platform-authentication/api/Interface.IMfaSetup.md +63 -0
  31. package/data/packages/platform-authentication/api/Interface.IMfaSubject.md +136 -0
  32. package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +96 -0
  33. package/data/packages/platform-authentication/api/Interface.ISessionRecord.md +165 -0
  34. package/data/packages/platform-authentication/api/Interface.ISignInResult.md +87 -0
  35. package/data/packages/platform-authentication/api/Interface.ISocialProfile.md +63 -0
  36. package/data/packages/platform-authentication/api/Interface.IStoreSessionArgs.md +75 -0
  37. package/data/packages/platform-authentication/api/Interface.IVerifiableSubject.md +76 -0
  38. package/data/packages/platform-authentication/api/_media/ENVIRONMENT_VARIABLES.md +151 -0
  39. package/data/packages/platform-authentication/api/index.md +508 -0
  40. package/data/packages/platform-authentication/index.md +635 -0
  41. package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +84 -0
  42. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +54 -0
  43. package/data/packages/platform-blob-storage/api/Class.BlobObjectPersistencePort.md +80 -0
  44. package/data/packages/platform-blob-storage/api/Class.BlobService.md +253 -0
  45. package/data/packages/platform-blob-storage/api/Class.BlobVariantPersistencePort.md +56 -0
  46. package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +202 -0
  47. package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +43 -0
  48. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +53 -0
  49. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +69 -0
  50. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +53 -0
  51. package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +143 -0
  52. package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +119 -0
  53. package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +53 -0
  54. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +103 -0
  55. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +33 -0
  56. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +33 -0
  57. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +73 -0
  58. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +33 -0
  59. package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +17 -0
  60. package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +17 -0
  61. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +17 -0
  62. package/data/packages/platform-blob-storage/api/index.md +111 -0
  63. package/data/packages/platform-blob-storage/index.md +280 -0
  64. package/data/packages/platform-core/api/Class.AppHealthIndicator.md +51 -0
  65. package/data/packages/platform-core/api/Class.BcryptService.md +69 -0
  66. package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +196 -0
  67. package/data/packages/platform-core/api/Class.BooleanUtils.md +83 -0
  68. package/data/packages/platform-core/api/Class.CUIDGenerator.md +121 -0
  69. package/data/packages/platform-core/api/Class.CasingInterceptor.md +84 -0
  70. package/data/packages/platform-core/api/Class.CatchUtils.md +94 -0
  71. package/data/packages/platform-core/api/Class.ConfigModule.md +70 -0
  72. package/data/packages/platform-core/api/Class.ConfigRegistry.md +116 -0
  73. package/data/packages/platform-core/api/Class.ConfigService.md +139 -0
  74. package/data/packages/platform-core/api/Class.ConfigStrategyBase.md +110 -0
  75. package/data/packages/platform-core/api/Class.ContentTemplateEngine.md +64 -0
  76. package/data/packages/platform-core/api/Class.CryptoService.md +50 -0
  77. package/data/packages/platform-core/api/Class.DateTimeUtils.md +102 -0
  78. package/data/packages/platform-core/api/Class.DeviceParserService.md +53 -0
  79. package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +216 -0
  80. package/data/packages/platform-core/api/Class.EnvironmentConfigStrategy.md +144 -0
  81. package/data/packages/platform-core/api/Class.ErrorTemplateService.md +110 -0
  82. package/data/packages/platform-core/api/Class.EventHub.md +164 -0
  83. package/data/packages/platform-core/api/Class.EventModule.md +23 -0
  84. package/data/packages/platform-core/api/Class.FileConfigStrategy.md +150 -0
  85. package/data/packages/platform-core/api/Class.FileResourceStrategy.md +193 -0
  86. package/data/packages/platform-core/api/Class.GUIDGenerator.md +86 -0
  87. package/data/packages/platform-core/api/Class.GlobalExceptionFilter.md +67 -0
  88. package/data/packages/platform-core/api/Class.HealthModule.md +43 -0
  89. package/data/packages/platform-core/api/Class.HealthOrchestrator.md +65 -0
  90. package/data/packages/platform-core/api/Class.HostModule.md +33 -0
  91. package/data/packages/platform-core/api/Class.HostService.md +150 -0
  92. package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +60 -0
  93. package/data/packages/platform-core/api/Class.IdGeneratorBase.md +88 -0
  94. package/data/packages/platform-core/api/Class.IdentifierModule.md +41 -0
  95. package/data/packages/platform-core/api/Class.IntelligenceCapabilityRegistrarBase.md +39 -0
  96. package/data/packages/platform-core/api/Class.IntelligenceCapabilityRegistry.md +103 -0
  97. package/data/packages/platform-core/api/Class.IntelligenceModule.md +23 -0
  98. package/data/packages/platform-core/api/Class.IntelligenceTextGenerator.md +82 -0
  99. package/data/packages/platform-core/api/Class.LimitRequestSizeMiddleware.md +60 -0
  100. package/data/packages/platform-core/api/Class.LocalizedTextRequest.md +43 -0
  101. package/data/packages/platform-core/api/Class.LocalizedTextResponse.md +43 -0
  102. package/data/packages/platform-core/api/Class.MappingBuilder.md +111 -0
  103. package/data/packages/platform-core/api/Class.MappingModule.md +47 -0
  104. package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +57 -0
  105. package/data/packages/platform-core/api/Class.MappingProfileBase.md +53 -0
  106. package/data/packages/platform-core/api/Class.MappingService.md +285 -0
  107. package/data/packages/platform-core/api/Class.MemoryLayeredCache.md +251 -0
  108. package/data/packages/platform-core/api/Class.NoopCacheMetricsRecorder.md +157 -0
  109. package/data/packages/platform-core/api/Class.NormalizedUtils.md +149 -0
  110. package/data/packages/platform-core/api/Class.OtpService.md +106 -0
  111. package/data/packages/platform-core/api/Class.PageableRequest.md +43 -0
  112. package/data/packages/platform-core/api/Class.PageableResponse.md +63 -0
  113. package/data/packages/platform-core/api/Class.ProblemDetailException.md +62 -0
  114. package/data/packages/platform-core/api/Class.ProblemDetailExceptionFilter.md +85 -0
  115. package/data/packages/platform-core/api/Class.QuantityResponse.md +43 -0
  116. package/data/packages/platform-core/api/Class.RedisLayeredCache.md +275 -0
  117. package/data/packages/platform-core/api/Class.ResourceManager.md +566 -0
  118. package/data/packages/platform-core/api/Class.ResourceModule.md +47 -0
  119. package/data/packages/platform-core/api/Class.ResponseReturn.md +504 -0
  120. package/data/packages/platform-core/api/Class.SseHub.md +184 -0
  121. package/data/packages/platform-core/api/Class.SseModule.md +43 -0
  122. package/data/packages/platform-core/api/Class.TimeStampResponse.md +43 -0
  123. package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +58 -0
  124. package/data/packages/platform-core/api/Class.UUIDGenerator.md +86 -0
  125. package/data/packages/platform-core/api/Class.UserAvatarGeneratorService.md +48 -0
  126. package/data/packages/platform-core/api/Class.UserNameGeneratorService.md +65 -0
  127. package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +29 -0
  128. package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +41 -0
  129. package/data/packages/platform-core/api/Interface.ICacheMetricsRecorder.md +121 -0
  130. package/data/packages/platform-core/api/Interface.ICacheStats.md +71 -0
  131. package/data/packages/platform-core/api/Interface.IConfigKey.md +64 -0
  132. package/data/packages/platform-core/api/Interface.IConfigModuleOptions.md +41 -0
  133. package/data/packages/platform-core/api/Interface.IConfigRegistryEntry.md +80 -0
  134. package/data/packages/platform-core/api/Interface.IDeviceInfo.md +81 -0
  135. package/data/packages/platform-core/api/Interface.IErrorPageParams.md +154 -0
  136. package/data/packages/platform-core/api/Interface.IEventKey.md +58 -0
  137. package/data/packages/platform-core/api/Interface.IEventMap.md +17 -0
  138. package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +73 -0
  139. package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +47 -0
  140. package/data/packages/platform-core/api/Interface.IHealthIndicator.md +42 -0
  141. package/data/packages/platform-core/api/Interface.IHostContentParams.md +233 -0
  142. package/data/packages/platform-core/api/Interface.IIdGenerator.md +58 -0
  143. package/data/packages/platform-core/api/Interface.IIntelligenceArtifact.md +31 -0
  144. package/data/packages/platform-core/api/Interface.IIntelligenceCapability.md +62 -0
  145. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityMetadata.md +61 -0
  146. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityPayload.md +41 -0
  147. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityRegistry.md +69 -0
  148. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityResult.md +41 -0
  149. package/data/packages/platform-core/api/Interface.IIntelligenceCompletionUsage.md +41 -0
  150. package/data/packages/platform-core/api/Interface.IIntelligenceContext.md +63 -0
  151. package/data/packages/platform-core/api/Interface.IIntelligenceContextBuilder.md +32 -0
  152. package/data/packages/platform-core/api/Interface.IIntelligenceConversationMessageSnapshot.md +61 -0
  153. package/data/packages/platform-core/api/Interface.IIntelligenceConversationSnapshot.md +51 -0
  154. package/data/packages/platform-core/api/Interface.IIntelligenceFollowUpQuestion.md +41 -0
  155. package/data/packages/platform-core/api/Interface.IIntelligenceIntent.md +41 -0
  156. package/data/packages/platform-core/api/Interface.IIntelligenceIntentEntity.md +31 -0
  157. package/data/packages/platform-core/api/Interface.IIntelligenceMessageModel.md +61 -0
  158. package/data/packages/platform-core/api/Interface.IIntelligenceMessagePayload.md +31 -0
  159. package/data/packages/platform-core/api/Interface.IIntelligencePrompt.md +31 -0
  160. package/data/packages/platform-core/api/Interface.IIntelligencePromptMessage.md +31 -0
  161. package/data/packages/platform-core/api/Interface.IIntelligenceProviderConfiguration.md +81 -0
  162. package/data/packages/platform-core/api/Interface.IIntelligenceResponseMessage.md +31 -0
  163. package/data/packages/platform-core/api/Interface.IIntelligenceTextCompletion.md +53 -0
  164. package/data/packages/platform-core/api/Interface.IIntelligenceTextGenerationOptions.md +41 -0
  165. package/data/packages/platform-core/api/Interface.IIntelligenceTextGenerator.md +46 -0
  166. package/data/packages/platform-core/api/Interface.ILayeredCache.md +194 -0
  167. package/data/packages/platform-core/api/Interface.ILayeredCacheOptions.md +71 -0
  168. package/data/packages/platform-core/api/Interface.IMappingBuilder.md +77 -0
  169. package/data/packages/platform-core/api/Interface.IMappingKey.md +59 -0
  170. package/data/packages/platform-core/api/Interface.IMappingProfile.md +33 -0
  171. package/data/packages/platform-core/api/Interface.IOtpService.md +78 -0
  172. package/data/packages/platform-core/api/Interface.IOtpUriOptions.md +47 -0
  173. package/data/packages/platform-core/api/Interface.IRedisLayeredCacheOptions.md +108 -0
  174. package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +72 -0
  175. package/data/packages/platform-core/api/Interface.IResourceMetadata.md +95 -0
  176. package/data/packages/platform-core/api/Interface.IResourceResult.md +35 -0
  177. package/data/packages/platform-core/api/Interface.IResourceStrategy.md +135 -0
  178. package/data/packages/platform-core/api/Interface.ISseEventData.md +37 -0
  179. package/data/packages/platform-core/api/Interface.ISseHub.md +92 -0
  180. package/data/packages/platform-core/api/Namespace.ISseEventData.md +34 -0
  181. package/data/packages/platform-core/api/TypeAlias.CamelCase.md +19 -0
  182. package/data/packages/platform-core/api/TypeAlias.IntelligenceConversationMessageRole.md +16 -0
  183. package/data/packages/platform-core/api/TypeAlias.IntelligenceProviderName.md +15 -0
  184. package/data/packages/platform-core/api/TypeAlias.ProblemDetail.md +29 -0
  185. package/data/packages/platform-core/api/TypeAlias.ProblemDetailTypeUrlResolver.md +26 -0
  186. package/data/packages/platform-core/api/TypeAlias.SetOptional.md +22 -0
  187. package/data/packages/platform-core/api/TypeAlias.StringValue.md +13 -0
  188. package/data/packages/platform-core/api/index.md +645 -0
  189. package/data/packages/platform-core/index.md +483 -0
  190. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +80 -0
  191. package/data/packages/platform-database/api/Class.DatabaseModule.md +75 -0
  192. package/data/packages/platform-database/api/Class.DatabaseService.md +165 -0
  193. package/data/packages/platform-database/api/Class.PrismaService.md +116 -0
  194. package/data/packages/platform-database/api/Class.RepositoryBase.md +526 -0
  195. package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +60 -0
  196. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +27 -0
  197. package/data/packages/platform-database/api/Interface.IPaginateOptions.md +33 -0
  198. package/data/packages/platform-database/api/Interface.IPaginatedResult.md +82 -0
  199. package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +56 -0
  200. package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +55 -0
  201. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +23 -0
  202. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +23 -0
  203. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +36 -0
  204. package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +32 -0
  205. package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +31 -0
  206. package/data/packages/platform-database/api/index.md +183 -0
  207. package/data/packages/platform-database/index.md +300 -0
  208. package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +103 -0
  209. package/data/packages/platform-documents/api/Class.DocumentEngine.md +85 -0
  210. package/data/packages/platform-documents/api/Class.DocumentModule.md +52 -0
  211. package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +136 -0
  212. package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +100 -0
  213. package/data/packages/platform-documents/api/Interface.IDocumentPlaceholderDetail.md +75 -0
  214. package/data/packages/platform-documents/api/Interface.IDocumentProbeReport.md +123 -0
  215. package/data/packages/platform-documents/api/Interface.IDocumentRenderer.md +52 -0
  216. package/data/packages/platform-documents/api/Interface.IImagePayload.md +63 -0
  217. package/data/packages/platform-documents/api/Interface.IImageProcessor.md +100 -0
  218. package/data/packages/platform-documents/api/Interface.IRenderOptions.md +69 -0
  219. package/data/packages/platform-documents/api/Interface.IRenderResult.md +63 -0
  220. package/data/packages/platform-documents/api/TypeAlias.DocumentFormat.md +19 -0
  221. package/data/packages/platform-documents/api/TypeAlias.EngineType.md +19 -0
  222. package/data/packages/platform-documents/api/TypeAlias.ImageMimeType.md +19 -0
  223. package/data/packages/platform-documents/api/TypeAlias.TemplateFormat.md +19 -0
  224. package/data/packages/platform-documents/api/TypeAlias.TemplateType.md +19 -0
  225. package/data/packages/platform-documents/api/index.md +91 -0
  226. package/data/packages/platform-documents/index.md +219 -0
  227. package/data/packages/platform-logging/api/Class.AnalyticsService.md +113 -0
  228. package/data/packages/platform-logging/api/Class.LoggerModule.md +25 -0
  229. package/data/packages/platform-logging/api/index.md +42 -0
  230. package/data/packages/platform-logging/index.md +92 -0
  231. package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +67 -0
  232. package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +55 -0
  233. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +65 -0
  234. package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +82 -0
  235. package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +83 -0
  236. package/data/packages/platform-mailing/api/Class.MailModule.md +27 -0
  237. package/data/packages/platform-mailing/api/Class.MailService.md +101 -0
  238. package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +98 -0
  239. package/data/packages/platform-mailing/api/Class.MailVerificationService.md +90 -0
  240. package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +82 -0
  241. package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +82 -0
  242. package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +82 -0
  243. package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +82 -0
  244. package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +82 -0
  245. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +42 -0
  246. package/data/packages/platform-mailing/api/Interface.IMailEvents.md +71 -0
  247. package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +35 -0
  248. package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +19 -0
  249. package/data/packages/platform-mailing/api/index.md +404 -0
  250. package/data/packages/platform-mailing/index.md +335 -0
  251. package/data/packages/platform-mcp/api/Class.McpDiscoveryService.md +65 -0
  252. package/data/packages/platform-mcp/api/Class.McpModule.md +83 -0
  253. package/data/packages/platform-mcp/api/Class.McpRegistryService.md +147 -0
  254. package/data/packages/platform-mcp/api/Class.McpServerService.md +197 -0
  255. package/data/packages/platform-mcp/api/Interface.IMcpHandlerMetadata.md +47 -0
  256. package/data/packages/platform-mcp/api/Interface.IMcpModuleAsyncOptions.md +76 -0
  257. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptions.md +126 -0
  258. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptionsFactory.md +28 -0
  259. package/data/packages/platform-mcp/api/Interface.IMcpPromptMetadata.md +59 -0
  260. package/data/packages/platform-mcp/api/Interface.IMcpResourceMetadata.md +73 -0
  261. package/data/packages/platform-mcp/api/Interface.IMcpToolMetadata.md +83 -0
  262. package/data/packages/platform-mcp/api/Interface.IRegisteredPrompt.md +41 -0
  263. package/data/packages/platform-mcp/api/Interface.IRegisteredResource.md +41 -0
  264. package/data/packages/platform-mcp/api/Interface.IRegisteredTool.md +41 -0
  265. package/data/packages/platform-mcp/api/Interface.ISseTransportOptions.md +23 -0
  266. package/data/packages/platform-mcp/api/Interface.IStreamableHttpTransportOptions.md +39 -0
  267. package/data/packages/platform-mcp/api/index.md +123 -0
  268. package/data/packages/platform-mcp/index.md +299 -0
  269. package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +71 -0
  270. package/data/packages/platform-openapi/api/Class.SwaggerFeatureRegistry.md +104 -0
  271. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +82 -0
  272. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +51 -0
  273. package/data/packages/platform-openapi/api/Interface.IFeatureSwaggerConfig.md +73 -0
  274. package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +73 -0
  275. package/data/packages/platform-openapi/api/index.md +209 -0
  276. package/data/packages/platform-openapi/index.md +170 -0
  277. package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +79 -0
  278. package/data/packages/platform-payments/api/Class.FeatureGuard.md +73 -0
  279. package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +74 -0
  280. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +168 -0
  281. package/data/packages/platform-payments/api/Class.MollieClient.md +168 -0
  282. package/data/packages/platform-payments/api/Class.PaddleClient.md +168 -0
  283. package/data/packages/platform-payments/api/Class.PaymentClientPort.md +147 -0
  284. package/data/packages/platform-payments/api/Class.PaymentModule.md +53 -0
  285. package/data/packages/platform-payments/api/Class.StripeClient.md +168 -0
  286. package/data/packages/platform-payments/api/Interface.IFeatureAccessResult.md +75 -0
  287. package/data/packages/platform-payments/api/Interface.INormalizedCheckoutSession.md +75 -0
  288. package/data/packages/platform-payments/api/Interface.INormalizedPrice.md +85 -0
  289. package/data/packages/platform-payments/api/Interface.INormalizedSubscription.md +105 -0
  290. package/data/packages/platform-payments/api/Interface.INormalizedWebhookEvent.md +89 -0
  291. package/data/packages/platform-payments/api/Interface.IPaymentModuleOptions.md +65 -0
  292. package/data/packages/platform-payments/api/TypeAlias.SubscriptionStatus.md +27 -0
  293. package/data/packages/platform-payments/api/index.md +243 -0
  294. package/data/packages/platform-payments/index.md +532 -0
  295. package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +57 -0
  296. package/data/packages/platform-reporting/api/Class.ReportingDatasetNotFoundError.md +41 -0
  297. package/data/packages/platform-reporting/api/Class.ReportingFacade.md +85 -0
  298. package/data/packages/platform-reporting/api/Class.ReportingModule.md +23 -0
  299. package/data/packages/platform-reporting/api/Interface.IReportingContributor.md +62 -0
  300. package/data/packages/platform-reporting/api/Interface.IReportingDataset.md +83 -0
  301. package/data/packages/platform-reporting/api/Interface.IReportingDatasetField.md +71 -0
  302. package/data/packages/platform-reporting/api/Interface.IReportingQuery.md +61 -0
  303. package/data/packages/platform-reporting/api/Interface.IReportingQueryFilter.md +41 -0
  304. package/data/packages/platform-reporting/api/Interface.IReportingQueryResult.md +61 -0
  305. package/data/packages/platform-reporting/api/Interface.IReportingQuerySort.md +31 -0
  306. package/data/packages/platform-reporting/api/TypeAlias.ReportingFieldType.md +13 -0
  307. package/data/packages/platform-reporting/api/TypeAlias.ReportingFilterOperator.md +13 -0
  308. package/data/packages/platform-reporting/api/TypeAlias.ReportingQueryResultRow.md +15 -0
  309. package/data/packages/platform-reporting/api/index.md +90 -0
  310. package/data/packages/platform-reporting/index.md +229 -0
  311. package/data/packages/platform-telemetry/api/Class.NoopTelemetryFacade.md +118 -0
  312. package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +180 -0
  313. package/data/packages/platform-telemetry/api/Class.TelemetryFacade.md +132 -0
  314. package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +231 -0
  315. package/data/packages/platform-telemetry/api/Class.TelemetryModule.md +45 -0
  316. package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +53 -0
  317. package/data/packages/platform-telemetry/api/Interface.ITelemetryFacade.md +90 -0
  318. package/data/packages/platform-telemetry/api/Interface.ITelemetryMetricsOptions.md +43 -0
  319. package/data/packages/platform-telemetry/api/Interface.ITelemetryOptions.md +141 -0
  320. package/data/packages/platform-telemetry/api/Interface.ITelemetryTracesOptions.md +43 -0
  321. package/data/packages/platform-telemetry/api/index.md +81 -0
  322. package/data/packages/platform-telemetry/index.md +234 -0
  323. package/package.json +39 -0
  324. package/src/DocsLoader.d.ts +14 -0
  325. package/src/DocsLoader.js +103 -0
  326. package/src/knowledge/configPattern.d.ts +5 -0
  327. package/src/knowledge/configPattern.js +211 -0
  328. package/src/knowledge/dtoPattern.d.ts +5 -0
  329. package/src/knowledge/dtoPattern.js +286 -0
  330. package/src/knowledge/errorHandlingPattern.d.ts +5 -0
  331. package/src/knowledge/errorHandlingPattern.js +219 -0
  332. package/src/knowledge/guardPattern.d.ts +5 -0
  333. package/src/knowledge/guardPattern.js +256 -0
  334. package/src/knowledge/mappingPattern.d.ts +6 -0
  335. package/src/knowledge/mappingPattern.js +322 -0
  336. package/src/knowledge/modulePattern.d.ts +6 -0
  337. package/src/knowledge/modulePattern.js +283 -0
  338. package/src/knowledge/queryPattern.d.ts +6 -0
  339. package/src/knowledge/queryPattern.js +215 -0
  340. package/src/knowledge/repositoryPattern.d.ts +6 -0
  341. package/src/knowledge/repositoryPattern.js +367 -0
  342. package/src/knowledge/testingPattern.d.ts +5 -0
  343. package/src/knowledge/testingPattern.js +356 -0
  344. package/src/main.d.ts +2 -0
  345. package/src/main.js +226 -0
  346. package/src/models/IPackageDoc.d.ts +19 -0
  347. package/src/models/IPackageDoc.js +3 -0
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ /**
3
+ * Static knowledge content for the Archipel testing pattern.
4
+ * Returned by the get-testing-pattern tool.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TESTING_PATTERN_KNOWLEDGE = void 0;
8
+ exports.TESTING_PATTERN_KNOWLEDGE = `# Archipel Testing Pattern
9
+
10
+ ## Overview
11
+
12
+ Archipel uses **Vitest** for unit and integration tests with **vi mocking**. Tests follow
13
+ the Arrange-Act-Assert (AAA) pattern with descriptive \`describe\`/\`it\` blocks. Each test
14
+ file covers a single class or module.
15
+
16
+ ## Test Framework
17
+
18
+ - **Runner:** Vitest
19
+ - **Mocking:** \`vi.fn()\`, \`vi.mock()\`, \`vi.spyOn()\`
20
+ - **Assertions:** Vitest built-in (\`expect\`)
21
+ - **E2E:** Supertest against a bootstrapped NestJS app
22
+
23
+ ## File Naming & Location
24
+
25
+ | Test Type | File Pattern | Location |
26
+ |-----------|-------------|----------|
27
+ | Unit test | \`*.spec.ts\` | Next to the source file |
28
+ | E2E test | \`*.e2e-spec.ts\` | \`test/\` directory |
29
+
30
+ ## Basic Test Structure
31
+
32
+ \`\`\`typescript
33
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
34
+
35
+ describe('UserService', () => {
36
+
37
+ // #region Fields
38
+
39
+ let service: UserService;
40
+ let mockRepository: { execute: ReturnType<typeof vi.fn> };
41
+ let mockMappingService: { map: ReturnType<typeof vi.fn> };
42
+
43
+ // #endregion
44
+
45
+ // #region Methods
46
+
47
+ beforeEach(() => {
48
+ vi.restoreAllMocks();
49
+
50
+ mockRepository = {
51
+ execute: vi.fn(),
52
+ };
53
+
54
+ mockMappingService = {
55
+ map: vi.fn(),
56
+ };
57
+
58
+ service = new UserService(
59
+ mockRepository as unknown as UserRepository,
60
+ mockMappingService as unknown as MappingService,
61
+ );
62
+ });
63
+
64
+ describe('findById', () => {
65
+ it('should return entity when user exists', async () => {
66
+ // arrange
67
+ const mockUser = { id: '1', email: 'test@example.com', name: 'Test' };
68
+ mockRepository.execute.mockResolvedValue(mockUser);
69
+
70
+ // act
71
+ const result = await service.findById('1');
72
+
73
+ // assert
74
+ expect(result).toEqual(mockUser);
75
+ expect(mockRepository.execute).toHaveBeenCalledOnce();
76
+ });
77
+
78
+ it('should throw UserNotFoundError when user does not exist', async () => {
79
+ // arrange
80
+ mockRepository.execute.mockResolvedValue(null);
81
+
82
+ // act & assert
83
+ await expect(() => service.findById('nonexistent'))
84
+ .rejects.toThrow(UserNotFoundError);
85
+ });
86
+ });
87
+
88
+ // #endregion
89
+
90
+ });
91
+ \`\`\`
92
+
93
+ ## Mocking Patterns
94
+
95
+ ### Mocking Prisma Delegates (for Repository Tests)
96
+
97
+ \`\`\`typescript
98
+ vi.mock('@prisma/client/runtime/client', () => ({
99
+ PrismaClientKnownRequestError: class PrismaClientKnownRequestError extends Error {
100
+ public code: string;
101
+ public meta?: Record<string, unknown>;
102
+ public clientVersion: string;
103
+ public constructor(message: string, opts: { code: string; clientVersion: string; meta?: Record<string, unknown> }) {
104
+ super(message);
105
+ this.name = 'PrismaClientKnownRequestError';
106
+ this.code = opts.code;
107
+ this.clientVersion = opts.clientVersion;
108
+ this.meta = opts.meta;
109
+ }
110
+ },
111
+ PrismaClientUnknownRequestError: class PrismaClientUnknownRequestError extends Error {
112
+ public clientVersion: string;
113
+ public constructor(message: string, opts: { clientVersion: string }) {
114
+ super(message);
115
+ this.name = 'PrismaClientUnknownRequestError';
116
+ this.clientVersion = opts.clientVersion;
117
+ }
118
+ },
119
+ }));
120
+ \`\`\`
121
+
122
+ ### Creating a Mock Delegate
123
+
124
+ \`\`\`typescript
125
+ type MockDelegate = Record<
126
+ | 'aggregate' | 'count' | 'create' | 'createMany' | 'createManyAndReturn'
127
+ | 'delete' | 'deleteMany' | 'findFirst' | 'findFirstOrThrow'
128
+ | 'findMany' | 'findUnique' | 'findUniqueOrThrow'
129
+ | 'groupBy' | 'update' | 'updateMany' | 'upsert',
130
+ ReturnType<typeof vi.fn>
131
+ >;
132
+
133
+ function createMockDelegate(): MockDelegate {
134
+ return {
135
+ findUnique: vi.fn(),
136
+ findFirst: vi.fn(),
137
+ findMany: vi.fn(),
138
+ create: vi.fn(),
139
+ createMany: vi.fn(),
140
+ createManyAndReturn: vi.fn(),
141
+ update: vi.fn(),
142
+ updateMany: vi.fn(),
143
+ upsert: vi.fn(),
144
+ delete: vi.fn(),
145
+ deleteMany: vi.fn(),
146
+ aggregate: vi.fn(),
147
+ count: vi.fn(),
148
+ groupBy: vi.fn(),
149
+ findFirstOrThrow: vi.fn(),
150
+ findUniqueOrThrow: vi.fn(),
151
+ };
152
+ }
153
+ \`\`\`
154
+
155
+ ### Mocking DatabaseService
156
+
157
+ \`\`\`typescript
158
+ const mockDb = {
159
+ transactionCallback: vi.fn(),
160
+ client: {
161
+ user: createMockDelegate(),
162
+ },
163
+ } as unknown as DatabaseService;
164
+ \`\`\`
165
+
166
+ ### Mocking a Query
167
+
168
+ \`\`\`typescript
169
+ const mockQuery = {
170
+ name: 'findUserById',
171
+ run: vi.fn().mockResolvedValue({ id: '1', email: 'test@example.com' }),
172
+ };
173
+ \`\`\`
174
+
175
+ ## Repository Test Pattern
176
+
177
+ \`\`\`typescript
178
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
179
+
180
+ // Mock Prisma runtime errors BEFORE importing test subject
181
+ vi.mock('@prisma/client/runtime/client', () => ({ /* ... */ }));
182
+ import { PrismaClientKnownRequestError } from '@prisma/client/runtime/client';
183
+
184
+ describe('UserRepository', () => {
185
+
186
+ let repository: TestRepository;
187
+ let mockModel: MockDelegate;
188
+ let mockDb: DatabaseService;
189
+
190
+ beforeEach(() => {
191
+ vi.restoreAllMocks();
192
+ mockModel = createMockDelegate();
193
+ mockDb = { transactionCallback: vi.fn() } as unknown as DatabaseService;
194
+ repository = new TestRepository(mockDb, mockModel);
195
+ });
196
+
197
+ describe('execute', () => {
198
+ it('should execute a query against the model', async () => {
199
+ // arrange
200
+ const mockQuery = {
201
+ name: 'testQuery',
202
+ run: vi.fn().mockResolvedValue({ id: '1' }),
203
+ };
204
+
205
+ // act
206
+ const result = await repository.execute(mockQuery);
207
+
208
+ // assert
209
+ expect(mockQuery.run).toHaveBeenCalledWith(mockModel);
210
+ expect(result).toEqual({ id: '1' });
211
+ });
212
+
213
+ it('should wrap PrismaClientKnownRequestError as RepositoryError', async () => {
214
+ // arrange
215
+ const prismaError = new PrismaClientKnownRequestError('Not found', {
216
+ code: 'P2025',
217
+ clientVersion: '6.0.0',
218
+ });
219
+ const mockQuery = {
220
+ name: 'failingQuery',
221
+ run: vi.fn().mockRejectedValue(prismaError),
222
+ };
223
+
224
+ // act & assert
225
+ await expect(() => repository.execute(mockQuery))
226
+ .rejects.toThrow(RepositoryError);
227
+ });
228
+ });
229
+
230
+ });
231
+ \`\`\`
232
+
233
+ ## Service Test Pattern
234
+
235
+ \`\`\`typescript
236
+ describe('ProductService', () => {
237
+
238
+ let service: ProductService;
239
+ let mockRepo: { execute: ReturnType<typeof vi.fn> };
240
+
241
+ beforeEach(() => {
242
+ vi.restoreAllMocks();
243
+ mockRepo = { execute: vi.fn() };
244
+ service = new ProductService(mockRepo as unknown as ProductRepository);
245
+ });
246
+
247
+ describe('findById', () => {
248
+ it('should return entity when found', async () => {
249
+ // arrange
250
+ const expected = { id: '1', name: 'Product A', barcode: '123' };
251
+ mockRepo.execute.mockResolvedValue(expected);
252
+
253
+ // act
254
+ const result = await service.findById('1');
255
+
256
+ // assert
257
+ expect(result).toEqual(expected);
258
+ });
259
+
260
+ it('should throw domain error when not found', async () => {
261
+ // arrange
262
+ mockRepo.execute.mockResolvedValue(null);
263
+
264
+ // act & assert
265
+ await expect(() => service.findById('unknown'))
266
+ .rejects.toThrow(ProductNotFoundError);
267
+ });
268
+ });
269
+
270
+ });
271
+ \`\`\`
272
+
273
+ ## Mapping Profile Test Pattern
274
+
275
+ \`\`\`typescript
276
+ describe('ProductMappingProfile', () => {
277
+
278
+ let mappingService: MappingService;
279
+
280
+ beforeEach(() => {
281
+ mappingService = new MappingService();
282
+ const profile = new ProductMappingProfile();
283
+ mappingService.registerProfile(profile);
284
+ });
285
+
286
+ it('should map input to response correctly', () => {
287
+ // arrange
288
+ const input: IProductMappingInput = {
289
+ id: '1',
290
+ barcode: '123',
291
+ name: 'Product A',
292
+ categoryId: 'cat-1',
293
+ createdAt: new Date('2026-01-01'),
294
+ };
295
+
296
+ // act
297
+ const result = mappingService.map(PRODUCT_MAPPING_KEY, input);
298
+
299
+ // assert
300
+ expect(result).toBeInstanceOf(ProductResponse);
301
+ expect(result.id).toBe('1');
302
+ expect(result.barcode).toBe('123');
303
+ expect(result.name).toBe('Product A');
304
+ });
305
+
306
+ });
307
+ \`\`\`
308
+
309
+ ## Test Conventions
310
+
311
+ ### Comments
312
+
313
+ \`\`\`typescript
314
+ // Use AAA comments:
315
+ // arrange — set up test data and mocks
316
+ // act — call the method under test
317
+ // act & assert — when the assertion is on the thrown error
318
+ // assert — verify the outcome
319
+ \`\`\`
320
+
321
+ ### Regions
322
+
323
+ \`\`\`typescript
324
+ describe('MyClass', () => {
325
+
326
+ // #region Fields
327
+ let service: MyService;
328
+ // #endregion
329
+
330
+ // #region Methods
331
+ beforeEach(() => { ... });
332
+
333
+ describe('methodName', () => { ... });
334
+ // #endregion
335
+
336
+ });
337
+ \`\`\`
338
+
339
+ ### Naming
340
+
341
+ - \`describe\` blocks: Class name or method name
342
+ - \`it\` blocks: \`'should <expected behavior> when <condition>'\`
343
+
344
+ ## Rules
345
+
346
+ 1. **Every public service method needs at least one happy-path and one failure-path test.**
347
+ 2. **Use \`vi.restoreAllMocks()\` in \`beforeEach\`** — prevent mock leakage between tests.
348
+ 3. **Mock at the boundary** — mock repositories in service tests, mock delegates in repository tests.
349
+ 4. **AAA pattern** — clearly separate arrange, act, assert with comments.
350
+ 5. **\`vi.mock()\` for modules must appear before imports** of the mocked module.
351
+ 6. **No real database in unit tests** — use mocks. Use Testcontainers for integration tests.
352
+ 7. **Assert on behavior, not implementation** — verify return values and thrown errors, not internal calls
353
+ (unless the call IS the behavior, e.g., verifying a repository was called).
354
+ 8. **Use \`mockResolvedValue\` / \`mockRejectedValue\`** for async mocks.
355
+ `;
356
+ //# sourceMappingURL=testingPattern.js.map
package/src/main.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/src/main.js ADDED
@@ -0,0 +1,226 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
6
+ const zod_1 = require("zod");
7
+ const DocsLoader_1 = require("./DocsLoader");
8
+ const configPattern_1 = require("./knowledge/configPattern");
9
+ const dtoPattern_1 = require("./knowledge/dtoPattern");
10
+ const errorHandlingPattern_1 = require("./knowledge/errorHandlingPattern");
11
+ const guardPattern_1 = require("./knowledge/guardPattern");
12
+ const mappingPattern_1 = require("./knowledge/mappingPattern");
13
+ const modulePattern_1 = require("./knowledge/modulePattern");
14
+ const queryPattern_1 = require("./knowledge/queryPattern");
15
+ const repositoryPattern_1 = require("./knowledge/repositoryPattern");
16
+ const testingPattern_1 = require("./knowledge/testingPattern");
17
+ // #region Fields
18
+ const SERVER_NAME = 'archipel-mcp';
19
+ const SERVER_VERSION = '0.0.1';
20
+ // #endregion
21
+ // #region Bootstrap
22
+ async function main() {
23
+ const docsLoader = new DocsLoader_1.DocsLoader();
24
+ docsLoader.load();
25
+ const server = new mcp_js_1.McpServer({
26
+ name: SERVER_NAME,
27
+ version: SERVER_VERSION,
28
+ });
29
+ registerTools(server, docsLoader);
30
+ const transport = new stdio_js_1.StdioServerTransport();
31
+ await server.connect(transport);
32
+ process.stderr.write(`[${SERVER_NAME}] Server running on stdio\n`);
33
+ }
34
+ // #endregion
35
+ // #region Tool Registration
36
+ function registerTools(server, docsLoader) {
37
+ // --- list-packages ---
38
+ server.tool('list-packages', 'Lists all available Archipel platform packages with their descriptions and tags.', {}, async () => {
39
+ const packages = Array.from(docsLoader.packages.values()).map((packageDoc) => ({
40
+ name: packageDoc.name,
41
+ package: packageDoc.packageScope,
42
+ description: packageDoc.description,
43
+ tags: packageDoc.tags,
44
+ }));
45
+ return {
46
+ content: [{ type: 'text', text: JSON.stringify(packages, null, 2) }],
47
+ };
48
+ });
49
+ // --- get-package-doc ---
50
+ server.tool('get-package-doc', 'Gets the full documentation (overview + API reference) for a specific Archipel platform package.', {
51
+ packageName: zod_1.z.string().describe('The package directory name (e.g. "platform-core", "platform-database").'),
52
+ }, async (params) => {
53
+ const packageDoc = docsLoader.packages.get(params.packageName);
54
+ if (!packageDoc) {
55
+ return {
56
+ content: [
57
+ {
58
+ type: 'text',
59
+ text: `Package "${params.packageName}" not found. Use the list-packages tool to see available packages.`,
60
+ },
61
+ ],
62
+ isError: true,
63
+ };
64
+ }
65
+ const sections = [
66
+ `# ${packageDoc.title}`,
67
+ '',
68
+ `> ${packageDoc.description}`,
69
+ '',
70
+ `**Package:** \`${packageDoc.packageScope}\``,
71
+ ];
72
+ if (packageDoc.tags.length > 0) {
73
+ sections.push(`**Tags:** ${packageDoc.tags.join(', ')}`);
74
+ }
75
+ sections.push('', packageDoc.content);
76
+ if (packageDoc.apiContent) {
77
+ sections.push('', '---', '', '## API Reference', '', packageDoc.apiContent);
78
+ }
79
+ return {
80
+ content: [{ type: 'text', text: sections.join('\n') }],
81
+ };
82
+ });
83
+ // --- search-docs ---
84
+ server.tool('search-docs', 'Searches across all Archipel platform documentation by keyword or phrase.', {
85
+ query: zod_1.z.string().describe('The search query to match against package names, descriptions, tags, and content.'),
86
+ }, async (params) => {
87
+ const results = docsLoader.search(params.query);
88
+ if (results.length === 0) {
89
+ return {
90
+ content: [{ type: 'text', text: `No documentation found matching: "${params.query}"` }],
91
+ };
92
+ }
93
+ const summary = results
94
+ .map((packageDoc) => [
95
+ `## ${packageDoc.title}`,
96
+ `**Package:** \`${packageDoc.packageScope}\``,
97
+ '',
98
+ packageDoc.description,
99
+ '',
100
+ packageDoc.content,
101
+ ].join('\n'))
102
+ .join('\n\n---\n\n');
103
+ return {
104
+ content: [
105
+ { type: 'text', text: `Found ${results.length} result(s) for "${params.query}":\n\n${summary}` },
106
+ ],
107
+ };
108
+ });
109
+ // --- get-query-pattern ---
110
+ server.tool('get-query-pattern', 'Returns the Archipel query pattern documentation — interfaces, factories, rules, and examples. Optionally tailored to a specific Prisma model.', {
111
+ modelName: zod_1.z
112
+ .string()
113
+ .optional()
114
+ .describe('Prisma model name (e.g. "User", "Order"). If provided, generates model-specific examples.'),
115
+ fields: zod_1.z
116
+ .array(zod_1.z.string())
117
+ .optional()
118
+ .describe('Field names of the model (e.g. ["id", "email", "name", "createdAt"]). Used with modelName for tailored examples.'),
119
+ }, async (params) => {
120
+ let content = queryPattern_1.QUERY_PATTERN_KNOWLEDGE;
121
+ if (params.modelName && params.fields && params.fields.length > 0) {
122
+ content += '\n\n' + (0, queryPattern_1.QUERY_PATTERN_WITH_MODEL)(params.modelName, params.fields);
123
+ }
124
+ return {
125
+ content: [{ type: 'text', text: content }],
126
+ };
127
+ });
128
+ // --- get-repository-pattern ---
129
+ server.tool('get-repository-pattern', 'Returns the Archipel repository class pattern — how to create a RepositoryBase subclass with correct generics, module registration, and service injection. Optionally tailored to a specific Prisma model.', {
130
+ modelName: zod_1.z
131
+ .string()
132
+ .optional()
133
+ .describe('Prisma model name (e.g. "User", "Order"). If provided, generates a complete repository scaffold.'),
134
+ fields: zod_1.z
135
+ .array(zod_1.z.string())
136
+ .optional()
137
+ .describe('Field names of the model (e.g. ["id", "email", "name", "createdAt"]). Used with modelName for tailored examples.'),
138
+ }, async (params) => {
139
+ let content = repositoryPattern_1.REPOSITORY_PATTERN_KNOWLEDGE;
140
+ if (params.modelName && params.fields && params.fields.length > 0) {
141
+ content += '\n\n' + (0, repositoryPattern_1.REPOSITORY_PATTERN_WITH_MODEL)(params.modelName, params.fields);
142
+ }
143
+ return {
144
+ content: [{ type: 'text', text: content }],
145
+ };
146
+ });
147
+ // --- get-mapping-pattern ---
148
+ server.tool('get-mapping-pattern', 'Returns the Archipel mapping pattern — branded type-safe mapping keys, MappingProfileBase, MappingService, and MappingModule registration. Optionally tailored to a specific entity and response class.', {
149
+ entityName: zod_1.z
150
+ .string()
151
+ .optional()
152
+ .describe('Entity name (e.g. "Product", "User"). If provided, generates tailored mapping scaffold.'),
153
+ fields: zod_1.z
154
+ .array(zod_1.z.string())
155
+ .optional()
156
+ .describe('Field names of the entity (e.g. ["id", "name", "barcode", "createdAt"]).'),
157
+ responseName: zod_1.z
158
+ .string()
159
+ .optional()
160
+ .describe('Response class name (e.g. "ProductResponse"). Defaults to "{entityName}Response".'),
161
+ }, async (params) => {
162
+ let content = mappingPattern_1.MAPPING_PATTERN_KNOWLEDGE;
163
+ if (params.entityName && params.fields && params.fields.length > 0) {
164
+ const responseName = params.responseName || `${params.entityName}Response`;
165
+ content += '\n\n' + (0, mappingPattern_1.MAPPING_PATTERN_WITH_CONTEXT)(params.entityName, params.fields, responseName);
166
+ }
167
+ return {
168
+ content: [{ type: 'text', text: content }],
169
+ };
170
+ });
171
+ // --- get-module-pattern ---
172
+ server.tool('get-module-pattern', 'Returns the Archipel NestJS dynamic module pattern — register(), port/adapter injection, ConfigModule integration. Optionally tailored with module name and port definitions.', {
173
+ moduleName: zod_1.z
174
+ .string()
175
+ .optional()
176
+ .describe('Module name (e.g. "NotificationModule"). If provided, generates a complete module scaffold.'),
177
+ ports: zod_1.z
178
+ .array(zod_1.z.string())
179
+ .optional()
180
+ .describe('Port class names (e.g. ["NotificationPort", "TemplatePort"]). Abstract port classes for dependency inversion.'),
181
+ }, async (params) => {
182
+ let content = modulePattern_1.MODULE_PATTERN_KNOWLEDGE;
183
+ if (params.moduleName && params.ports && params.ports.length > 0) {
184
+ content += '\n\n' + (0, modulePattern_1.MODULE_PATTERN_WITH_CONTEXT)(params.moduleName, params.ports);
185
+ }
186
+ return {
187
+ content: [{ type: 'text', text: content }],
188
+ };
189
+ });
190
+ // --- get-error-handling-pattern ---
191
+ server.tool('get-error-handling-pattern', 'Returns the Archipel error handling pattern — domain errors, RepositoryError, exception filters, and structured error response envelopes.', {}, async () => {
192
+ return {
193
+ content: [{ type: 'text', text: errorHandlingPattern_1.ERROR_HANDLING_PATTERN_KNOWLEDGE }],
194
+ };
195
+ });
196
+ // --- get-config-pattern ---
197
+ server.tool('get-config-pattern', 'Returns the Archipel configuration pattern — typed config keys (createConfigKey), ConfigRegistry, ConfigService, env.ts conventions, and ConfigModule integration.', {}, async () => {
198
+ return {
199
+ content: [{ type: 'text', text: configPattern_1.CONFIG_PATTERN_KNOWLEDGE }],
200
+ };
201
+ });
202
+ // --- get-guard-pattern ---
203
+ server.tool('get-guard-pattern', 'Returns the Archipel guard & interceptor pattern — metadata decorators, FeatureGuard, RolesGuard, FeatureUsageInterceptor, and the full decorator-guard-interceptor trio.', {}, async () => {
204
+ return {
205
+ content: [{ type: 'text', text: guardPattern_1.GUARD_PATTERN_KNOWLEDGE }],
206
+ };
207
+ });
208
+ // --- get-dto-pattern ---
209
+ server.tool('get-dto-pattern', 'Returns the Archipel DTO & validation pattern — Request/Response DTOs, class-validator decorators, cross-field validation, query parameter DTOs, OpenAPI integration, and naming conventions.', {}, async () => {
210
+ return {
211
+ content: [{ type: 'text', text: dtoPattern_1.DTO_PATTERN_KNOWLEDGE }],
212
+ };
213
+ });
214
+ // --- get-testing-pattern ---
215
+ server.tool('get-testing-pattern', 'Returns the Archipel testing pattern — Vitest conventions, mocking patterns for repositories/services/delegates, AAA structure, and test naming conventions.', {}, async () => {
216
+ return {
217
+ content: [{ type: 'text', text: testingPattern_1.TESTING_PATTERN_KNOWLEDGE }],
218
+ };
219
+ });
220
+ }
221
+ // #endregion
222
+ main().catch((error) => {
223
+ process.stderr.write(`[${SERVER_NAME}] Fatal error: ${String(error)}\n`);
224
+ process.exit(1);
225
+ });
226
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Describes a loaded package documentation entry.
3
+ */
4
+ export interface IPackageDoc {
5
+ /** Directory name (e.g. "platform-core"). */
6
+ readonly name: string;
7
+ /** Human-readable title from frontmatter. */
8
+ readonly title: string;
9
+ /** Short description from frontmatter. */
10
+ readonly description: string;
11
+ /** Tags from frontmatter. */
12
+ readonly tags: readonly string[];
13
+ /** Scoped npm package name (e.g. "@breadstone/archipel-platform-core"). */
14
+ readonly packageScope: string;
15
+ /** Markdown body of the hand-written docs (without frontmatter). */
16
+ readonly content: string;
17
+ /** Concatenated API reference markdown (from api/ subfolder). */
18
+ readonly apiContent: string;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPackageDoc.js.map