@akbarsafari00/bonyan-types 5.52.1-fa.4

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 (319) hide show
  1. package/LICENSE +37 -0
  2. package/README.md +9 -0
  3. package/dist/core/api.d.ts +3 -0
  4. package/dist/core/api.d.ts.map +1 -0
  5. package/dist/core/commands/index.d.ts +6 -0
  6. package/dist/core/commands/index.d.ts.map +1 -0
  7. package/dist/core/config/admin.d.ts +156 -0
  8. package/dist/core/config/admin.d.ts.map +1 -0
  9. package/dist/core/config/api.d.ts +38 -0
  10. package/dist/core/config/api.d.ts.map +1 -0
  11. package/dist/core/config/database.d.ts +78 -0
  12. package/dist/core/config/database.d.ts.map +1 -0
  13. package/dist/core/config/features.d.ts +14 -0
  14. package/dist/core/config/features.d.ts.map +1 -0
  15. package/dist/core/config/index.d.ts +11 -0
  16. package/dist/core/config/index.d.ts.map +1 -0
  17. package/dist/core/config/middlewares.d.ts +3 -0
  18. package/dist/core/config/middlewares.d.ts.map +1 -0
  19. package/dist/core/config/openapi.d.ts +35 -0
  20. package/dist/core/config/openapi.d.ts.map +1 -0
  21. package/dist/core/config/plugin.d.ts +8 -0
  22. package/dist/core/config/plugin.d.ts.map +1 -0
  23. package/dist/core/config/server.d.ts +102 -0
  24. package/dist/core/config/server.d.ts.map +1 -0
  25. package/dist/core/config/shared.d.ts +8 -0
  26. package/dist/core/config/shared.d.ts.map +1 -0
  27. package/dist/core/config/typescript.d.ts +10 -0
  28. package/dist/core/config/typescript.d.ts.map +1 -0
  29. package/dist/core/container.d.ts +5 -0
  30. package/dist/core/container.d.ts.map +1 -0
  31. package/dist/core/controller.d.ts +7 -0
  32. package/dist/core/controller.d.ts.map +1 -0
  33. package/dist/core/core-api/controller.d.ts +47 -0
  34. package/dist/core/core-api/controller.d.ts.map +1 -0
  35. package/dist/core/core-api/index.d.ts +4 -0
  36. package/dist/core/core-api/index.d.ts.map +1 -0
  37. package/dist/core/core-api/router.d.ts +64 -0
  38. package/dist/core/core-api/router.d.ts.map +1 -0
  39. package/dist/core/core-api/service.d.ts +69 -0
  40. package/dist/core/core-api/service.d.ts.map +1 -0
  41. package/dist/core/index.d.ts +15 -0
  42. package/dist/core/index.d.ts.map +1 -0
  43. package/dist/core/middleware.d.ts +15 -0
  44. package/dist/core/middleware.d.ts.map +1 -0
  45. package/dist/core/module.d.ts +26 -0
  46. package/dist/core/module.d.ts.map +1 -0
  47. package/dist/core/plugin.d.ts +6 -0
  48. package/dist/core/plugin.d.ts.map +1 -0
  49. package/dist/core/policy.d.ts +15 -0
  50. package/dist/core/policy.d.ts.map +1 -0
  51. package/dist/core/route.d.ts +54 -0
  52. package/dist/core/route.d.ts.map +1 -0
  53. package/dist/core/router.d.ts +15 -0
  54. package/dist/core/router.d.ts.map +1 -0
  55. package/dist/core/service.d.ts +4 -0
  56. package/dist/core/service.d.ts.map +1 -0
  57. package/dist/core/strapi.d.ts +162 -0
  58. package/dist/core/strapi.d.ts.map +1 -0
  59. package/dist/data/component.d.ts +21 -0
  60. package/dist/data/component.d.ts.map +1 -0
  61. package/dist/data/constants.d.ts +5 -0
  62. package/dist/data/constants.d.ts.map +1 -0
  63. package/dist/data/content-type.d.ts +26 -0
  64. package/dist/data/content-type.d.ts.map +1 -0
  65. package/dist/data/entity.d.ts +15 -0
  66. package/dist/data/entity.d.ts.map +1 -0
  67. package/dist/data/index.d.ts +5 -0
  68. package/dist/data/index.d.ts.map +1 -0
  69. package/dist/index.d.ts +20 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +3 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/index.mjs +2 -0
  74. package/dist/index.mjs.map +1 -0
  75. package/dist/internal/index.d.ts +13 -0
  76. package/dist/internal/index.d.ts.map +1 -0
  77. package/dist/internal/namespace.d.ts +78 -0
  78. package/dist/internal/namespace.d.ts.map +1 -0
  79. package/dist/internal/registry.d.ts +8 -0
  80. package/dist/internal/registry.d.ts.map +1 -0
  81. package/dist/internal/uid.d.ts +116 -0
  82. package/dist/internal/uid.d.ts.map +1 -0
  83. package/dist/modules/ai.d.ts +34 -0
  84. package/dist/modules/ai.d.ts.map +1 -0
  85. package/dist/modules/audit-logs.d.ts +6 -0
  86. package/dist/modules/audit-logs.d.ts.map +1 -0
  87. package/dist/modules/auth.d.ts +25 -0
  88. package/dist/modules/auth.d.ts.map +1 -0
  89. package/dist/modules/content-api.d.ts +92 -0
  90. package/dist/modules/content-api.d.ts.map +1 -0
  91. package/dist/modules/core-store.d.ts +28 -0
  92. package/dist/modules/core-store.d.ts.map +1 -0
  93. package/dist/modules/cron.d.ts +27 -0
  94. package/dist/modules/cron.d.ts.map +1 -0
  95. package/dist/modules/custom-fields.d.ts +25 -0
  96. package/dist/modules/custom-fields.d.ts.map +1 -0
  97. package/dist/modules/documents/component-extension.d.ts +73 -0
  98. package/dist/modules/documents/component-extension.d.ts.map +1 -0
  99. package/dist/modules/documents/draft-and-publish.d.ts +12 -0
  100. package/dist/modules/documents/draft-and-publish.d.ts.map +1 -0
  101. package/dist/modules/documents/index.d.ts +27 -0
  102. package/dist/modules/documents/index.d.ts.map +1 -0
  103. package/dist/modules/documents/middleware.d.ts +14 -0
  104. package/dist/modules/documents/middleware.d.ts.map +1 -0
  105. package/dist/modules/documents/params/attributes/id.d.ts +4 -0
  106. package/dist/modules/documents/params/attributes/id.d.ts.map +1 -0
  107. package/dist/modules/documents/params/attributes/index.d.ts +79 -0
  108. package/dist/modules/documents/params/attributes/index.d.ts.map +1 -0
  109. package/dist/modules/documents/params/attributes/relations.d.ts +40 -0
  110. package/dist/modules/documents/params/attributes/relations.d.ts.map +1 -0
  111. package/dist/modules/documents/params/data.d.ts +67 -0
  112. package/dist/modules/documents/params/data.d.ts.map +1 -0
  113. package/dist/modules/documents/params/document-engine.d.ts +34 -0
  114. package/dist/modules/documents/params/document-engine.d.ts.map +1 -0
  115. package/dist/modules/documents/params/fields.d.ts +61 -0
  116. package/dist/modules/documents/params/fields.d.ts.map +1 -0
  117. package/dist/modules/documents/params/filters/index.d.ts +61 -0
  118. package/dist/modules/documents/params/filters/index.d.ts.map +1 -0
  119. package/dist/modules/documents/params/filters/operators.d.ts +9 -0
  120. package/dist/modules/documents/params/filters/operators.d.ts.map +1 -0
  121. package/dist/modules/documents/params/index.d.ts +162 -0
  122. package/dist/modules/documents/params/index.d.ts.map +1 -0
  123. package/dist/modules/documents/params/locale.d.ts +4 -0
  124. package/dist/modules/documents/params/locale.d.ts.map +1 -0
  125. package/dist/modules/documents/params/pagination.d.ts +11 -0
  126. package/dist/modules/documents/params/pagination.d.ts.map +1 -0
  127. package/dist/modules/documents/params/populate.d.ts +86 -0
  128. package/dist/modules/documents/params/populate.d.ts.map +1 -0
  129. package/dist/modules/documents/params/search.d.ts +2 -0
  130. package/dist/modules/documents/params/search.d.ts.map +1 -0
  131. package/dist/modules/documents/params/sort.d.ts +87 -0
  132. package/dist/modules/documents/params/sort.d.ts.map +1 -0
  133. package/dist/modules/documents/params/status.d.ts +12 -0
  134. package/dist/modules/documents/params/status.d.ts.map +1 -0
  135. package/dist/modules/documents/plugin.d.ts +11 -0
  136. package/dist/modules/documents/plugin.d.ts.map +1 -0
  137. package/dist/modules/documents/result/document-engine.d.ts +34 -0
  138. package/dist/modules/documents/result/document-engine.d.ts.map +1 -0
  139. package/dist/modules/documents/result/index.d.ts +93 -0
  140. package/dist/modules/documents/result/index.d.ts.map +1 -0
  141. package/dist/modules/documents/service-instance.d.ts +96 -0
  142. package/dist/modules/documents/service-instance.d.ts.map +1 -0
  143. package/dist/modules/entity-service/index.d.ts +87 -0
  144. package/dist/modules/entity-service/index.d.ts.map +1 -0
  145. package/dist/modules/entity-service/params/attributes/id.d.ts +3 -0
  146. package/dist/modules/entity-service/params/attributes/id.d.ts.map +1 -0
  147. package/dist/modules/entity-service/params/attributes/index.d.ts +71 -0
  148. package/dist/modules/entity-service/params/attributes/index.d.ts.map +1 -0
  149. package/dist/modules/entity-service/params/attributes/literals.d.ts +8 -0
  150. package/dist/modules/entity-service/params/attributes/literals.d.ts.map +1 -0
  151. package/dist/modules/entity-service/params/attributes/relation.d.ts +40 -0
  152. package/dist/modules/entity-service/params/attributes/relation.d.ts.map +1 -0
  153. package/dist/modules/entity-service/params/attributes/utils.d.ts +9 -0
  154. package/dist/modules/entity-service/params/attributes/utils.d.ts.map +1 -0
  155. package/dist/modules/entity-service/params/data.d.ts +52 -0
  156. package/dist/modules/entity-service/params/data.d.ts.map +1 -0
  157. package/dist/modules/entity-service/params/fields.d.ts +61 -0
  158. package/dist/modules/entity-service/params/fields.d.ts.map +1 -0
  159. package/dist/modules/entity-service/params/filters/index.d.ts +96 -0
  160. package/dist/modules/entity-service/params/filters/index.d.ts.map +1 -0
  161. package/dist/modules/entity-service/params/filters/operators.d.ts +9 -0
  162. package/dist/modules/entity-service/params/filters/operators.d.ts.map +1 -0
  163. package/dist/modules/entity-service/params/index.d.ts +123 -0
  164. package/dist/modules/entity-service/params/index.d.ts.map +1 -0
  165. package/dist/modules/entity-service/params/pagination.d.ts +10 -0
  166. package/dist/modules/entity-service/params/pagination.d.ts.map +1 -0
  167. package/dist/modules/entity-service/params/populate.d.ts +69 -0
  168. package/dist/modules/entity-service/params/populate.d.ts.map +1 -0
  169. package/dist/modules/entity-service/params/search.d.ts +2 -0
  170. package/dist/modules/entity-service/params/search.d.ts.map +1 -0
  171. package/dist/modules/entity-service/params/sort.d.ts +95 -0
  172. package/dist/modules/entity-service/params/sort.d.ts.map +1 -0
  173. package/dist/modules/entity-service/plugin.d.ts +11 -0
  174. package/dist/modules/entity-service/plugin.d.ts.map +1 -0
  175. package/dist/modules/entity-service/result.d.ts +78 -0
  176. package/dist/modules/entity-service/result.d.ts.map +1 -0
  177. package/dist/modules/entity-validator.d.ts +21 -0
  178. package/dist/modules/entity-validator.d.ts.map +1 -0
  179. package/dist/modules/event-hub.d.ts +16 -0
  180. package/dist/modules/event-hub.d.ts.map +1 -0
  181. package/dist/modules/features.d.ts +12 -0
  182. package/dist/modules/features.d.ts.map +1 -0
  183. package/dist/modules/fetch.d.ts +11 -0
  184. package/dist/modules/fetch.d.ts.map +1 -0
  185. package/dist/modules/index.d.ts +24 -0
  186. package/dist/modules/index.d.ts.map +1 -0
  187. package/dist/modules/mcp.d.ts +216 -0
  188. package/dist/modules/mcp.d.ts.map +1 -0
  189. package/dist/modules/metrics.d.ts +8 -0
  190. package/dist/modules/metrics.d.ts.map +1 -0
  191. package/dist/modules/permissions.d.ts +14 -0
  192. package/dist/modules/permissions.d.ts.map +1 -0
  193. package/dist/modules/request-context.d.ts +6 -0
  194. package/dist/modules/request-context.d.ts.map +1 -0
  195. package/dist/modules/sanitizers.d.ts +8 -0
  196. package/dist/modules/sanitizers.d.ts.map +1 -0
  197. package/dist/modules/server.d.ts +29 -0
  198. package/dist/modules/server.d.ts.map +1 -0
  199. package/dist/modules/session-manager.d.ts +70 -0
  200. package/dist/modules/session-manager.d.ts.map +1 -0
  201. package/dist/modules/validators.d.ts +8 -0
  202. package/dist/modules/validators.d.ts.map +1 -0
  203. package/dist/modules/webhook-runner.d.ts +19 -0
  204. package/dist/modules/webhook-runner.d.ts.map +1 -0
  205. package/dist/modules/webhook-store.d.ts +21 -0
  206. package/dist/modules/webhook-store.d.ts.map +1 -0
  207. package/dist/plugin/config/index.d.ts +3 -0
  208. package/dist/plugin/config/index.d.ts.map +1 -0
  209. package/dist/plugin/config/strapi-admin/index.d.ts +8 -0
  210. package/dist/plugin/config/strapi-admin/index.d.ts.map +1 -0
  211. package/dist/plugin/config/strapi-server/config.d.ts +8 -0
  212. package/dist/plugin/config/strapi-server/config.d.ts.map +1 -0
  213. package/dist/plugin/config/strapi-server/content-types.d.ts +11 -0
  214. package/dist/plugin/config/strapi-server/content-types.d.ts.map +1 -0
  215. package/dist/plugin/config/strapi-server/controllers.d.ts +8 -0
  216. package/dist/plugin/config/strapi-server/controllers.d.ts.map +1 -0
  217. package/dist/plugin/config/strapi-server/index.d.ts +21 -0
  218. package/dist/plugin/config/strapi-server/index.d.ts.map +1 -0
  219. package/dist/plugin/config/strapi-server/lifecycle.d.ts +8 -0
  220. package/dist/plugin/config/strapi-server/lifecycle.d.ts.map +1 -0
  221. package/dist/plugin/config/strapi-server/routes.d.ts +11 -0
  222. package/dist/plugin/config/strapi-server/routes.d.ts.map +1 -0
  223. package/dist/plugin/index.d.ts +40 -0
  224. package/dist/plugin/index.d.ts.map +1 -0
  225. package/dist/public/index.d.ts +6 -0
  226. package/dist/public/index.d.ts.map +1 -0
  227. package/dist/public/registries.d.ts +68 -0
  228. package/dist/public/registries.d.ts.map +1 -0
  229. package/dist/public/shared.d.ts +61 -0
  230. package/dist/public/shared.d.ts.map +1 -0
  231. package/dist/schema/attribute/base.d.ts +92 -0
  232. package/dist/schema/attribute/base.d.ts.map +1 -0
  233. package/dist/schema/attribute/common.d.ts +29 -0
  234. package/dist/schema/attribute/common.d.ts.map +1 -0
  235. package/dist/schema/attribute/constants.d.ts +12 -0
  236. package/dist/schema/attribute/constants.d.ts.map +1 -0
  237. package/dist/schema/attribute/definitions/biginteger.d.ts +19 -0
  238. package/dist/schema/attribute/definitions/biginteger.d.ts.map +1 -0
  239. package/dist/schema/attribute/definitions/blocks.d.ts +80 -0
  240. package/dist/schema/attribute/definitions/blocks.d.ts.map +1 -0
  241. package/dist/schema/attribute/definitions/boolean.d.ts +19 -0
  242. package/dist/schema/attribute/definitions/boolean.d.ts.map +1 -0
  243. package/dist/schema/attribute/definitions/component.d.ts +25 -0
  244. package/dist/schema/attribute/definitions/component.d.ts.map +1 -0
  245. package/dist/schema/attribute/definitions/date-time.d.ts +18 -0
  246. package/dist/schema/attribute/definitions/date-time.d.ts.map +1 -0
  247. package/dist/schema/attribute/definitions/date.d.ts +18 -0
  248. package/dist/schema/attribute/definitions/date.d.ts.map +1 -0
  249. package/dist/schema/attribute/definitions/decimal.d.ts +19 -0
  250. package/dist/schema/attribute/definitions/decimal.d.ts.map +1 -0
  251. package/dist/schema/attribute/definitions/dynamic-zone.d.ts +25 -0
  252. package/dist/schema/attribute/definitions/dynamic-zone.d.ts.map +1 -0
  253. package/dist/schema/attribute/definitions/email.d.ts +19 -0
  254. package/dist/schema/attribute/definitions/email.d.ts.map +1 -0
  255. package/dist/schema/attribute/definitions/enumeration.d.ts +22 -0
  256. package/dist/schema/attribute/definitions/enumeration.d.ts.map +1 -0
  257. package/dist/schema/attribute/definitions/float.d.ts +19 -0
  258. package/dist/schema/attribute/definitions/float.d.ts.map +1 -0
  259. package/dist/schema/attribute/definitions/index.d.ts +23 -0
  260. package/dist/schema/attribute/definitions/index.d.ts.map +1 -0
  261. package/dist/schema/attribute/definitions/integer.d.ts +19 -0
  262. package/dist/schema/attribute/definitions/integer.d.ts.map +1 -0
  263. package/dist/schema/attribute/definitions/json.d.ts +17 -0
  264. package/dist/schema/attribute/definitions/json.d.ts.map +1 -0
  265. package/dist/schema/attribute/definitions/media.d.ts +24 -0
  266. package/dist/schema/attribute/definitions/media.d.ts.map +1 -0
  267. package/dist/schema/attribute/definitions/password.d.ts +18 -0
  268. package/dist/schema/attribute/definitions/password.d.ts.map +1 -0
  269. package/dist/schema/attribute/definitions/relation.d.ts +167 -0
  270. package/dist/schema/attribute/definitions/relation.d.ts.map +1 -0
  271. package/dist/schema/attribute/definitions/richtext.d.ts +18 -0
  272. package/dist/schema/attribute/definitions/richtext.d.ts.map +1 -0
  273. package/dist/schema/attribute/definitions/string.d.ts +28 -0
  274. package/dist/schema/attribute/definitions/string.d.ts.map +1 -0
  275. package/dist/schema/attribute/definitions/text.d.ts +23 -0
  276. package/dist/schema/attribute/definitions/text.d.ts.map +1 -0
  277. package/dist/schema/attribute/definitions/time.d.ts +18 -0
  278. package/dist/schema/attribute/definitions/time.d.ts.map +1 -0
  279. package/dist/schema/attribute/definitions/timestamp.d.ts +18 -0
  280. package/dist/schema/attribute/definitions/timestamp.d.ts.map +1 -0
  281. package/dist/schema/attribute/definitions/uid.d.ts +31 -0
  282. package/dist/schema/attribute/definitions/uid.d.ts.map +1 -0
  283. package/dist/schema/attribute/index.d.ts +7 -0
  284. package/dist/schema/attribute/index.d.ts.map +1 -0
  285. package/dist/schema/attribute/options.d.ts +221 -0
  286. package/dist/schema/attribute/options.d.ts.map +1 -0
  287. package/dist/schema/attribute/utils.d.ts +101 -0
  288. package/dist/schema/attribute/utils.d.ts.map +1 -0
  289. package/dist/schema/index.d.ts +144 -0
  290. package/dist/schema/index.d.ts.map +1 -0
  291. package/dist/struct/index.d.ts +3 -0
  292. package/dist/struct/index.d.ts.map +1 -0
  293. package/dist/struct/schema-definition.d.ts +10 -0
  294. package/dist/struct/schema-definition.d.ts.map +1 -0
  295. package/dist/struct/schema.d.ts +286 -0
  296. package/dist/struct/schema.d.ts.map +1 -0
  297. package/dist/uid/index.d.ts +168 -0
  298. package/dist/uid/index.d.ts.map +1 -0
  299. package/dist/utils/array.d.ts +80 -0
  300. package/dist/utils/array.d.ts.map +1 -0
  301. package/dist/utils/constants.d.ts +67 -0
  302. package/dist/utils/constants.d.ts.map +1 -0
  303. package/dist/utils/expression.d.ts +490 -0
  304. package/dist/utils/expression.d.ts.map +1 -0
  305. package/dist/utils/function.d.ts +21 -0
  306. package/dist/utils/function.d.ts.map +1 -0
  307. package/dist/utils/guard.d.ts +90 -0
  308. package/dist/utils/guard.d.ts.map +1 -0
  309. package/dist/utils/index.d.ts +236 -0
  310. package/dist/utils/index.d.ts.map +1 -0
  311. package/dist/utils/json.d.ts +119 -0
  312. package/dist/utils/json.d.ts.map +1 -0
  313. package/dist/utils/object.d.ts +180 -0
  314. package/dist/utils/object.d.ts.map +1 -0
  315. package/dist/utils/string.d.ts +190 -0
  316. package/dist/utils/string.d.ts.map +1 -0
  317. package/dist/utils/tuple.d.ts +19 -0
  318. package/dist/utils/tuple.d.ts.map +1 -0
  319. package/package.json +68 -0
