@strapi/core 5.46.1 → 5.47.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 (232) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +12 -3
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +12 -3
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.d.ts.map +1 -1
  7. package/dist/compile.js +12 -5
  8. package/dist/compile.js.map +1 -1
  9. package/dist/compile.mjs +12 -5
  10. package/dist/compile.mjs.map +1 -1
  11. package/dist/core-api/routes/index.js +2 -0
  12. package/dist/core-api/routes/index.js.map +1 -1
  13. package/dist/core-api/routes/index.mjs +2 -0
  14. package/dist/core-api/routes/index.mjs.map +1 -1
  15. package/dist/core-api/routes/validation/content-type.d.ts +13 -1
  16. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -1
  17. package/dist/core-api/routes/validation/content-type.js +15 -2
  18. package/dist/core-api/routes/validation/content-type.js.map +1 -1
  19. package/dist/core-api/routes/validation/content-type.mjs +15 -2
  20. package/dist/core-api/routes/validation/content-type.mjs.map +1 -1
  21. package/dist/middlewares/session.d.ts +2 -2
  22. package/dist/middlewares/session.d.ts.map +1 -1
  23. package/dist/middlewares/session.js +1 -1
  24. package/dist/middlewares/session.js.map +1 -1
  25. package/dist/middlewares/session.mjs +2 -2
  26. package/dist/middlewares/session.mjs.map +1 -1
  27. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -1
  28. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  29. package/dist/migrations/database/5.0.0-discard-drafts.js +41 -30
  30. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  31. package/dist/migrations/database/5.0.0-discard-drafts.mjs +41 -30
  32. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  33. package/dist/package.json.js +16 -15
  34. package/dist/package.json.js.map +1 -1
  35. package/dist/package.json.mjs +16 -15
  36. package/dist/package.json.mjs.map +1 -1
  37. package/dist/providers/index.d.ts.map +1 -1
  38. package/dist/providers/index.js +3 -1
  39. package/dist/providers/index.js.map +1 -1
  40. package/dist/providers/index.mjs +3 -1
  41. package/dist/providers/index.mjs.map +1 -1
  42. package/dist/providers/mcp.d.ts +3 -0
  43. package/dist/providers/mcp.d.ts.map +1 -0
  44. package/dist/providers/mcp.js +39 -0
  45. package/dist/providers/mcp.js.map +1 -0
  46. package/dist/providers/mcp.mjs +37 -0
  47. package/dist/providers/mcp.mjs.map +1 -0
  48. package/dist/providers/session-manager.d.ts.map +1 -1
  49. package/dist/providers/session-manager.js +3 -0
  50. package/dist/providers/session-manager.js.map +1 -1
  51. package/dist/providers/session-manager.mjs +3 -0
  52. package/dist/providers/session-manager.mjs.map +1 -1
  53. package/dist/services/ai.d.ts.map +1 -1
  54. package/dist/services/ai.js +3 -0
  55. package/dist/services/ai.js.map +1 -1
  56. package/dist/services/ai.mjs +3 -0
  57. package/dist/services/ai.mjs.map +1 -1
  58. package/dist/services/cron.d.ts +1 -1
  59. package/dist/services/cron.d.ts.map +1 -1
  60. package/dist/services/cron.js +10 -2
  61. package/dist/services/cron.js.map +1 -1
  62. package/dist/services/cron.mjs +10 -2
  63. package/dist/services/cron.mjs.map +1 -1
  64. package/dist/services/document-service/draft-and-publish.d.ts +2 -16
  65. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  66. package/dist/services/document-service/draft-and-publish.js +0 -53
  67. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  68. package/dist/services/document-service/draft-and-publish.mjs +2 -53
  69. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  70. package/dist/services/document-service/params.d.ts +2 -2
  71. package/dist/services/document-service/params.d.ts.map +1 -1
  72. package/dist/services/document-service/publication-filter.d.ts +6 -0
  73. package/dist/services/document-service/publication-filter.d.ts.map +1 -0
  74. package/dist/services/document-service/publication-filter.js +20 -0
  75. package/dist/services/document-service/publication-filter.js.map +1 -0
  76. package/dist/services/document-service/publication-filter.mjs +15 -0
  77. package/dist/services/document-service/publication-filter.mjs.map +1 -0
  78. package/dist/services/document-service/transform/query.d.ts +1 -1
  79. package/dist/services/document-service/transform/query.d.ts.map +1 -1
  80. package/dist/services/document-service/transform/query.js +32 -19
  81. package/dist/services/document-service/transform/query.js.map +1 -1
  82. package/dist/services/document-service/transform/query.mjs +33 -20
  83. package/dist/services/document-service/transform/query.mjs.map +1 -1
  84. package/dist/services/entity-validator/blocks-validator.js +1 -1
  85. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  86. package/dist/services/entity-validator/blocks-validator.mjs +1 -1
  87. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  88. package/dist/services/mcp/authentication.d.ts +23 -0
  89. package/dist/services/mcp/authentication.d.ts.map +1 -0
  90. package/dist/services/mcp/authentication.js +45 -0
  91. package/dist/services/mcp/authentication.js.map +1 -0
  92. package/dist/services/mcp/authentication.mjs +43 -0
  93. package/dist/services/mcp/authentication.mjs.map +1 -0
  94. package/dist/services/mcp/handlers/handlePost.d.ts +4 -0
  95. package/dist/services/mcp/handlers/handlePost.d.ts.map +1 -0
  96. package/dist/services/mcp/handlers/handlePost.js +59 -0
  97. package/dist/services/mcp/handlers/handlePost.js.map +1 -0
  98. package/dist/services/mcp/handlers/handlePost.mjs +57 -0
  99. package/dist/services/mcp/handlers/handlePost.mjs.map +1 -0
  100. package/dist/services/mcp/handlers/types.d.ts +12 -0
  101. package/dist/services/mcp/handlers/types.d.ts.map +1 -0
  102. package/dist/services/mcp/index.d.ts +6 -0
  103. package/dist/services/mcp/index.d.ts.map +1 -0
  104. package/dist/services/mcp/index.js +101 -0
  105. package/dist/services/mcp/index.js.map +1 -0
  106. package/dist/services/mcp/index.mjs +99 -0
  107. package/dist/services/mcp/index.mjs.map +1 -0
  108. package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.d.ts +13 -0
  109. package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.d.ts.map +1 -0
  110. package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.js +53 -0
  111. package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.js.map +1 -0
  112. package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.mjs +51 -0
  113. package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.mjs.map +1 -0
  114. package/dist/services/mcp/internal/McpCapabilityRegistry.d.ts +43 -0
  115. package/dist/services/mcp/internal/McpCapabilityRegistry.d.ts.map +1 -0
  116. package/dist/services/mcp/internal/McpCapabilityRegistry.js +108 -0
  117. package/dist/services/mcp/internal/McpCapabilityRegistry.js.map +1 -0
  118. package/dist/services/mcp/internal/McpCapabilityRegistry.mjs +106 -0
  119. package/dist/services/mcp/internal/McpCapabilityRegistry.mjs.map +1 -0
  120. package/dist/services/mcp/internal/McpConfiguration.d.ts +11 -0
  121. package/dist/services/mcp/internal/McpConfiguration.d.ts.map +1 -0
  122. package/dist/services/mcp/internal/McpConfiguration.js +34 -0
  123. package/dist/services/mcp/internal/McpConfiguration.js.map +1 -0
  124. package/dist/services/mcp/internal/McpConfiguration.mjs +32 -0
  125. package/dist/services/mcp/internal/McpConfiguration.mjs.map +1 -0
  126. package/dist/services/mcp/internal/McpServerFactory.d.ts +37 -0
  127. package/dist/services/mcp/internal/McpServerFactory.d.ts.map +1 -0
  128. package/dist/services/mcp/internal/McpServerFactory.js +71 -0
  129. package/dist/services/mcp/internal/McpServerFactory.js.map +1 -0
  130. package/dist/services/mcp/internal/McpServerFactory.mjs +69 -0
  131. package/dist/services/mcp/internal/McpServerFactory.mjs.map +1 -0
  132. package/dist/services/mcp/internal/syncMcpSessionCapabilities.d.ts +21 -0
  133. package/dist/services/mcp/internal/syncMcpSessionCapabilities.d.ts.map +1 -0
  134. package/dist/services/mcp/internal/syncMcpSessionCapabilities.js +76 -0
  135. package/dist/services/mcp/internal/syncMcpSessionCapabilities.js.map +1 -0
  136. package/dist/services/mcp/internal/syncMcpSessionCapabilities.mjs +73 -0
  137. package/dist/services/mcp/internal/syncMcpSessionCapabilities.mjs.map +1 -0
  138. package/dist/services/mcp/metrics/metrics.d.ts +29 -0
  139. package/dist/services/mcp/metrics/metrics.d.ts.map +1 -0
  140. package/dist/services/mcp/metrics/metrics.js +97 -0
  141. package/dist/services/mcp/metrics/metrics.js.map +1 -0
  142. package/dist/services/mcp/metrics/metrics.mjs +88 -0
  143. package/dist/services/mcp/metrics/metrics.mjs.map +1 -0
  144. package/dist/services/mcp/metrics/normalizeMcpCapability.d.ts +11 -0
  145. package/dist/services/mcp/metrics/normalizeMcpCapability.d.ts.map +1 -0
  146. package/dist/services/mcp/metrics/normalizeMcpCapability.js +10 -0
  147. package/dist/services/mcp/metrics/normalizeMcpCapability.js.map +1 -0
  148. package/dist/services/mcp/metrics/normalizeMcpCapability.mjs +8 -0
  149. package/dist/services/mcp/metrics/normalizeMcpCapability.mjs.map +1 -0
  150. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.d.ts +4 -0
  151. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.d.ts.map +1 -0
  152. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.js +27 -0
  153. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.js.map +1 -0
  154. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.mjs +25 -0
  155. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.mjs.map +1 -0
  156. package/dist/services/mcp/middleware/oauthDiscoveryFallback.d.ts +3 -0
  157. package/dist/services/mcp/middleware/oauthDiscoveryFallback.d.ts.map +1 -0
  158. package/dist/services/mcp/middleware/oauthDiscoveryFallback.js +47 -0
  159. package/dist/services/mcp/middleware/oauthDiscoveryFallback.js.map +1 -0
  160. package/dist/services/mcp/middleware/oauthDiscoveryFallback.mjs +45 -0
  161. package/dist/services/mcp/middleware/oauthDiscoveryFallback.mjs.map +1 -0
  162. package/dist/services/mcp/prompt-registry.d.ts +16 -0
  163. package/dist/services/mcp/prompt-registry.d.ts.map +1 -0
  164. package/dist/services/mcp/prompt-registry.js +77 -0
  165. package/dist/services/mcp/prompt-registry.js.map +1 -0
  166. package/dist/services/mcp/prompt-registry.mjs +75 -0
  167. package/dist/services/mcp/prompt-registry.mjs.map +1 -0
  168. package/dist/services/mcp/resource-registry.d.ts +14 -0
  169. package/dist/services/mcp/resource-registry.d.ts.map +1 -0
  170. package/dist/services/mcp/resource-registry.js +67 -0
  171. package/dist/services/mcp/resource-registry.js.map +1 -0
  172. package/dist/services/mcp/resource-registry.mjs +65 -0
  173. package/dist/services/mcp/resource-registry.mjs.map +1 -0
  174. package/dist/services/mcp/routes.d.ts +11 -0
  175. package/dist/services/mcp/routes.d.ts.map +1 -0
  176. package/dist/services/mcp/routes.js +58 -0
  177. package/dist/services/mcp/routes.js.map +1 -0
  178. package/dist/services/mcp/routes.mjs +56 -0
  179. package/dist/services/mcp/routes.mjs.map +1 -0
  180. package/dist/services/mcp/tool-registry.d.ts +25 -0
  181. package/dist/services/mcp/tool-registry.d.ts.map +1 -0
  182. package/dist/services/mcp/tool-registry.js +102 -0
  183. package/dist/services/mcp/tool-registry.js.map +1 -0
  184. package/dist/services/mcp/tool-registry.mjs +99 -0
  185. package/dist/services/mcp/tool-registry.mjs.map +1 -0
  186. package/dist/services/mcp/tools/log.d.ts +87 -0
  187. package/dist/services/mcp/tools/log.d.ts.map +1 -0
  188. package/dist/services/mcp/tools/log.js +88 -0
  189. package/dist/services/mcp/tools/log.js.map +1 -0
  190. package/dist/services/mcp/tools/log.mjs +86 -0
  191. package/dist/services/mcp/tools/log.mjs.map +1 -0
  192. package/dist/services/mcp/utils/createSafeCapabilityRegistration.d.ts +36 -0
  193. package/dist/services/mcp/utils/createSafeCapabilityRegistration.d.ts.map +1 -0
  194. package/dist/services/mcp/utils/createSafeCapabilityRegistration.js +59 -0
  195. package/dist/services/mcp/utils/createSafeCapabilityRegistration.js.map +1 -0
  196. package/dist/services/mcp/utils/createSafeCapabilityRegistration.mjs +56 -0
  197. package/dist/services/mcp/utils/createSafeCapabilityRegistration.mjs.map +1 -0
  198. package/dist/services/mcp/utils/jsonRpcErrors.d.ts +22 -0
  199. package/dist/services/mcp/utils/jsonRpcErrors.d.ts.map +1 -0
  200. package/dist/services/mcp/utils/jsonRpcErrors.js +25 -0
  201. package/dist/services/mcp/utils/jsonRpcErrors.js.map +1 -0
  202. package/dist/services/mcp/utils/jsonRpcErrors.mjs +23 -0
  203. package/dist/services/mcp/utils/jsonRpcErrors.mjs.map +1 -0
  204. package/dist/services/mcp/utils/safeHandlerWrapper.d.ts +18 -0
  205. package/dist/services/mcp/utils/safeHandlerWrapper.d.ts.map +1 -0
  206. package/dist/services/mcp/utils/safeHandlerWrapper.js +29 -0
  207. package/dist/services/mcp/utils/safeHandlerWrapper.js.map +1 -0
  208. package/dist/services/mcp/utils/safeHandlerWrapper.mjs +27 -0
  209. package/dist/services/mcp/utils/safeHandlerWrapper.mjs.map +1 -0
  210. package/dist/services/mcp/utils/sendJsonRpcError.d.ts +5 -0
  211. package/dist/services/mcp/utils/sendJsonRpcError.d.ts.map +1 -0
  212. package/dist/services/mcp/utils/sendJsonRpcError.js +23 -0
  213. package/dist/services/mcp/utils/sendJsonRpcError.js.map +1 -0
  214. package/dist/services/mcp/utils/sendJsonRpcError.mjs +21 -0
  215. package/dist/services/mcp/utils/sendJsonRpcError.mjs.map +1 -0
  216. package/dist/services/mcp/utils/withTimeout.d.ts +7 -0
  217. package/dist/services/mcp/utils/withTimeout.d.ts.map +1 -0
  218. package/dist/services/mcp/utils/withTimeout.js +23 -0
  219. package/dist/services/mcp/utils/withTimeout.js.map +1 -0
  220. package/dist/services/mcp/utils/withTimeout.mjs +21 -0
  221. package/dist/services/mcp/utils/withTimeout.mjs.map +1 -0
  222. package/dist/services/metrics/index.d.ts.map +1 -1
  223. package/dist/services/metrics/index.js +9 -6
  224. package/dist/services/metrics/index.js.map +1 -1
  225. package/dist/services/metrics/index.mjs +9 -6
  226. package/dist/services/metrics/index.mjs.map +1 -1
  227. package/dist/services/metrics/sender.d.ts.map +1 -1
  228. package/dist/services/metrics/sender.js +11 -3
  229. package/dist/services/metrics/sender.js.map +1 -1
  230. package/dist/services/metrics/sender.mjs +11 -3
  231. package/dist/services/metrics/sender.mjs.map +1 -1
  232. package/package.json +16 -15
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@strapi/core";
6
- var version = "5.46.1";
6
+ var version = "5.47.1";
7
7
  var description = "Core of Strapi";