@@ -0,0 +1,216 @@
1
+ import type { Ability } from '@casl/ability';
2
+ import { z } from '@strapi/utils';
3
+ import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
4
+ import type { ServerNotification, ServerRequest, ContentBlock, GetPromptResult, ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
5
+ import type { ResourceMetadata } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ import type * as Core from '../core';
7
+ /** A single CASL permission check: action + optional subject. */
8
+ export type McpAuthPolicy = {
9
+ action: string;
10
+ subject?: string;
11
+ };
12
+ /**
13
+ * Auth requirement for a non-dev MCP capability.
14
+ * The session gate passes when the user's ability satisfies ANY policy in the array.
15
+ */
16
+ export type McpCapabilityAuth = {
17
+ policies: [McpAuthPolicy, ...McpAuthPolicy[]];
18
+ };
19
+ /**
20
+ * Per-request context injected into MCP tool handler factories.
21
+ * Carries the authenticated session's ability so handlers can enforce
22
+ * field-level and entity-level permission checks identical to HTTP controllers.
23
+ * Also carries the token owner's user so write handlers can call setCreatorFields.
24
+ */
25
+ export type McpHandlerContext = {
26
+ userAbility: Ability;
27
+ user: {
28
+ id: string | number;
29
+ };
30
+ };
31
+ /** Access variant for dev-mode-only capabilities (no auth policies). */
32
+ export type McpDevModeAccess = {
33
+ devModeOnly: true;
34
+ auth?: never;
35
+ };
36
+ /** Access variant for capabilities gated by CASL auth policies. */
37
+ export type McpAuthAccess = {
38
+ devModeOnly?: never;
39
+ auth: McpCapabilityAuth;
40
+ };
41
+ export type McpCapabilityAccess = McpDevModeAccess | McpAuthAccess;
42
+ export type McpCapabilityTelemetry = {
43
+ source?: string;
44
+ /** Sanitized name override — replaces raw capability name in analytics */
45
+ name?: string;
46
+ };
47
+ /**
48
+ * Base definition for Strapi MCP capabilities
49
+ */
50
+ export type McpCapabilityDefinition<Name extends string = string> = {
51
+ name: Name;
52
+ telemetry?: McpCapabilityTelemetry;
53
+ } & McpCapabilityAccess;
54
+ /**
55
+ * Handler function for Strapi MCP tools.
56
+ * Receives a single object parameter `{ args, extra }`.
57
+ * When InputSchema is a ZodObject, `args` is typed as its inferred shape.
58
+ * When InputSchema is undefined, `args` is `never` (omit it in destructuring).
59
+ */
60
+ export type McpToolHandler<InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>> = (params: {
61
+ extra: RequestHandlerExtra<ServerRequest, ServerNotification>;
62
+ } & (InputSchema extends z.ZodObject<z.ZodRawShape> ? {
63
+ args: z.infer<InputSchema>;
64
+ } : {
65
+ args?: never;
66
+ })) => Promise<McpToolHandlerReturn<OutputSchema>>;
67
+ /**
68
+ * Return type for Strapi MCP tool handlers.
69
+ */
70
+ export type McpToolHandlerReturn<OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>> = {
71
+ content: ContentBlock[];
72
+ structuredContent?: never;
73
+ isError: true;
74
+ } | {
75
+ content: ContentBlock[];
76
+ structuredContent: z.infer<OutputSchema>;
77
+ isError?: never;
78
+ };
79
+ export type McpToolSchemaResolver<Schema> = (context: McpHandlerContext) => Schema;
80
+ /**
81
+ * Access-agnostic fields of a Strapi MCP tool definition.
82
+ * Shared by the `defineTool` builder ({@link McpToolBuilder}) and
83
+ * `McpService.registerTool`, then intersected with an access variant
84
+ * ({@link McpDevModeAccess} or {@link McpAuthAccess}).
85
+ */
86
+ export type McpToolDefinitionFields<Name extends string = string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>, Title extends string = string, Description extends string = string> = {
87
+ name: Name;
88
+ title: Title;
89
+ description: Description;
90
+ telemetry?: McpCapabilityTelemetry;
91
+ resolveInputSchema?: McpToolSchemaResolver<InputSchema>;
92
+ resolveOutputSchema: McpToolSchemaResolver<OutputSchema>;
93
+ createHandler: (strapi: Core.Strapi, context: McpHandlerContext) => McpToolHandler<NoInfer<InputSchema>, NoInfer<OutputSchema>>;
94
+ };
95
+ /**
96
+ * Definition for Strapi MCP tools
97
+ */
98
+ export type McpToolDefinition<Name extends string = string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>, Title extends string = string, Description extends string = string> = McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpCapabilityAccess;
99
+ /**
100
+ * Builder for Strapi MCP tool definitions, exposed publicly as `ai.mcp.defineTool`.
101
+ * Identity at runtime — its only job is to infer and narrow the access variant
102
+ * (`devModeOnly` vs `auth`) so the result is directly assignable to
103
+ * {@link McpService.registerTool}.
104
+ */
105
+ export interface McpToolBuilder {
106
+ <Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpDevModeAccess): McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpDevModeAccess;
107
+ <Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpAuthAccess): McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpAuthAccess;
108
+ }
109
+ /**
110
+ * Callback function for Strapi MCP prompts
111
+ */
112
+ export type McpPromptCallback<ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined> = ArgsSchema extends z.ZodTypeAny ? (args: z.infer<ArgsSchema>, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => Promise<GetPromptResult> : (extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => Promise<GetPromptResult>;
113
+ /**
114
+ * Access-agnostic fields of a Strapi MCP prompt definition.
115
+ * Shared by the `definePrompt` builder ({@link McpPromptBuilder}) and
116
+ * `McpService.registerPrompt`, then intersected with an access variant.
117
+ */
118
+ export type McpPromptDefinitionFields<Name extends string = string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, Title extends string = string, Description extends string = string> = {
119
+ name: Name;
120
+ title: Title;
121
+ description: Description;
122
+ argsSchema?: ArgsSchema;
123
+ telemetry?: McpCapabilityTelemetry;
124
+ createHandler: (strapi: Core.Strapi) => McpPromptCallback<ArgsSchema>;
125
+ };
126
+ /**
127
+ * Definition for Strapi MCP prompts
128
+ */
129
+ export type McpPromptDefinition<Name extends string = string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, Title extends string = string, Description extends string = string> = McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpCapabilityAccess;
130
+ /**
131
+ * Builder for Strapi MCP prompt definitions, exposed publicly as `ai.mcp.definePrompt`.
132
+ * Identity at runtime — narrows the access variant for {@link McpService.registerPrompt}.
133
+ */
134
+ export interface McpPromptBuilder {
135
+ <Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpDevModeAccess): McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpDevModeAccess;
136
+ <Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpAuthAccess): McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpAuthAccess;
137
+ }
138
+ /**
139
+ * Callback function for Strapi MCP resources
140
+ */
141
+ export type McpResourceCallback = (uri: URL, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => Promise<ReadResourceResult>;
142
+ /**
143
+ * Access-agnostic fields of a Strapi MCP resource definition.
144
+ * Shared by the `defineResource` builder ({@link McpResourceBuilder}) and
145
+ * `McpService.registerResource`, then intersected with an access variant.
146
+ */
147
+ export type McpResourceDefinitionFields<Name extends string = string> = {
148
+ name: Name;
149
+ uri: string;
150
+ metadata: ResourceMetadata;
151
+ telemetry?: McpCapabilityTelemetry;
152
+ createHandler: (strapi: Core.Strapi) => McpResourceCallback;
153
+ };
154
+ /**
155
+ * Definition for Strapi MCP resources
156
+ */
157
+ export type McpResourceDefinition<Name extends string = string> = McpResourceDefinitionFields<Name> & McpCapabilityAccess;
158
+ /**
159
+ * Builder for Strapi MCP resource definitions, exposed publicly as `ai.mcp.defineResource`.
160
+ * Identity at runtime — narrows the access variant for {@link McpService.registerResource}.
161
+ */
162
+ export interface McpResourceBuilder {
163
+ <Name extends string>(resource: McpResourceDefinitionFields<Name> & McpDevModeAccess): McpResourceDefinitionFields<Name> & McpDevModeAccess;
164
+ <Name extends string>(resource: McpResourceDefinitionFields<Name> & McpAuthAccess): McpResourceDefinitionFields<Name> & McpAuthAccess;
165
+ }
166
+ export type McpServiceStatus = 'idle' | 'starting' | 'running' | 'stopping' | 'error';
167
+ /**
168
+ * Service providing Model Context Protocol (MCP) capabilities.
169
+ * Available on strapi.ai.mcp.
170
+ *
171
+ * Call `registerTool`, `registerPrompt`, and `registerResource` only during
172
+ * Strapi's register phase. The MCP HTTP server starts during bootstrap.
173
+ */
174
+ export interface McpService {
175
+ /**
176
+ * Check if the MCP service is enabled in configuration
177
+ */
178
+ isEnabled(): boolean;
179
+ /**
180
+ * Check if the MCP server is currently running
181
+ */
182
+ isRunning(): boolean;
183
+ /**
184
+ * Register a single MCP tool.
185
+ * Must be called while strapi.ai.mcp is idle, before strapi.ai.mcp.start() runs.
186
+ * In Strapi's load lifecycle, call only from the register phase (plugin register() or app register()).
187
+ * @throws Error if called after the MCP server has started
188
+ */
189
+ registerTool<Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpDevModeAccess): void;
190
+ registerTool<Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpAuthAccess): void;
191
+ /**
192
+ * Register a single MCP prompt.
193
+ * Must be called while strapi.ai.mcp is idle, before strapi.ai.mcp.start() runs.
194
+ * In Strapi's load lifecycle, call only from the register phase (plugin register() or app register()).
195
+ * @throws Error if called after the MCP server has started
196
+ */
197
+ registerPrompt<Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpDevModeAccess): void;
198
+ registerPrompt<Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpAuthAccess): void;
199
+ /**
200
+ * Register a single MCP resource.
201
+ * Must be called while strapi.ai.mcp is idle, before strapi.ai.mcp.start() runs.
202
+ * In Strapi's load lifecycle, call only from the register phase (plugin register() or app register()).
203
+ * @throws Error if called after the MCP server has started
204
+ */
205
+ registerResource<Name extends string>(resource: McpResourceDefinitionFields<Name> & McpDevModeAccess): void;
206
+ registerResource<Name extends string>(resource: McpResourceDefinitionFields<Name> & McpAuthAccess): void;
207
+ /**
208
+ * Start the MCP server
209
+ */
210
+ start(): Promise<void>;
211
+ /**
212
+ * Stop the MCP server
213
+ */
214
+ stop(): Promise<void>;
215
+ }
216
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/modules/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface TelemetryService {
2
+ isDisabled: boolean;
3
+ register(): void;
4
+ bootstrap(): void;
5
+ destroy(): void;
6
+ send(event: string, payload?: Record<string, unknown>): Promise<boolean>;
7
+ }
8
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/modules/metrics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,IAAI,IAAI,CAAC;IACjB,SAAS,IAAI,IAAI,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E"}
@@ -0,0 +1,14 @@
1
+ import type { Subject } from '@casl/ability';
2
+ export interface ParametrizedAction {
3
+ name: string;
4
+ params: Record<string, unknown>;
5
+ }
6
+ export interface PermissionRule {
7
+ action: string | ParametrizedAction;
8
+ subject?: Subject | null;
9
+ properties?: {
10
+ fields?: string[];
11
+ };
12
+ condition?: Record<string, unknown>;
13
+ }
14
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/modules/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AACD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC"}
@@ -0,0 +1,6 @@
1
+ import type { ParameterizedContext } from 'koa';
2
+ export interface RequestContext {
3
+ get(): ParameterizedContext | undefined;
4
+ run(store: ParameterizedContext, cb: () => Promise<void>): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=request-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/modules/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,GAAG,IAAI,oBAAoB,GAAG,SAAS,CAAC;IACxC,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E"}
@@ -0,0 +1,8 @@
1
+ import type { sanitize } from '@strapi/utils';
2
+ export interface SanitizersRegistry {
3
+ get(path: string): sanitize.Sanitizer[];
4
+ add(path: string, sanitizer: sanitize.Sanitizer): this;
5
+ set(path: string, value?: sanitize.Sanitizer[]): this;
6
+ has(path: string): boolean;
7
+ }
8
+ //# sourceMappingURL=sanitizers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/modules/sanitizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IACvD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IACtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,29 @@
1
+ import type * as http from 'http';
2
+ import type Router from '@koa/router';
3
+ import type Koa from 'koa';
4
+ import type * as Core from '../core';
5
+ export interface HTTPServer extends http.Server {
6
+ destroy: () => Promise<void>;
7
+ }
8
+ export interface API {
9
+ listRoutes(): Router.Layer[];
10
+ use(fn: Router.Middleware): API;
11
+ routes(routes: Core.Router | Omit<Core.Route, 'info'>[]): this;
12
+ mount(router: Router): this;
13
+ }
14
+ export interface Server {
15
+ app: Koa;
16
+ router: Router;
17
+ httpServer: HTTPServer;
18
+ api(name: 'content-api'): API;
19
+ api(name: 'admin'): API;
20
+ use(...args: Parameters<Koa['use']>): Server;
21
+ routes(routes: Core.Router | Omit<Core.Route, 'info'>[]): this;
22
+ mount(): this;
23
+ initRouting(): this;
24
+ initMiddlewares(): Promise<this>;
25
+ listRoutes(): Router.Layer[];
26
+ listen: HTTPServer['listen'];
27
+ destroy(): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/modules/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,KAAK,IAAI,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,MAAM;IAC7C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,GAAG;IAClB,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;IAChC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAC;IAC9B,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC;IACxB,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAC/D,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,IAAI,IAAI,CAAC;IACpB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
@@ -0,0 +1,70 @@
1
+ export type ValidateRefreshTokenResult = {
2
+ isValid: true;
3
+ userId: string;
4
+ sessionId: string;
5
+ } | {
6
+ isValid: false;
7
+ };
8
+ export interface SessionEntry {
9
+ id?: string;
10
+ userId: string;
11
+ sessionId: string;
12
+ deviceId?: string;
13
+ origin: string;
14
+ childId?: string | null;
15
+ type?: 'refresh' | 'session';
16
+ status?: 'active' | 'rotated' | 'revoked';
17
+ metadata?: Record<string, unknown> | null;
18
+ expiresAt: Date;
19
+ absoluteExpiresAt?: Date | null;
20
+ createdAt?: Date;
21
+ updatedAt?: Date;
22
+ }
23
+ export interface OriginSessionManagerService {
24
+ generateRefreshToken(userId: string, deviceId: string | undefined, options?: {
25
+ type?: 'refresh' | 'session';
26
+ metadata?: Record<string, unknown>;
27
+ }): Promise<{
28
+ token: string;
29
+ sessionId: string;
30
+ absoluteExpiresAt: string;
31
+ }>;
32
+ generateAccessToken(refreshToken: string): Promise<{
33
+ token: string;
34
+ } | {
35
+ error: string;
36
+ }>;
37
+ rotateRefreshToken(refreshToken: string): Promise<{
38
+ token: string;
39
+ sessionId: string;
40
+ absoluteExpiresAt: string;
41
+ type: 'refresh' | 'session';
42
+ } | {
43
+ error: string;
44
+ }>;
45
+ validateAccessToken(token: string): {
46
+ isValid: true;
47
+ payload: {
48
+ userId: string;
49
+ sessionId: string;
50
+ type: 'access';
51
+ exp: number;
52
+ iat: number;
53
+ };
54
+ } | {
55
+ isValid: false;
56
+ payload: null;
57
+ };
58
+ validateRefreshToken(token: string): Promise<ValidateRefreshTokenResult>;
59
+ invalidateRefreshToken(userId: string, deviceId?: string): Promise<void>;
60
+ listSessions(userId: string): Promise<SessionEntry[]>;
61
+ revokeSessionById(userId: string, sessionId: string): Promise<boolean>;
62
+ isSessionActive(sessionId: string): Promise<boolean>;
63
+ }
64
+ export interface SessionManagerService {
65
+ generateSessionId(): string;
66
+ defineOrigin(origin: string, config: any): void;
67
+ hasOrigin(origin: string): boolean;
68
+ (origin: string): OriginSessionManagerService;
69
+ }
70
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/modules/session-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { validate } from '@strapi/utils';
2
+ export interface ValidatorsRegistry {
3
+ get(path: string): validate.Validator[];
4
+ add(path: string, validator: validate.Validator): this;
5
+ set(path: string, value?: validate.Validator[]): this;
6
+ has(path: string): boolean;
7
+ }
8
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/modules/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IACvD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IACtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,19 @@
1
+ import type { Webhook } from './webhook-store';
2
+ interface Event {
3
+ event: string;
4
+ info: Record<string, unknown>;
5
+ }
6
+ export interface WebhookRunner {
7
+ deleteListener(event: string): void;
8
+ createListener(event: string): void;
9
+ executeListener({ event, info }: Event): Promise<void>;
10
+ run(webhook: Webhook, event: string, info?: Record<string, unknown>): Promise<{
11
+ statusCode: number;
12
+ message?: string;
13
+ }>;
14
+ add(webhook: Webhook): void;
15
+ update(webhook: Webhook): void;
16
+ remove(webhook: Webhook): void;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=webhook-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-runner.d.ts","sourceRoot":"","sources":["../../src/modules/webhook-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AACD,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,GAAG,CACD,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC"}
@@ -0,0 +1,21 @@
1
+ export interface Webhook {
2
+ id: string;
3
+ name: string;
4
+ url: string;
5
+ headers: Record<string, string>;
6
+ events: string[];
7
+ isEnabled: boolean;
8
+ }
9
+ export interface WebhookStore {
10
+ allowedEvents: Map<string, string>;
11
+ addAllowedEvent(key: string, value: string): void;
12
+ removeAllowedEvent(key: string): void;
13
+ listAllowedEvents(): string[];
14
+ getAllowedEvent(key: string): string | undefined;
15
+ findWebhooks(): Promise<Webhook[]>;
16
+ findWebhook(id: string): Promise<Webhook | null>;
17
+ createWebhook(data: Webhook): Promise<Webhook>;
18
+ updateWebhook(id: string, data: Webhook): Promise<Webhook | null>;
19
+ deleteWebhook(id: string): Promise<Webhook | null>;
20
+ }
21
+ //# sourceMappingURL=webhook-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-store.d.ts","sourceRoot":"","sources":["../../src/modules/webhook-store.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,IAAI,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAClE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACpD"}
@@ -0,0 +1,3 @@
1
+ export type * from './strapi-admin';
2
+ export type * from './strapi-server';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/config/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,iBAAiB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface AdminInput {
2
+ register: unknown;
3
+ bootstrap?: unknown;
4
+ registerTrads: ({ locales }: {
5
+ locales: string[];
6
+ }) => Promise<unknown>;
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-admin/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzE"}
@@ -0,0 +1,8 @@
1
+ import { env } from '@strapi/utils';
2
+ export interface Config {
3
+ validator: (config: Record<string, unknown>) => void;
4
+ default: Record<string, unknown> | ((opts: {
5
+ env: typeof env;
6
+ }) => Record<string, unknown>);
7
+ }
8
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,OAAO,GAAG,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC7F"}
@@ -0,0 +1,11 @@
1
+ import type { SchemaDefinition } from '../../../struct';
2
+ export interface ContentTypes {
3
+ /**
4
+ * Only the schema property is used and available
5
+ * See loader in packages/core/strapi/src/core/loaders/plugins/index.ts
6
+ * */
7
+ [key: string]: {
8
+ schema: SchemaDefinition;
9
+ };
10
+ }
11
+ //# sourceMappingURL=content-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/content-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B;;;UAGM;IACN,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAC7C"}
@@ -0,0 +1,8 @@
1
+ import type * as Core from '../../../core';
2
+ export type Controller = ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => Core.Controller;
5
+ export interface Controllers {
6
+ [key: string]: Controller;
7
+ }
8
+ //# sourceMappingURL=controllers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/controllers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,eAAe,CAAC;AAG3C,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC,UAAU,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B"}
@@ -0,0 +1,21 @@
1
+ import type { Config } from './config';
2
+ import type { Routes } from './routes';
3
+ import type { ContentTypes } from './content-types';
4
+ import type { Controllers } from './controllers';
5
+ import type { Register, Bootstrap, Destroy } from './lifecycle';
6
+ export interface ServerObject {
7
+ register: Register;
8
+ bootstrap: Bootstrap;
9
+ destroy: Destroy;
10
+ config: Config;
11
+ routes: Routes;
12
+ contentTypes: ContentTypes;
13
+ controllers: Controllers;
14
+ registerTrads: unknown;
15
+ services: unknown;
16
+ policies: unknown;
17
+ middlewares: unknown;
18
+ }
19
+ export type ServerFunction = () => ServerObject;
20
+ export type ServerInput = ServerObject | ServerFunction;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGhE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IAEzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Strapi } from '../../../core';
2
+ export type LifecycleMethod = ({ strapi }: {
3
+ strapi: Strapi;
4
+ }) => Promise<unknown> | unknown;
5
+ export type Register = LifecycleMethod;
6
+ export type Bootstrap = LifecycleMethod;
7
+ export type Destroy = LifecycleMethod;
8
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAE7F,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC;AACvC,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AACxC,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { RouterType, RouteInput } from '../../../core';
2
+ export type ArrayNotation = RouteInput[];
3
+ export interface ObjectNotation {
4
+ routes: RouteInput[];
5
+ type?: RouterType;
6
+ }
7
+ export interface NamedRoutes {
8
+ [key: string]: ObjectNotation;
9
+ }
10
+ export type Routes = ArrayNotation | NamedRoutes;
11
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CAC/B;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC"}