8
8
  var homepage = "https://strapi.io";
9
9
  var bugs = {
@@ -59,17 +59,19 @@ var scripts = {
59
59
  "test:unit:vitest:watch": "vitest --watch"
60
60
  };
61
61
  var dependencies = {
62
+ "@casl/ability": "6.7.5",
62
63
  "@koa/cors": "5.0.0",
63
64
  "@koa/router": "12.0.2",
65
+ "@modelcontextprotocol/sdk": "1.29.0",
64
66
  "@paralleldrive/cuid2": "2.2.2",
65
- "@strapi/admin": "5.46.1",
66
- "@strapi/database": "5.46.1",
67
- "@strapi/generators": "5.46.1",
68
- "@strapi/logger": "5.46.1",
69
- "@strapi/permissions": "5.46.1",
70
- "@strapi/types": "5.46.1",
71
- "@strapi/typescript-utils": "5.46.1",
72
- "@strapi/utils": "5.46.1",
67
+ "@strapi/admin": "5.47.1",
68
+ "@strapi/database": "5.47.1",
69
+ "@strapi/generators": "5.47.1",
70
+ "@strapi/logger": "5.47.1",
71
+ "@strapi/permissions": "5.47.1",
72
+ "@strapi/types": "5.47.1",
73
+ "@strapi/typescript-utils": "5.47.1",
74
+ "@strapi/utils": "5.47.1",
73
75
  "@vercel/stega": "0.1.2",
74
76
  bcryptjs: "2.4.3",
75
77
  boxen: "5.1.2",
@@ -97,7 +99,7 @@ var dependencies = {
97
99
  "koa-favicon": "2.1.0",
98
100
  "koa-helmet": "7.0.2",
99
101
  "koa-ip": "^2.1.3",
100
- "koa-session": "6.4.0",
102
+ "koa-session": "7.0.2",
101
103
  "koa-static": "5.0.0",
102
104
  lodash: "4.18.1",
103
105
  "mime-types": "2.1.35",
@@ -106,7 +108,7 @@ var dependencies = {
106
108
  ora: "5.4.1",
107
109
  "package-json": "7.0.0",
108
110
  "pkg-up": "3.1.0",
109
- qs: "6.15.0",
111
+ qs: "6.15.2",
110
112
  "resolve.exports": "2.0.2",
111
113
  semver: "7.7.4",
112
114
  statuses: "2.0.1",
@@ -128,7 +130,6 @@ var devDependencies = {
128
130
  "@types/json-logic-js": "2.0.8",
129
131
  "@types/koa": "2.13.4",
130
132
  "@types/koa-compress": "4.0.3",
131
- "@types/koa-session": "6.4.1",
132
133
  "@types/koa-static": "4.0.2",
133
134
  "@types/koa__router": "12.0.0",
134
135
  "@types/lodash": "^4.14.191",
@@ -136,11 +137,11 @@ var devDependencies = {
136
137
  "@types/node": "24.10.0",
137
138
  "@types/node-schedule": "2.1.7",
138
139
  "@types/statuses": "2.0.1",
139
- "eslint-config-custom": "5.46.1",
140
+ "eslint-config-custom": "5.47.1",
140
141
  supertest: "7.2.2",
141
- tsconfig: "5.46.1",
142
+ tsconfig: "5.47.1",
142
143
  vitest: "catalog:",
143
- "vitest-config": "5.46.1"
144
+ "vitest-config": "5.47.1"
144
145
  };
145
146
  var engines = {
146
147
  node: ">=20.0.0 <=24.x.x",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  var name = "@strapi/core";
2
- var version = "5.46.1";
2
+ var version = "5.47.1";
3
3
  var description = "Core of Strapi";
4
4
  var homepage = "https://strapi.io";
5
5
  var bugs = {
@@ -55,17 +55,19 @@ var scripts = {
55
55
  "test:unit:vitest:watch": "vitest --watch"
56
56
  };
57
57
  var dependencies = {
58
+ "@casl/ability": "6.7.5",
58
59
  "@koa/cors": "5.0.0",
59
60
  "@koa/router": "12.0.2",
61
+ "@modelcontextprotocol/sdk": "1.29.0",
60
62
  "@paralleldrive/cuid2": "2.2.2",
61
- "@strapi/admin": "5.46.1",
62
- "@strapi/database": "5.46.1",
63
- "@strapi/generators": "5.46.1",
64
- "@strapi/logger": "5.46.1",
65
- "@strapi/permissions": "5.46.1",
66
- "@strapi/types": "5.46.1",
67
- "@strapi/typescript-utils": "5.46.1",
68
- "@strapi/utils": "5.46.1",
63
+ "@strapi/admin": "5.47.1",
64
+ "@strapi/database": "5.47.1",
65
+ "@strapi/generators": "5.47.1",
66
+ "@strapi/logger": "5.47.1",
67
+ "@strapi/permissions": "5.47.1",
68
+ "@strapi/types": "5.47.1",
69
+ "@strapi/typescript-utils": "5.47.1",
70
+ "@strapi/utils": "5.47.1",
69
71
  "@vercel/stega": "0.1.2",
70
72
  bcryptjs: "2.4.3",
71
73
  boxen: "5.1.2",
@@ -93,7 +95,7 @@ var dependencies = {
93
95
  "koa-favicon": "2.1.0",
94
96
  "koa-helmet": "7.0.2",
95
97
  "koa-ip": "^2.1.3",
96
- "koa-session": "6.4.0",
98
+ "koa-session": "7.0.2",
97
99
  "koa-static": "5.0.0",
98
100
  lodash: "4.18.1",
99
101
  "mime-types": "2.1.35",
@@ -102,7 +104,7 @@ var dependencies = {
102
104
  ora: "5.4.1",
103
105
  "package-json": "7.0.0",
104
106
  "pkg-up": "3.1.0",
105
- qs: "6.15.0",
107
+ qs: "6.15.2",
106
108
  "resolve.exports": "2.0.2",
107
109
  semver: "7.7.4",
108
110
  statuses: "2.0.1",
@@ -124,7 +126,6 @@ var devDependencies = {
124
126
  "@types/json-logic-js": "2.0.8",
125
127
  "@types/koa": "2.13.4",
126
128
  "@types/koa-compress": "4.0.3",
127
- "@types/koa-session": "6.4.1",
128
129
  "@types/koa-static": "4.0.2",
129
130
  "@types/koa__router": "12.0.0",
130
131
  "@types/lodash": "^4.14.191",
@@ -132,11 +133,11 @@ var devDependencies = {
132
133
  "@types/node": "24.10.0",
133
134
  "@types/node-schedule": "2.1.7",
134
135
  "@types/statuses": "2.0.1",
135
- "eslint-config-custom": "5.46.1",
136
+ "eslint-config-custom": "5.47.1",
136
137
  supertest: "7.2.2",
137
- tsconfig: "5.46.1",
138
+ tsconfig: "5.47.1",
138
139
  vitest: "catalog:",
139
- "vitest-config": "5.46.1"
140
+ "vitest-config": "5.47.1"
140
141
  };
141
142
  var engines = {
142
143
  node: ">=20.0.0 <=24.x.x",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,SAAS,EAAE,QAAQ,EAS/B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,SAAS,EAAE,QAAQ,EAU/B,CAAC"}
@@ -4,6 +4,7 @@ var admin = require('./admin.js');
4
4
  var ai = require('./ai.js');
5
5
  var coreStore = require('./coreStore.js');
6
6
  var cron = require('./cron.js');
7
+ var mcp = require('./mcp.js');
7
8
  var registries = require('./registries.js');
8
9
  var sessionManager = require('./session-manager.js');
9
10
  var telemetry = require('./telemetry.js');
@@ -17,7 +18,8 @@ const providers = [
17
18
  sessionManager,
18
19
  webhooks,
19
20
  telemetry,
20
- cron
21
+ cron,
22
+ mcp
21
23
  ];
22
24
 
23
25
  exports.providers = providers;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/providers/index.ts"],"sourcesContent":["import admin from './admin';\nimport ai from './ai';\nimport coreStore from './coreStore';\nimport cron from './cron';\nimport registries from './registries';\nimport sessionManager from './session-manager';\nimport telemetry from './telemetry';\nimport webhooks from './webhooks';\n\nimport type { Provider } from './provider';\n\nexport const providers: Provider[] = [\n registries,\n admin,\n ai,\n coreStore,\n sessionManager,\n webhooks,\n telemetry,\n cron,\n];\n"],"names":["providers","registries","admin","ai","coreStore","sessionManager","webhooks","telemetry","cron"],"mappings":";;;;;;;;;;;MAWaA,SAAAA,GAAwB;AACnCC,IAAAA,UAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,EAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/providers/index.ts"],"sourcesContent":["import admin from './admin';\nimport ai from './ai';\nimport coreStore from './coreStore';\nimport cron from './cron';\nimport mcp from './mcp';\nimport registries from './registries';\nimport sessionManager from './session-manager';\nimport telemetry from './telemetry';\nimport webhooks from './webhooks';\n\nimport type { Provider } from './provider';\n\nexport const providers: Provider[] = [\n registries,\n admin,\n ai,\n coreStore,\n sessionManager,\n webhooks,\n telemetry,\n cron,\n mcp,\n];\n"],"names":["providers","registries","admin","ai","coreStore","sessionManager","webhooks","telemetry","cron","mcp"],"mappings":";;;;;;;;;;;;MAYaA,SAAAA,GAAwB;AACnCC,IAAAA,UAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,EAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA;;;;;"}
@@ -2,6 +2,7 @@ import admin from './admin.mjs';
2
2
  import ai from './ai.mjs';
3
3
  import coreStore from './coreStore.mjs';
4
4
  import cron from './cron.mjs';
5
+ import mcp from './mcp.mjs';
5
6
  import registries from './registries.mjs';
6
7
  import sessionManager from './session-manager.mjs';
7
8
  import telemetry from './telemetry.mjs';
@@ -15,7 +16,8 @@ const providers = [
15
16
  sessionManager,
16
17
  webhooks,
17
18
  telemetry,
18
- cron
19
+ cron,
20
+ mcp
19
21
  ];
20
22
 
21
23
  export { providers };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/providers/index.ts"],"sourcesContent":["import admin from './admin';\nimport ai from './ai';\nimport coreStore from './coreStore';\nimport cron from './cron';\nimport registries from './registries';\nimport sessionManager from './session-manager';\nimport telemetry from './telemetry';\nimport webhooks from './webhooks';\n\nimport type { Provider } from './provider';\n\nexport const providers: Provider[] = [\n registries,\n admin,\n ai,\n coreStore,\n sessionManager,\n webhooks,\n telemetry,\n cron,\n];\n"],"names":["providers","registries","admin","ai","coreStore","sessionManager","webhooks","telemetry","cron"],"mappings":";;;;;;;;;MAWaA,SAAAA,GAAwB;AACnCC,IAAAA,UAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,EAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/providers/index.ts"],"sourcesContent":["import admin from './admin';\nimport ai from './ai';\nimport coreStore from './coreStore';\nimport cron from './cron';\nimport mcp from './mcp';\nimport registries from './registries';\nimport sessionManager from './session-manager';\nimport telemetry from './telemetry';\nimport webhooks from './webhooks';\n\nimport type { Provider } from './provider';\n\nexport const providers: Provider[] = [\n registries,\n admin,\n ai,\n coreStore,\n sessionManager,\n webhooks,\n telemetry,\n cron,\n mcp,\n];\n"],"names":["providers","registries","admin","ai","coreStore","sessionManager","webhooks","telemetry","cron","mcp"],"mappings":";;;;;;;;;;MAYaA,SAAAA,GAAwB;AACnCC,IAAAA,UAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,EAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA;;;;;"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("./provider").Provider;
2
+ export default _default;
3
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/providers/mcp.ts"],"names":[],"mappings":";AAGA,wBA0BG"}
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var provider = require('./provider.js');
4
+ var index = require('../services/mcp/index.js');
5
+
6
+ var mcp = provider.defineProvider({
7
+ init (strapi) {
8
+ strapi.add('ai.mcp', ()=>index.createMcpService(strapi));
9
+ },
10
+ async bootstrap (strapi) {
11
+ if (strapi.ai.mcp.isEnabled()) {
12
+ try {
13
+ strapi.log.info('[MCP] Starting MCP server...');
14
+ await strapi.ai.mcp.start();
15
+ } catch (error) {
16
+ strapi.log.error('[MCP] Failed to start MCP server', {
17
+ error
18
+ });
19
+ }
20
+ } else {
21
+ strapi.log.debug('[MCP] MCP server is disabled in configuration');
22
+ }
23
+ },
24
+ async destroy (strapi) {
25
+ if (strapi.ai.mcp.isRunning()) {
26
+ try {
27
+ strapi.log.info('[MCP] Stopping MCP server...');
28
+ await strapi.ai.mcp.stop();
29
+ } catch (error) {
30
+ strapi.log.error('[MCP] Failed to stop MCP server', {
31
+ error
32
+ });
33
+ }
34
+ }
35
+ }
36
+ });
37
+
38
+ module.exports = mcp;
39
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sources":["../../src/providers/mcp.ts"],"sourcesContent":["import { defineProvider } from './provider';\nimport { createMcpService } from '../services/mcp/index';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('ai.mcp', () => createMcpService(strapi));\n },\n async bootstrap(strapi) {\n if (strapi.ai.mcp.isEnabled()) {\n try {\n strapi.log.info('[MCP] Starting MCP server...');\n await strapi.ai.mcp.start();\n } catch (error) {\n strapi.log.error('[MCP] Failed to start MCP server', { error });\n }\n } else {\n strapi.log.debug('[MCP] MCP server is disabled in configuration');\n }\n },\n async destroy(strapi) {\n if (strapi.ai.mcp.isRunning()) {\n try {\n strapi.log.info('[MCP] Stopping MCP server...');\n await strapi.ai.mcp.stop();\n } catch (error) {\n strapi.log.error('[MCP] Failed to stop MCP server', { error });\n }\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createMcpService","bootstrap","ai","mcp","isEnabled","log","info","start","error","debug","destroy","isRunning","stop"],"mappings":";;;;;AAGA,UAAeA,uBAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,QAAA,EAAU,IAAMC,sBAAAA,CAAiBF,MAAAA,CAAAA,CAAAA;AAC9C,IAAA,CAAA;AACA,IAAA,MAAMG,WAAUH,MAAM,EAAA;AACpB,QAAA,IAAIA,OAAOI,EAAE,CAACC,GAAG,CAACC,SAAS,EAAA,EAAI;YAC7B,IAAI;gBACFN,MAAAA,CAAOO,GAAG,CAACC,IAAI,CAAC,8BAAA,CAAA;AAChB,gBAAA,MAAMR,MAAAA,CAAOI,EAAE,CAACC,GAAG,CAACI,KAAK,EAAA;AAC3B,YAAA,CAAA,CAAE,OAAOC,KAAAA,EAAO;AACdV,gBAAAA,MAAAA,CAAOO,GAAG,CAACG,KAAK,CAAC,kCAAA,EAAoC;AAAEA,oBAAAA;AAAM,iBAAA,CAAA;AAC/D,YAAA;QACF,CAAA,MAAO;YACLV,MAAAA,CAAOO,GAAG,CAACI,KAAK,CAAC,+CAAA,CAAA;AACnB,QAAA;AACF,IAAA,CAAA;AACA,IAAA,MAAMC,SAAQZ,MAAM,EAAA;AAClB,QAAA,IAAIA,OAAOI,EAAE,CAACC,GAAG,CAACQ,SAAS,EAAA,EAAI;YAC7B,IAAI;gBACFb,MAAAA,CAAOO,GAAG,CAACC,IAAI,CAAC,8BAAA,CAAA;AAChB,gBAAA,MAAMR,MAAAA,CAAOI,EAAE,CAACC,GAAG,CAACS,IAAI,EAAA;AAC1B,YAAA,CAAA,CAAE,OAAOJ,KAAAA,EAAO;AACdV,gBAAAA,MAAAA,CAAOO,GAAG,CAACG,KAAK,CAAC,iCAAA,EAAmC;AAAEA,oBAAAA;AAAM,iBAAA,CAAA;AAC9D,YAAA;AACF,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
@@ -0,0 +1,37 @@
1
+ import { defineProvider } from './provider.mjs';
2
+ import { createMcpService } from '../services/mcp/index.mjs';
3
+
4
+ var mcp = defineProvider({
5
+ init (strapi) {
6
+ strapi.add('ai.mcp', ()=>createMcpService(strapi));
7
+ },
8
+ async bootstrap (strapi) {
9
+ if (strapi.ai.mcp.isEnabled()) {
10
+ try {
11
+ strapi.log.info('[MCP] Starting MCP server...');
12
+ await strapi.ai.mcp.start();
13
+ } catch (error) {
14
+ strapi.log.error('[MCP] Failed to start MCP server', {
15
+ error
16
+ });
17
+ }
18
+ } else {
19
+ strapi.log.debug('[MCP] MCP server is disabled in configuration');
20
+ }
21
+ },
22
+ async destroy (strapi) {
23
+ if (strapi.ai.mcp.isRunning()) {
24
+ try {
25
+ strapi.log.info('[MCP] Stopping MCP server...');
26
+ await strapi.ai.mcp.stop();
27
+ } catch (error) {
28
+ strapi.log.error('[MCP] Failed to stop MCP server', {
29
+ error
30
+ });
31
+ }
32
+ }
33
+ }
34
+ });
35
+
36
+ export { mcp as default };
37
+ //# sourceMappingURL=mcp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.mjs","sources":["../../src/providers/mcp.ts"],"sourcesContent":["import { defineProvider } from './provider';\nimport { createMcpService } from '../services/mcp/index';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('ai.mcp', () => createMcpService(strapi));\n },\n async bootstrap(strapi) {\n if (strapi.ai.mcp.isEnabled()) {\n try {\n strapi.log.info('[MCP] Starting MCP server...');\n await strapi.ai.mcp.start();\n } catch (error) {\n strapi.log.error('[MCP] Failed to start MCP server', { error });\n }\n } else {\n strapi.log.debug('[MCP] MCP server is disabled in configuration');\n }\n },\n async destroy(strapi) {\n if (strapi.ai.mcp.isRunning()) {\n try {\n strapi.log.info('[MCP] Stopping MCP server...');\n await strapi.ai.mcp.stop();\n } catch (error) {\n strapi.log.error('[MCP] Failed to stop MCP server', { error });\n }\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createMcpService","bootstrap","ai","mcp","isEnabled","log","info","start","error","debug","destroy","isRunning","stop"],"mappings":";;;AAGA,UAAeA,cAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,QAAA,EAAU,IAAMC,gBAAAA,CAAiBF,MAAAA,CAAAA,CAAAA;AAC9C,IAAA,CAAA;AACA,IAAA,MAAMG,WAAUH,MAAM,EAAA;AACpB,QAAA,IAAIA,OAAOI,EAAE,CAACC,GAAG,CAACC,SAAS,EAAA,EAAI;YAC7B,IAAI;gBACFN,MAAAA,CAAOO,GAAG,CAACC,IAAI,CAAC,8BAAA,CAAA;AAChB,gBAAA,MAAMR,MAAAA,CAAOI,EAAE,CAACC,GAAG,CAACI,KAAK,EAAA;AAC3B,YAAA,CAAA,CAAE,OAAOC,KAAAA,EAAO;AACdV,gBAAAA,MAAAA,CAAOO,GAAG,CAACG,KAAK,CAAC,kCAAA,EAAoC;AAAEA,oBAAAA;AAAM,iBAAA,CAAA;AAC/D,YAAA;QACF,CAAA,MAAO;YACLV,MAAAA,CAAOO,GAAG,CAACI,KAAK,CAAC,+CAAA,CAAA;AACnB,QAAA;AACF,IAAA,CAAA;AACA,IAAA,MAAMC,SAAQZ,MAAM,EAAA;AAClB,QAAA,IAAIA,OAAOI,EAAE,CAACC,GAAG,CAACQ,SAAS,EAAA,EAAI;YAC7B,IAAI;gBACFb,MAAAA,CAAOO,GAAG,CAACC,IAAI,CAAC,8BAAA,CAAA;AAChB,gBAAA,MAAMR,MAAAA,CAAOI,EAAE,CAACC,GAAG,CAACS,IAAI,EAAA;AAC1B,YAAA,CAAA,CAAE,OAAOJ,KAAAA,EAAO;AACdV,gBAAAA,MAAAA,CAAOO,GAAG,CAACG,KAAK,CAAC,iCAAA,EAAmC;AAAEA,oBAAAA;AAAM,iBAAA,CAAA;AAC9D,YAAA;AACF,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/providers/session-manager.ts"],"names":[],"mappings":";AAIA,wBAmBG"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/providers/session-manager.ts"],"names":[],"mappings":";AAIA,wBAuBG"}
@@ -10,6 +10,9 @@ var sessionManager = provider.defineProvider({
10
10
  }));
11
11
  },
12
12
  async bootstrap (strapi) {
13
+ if (strapi.config.get('admin.serveAdminPanel') === false) {
14
+ return;
15
+ }
13
16
  const adminAuth = strapi.config.get('admin.auth');
14
17
  const jwtSecret = adminAuth?.secret;
15
18
  if (!jwtSecret) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sources":["../../src/providers/session-manager.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { defineProvider } from './provider';\nimport { createSessionManager } from '../services/session-manager';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('sessionManager', () =>\n createSessionManager({\n db: strapi.db,\n })\n );\n },\n\n async bootstrap(strapi) {\n const adminAuth = strapi.config.get<Core.Config.Admin['auth']>('admin.auth');\n const jwtSecret = adminAuth?.secret;\n\n if (!jwtSecret) {\n throw new Error(\n 'Missing admin.auth.secret configuration. The SessionManager requires a JWT secret'\n );\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createSessionManager","db","bootstrap","adminAuth","config","get","jwtSecret","secret","Error"],"mappings":";;;;;AAIA,qBAAeA,uBAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,gBAAA,EAAkB,IAC3BC,qCAAAA,CAAqB;AACnBC,gBAAAA,EAAAA,EAAIH,OAAOG;AACb,aAAA,CAAA,CAAA;AAEJ,IAAA,CAAA;AAEA,IAAA,MAAMC,WAAUJ,MAAM,EAAA;AACpB,QAAA,MAAMK,SAAAA,GAAYL,MAAAA,CAAOM,MAAM,CAACC,GAAG,CAA4B,YAAA,CAAA;AAC/D,QAAA,MAAMC,YAAYH,SAAAA,EAAWI,MAAAA;AAE7B,QAAA,IAAI,CAACD,SAAAA,EAAW;AACd,YAAA,MAAM,IAAIE,KAAAA,CACR,mFAAA,CAAA;AAEJ,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"session-manager.js","sources":["../../src/providers/session-manager.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { defineProvider } from './provider';\nimport { createSessionManager } from '../services/session-manager';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('sessionManager', () =>\n createSessionManager({\n db: strapi.db,\n })\n );\n },\n\n async bootstrap(strapi) {\n if (strapi.config.get('admin.serveAdminPanel') === false) {\n return;\n }\n\n const adminAuth = strapi.config.get<Core.Config.Admin['auth']>('admin.auth');\n const jwtSecret = adminAuth?.secret;\n\n if (!jwtSecret) {\n throw new Error(\n 'Missing admin.auth.secret configuration. The SessionManager requires a JWT secret'\n );\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createSessionManager","db","bootstrap","config","get","adminAuth","jwtSecret","secret","Error"],"mappings":";;;;;AAIA,qBAAeA,uBAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,gBAAA,EAAkB,IAC3BC,qCAAAA,CAAqB;AACnBC,gBAAAA,EAAAA,EAAIH,OAAOG;AACb,aAAA,CAAA,CAAA;AAEJ,IAAA,CAAA;AAEA,IAAA,MAAMC,WAAUJ,MAAM,EAAA;AACpB,QAAA,IAAIA,OAAOK,MAAM,CAACC,GAAG,CAAC,6BAA6B,KAAA,EAAO;AACxD,YAAA;AACF,QAAA;AAEA,QAAA,MAAMC,SAAAA,GAAYP,MAAAA,CAAOK,MAAM,CAACC,GAAG,CAA4B,YAAA,CAAA;AAC/D,QAAA,MAAME,YAAYD,SAAAA,EAAWE,MAAAA;AAE7B,QAAA,IAAI,CAACD,SAAAA,EAAW;AACd,YAAA,MAAM,IAAIE,KAAAA,CACR,mFAAA,CAAA;AAEJ,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
@@ -8,6 +8,9 @@ var sessionManager = defineProvider({
8
8
  }));
9
9
  },
10
10
  async bootstrap (strapi) {
11
+ if (strapi.config.get('admin.serveAdminPanel') === false) {
12
+ return;
13
+ }
11
14
  const adminAuth = strapi.config.get('admin.auth');
12
15
  const jwtSecret = adminAuth?.secret;
13
16
  if (!jwtSecret) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.mjs","sources":["../../src/providers/session-manager.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { defineProvider } from './provider';\nimport { createSessionManager } from '../services/session-manager';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('sessionManager', () =>\n createSessionManager({\n db: strapi.db,\n })\n );\n },\n\n async bootstrap(strapi) {\n const adminAuth = strapi.config.get<Core.Config.Admin['auth']>('admin.auth');\n const jwtSecret = adminAuth?.secret;\n\n if (!jwtSecret) {\n throw new Error(\n 'Missing admin.auth.secret configuration. The SessionManager requires a JWT secret'\n );\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createSessionManager","db","bootstrap","adminAuth","config","get","jwtSecret","secret","Error"],"mappings":";;;AAIA,qBAAeA,cAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,gBAAA,EAAkB,IAC3BC,oBAAAA,CAAqB;AACnBC,gBAAAA,EAAAA,EAAIH,OAAOG;AACb,aAAA,CAAA,CAAA;AAEJ,IAAA,CAAA;AAEA,IAAA,MAAMC,WAAUJ,MAAM,EAAA;AACpB,QAAA,MAAMK,SAAAA,GAAYL,MAAAA,CAAOM,MAAM,CAACC,GAAG,CAA4B,YAAA,CAAA;AAC/D,QAAA,MAAMC,YAAYH,SAAAA,EAAWI,MAAAA;AAE7B,QAAA,IAAI,CAACD,SAAAA,EAAW;AACd,YAAA,MAAM,IAAIE,KAAAA,CACR,mFAAA,CAAA;AAEJ,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"session-manager.mjs","sources":["../../src/providers/session-manager.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { defineProvider } from './provider';\nimport { createSessionManager } from '../services/session-manager';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('sessionManager', () =>\n createSessionManager({\n db: strapi.db,\n })\n );\n },\n\n async bootstrap(strapi) {\n if (strapi.config.get('admin.serveAdminPanel') === false) {\n return;\n }\n\n const adminAuth = strapi.config.get<Core.Config.Admin['auth']>('admin.auth');\n const jwtSecret = adminAuth?.secret;\n\n if (!jwtSecret) {\n throw new Error(\n 'Missing admin.auth.secret configuration. The SessionManager requires a JWT secret'\n );\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createSessionManager","db","bootstrap","config","get","adminAuth","jwtSecret","secret","Error"],"mappings":";;;AAIA,qBAAeA,cAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,gBAAA,EAAkB,IAC3BC,oBAAAA,CAAqB;AACnBC,gBAAAA,EAAAA,EAAIH,OAAOG;AACb,aAAA,CAAA,CAAA;AAEJ,IAAA,CAAA;AAEA,IAAA,MAAMC,WAAUJ,MAAM,EAAA;AACpB,QAAA,IAAIA,OAAOK,MAAM,CAACC,GAAG,CAAC,6BAA6B,KAAA,EAAO;AACxD,YAAA;AACF,QAAA;AAEA,QAAA,MAAMC,SAAAA,GAAYP,MAAAA,CAAOK,MAAM,CAACC,GAAG,CAA4B,YAAA,CAAA;AAC/D,QAAA,MAAME,YAAYD,SAAAA,EAAWE,MAAAA;AAE7B,QAAA,IAAI,CAACD,SAAAA,EAAW;AACd,YAAA,MAAM,IAAIE,KAAAA,CACR,mFAAA,CAAA;AAEJ,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/services/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,iBAAiB,WAAY,KAAK,MAAM,KAAG,QAAQ,EAAE,CAAC,WAIjE,CAAC"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/services/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,iBAAiB,WAAY,KAAK,MAAM,KAAG,QAAQ,EAAE,CAAC,WAQjE,CAAC"}
@@ -3,6 +3,9 @@
3
3
  const createAiNamespace = (strapi)=>({
4
4
  get admin () {
5
5
  return strapi.get('ai.admin');
6
+ },
7
+ get mcp () {
8
+ return strapi.get('ai.mcp');
6
9
  }
7
10
  });
8
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sources":["../../src/services/ai.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\n\nexport const createAiNamespace = (strapi: Core.Strapi): Modules.AI.AiNamespace => ({\n get admin(): Modules.AI.AiAdminService {\n return strapi.get('ai.admin');\n },\n});\n"],"names":["createAiNamespace","strapi","admin","get"],"mappings":";;AAEO,MAAMA,iBAAAA,GAAoB,CAACC,MAAAA,IAAiD;AACjF,QAAA,IAAIC,KAAAA,CAAAA,GAAmC;YACrC,OAAOD,MAAAA,CAAOE,GAAG,CAAC,UAAA,CAAA;AACpB,QAAA;AACF,KAAA;;;;"}
1
+ {"version":3,"file":"ai.js","sources":["../../src/services/ai.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\n\nexport const createAiNamespace = (strapi: Core.Strapi): Modules.AI.AiNamespace => ({\n get admin(): Modules.AI.AiAdminService {\n return strapi.get('ai.admin');\n },\n\n get mcp(): Modules.MCP.McpService {\n return strapi.get('ai.mcp');\n },\n});\n"],"names":["createAiNamespace","strapi","admin","get","mcp"],"mappings":";;AAEO,MAAMA,iBAAAA,GAAoB,CAACC,MAAAA,IAAiD;AACjF,QAAA,IAAIC,KAAAA,CAAAA,GAAmC;YACrC,OAAOD,MAAAA,CAAOE,GAAG,CAAC,UAAA,CAAA;AACpB,QAAA,CAAA;AAEA,QAAA,IAAIC,GAAAA,CAAAA,GAA8B;YAChC,OAAOH,MAAAA,CAAOE,GAAG,CAAC,QAAA,CAAA;AACpB,QAAA;AACF,KAAA;;;;"}
@@ -1,6 +1,9 @@
1
1
  const createAiNamespace = (strapi)=>({
2
2
  get admin () {
3
3
  return strapi.get('ai.admin');
4
+ },
5
+ get mcp () {
6
+ return strapi.get('ai.mcp');
4
7
  }
5
8
  });
6
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"ai.mjs","sources":["../../src/services/ai.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\n\nexport const createAiNamespace = (strapi: Core.Strapi): Modules.AI.AiNamespace => ({\n get admin(): Modules.AI.AiAdminService {\n return strapi.get('ai.admin');\n },\n});\n"],"names":["createAiNamespace","strapi","admin","get"],"mappings":"AAEO,MAAMA,iBAAAA,GAAoB,CAACC,MAAAA,IAAiD;AACjF,QAAA,IAAIC,KAAAA,CAAAA,GAAmC;YACrC,OAAOD,MAAAA,CAAOE,GAAG,CAAC,UAAA,CAAA;AACpB,QAAA;AACF,KAAA;;;;"}
1
+ {"version":3,"file":"ai.mjs","sources":["../../src/services/ai.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\n\nexport const createAiNamespace = (strapi: Core.Strapi): Modules.AI.AiNamespace => ({\n get admin(): Modules.AI.AiAdminService {\n return strapi.get('ai.admin');\n },\n\n get mcp(): Modules.MCP.McpService {\n return strapi.get('ai.mcp');\n },\n});\n"],"names":["createAiNamespace","strapi","admin","get","mcp"],"mappings":"AAEO,MAAMA,iBAAAA,GAAoB,CAACC,MAAAA,IAAiD;AACjF,QAAA,IAAIC,KAAAA,CAAAA,GAAmC;YACrC,OAAOD,MAAAA,CAAOE,GAAG,CAAC,UAAA,CAAA;AACpB,QAAA,CAAA;AAEA,QAAA,IAAIC,GAAAA,CAAAA,GAA8B;YAChC,OAAOH,MAAAA,CAAOE,GAAG,CAAC,QAAA,CAAA;AACpB,QAAA;AACF,KAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { Job, Spec } from 'node-schedule';
1
+ import type { Job, Spec } from 'node-schedule';
2
2
  import type { Core } from '@strapi/types';
3
3
  interface JobSpec {
4
4
  job: Job;
@@ -1 +1 @@
1
- {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/services/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,KAAK,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE5F,KAAK,IAAI,GACL,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEN,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,iBAAiB;gBAKR,KAAK;iBAuCH,MAAM;;;;;CAgCtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/services/cron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAY1C,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,KAAK,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE5F,KAAK,IAAI,GACL,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEN,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,iBAAiB;gBAKR,KAAK;iBAuCH,MAAM;;;;;CAgCtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,8 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var nodeSchedule = require('node-schedule');
4
3
  var fp = require('lodash/fp');
5
4
 
5
+ // Lazy: only required when a cron task is actually scheduled
6
+ let lazyNs;
7
+ const ns = ()=>{
8
+ if (!lazyNs) {
9
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
10
+ lazyNs = require('node-schedule');
11
+ }
12
+ return lazyNs;
13
+ };
6
14
  const createCronService = ()=>{
7
15
  let jobsSpecs = [];
8
16
  let running = false;
@@ -30,7 +38,7 @@ const createCronService = ()=>{
30
38
  strapi
31
39
  }, ...args);
32
40
  // const job = new Job(null, fnWithStrapi);
33
- const job = new nodeSchedule.Job(fnWithStrapi);
41
+ const job = new (ns()).Job(fnWithStrapi);
34
42
  job.on('error', (error)=>{
35
43
  strapi.log.error(`Cron job "${taskName ?? taskExpression}" failed`, error);
36
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cron.js","sources":["../../src/services/cron.ts"],"sourcesContent":["import { Job, Spec } from 'node-schedule';\nimport { isFunction } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\n\ninterface JobSpec {\n job: Job;\n options: Spec;\n name: string | null;\n}\n\ntype TaskFn = ({ strapi }: { strapi: Core.Strapi }, ...args: unknown[]) => Promise<unknown>;\n\ntype Task =\n | TaskFn\n | {\n task: TaskFn;\n options: Spec;\n };\n\ninterface Tasks {\n [key: string]: Task;\n}\n\nconst createCronService = () => {\n let jobsSpecs: JobSpec[] = [];\n let running = false;\n\n return {\n add(tasks: Tasks = {}) {\n for (const taskExpression of Object.keys(tasks)) {\n const taskValue = tasks[taskExpression];\n\n let fn: TaskFn;\n let options: Spec;\n let taskName: string | null;\n if (isFunction(taskValue)) {\n // don't use task name if key is the rule\n taskName = null;\n fn = taskValue.bind(tasks);\n options = taskExpression;\n } else if (isFunction(taskValue.task)) {\n // set task name if key is not the rule\n taskName = taskExpression;\n fn = taskValue.task.bind(taskValue);\n options = taskValue.options;\n } else {\n throw new Error(\n `Could not schedule a cron job for \"${taskExpression}\": no function found.`\n );\n }\n\n const fnWithStrapi = (...args: unknown[]) => fn({ strapi }, ...args);\n\n // const job = new Job(null, fnWithStrapi);\n const job = new Job(fnWithStrapi);\n job.on('error', (error) => {\n strapi.log.error(`Cron job \"${taskName ?? taskExpression}\" failed`, error);\n });\n jobsSpecs.push({ job, options, name: taskName });\n\n if (running) {\n job.schedule(options);\n }\n }\n return this;\n },\n\n remove(name: string) {\n if (!name) throw new Error('You must provide a name to remove a cron job.');\n const matchingJobsSpecs = jobsSpecs.filter(({ name: jobSpecName }, index) => {\n if (jobSpecName === name) {\n jobsSpecs.splice(index, 1);\n return true;\n }\n return false;\n });\n matchingJobsSpecs.forEach(({ job }) => job.cancel());\n return this;\n },\n\n start() {\n jobsSpecs.forEach(({ job, options }) => job.schedule(options));\n running = true;\n return this;\n },\n\n stop() {\n jobsSpecs.forEach(({ job }) => job.cancel());\n running = false;\n return this;\n },\n\n destroy() {\n this.stop();\n jobsSpecs = [];\n return this;\n },\n jobs: jobsSpecs,\n };\n};\n\nexport default createCronService;\n"],"names":["createCronService","jobsSpecs","running","add","tasks","taskExpression","Object","keys","taskValue","fn","options","taskName","isFunction","bind","task","Error","fnWithStrapi","args","strapi","job","Job","on","error","log","push","name","schedule","remove","matchingJobsSpecs","filter","jobSpecName","index","splice","forEach","cancel","start","stop","destroy","jobs"],"mappings":"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"}
1
+ {"version":3,"file":"cron.js","sources":["../../src/services/cron.ts"],"sourcesContent":["import type { Job, Spec } from 'node-schedule';\nimport { isFunction } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\n\n// Lazy: only required when a cron task is actually scheduled\nlet lazyNs: typeof import('node-schedule') | undefined;\nconst ns = (): typeof import('node-schedule') => {\n if (!lazyNs) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyNs = require('node-schedule');\n }\n return lazyNs as typeof import('node-schedule');\n};\n\ninterface JobSpec {\n job: Job;\n options: Spec;\n name: string | null;\n}\n\ntype TaskFn = ({ strapi }: { strapi: Core.Strapi }, ...args: unknown[]) => Promise<unknown>;\n\ntype Task =\n | TaskFn\n | {\n task: TaskFn;\n options: Spec;\n };\n\ninterface Tasks {\n [key: string]: Task;\n}\n\nconst createCronService = () => {\n let jobsSpecs: JobSpec[] = [];\n let running = false;\n\n return {\n add(tasks: Tasks = {}) {\n for (const taskExpression of Object.keys(tasks)) {\n const taskValue = tasks[taskExpression];\n\n let fn: TaskFn;\n let options: Spec;\n let taskName: string | null;\n if (isFunction(taskValue)) {\n // don't use task name if key is the rule\n taskName = null;\n fn = taskValue.bind(tasks);\n options = taskExpression;\n } else if (isFunction(taskValue.task)) {\n // set task name if key is not the rule\n taskName = taskExpression;\n fn = taskValue.task.bind(taskValue);\n options = taskValue.options;\n } else {\n throw new Error(\n `Could not schedule a cron job for \"${taskExpression}\": no function found.`\n );\n }\n\n const fnWithStrapi = (...args: unknown[]) => fn({ strapi }, ...args);\n\n // const job = new Job(null, fnWithStrapi);\n const job: Job = new (ns().Job)(fnWithStrapi);\n job.on('error', (error) => {\n strapi.log.error(`Cron job \"${taskName ?? taskExpression}\" failed`, error);\n });\n jobsSpecs.push({ job, options, name: taskName });\n\n if (running) {\n job.schedule(options);\n }\n }\n return this;\n },\n\n remove(name: string) {\n if (!name) throw new Error('You must provide a name to remove a cron job.');\n const matchingJobsSpecs = jobsSpecs.filter(({ name: jobSpecName }, index) => {\n if (jobSpecName === name) {\n jobsSpecs.splice(index, 1);\n return true;\n }\n return false;\n });\n matchingJobsSpecs.forEach(({ job }) => job.cancel());\n return this;\n },\n\n start() {\n jobsSpecs.forEach(({ job, options }) => job.schedule(options));\n running = true;\n return this;\n },\n\n stop() {\n jobsSpecs.forEach(({ job }) => job.cancel());\n running = false;\n return this;\n },\n\n destroy() {\n this.stop();\n jobsSpecs = [];\n return this;\n },\n jobs: jobsSpecs,\n };\n};\n\nexport default createCronService;\n"],"names":["lazyNs","ns","require","createCronService","jobsSpecs","running","add","tasks","taskExpression","Object","keys","taskValue","fn","options","taskName","isFunction","bind","task","Error","fnWithStrapi","args","strapi","job","Job","on","error","log","push","name","schedule","remove","matchingJobsSpecs","filter","jobSpecName","index","splice","forEach","cancel","start","stop","destroy","jobs"],"mappings":"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"}
@@ -1,6 +1,14 @@
1
- import { Job } from 'node-schedule';
2
1
  import { isFunction } from 'lodash/fp';
3
2
 
3
+ // Lazy: only required when a cron task is actually scheduled
4
+ let lazyNs;
5
+ const ns = ()=>{
6
+ if (!lazyNs) {
7
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
8
+ lazyNs = require('node-schedule');
9
+ }
10
+ return lazyNs;
11
+ };
4
12
  const createCronService = ()=>{
5
13
  let jobsSpecs = [];
6
14
  let running = false;
@@ -28,7 +36,7 @@ const createCronService = ()=>{
28
36
  strapi
29
37
  }, ...args);
30
38
  // const job = new Job(null, fnWithStrapi);
31
- const job = new Job(fnWithStrapi);
39
+ const job = new (ns()).Job(fnWithStrapi);
32
40
  job.on('error', (error)=>{
33
41
  strapi.log.error(`Cron job "${taskName ?? taskExpression}" failed`, error);
34
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cron.mjs","sources":["../../src/services/cron.ts"],"sourcesContent":["import { Job, Spec } from 'node-schedule';\nimport { isFunction } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\n\ninterface JobSpec {\n job: Job;\n options: Spec;\n name: string | null;\n}\n\ntype TaskFn = ({ strapi }: { strapi: Core.Strapi }, ...args: unknown[]) => Promise<unknown>;\n\ntype Task =\n | TaskFn\n | {\n task: TaskFn;\n options: Spec;\n };\n\ninterface Tasks {\n [key: string]: Task;\n}\n\nconst createCronService = () => {\n let jobsSpecs: JobSpec[] = [];\n let running = false;\n\n return {\n add(tasks: Tasks = {}) {\n for (const taskExpression of Object.keys(tasks)) {\n const taskValue = tasks[taskExpression];\n\n let fn: TaskFn;\n let options: Spec;\n let taskName: string | null;\n if (isFunction(taskValue)) {\n // don't use task name if key is the rule\n taskName = null;\n fn = taskValue.bind(tasks);\n options = taskExpression;\n } else if (isFunction(taskValue.task)) {\n // set task name if key is not the rule\n taskName = taskExpression;\n fn = taskValue.task.bind(taskValue);\n options = taskValue.options;\n } else {\n throw new Error(\n `Could not schedule a cron job for \"${taskExpression}\": no function found.`\n );\n }\n\n const fnWithStrapi = (...args: unknown[]) => fn({ strapi }, ...args);\n\n // const job = new Job(null, fnWithStrapi);\n const job = new Job(fnWithStrapi);\n job.on('error', (error) => {\n strapi.log.error(`Cron job \"${taskName ?? taskExpression}\" failed`, error);\n });\n jobsSpecs.push({ job, options, name: taskName });\n\n if (running) {\n job.schedule(options);\n }\n }\n return this;\n },\n\n remove(name: string) {\n if (!name) throw new Error('You must provide a name to remove a cron job.');\n const matchingJobsSpecs = jobsSpecs.filter(({ name: jobSpecName }, index) => {\n if (jobSpecName === name) {\n jobsSpecs.splice(index, 1);\n return true;\n }\n return false;\n });\n matchingJobsSpecs.forEach(({ job }) => job.cancel());\n return this;\n },\n\n start() {\n jobsSpecs.forEach(({ job, options }) => job.schedule(options));\n running = true;\n return this;\n },\n\n stop() {\n jobsSpecs.forEach(({ job }) => job.cancel());\n running = false;\n return this;\n },\n\n destroy() {\n this.stop();\n jobsSpecs = [];\n return this;\n },\n jobs: jobsSpecs,\n };\n};\n\nexport default createCronService;\n"],"names":["createCronService","jobsSpecs","running","add","tasks","taskExpression","Object","keys","taskValue","fn","options","taskName","isFunction","bind","task","Error","fnWithStrapi","args","strapi","job","Job","on","error","log","push","name","schedule","remove","matchingJobsSpecs","filter","jobSpecName","index","splice","forEach","cancel","start","stop","destroy","jobs"],"mappings":"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"}
1
+ {"version":3,"file":"cron.mjs","sources":["../../src/services/cron.ts"],"sourcesContent":["import type { Job, Spec } from 'node-schedule';\nimport { isFunction } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\n\n// Lazy: only required when a cron task is actually scheduled\nlet lazyNs: typeof import('node-schedule') | undefined;\nconst ns = (): typeof import('node-schedule') => {\n if (!lazyNs) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyNs = require('node-schedule');\n }\n return lazyNs as typeof import('node-schedule');\n};\n\ninterface JobSpec {\n job: Job;\n options: Spec;\n name: string | null;\n}\n\ntype TaskFn = ({ strapi }: { strapi: Core.Strapi }, ...args: unknown[]) => Promise<unknown>;\n\ntype Task =\n | TaskFn\n | {\n task: TaskFn;\n options: Spec;\n };\n\ninterface Tasks {\n [key: string]: Task;\n}\n\nconst createCronService = () => {\n let jobsSpecs: JobSpec[] = [];\n let running = false;\n\n return {\n add(tasks: Tasks = {}) {\n for (const taskExpression of Object.keys(tasks)) {\n const taskValue = tasks[taskExpression];\n\n let fn: TaskFn;\n let options: Spec;\n let taskName: string | null;\n if (isFunction(taskValue)) {\n // don't use task name if key is the rule\n taskName = null;\n fn = taskValue.bind(tasks);\n options = taskExpression;\n } else if (isFunction(taskValue.task)) {\n // set task name if key is not the rule\n taskName = taskExpression;\n fn = taskValue.task.bind(taskValue);\n options = taskValue.options;\n } else {\n throw new Error(\n `Could not schedule a cron job for \"${taskExpression}\": no function found.`\n );\n }\n\n const fnWithStrapi = (...args: unknown[]) => fn({ strapi }, ...args);\n\n // const job = new Job(null, fnWithStrapi);\n const job: Job = new (ns().Job)(fnWithStrapi);\n job.on('error', (error) => {\n strapi.log.error(`Cron job \"${taskName ?? taskExpression}\" failed`, error);\n });\n jobsSpecs.push({ job, options, name: taskName });\n\n if (running) {\n job.schedule(options);\n }\n }\n return this;\n },\n\n remove(name: string) {\n if (!name) throw new Error('You must provide a name to remove a cron job.');\n const matchingJobsSpecs = jobsSpecs.filter(({ name: jobSpecName }, index) => {\n if (jobSpecName === name) {\n jobsSpecs.splice(index, 1);\n return true;\n }\n return false;\n });\n matchingJobsSpecs.forEach(({ job }) => job.cancel());\n return this;\n },\n\n start() {\n jobsSpecs.forEach(({ job, options }) => job.schedule(options));\n running = true;\n return this;\n },\n\n stop() {\n jobsSpecs.forEach(({ job }) => job.cancel());\n running = false;\n return this;\n },\n\n destroy() {\n this.stop();\n jobsSpecs = [];\n return this;\n },\n jobs: jobsSpecs,\n };\n};\n\nexport default createCronService;\n"],"names":["lazyNs","ns","require","createCronService","jobsSpecs","running","add","tasks","taskExpression","Object","keys","taskValue","fn","options","taskName","isFunction","bind","task","Error","fnWithStrapi","args","strapi","job","Job","on","error","log","push","name","schedule","remove","matchingJobsSpecs","filter","jobSpecName","index","splice","forEach","cancel","start","stop","destroy","jobs"],"mappings":";;AAIA;AACA,IAAIA,MAAAA;AACJ,MAAMC,EAAAA,GAAK,IAAA;AACT,IAAA,IAAI,CAACD,MAAAA,EAAQ;;AAEXA,QAAAA,MAAAA,GAASE,OAAAA,CAAQ,eAAA,CAAA;AACnB,IAAA;IACA,OAAOF,MAAAA;AACT,CAAA;AAqBA,MAAMG,iBAAAA,GAAoB,IAAA;AACxB,IAAA,IAAIC,YAAuB,EAAE;AAC7B,IAAA,IAAIC,OAAAA,GAAU,KAAA;IAEd,OAAO;QACLC,GAAAA,CAAAA,CAAIC,KAAAA,GAAe,EAAE,EAAA;AACnB,YAAA,KAAK,MAAMC,cAAAA,IAAkBC,MAAAA,CAAOC,IAAI,CAACH,KAAAA,CAAAA,CAAQ;gBAC/C,MAAMI,SAAAA,GAAYJ,KAAK,CAACC,cAAAA,CAAe;gBAEvC,IAAII,EAAAA;gBACJ,IAAIC,OAAAA;gBACJ,IAAIC,QAAAA;AACJ,gBAAA,IAAIC,WAAWJ,SAAAA,CAAAA,EAAY;;oBAEzBG,QAAAA,GAAW,IAAA;oBACXF,EAAAA,GAAKD,SAAAA,CAAUK,IAAI,CAACT,KAAAA,CAAAA;oBACpBM,OAAAA,GAAUL,cAAAA;AACZ,gBAAA,CAAA,MAAO,IAAIO,UAAAA,CAAWJ,SAAAA,CAAUM,IAAI,CAAA,EAAG;;oBAErCH,QAAAA,GAAWN,cAAAA;AACXI,oBAAAA,EAAAA,GAAKD,SAAAA,CAAUM,IAAI,CAACD,IAAI,CAACL,SAAAA,CAAAA;AACzBE,oBAAAA,OAAAA,GAAUF,UAAUE,OAAO;gBAC7B,CAAA,MAAO;AACL,oBAAA,MAAM,IAAIK,KAAAA,CACR,CAAC,mCAAmC,EAAEV,cAAAA,CAAe,qBAAqB,CAAC,CAAA;AAE/E,gBAAA;AAEA,gBAAA,MAAMW,YAAAA,GAAe,CAAC,GAAGC,IAAAA,GAAoBR,EAAAA,CAAG;AAAES,wBAAAA;qBAAO,EAAA,GAAMD,IAAAA,CAAAA;;AAG/D,gBAAA,MAAME,MAAW,IAAKrB,CAAAA,EAAAA,EAAG,EAAEsB,GAAG,CAAEJ,YAAAA,CAAAA;gBAChCG,GAAAA,CAAIE,EAAE,CAAC,OAAA,EAAS,CAACC,KAAAA,GAAAA;oBACfJ,MAAAA,CAAOK,GAAG,CAACD,KAAK,CAAC,CAAC,UAAU,EAAEX,QAAAA,IAAYN,cAAAA,CAAe,QAAQ,CAAC,EAAEiB,KAAAA,CAAAA;AACtE,gBAAA,CAAA,CAAA;AACArB,gBAAAA,SAAAA,CAAUuB,IAAI,CAAC;AAAEL,oBAAAA,GAAAA;AAAKT,oBAAAA,OAAAA;oBAASe,IAAAA,EAAMd;AAAS,iBAAA,CAAA;AAE9C,gBAAA,IAAIT,OAAAA,EAAS;AACXiB,oBAAAA,GAAAA,CAAIO,QAAQ,CAAChB,OAAAA,CAAAA;AACf,gBAAA;AACF,YAAA;AACA,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAiB,QAAAA,MAAAA,CAAAA,CAAOF,IAAY,EAAA;AACjB,YAAA,IAAI,CAACA,IAAAA,EAAM,MAAM,IAAIV,KAAAA,CAAM,+CAAA,CAAA;YAC3B,MAAMa,iBAAAA,GAAoB3B,UAAU4B,MAAM,CAAC,CAAC,EAAEJ,IAAAA,EAAMK,WAAW,EAAE,EAAEC,KAAAA,GAAAA;AACjE,gBAAA,IAAID,gBAAgBL,IAAAA,EAAM;oBACxBxB,SAAAA,CAAU+B,MAAM,CAACD,KAAAA,EAAO,CAAA,CAAA;oBACxB,OAAO,IAAA;AACT,gBAAA;gBACA,OAAO,KAAA;AACT,YAAA,CAAA,CAAA;YACAH,iBAAAA,CAAkBK,OAAO,CAAC,CAAC,EAAEd,GAAG,EAAE,GAAKA,IAAIe,MAAM,EAAA,CAAA;AACjD,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAC,QAAAA,KAAAA,CAAAA,GAAAA;YACElC,SAAAA,CAAUgC,OAAO,CAAC,CAAC,EAAEd,GAAG,EAAET,OAAO,EAAE,GAAKS,GAAAA,CAAIO,QAAQ,CAAChB,OAAAA,CAAAA,CAAAA;YACrDR,OAAAA,GAAU,IAAA;AACV,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAkC,QAAAA,IAAAA,CAAAA,GAAAA;YACEnC,SAAAA,CAAUgC,OAAO,CAAC,CAAC,EAAEd,GAAG,EAAE,GAAKA,IAAIe,MAAM,EAAA,CAAA;YACzChC,OAAAA,GAAU,KAAA;AACV,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAmC,QAAAA,OAAAA,CAAAA,GAAAA;AACE,YAAA,IAAI,CAACD,IAAI,EAAA;AACTnC,YAAAA,SAAAA,GAAY,EAAE;AACd,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;QACAqC,IAAAA,EAAMrC;AACR,KAAA;AACF;;;;"}
@@ -1,24 +1,10 @@
1
1
  /// <reference types="lodash" />
2
- import type { Modules, Struct, UID } from '@strapi/types';
3
- /**
4
- * Parses and sanitizes the hasPublishedVersion parameter.
5
- * Returns normalized boolean value or undefined if not provided.
6
- * Throws ValidationError for invalid input (400 response).
7
- */
8
- declare const parseHasPublishedVersion: (value: unknown) => boolean | undefined;
9
- /**
10
- * Synchronous helper that returns the "has published version" condition for a given model.
11
- * Returns the documentId subquery condition, or null if the model doesn't use draft & publish.
12
- *
13
- * This is used by the filters function in transform/query.ts so that the condition
14
- * is applied to both root and nested (populate) queries.
15
- */
16
- declare const getHasPublishedVersionCondition: (uid: UID.Schema, hasPublishedVersion: boolean) => Record<string, any> | null;
2
+ import type { Modules, Struct } from '@strapi/types';
17
3
  declare const setStatusToDraftCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Modules.Documents.Params.All>;
18
4
  declare const defaultToDraftCurry: import("lodash").CurriedFunction1<Modules.Documents.Params.All, Modules.Documents.Params.All>;
19
5
  declare const defaultStatusCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Modules.Documents.Params.All>;
20
6
  declare const filterDataPublishedAtCurry: import("lodash").CurriedFunction1<Modules.Documents.Params.All, Modules.Documents.Params.All>;
21
7
  declare const statusToLookupCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Modules.Documents.Params.All>;
22
8
  declare const statusToDataCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Modules.Documents.Params.All>;
23
- export { setStatusToDraftCurry as setStatusToDraft, defaultToDraftCurry as defaultToDraft, defaultStatusCurry as defaultStatus, filterDataPublishedAtCurry as filterDataPublishedAt, statusToLookupCurry as statusToLookup, statusToDataCurry as statusToData, parseHasPublishedVersion, getHasPublishedVersionCondition, };
9
+ export { setStatusToDraftCurry as setStatusToDraft, defaultToDraftCurry as defaultToDraft, defaultStatusCurry as defaultStatus, filterDataPublishedAtCurry as filterDataPublishedAt, statusToLookupCurry as statusToLookup, statusToDataCurry as statusToData, };
24
10
  //# sourceMappingURL=draft-and-publish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draft-and-publish.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/draft-and-publish.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAwG1D;;;;GAIG;AACH,QAAA,MAAM,wBAAwB,UAAW,OAAO,KAAG,OAAO,GAAG,SAgB5D,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,+BAA+B,QAC9B,IAAI,MAAM,uBACM,OAAO,KAC3B,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,IA2BxB,CAAC;AAEF,QAAA,MAAM,qBAAqB,sJAA0B,CAAC;AACtD,QAAA,MAAM,mBAAmB,+FAAwB,CAAC;AAClD,QAAA,MAAM,kBAAkB,sJAAuB,CAAC;AAChD,QAAA,MAAM,0BAA0B,+FAA+B,CAAC;AAChE,QAAA,MAAM,mBAAmB,sJAAwB,CAAC;AAClD,QAAA,MAAM,iBAAiB,sJAAsB,CAAC;AAE9C,OAAO,EACL,qBAAqB,IAAI,gBAAgB,EACzC,mBAAmB,IAAI,cAAc,EACrC,kBAAkB,IAAI,aAAa,EACnC,0BAA0B,IAAI,qBAAqB,EACnD,mBAAmB,IAAI,cAAc,EACrC,iBAAiB,IAAI,YAAY,EACjC,wBAAwB,EACxB,+BAA+B,GAChC,CAAC"}
1
+ {"version":3,"file":"draft-and-publish.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/draft-and-publish.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAwGrD,QAAA,MAAM,qBAAqB,sJAA0B,CAAC;AACtD,QAAA,MAAM,mBAAmB,+FAAwB,CAAC;AAClD,QAAA,MAAM,kBAAkB,sJAAuB,CAAC;AAChD,QAAA,MAAM,0BAA0B,+FAA+B,CAAC;AAChE,QAAA,MAAM,mBAAmB,sJAAwB,CAAC;AAClD,QAAA,MAAM,iBAAiB,sJAAsB,CAAC;AAE9C,OAAO,EACL,qBAAqB,IAAI,gBAAgB,EACzC,mBAAmB,IAAI,cAAc,EACrC,kBAAkB,IAAI,aAAa,EACnC,0BAA0B,IAAI,qBAAqB,EACnD,mBAAmB,IAAI,cAAc,EACrC,iBAAiB,IAAI,YAAY,GAClC,CAAC"}