@strapi/core 5.54.0 → 5.55.0

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 (47) hide show
  1. package/dist/configuration/get-dirs.d.ts.map +1 -1
  2. package/dist/configuration/get-dirs.js +4 -2
  3. package/dist/configuration/get-dirs.js.map +1 -1
  4. package/dist/configuration/get-dirs.mjs +4 -2
  5. package/dist/configuration/get-dirs.mjs.map +1 -1
  6. package/dist/core-api/routes/validation/component.d.ts +1 -1
  7. package/dist/core-api/routes/validation/component.d.ts.map +1 -1
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/package.json.js +13 -13
  13. package/dist/package.json.mjs +13 -13
  14. package/dist/providers/content-structure.d.ts +3 -0
  15. package/dist/providers/content-structure.d.ts.map +1 -0
  16. package/dist/providers/content-structure.js +22 -0
  17. package/dist/providers/content-structure.js.map +1 -0
  18. package/dist/providers/content-structure.mjs +20 -0
  19. package/dist/providers/content-structure.mjs.map +1 -0
  20. package/dist/providers/index.d.ts.map +1 -1
  21. package/dist/providers/index.js +2 -0
  22. package/dist/providers/index.js.map +1 -1
  23. package/dist/providers/index.mjs +2 -0
  24. package/dist/providers/index.mjs.map +1 -1
  25. package/dist/services/content-structure/index.d.ts +37 -0
  26. package/dist/services/content-structure/index.d.ts.map +1 -0
  27. package/dist/services/content-structure/index.js +304 -0
  28. package/dist/services/content-structure/index.js.map +1 -0
  29. package/dist/services/content-structure/index.mjs +296 -0
  30. package/dist/services/content-structure/index.mjs.map +1 -0
  31. package/dist/services/content-structure/utils/isGroupExpressionValid.d.ts +7 -0
  32. package/dist/services/content-structure/utils/isGroupExpressionValid.d.ts.map +1 -0
  33. package/dist/services/content-structure/utils/isGroupExpressionValid.js +19 -0
  34. package/dist/services/content-structure/utils/isGroupExpressionValid.js.map +1 -0
  35. package/dist/services/content-structure/utils/isGroupExpressionValid.mjs +17 -0
  36. package/dist/services/content-structure/utils/isGroupExpressionValid.mjs.map +1 -0
  37. package/dist/services/content-structure/validation.d.ts +35 -0
  38. package/dist/services/content-structure/validation.d.ts.map +1 -0
  39. package/dist/services/content-structure/validation.js +163 -0
  40. package/dist/services/content-structure/validation.js.map +1 -0
  41. package/dist/services/content-structure/validation.mjs +161 -0
  42. package/dist/services/content-structure/validation.mjs.map +1 -0
  43. package/dist/services/server/koa-methods.d.ts +0 -6
  44. package/dist/services/server/koa-methods.d.ts.map +1 -1
  45. package/dist/services/server/koa-methods.js.map +1 -1
  46. package/dist/services/server/koa-methods.mjs.map +1 -1
  47. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"get-dirs.d.ts","sourceRoot":"","sources":["../../src/configuration/get-dirs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,qBAAqB,aAAa,EAClC,QAAQ;IAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,KAC9C,IAAI,CAAC,iBAwBN,CAAC"}
1
+ {"version":3,"file":"get-dirs.d.ts","sourceRoot":"","sources":["../../src/configuration/get-dirs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,qBAAqB,aAAa,EAClC,QAAQ;IAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,KAC9C,IAAI,CAAC,iBA0BN,CAAC"}
@@ -12,7 +12,8 @@ const getDirs = ({ appDir, distDir }, config)=>({
12
12
  extensions: path.join(distDir, 'src', 'extensions'),
13
13
  policies: path.join(distDir, 'src', 'policies'),
14
14
  middlewares: path.join(distDir, 'src', 'middlewares'),
15
- config: path.join(distDir, 'config')
15
+ config: path.join(distDir, 'config'),
16
+ contentStructure: path.join(distDir, 'src', 'content-structure')
16
17
  },
17
18
  app: {
18
19
  root: appDir,
@@ -22,7 +23,8 @@ const getDirs = ({ appDir, distDir }, config)=>({
22
23
  extensions: path.join(appDir, 'src', 'extensions'),
23
24
  policies: path.join(appDir, 'src', 'policies'),
24
25
  middlewares: path.join(appDir, 'src', 'middlewares'),
25
- config: path.join(appDir, 'config')
26
+ config: path.join(appDir, 'config'),
27
+ contentStructure: path.join(appDir, 'src', 'content-structure')
26
28
  },
27
29
  static: {
28
30
  public: path.resolve(appDir, fp.get('server.dirs.public', config))
@@ -1 +1 @@
1
- {"version":3,"file":"get-dirs.js","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":["getDirs","appDir","distDir","config","dist","root","src","join","api","components","extensions","policies","middlewares","app","static","public","resolve","get"],"mappings":";;;;;AAWO,MAAMA,OAAAA,GAAU,CACrB,EAAEC,MAAM,EAAEC,OAAO,EAAiB,EAClCC,MAAAA,IAC4B;QAC5BC,IAAAA,EAAM;YACJC,IAAAA,EAAMH,OAAAA;AACNI,YAAAA,GAAAA,EAAKC,UAAKL,OAAAA,EAAS,KAAA,CAAA;YACnBM,GAAAA,EAAKD,SAAAA,CAAKL,SAAS,KAAA,EAAO,KAAA,CAAA;YAC1BO,UAAAA,EAAYF,SAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCQ,UAAAA,EAAYH,SAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCS,QAAAA,EAAUJ,SAAAA,CAAKL,SAAS,KAAA,EAAO,UAAA,CAAA;YAC/BU,WAAAA,EAAaL,SAAAA,CAAKL,SAAS,KAAA,EAAO,aAAA,CAAA;AAClCC,YAAAA,MAAAA,EAAQI,UAAKL,OAAAA,EAAS,QAAA;AACxB,SAAA;QACAW,GAAAA,EAAK;YACHR,IAAAA,EAAMJ,MAAAA;AACNK,YAAAA,GAAAA,EAAKC,UAAKN,MAAAA,EAAQ,KAAA,CAAA;YAClBO,GAAAA,EAAKD,SAAAA,CAAKN,QAAQ,KAAA,EAAO,KAAA,CAAA;YACzBQ,UAAAA,EAAYF,SAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCS,UAAAA,EAAYH,SAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCU,QAAAA,EAAUJ,SAAAA,CAAKN,QAAQ,KAAA,EAAO,UAAA,CAAA;YAC9BW,WAAAA,EAAaL,SAAAA,CAAKN,QAAQ,KAAA,EAAO,aAAA,CAAA;AACjCE,YAAAA,MAAAA,EAAQI,UAAKN,MAAAA,EAAQ,QAAA;AACvB,SAAA;QACAa,MAAAA,EAAQ;YACNC,MAAAA,EAAQC,YAAAA,CAAQf,MAAAA,EAAQgB,MAAAA,CAAI,oBAAA,EAAsBd,MAAAA,CAAAA;AACpD;AACF,KAAA;;;;"}
1
+ {"version":3,"file":"get-dirs.js","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n contentStructure: join(distDir, 'src', 'content-structure'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n contentStructure: join(appDir, 'src', 'content-structure'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":["getDirs","appDir","distDir","config","dist","root","src","join","api","components","extensions","policies","middlewares","contentStructure","app","static","public","resolve","get"],"mappings":";;;;;AAWO,MAAMA,OAAAA,GAAU,CACrB,EAAEC,MAAM,EAAEC,OAAO,EAAiB,EAClCC,MAAAA,IAC4B;QAC5BC,IAAAA,EAAM;YACJC,IAAAA,EAAMH,OAAAA;AACNI,YAAAA,GAAAA,EAAKC,UAAKL,OAAAA,EAAS,KAAA,CAAA;YACnBM,GAAAA,EAAKD,SAAAA,CAAKL,SAAS,KAAA,EAAO,KAAA,CAAA;YAC1BO,UAAAA,EAAYF,SAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCQ,UAAAA,EAAYH,SAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCS,QAAAA,EAAUJ,SAAAA,CAAKL,SAAS,KAAA,EAAO,UAAA,CAAA;YAC/BU,WAAAA,EAAaL,SAAAA,CAAKL,SAAS,KAAA,EAAO,aAAA,CAAA;AAClCC,YAAAA,MAAAA,EAAQI,UAAKL,OAAAA,EAAS,QAAA,CAAA;YACtBW,gBAAAA,EAAkBN,SAAAA,CAAKL,SAAS,KAAA,EAAO,mBAAA;AACzC,SAAA;QACAY,GAAAA,EAAK;YACHT,IAAAA,EAAMJ,MAAAA;AACNK,YAAAA,GAAAA,EAAKC,UAAKN,MAAAA,EAAQ,KAAA,CAAA;YAClBO,GAAAA,EAAKD,SAAAA,CAAKN,QAAQ,KAAA,EAAO,KAAA,CAAA;YACzBQ,UAAAA,EAAYF,SAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCS,UAAAA,EAAYH,SAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCU,QAAAA,EAAUJ,SAAAA,CAAKN,QAAQ,KAAA,EAAO,UAAA,CAAA;YAC9BW,WAAAA,EAAaL,SAAAA,CAAKN,QAAQ,KAAA,EAAO,aAAA,CAAA;AACjCE,YAAAA,MAAAA,EAAQI,UAAKN,MAAAA,EAAQ,QAAA,CAAA;YACrBY,gBAAAA,EAAkBN,SAAAA,CAAKN,QAAQ,KAAA,EAAO,mBAAA;AACxC,SAAA;QACAc,MAAAA,EAAQ;YACNC,MAAAA,EAAQC,YAAAA,CAAQhB,MAAAA,EAAQiB,MAAAA,CAAI,oBAAA,EAAsBf,MAAAA,CAAAA;AACpD;AACF,KAAA;;;;"}
@@ -10,7 +10,8 @@ const getDirs = ({ appDir, distDir }, config)=>({
10
10
  extensions: join(distDir, 'src', 'extensions'),
11
11
  policies: join(distDir, 'src', 'policies'),
12
12
  middlewares: join(distDir, 'src', 'middlewares'),
13
- config: join(distDir, 'config')
13
+ config: join(distDir, 'config'),
14
+ contentStructure: join(distDir, 'src', 'content-structure')
14
15
  },
15
16
  app: {
16
17
  root: appDir,
@@ -20,7 +21,8 @@ const getDirs = ({ appDir, distDir }, config)=>({
20
21
  extensions: join(appDir, 'src', 'extensions'),
21
22
  policies: join(appDir, 'src', 'policies'),
22
23
  middlewares: join(appDir, 'src', 'middlewares'),
23
- config: join(appDir, 'config')
24
+ config: join(appDir, 'config'),
25
+ contentStructure: join(appDir, 'src', 'content-structure')
24
26
  },
25
27
  static: {
26
28
  public: resolve(appDir, get('server.dirs.public', config))
@@ -1 +1 @@
1
- {"version":3,"file":"get-dirs.mjs","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":["getDirs","appDir","distDir","config","dist","root","src","join","api","components","extensions","policies","middlewares","app","static","public","resolve","get"],"mappings":";;;AAWO,MAAMA,OAAAA,GAAU,CACrB,EAAEC,MAAM,EAAEC,OAAO,EAAiB,EAClCC,MAAAA,IAC4B;QAC5BC,IAAAA,EAAM;YACJC,IAAAA,EAAMH,OAAAA;AACNI,YAAAA,GAAAA,EAAKC,KAAKL,OAAAA,EAAS,KAAA,CAAA;YACnBM,GAAAA,EAAKD,IAAAA,CAAKL,SAAS,KAAA,EAAO,KAAA,CAAA;YAC1BO,UAAAA,EAAYF,IAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCQ,UAAAA,EAAYH,IAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCS,QAAAA,EAAUJ,IAAAA,CAAKL,SAAS,KAAA,EAAO,UAAA,CAAA;YAC/BU,WAAAA,EAAaL,IAAAA,CAAKL,SAAS,KAAA,EAAO,aAAA,CAAA;AAClCC,YAAAA,MAAAA,EAAQI,KAAKL,OAAAA,EAAS,QAAA;AACxB,SAAA;QACAW,GAAAA,EAAK;YACHR,IAAAA,EAAMJ,MAAAA;AACNK,YAAAA,GAAAA,EAAKC,KAAKN,MAAAA,EAAQ,KAAA,CAAA;YAClBO,GAAAA,EAAKD,IAAAA,CAAKN,QAAQ,KAAA,EAAO,KAAA,CAAA;YACzBQ,UAAAA,EAAYF,IAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCS,UAAAA,EAAYH,IAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCU,QAAAA,EAAUJ,IAAAA,CAAKN,QAAQ,KAAA,EAAO,UAAA,CAAA;YAC9BW,WAAAA,EAAaL,IAAAA,CAAKN,QAAQ,KAAA,EAAO,aAAA,CAAA;AACjCE,YAAAA,MAAAA,EAAQI,KAAKN,MAAAA,EAAQ,QAAA;AACvB,SAAA;QACAa,MAAAA,EAAQ;YACNC,MAAAA,EAAQC,OAAAA,CAAQf,MAAAA,EAAQgB,GAAAA,CAAI,oBAAA,EAAsBd,MAAAA,CAAAA;AACpD;AACF,KAAA;;;;"}
1
+ {"version":3,"file":"get-dirs.mjs","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n contentStructure: join(distDir, 'src', 'content-structure'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n contentStructure: join(appDir, 'src', 'content-structure'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":["getDirs","appDir","distDir","config","dist","root","src","join","api","components","extensions","policies","middlewares","contentStructure","app","static","public","resolve","get"],"mappings":";;;AAWO,MAAMA,OAAAA,GAAU,CACrB,EAAEC,MAAM,EAAEC,OAAO,EAAiB,EAClCC,MAAAA,IAC4B;QAC5BC,IAAAA,EAAM;YACJC,IAAAA,EAAMH,OAAAA;AACNI,YAAAA,GAAAA,EAAKC,KAAKL,OAAAA,EAAS,KAAA,CAAA;YACnBM,GAAAA,EAAKD,IAAAA,CAAKL,SAAS,KAAA,EAAO,KAAA,CAAA;YAC1BO,UAAAA,EAAYF,IAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCQ,UAAAA,EAAYH,IAAAA,CAAKL,SAAS,KAAA,EAAO,YAAA,CAAA;YACjCS,QAAAA,EAAUJ,IAAAA,CAAKL,SAAS,KAAA,EAAO,UAAA,CAAA;YAC/BU,WAAAA,EAAaL,IAAAA,CAAKL,SAAS,KAAA,EAAO,aAAA,CAAA;AAClCC,YAAAA,MAAAA,EAAQI,KAAKL,OAAAA,EAAS,QAAA,CAAA;YACtBW,gBAAAA,EAAkBN,IAAAA,CAAKL,SAAS,KAAA,EAAO,mBAAA;AACzC,SAAA;QACAY,GAAAA,EAAK;YACHT,IAAAA,EAAMJ,MAAAA;AACNK,YAAAA,GAAAA,EAAKC,KAAKN,MAAAA,EAAQ,KAAA,CAAA;YAClBO,GAAAA,EAAKD,IAAAA,CAAKN,QAAQ,KAAA,EAAO,KAAA,CAAA;YACzBQ,UAAAA,EAAYF,IAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCS,UAAAA,EAAYH,IAAAA,CAAKN,QAAQ,KAAA,EAAO,YAAA,CAAA;YAChCU,QAAAA,EAAUJ,IAAAA,CAAKN,QAAQ,KAAA,EAAO,UAAA,CAAA;YAC9BW,WAAAA,EAAaL,IAAAA,CAAKN,QAAQ,KAAA,EAAO,aAAA,CAAA;AACjCE,YAAAA,MAAAA,EAAQI,KAAKN,MAAAA,EAAQ,QAAA,CAAA;YACrBY,gBAAAA,EAAkBN,IAAAA,CAAKN,QAAQ,KAAA,EAAO,mBAAA;AACxC,SAAA;QACAc,MAAAA,EAAQ;YACNC,MAAAA,EAAQC,OAAAA,CAAQhB,MAAAA,EAAQiB,GAAAA,CAAI,oBAAA,EAAsBf,MAAAA,CAAAA;AACpD;AACF,KAAA;;;;"}
@@ -29,6 +29,6 @@ export declare class CoreComponentRouteValidator extends AbstractCoreRouteValida
29
29
  * const entrySchema = validator.entry;
30
30
  * ```
31
31
  */
32
- get entry(): import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>;
32
+ get entry(): import("zod").ZodObject<{}, import("zod/v4/core").$strip>;
33
33
  }
34
34
  //# sourceMappingURL=component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../src/core-api/routes/validation/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,2BAA4B,SAAQ,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC;IACxF;;;;;;;;;;;;OAYG;IACH,IAAI,KAAK,iEAMR;CACF"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../src/core-api/routes/validation/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,2BAA4B,SAAQ,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC;IACxF;;;;;;;;;;;;OAYG;IACH,IAAI,KAAK,8DAMR;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as qs from 'qs';
2
2
  import type { Core } from '@strapi/types';
3
3
  import { type StrapiOptions } from './Strapi';
4
+ import type { ContextDelegatedResponseErrorMethods, ContextDelegatedResponseSuccessMethods } from './services/server/koa-methods';
4
5
  export { default as compileStrapi } from './compile';
5
6
  export * as factories from './factories';
6
7
  export * as ai from './ai';
@@ -17,5 +18,7 @@ declare module 'koa' {
17
18
  get query(): ParsedQuery;
18
19
  set query(obj: any);
19
20
  }
21
+ interface DefaultContextDelegatedResponse extends ContextDelegatedResponseErrorMethods, ContextDelegatedResponseSuccessMethods {
22
+ }
20
23
  }
21
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAe,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAGtD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAE3B,eAAO,MAAM,YAAY,GAAI,UAAS,OAAO,CAAC,aAAa,CAAM,KAAG,IAAI,CAAC,MAaxE,CAAC;AAIF,OAAO,QAAQ,KAAK,CAAC;IACnB,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAE/C,UAAiB,WAAW;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAE1B,IAAI,KAAK,IAAI,WAAW,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;KACrB;IAED,UAAiB,WAAW;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAE1B,IAAI,KAAK,IAAI,WAAW,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;KACrB;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAe,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,KAAK,EACV,oCAAoC,EACpC,sCAAsC,EACvC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAE3B,eAAO,MAAM,YAAY,GAAI,UAAS,OAAO,CAAC,aAAa,CAAM,KAAG,IAAI,CAAC,MAaxE,CAAC;AAIF,OAAO,QAAQ,KAAK,CAAC;IACnB,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAE/C,UAAiB,WAAW;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAE1B,IAAI,KAAK,IAAI,WAAW,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;KACrB;IAED,UAAiB,WAAW;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAE1B,IAAI,KAAK,IAAI,WAAW,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;KACrB;IAKD,UAAiB,+BACf,SAAQ,oCAAoC,EAC1C,sCAAsC;KAAG;CAC9C"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\nexport * as ai from './ai';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n}\n"],"names":["createStrapi","options","strapi","Strapi","resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier","global"],"mappings":";;;;;;;;;;;;;;;;;;;AAUO,MAAMA,YAAAA,GAAe,CAACC,OAAAA,GAAkC,EAAE,GAAA;IAC/D,MAAMC,MAAAA,GAAS,IAAIC,MAAAA,CAAO;AACxB,QAAA,GAAGF,OAAO;AACV,QAAA,GAAGG,6CAA0BH,OAAAA;AAC/B,KAAA,CAAA;IAEAI,uBAAAA,CAAgBH,MAAAA,CAAAA;IAChBI,0BAAAA,CAAqBJ,MAAAA,CAAAA;;AAGrBK,IAAAA,MAAAA,CAAOL,MAAM,GAAGA,MAAAA;IAEhB,OAAOA,MAAAA;AACT;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\nimport type {\n ContextDelegatedResponseErrorMethods,\n ContextDelegatedResponseSuccessMethods,\n} from './services/server/koa-methods';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\nexport * as ai from './ai';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n // Keep Koa's context and response types in sync with the helpers registered at runtime in `koa.ts`.\n // `BaseResponse` and `BaseContext` both extend `DefaultContextDelegatedResponse`, so augmenting it\n // once covers `ctx.*` and `ctx.response.*`.\n export interface DefaultContextDelegatedResponse\n extends ContextDelegatedResponseErrorMethods,\n ContextDelegatedResponseSuccessMethods {}\n}\n"],"names":["createStrapi","options","strapi","Strapi","resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier","global"],"mappings":";;;;;;;;;;;;;;;;;;;AAcO,MAAMA,YAAAA,GAAe,CAACC,OAAAA,GAAkC,EAAE,GAAA;IAC/D,MAAMC,MAAAA,GAAS,IAAIC,MAAAA,CAAO;AACxB,QAAA,GAAGF,OAAO;AACV,QAAA,GAAGG,6CAA0BH,OAAAA;AAC/B,KAAA,CAAA;IAEAI,uBAAAA,CAAgBH,MAAAA,CAAAA;IAChBI,0BAAAA,CAAqBJ,MAAAA,CAAAA;;AAGrBK,IAAAA,MAAAA,CAAOL,MAAM,GAAGA,MAAAA;IAEhB,OAAOA,MAAAA;AACT;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\nexport * as ai from './ai';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n}\n"],"names":["createStrapi","options","strapi","Strapi","resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier","global"],"mappings":";;;;;;;;;;;;;;;;;;;AAUO,MAAMA,YAAAA,GAAe,CAACC,OAAAA,GAAkC,EAAE,GAAA;IAC/D,MAAMC,MAAAA,GAAS,IAAIC,MAAAA,CAAO;AACxB,QAAA,GAAGF,OAAO;AACV,QAAA,GAAGG,0BAA0BH,OAAAA;AAC/B,KAAA,CAAA;IAEAI,eAAAA,CAAgBH,MAAAA,CAAAA;IAChBI,oBAAAA,CAAqBJ,MAAAA,CAAAA;;AAGrBK,IAAAA,MAAAA,CAAOL,MAAM,GAAGA,MAAAA;IAEhB,OAAOA,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\nimport type {\n ContextDelegatedResponseErrorMethods,\n ContextDelegatedResponseSuccessMethods,\n} from './services/server/koa-methods';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\nexport * as ai from './ai';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n // Keep Koa's context and response types in sync with the helpers registered at runtime in `koa.ts`.\n // `BaseResponse` and `BaseContext` both extend `DefaultContextDelegatedResponse`, so augmenting it\n // once covers `ctx.*` and `ctx.response.*`.\n export interface DefaultContextDelegatedResponse\n extends ContextDelegatedResponseErrorMethods,\n ContextDelegatedResponseSuccessMethods {}\n}\n"],"names":["createStrapi","options","strapi","Strapi","resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier","global"],"mappings":";;;;;;;;;;;;;;;;;;;AAcO,MAAMA,YAAAA,GAAe,CAACC,OAAAA,GAAkC,EAAE,GAAA;IAC/D,MAAMC,MAAAA,GAAS,IAAIC,MAAAA,CAAO;AACxB,QAAA,GAAGF,OAAO;AACV,QAAA,GAAGG,0BAA0BH,OAAAA;AAC/B,KAAA,CAAA;IAEAI,eAAAA,CAAgBH,MAAAA,CAAAA;IAChBI,oBAAAA,CAAqBJ,MAAAA,CAAAA;;AAGrBK,IAAAA,MAAAA,CAAOL,MAAM,GAAGA,MAAAA;IAEhB,OAAOA,MAAAA;AACT;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@strapi/core";
6
- var version = "5.54.0";
6
+ var version = "5.55.0";
7
7
  var description = "Core of Strapi";
8
8
  var homepage = "https://strapi.io";
9
9
  var bugs = {
@@ -66,15 +66,15 @@ var dependencies = {
66
66
  "@modelcontextprotocol/node": "2.0.0",
67
67
  "@modelcontextprotocol/server": "2.0.0",
68
68
  "@paralleldrive/cuid2": "2.2.2",
69
- "@strapi/admin": "5.54.0",
70
- "@strapi/database": "5.54.0",
71
- "@strapi/generators": "5.54.0",
72
- "@strapi/logger": "5.54.0",
73
- "@strapi/openapi": "5.54.0",
74
- "@strapi/permissions": "5.54.0",
75
- "@strapi/types": "5.54.0",
76
- "@strapi/typescript-utils": "5.54.0",
77
- "@strapi/utils": "5.54.0",
69
+ "@strapi/admin": "5.55.0",
70
+ "@strapi/database": "5.55.0",
71
+ "@strapi/generators": "5.55.0",
72
+ "@strapi/logger": "5.55.0",
73
+ "@strapi/openapi": "5.55.0",
74
+ "@strapi/permissions": "5.55.0",
75
+ "@strapi/types": "5.55.0",
76
+ "@strapi/typescript-utils": "5.55.0",
77
+ "@strapi/utils": "5.55.0",
78
78
  "@vercel/stega": "0.1.2",
79
79
  bcryptjs: "2.4.3",
80
80
  boxen: "5.1.2",
@@ -140,12 +140,12 @@ var devDependencies = {
140
140
  "@types/node": "20.19.41",
141
141
  ajv: "8.20.0",
142
142
  "ajv-formats": "3.0.1",
143
- "eslint-config-custom": "5.54.0",
143
+ "eslint-config-custom": "5.55.0",
144
144
  jest: "29.6.0",
145
145
  supertest: "7.2.2",
146
- tsconfig: "5.54.0",
146
+ tsconfig: "5.55.0",
147
147
  vitest: "catalog:",
148
- "vitest-config": "5.54.0"
148
+ "vitest-config": "5.55.0"
149
149
  };
150
150
  var engines = {
151
151
  node: ">=20.0.0 <=26.x.x",
@@ -1,5 +1,5 @@
1
1
  var name = "@strapi/core";
2
- var version = "5.54.0";
2
+ var version = "5.55.0";
3
3
  var description = "Core of Strapi";
4
4
  var homepage = "https://strapi.io";
5
5
  var bugs = {
@@ -62,15 +62,15 @@ var dependencies = {
62
62
  "@modelcontextprotocol/node": "2.0.0",
63
63
  "@modelcontextprotocol/server": "2.0.0",
64
64
  "@paralleldrive/cuid2": "2.2.2",
65
- "@strapi/admin": "5.54.0",
66
- "@strapi/database": "5.54.0",
67
- "@strapi/generators": "5.54.0",
68
- "@strapi/logger": "5.54.0",
69
- "@strapi/openapi": "5.54.0",
70
- "@strapi/permissions": "5.54.0",
71
- "@strapi/types": "5.54.0",
72
- "@strapi/typescript-utils": "5.54.0",
73
- "@strapi/utils": "5.54.0",
65
+ "@strapi/admin": "5.55.0",
66
+ "@strapi/database": "5.55.0",
67
+ "@strapi/generators": "5.55.0",
68
+ "@strapi/logger": "5.55.0",
69
+ "@strapi/openapi": "5.55.0",
70
+ "@strapi/permissions": "5.55.0",
71
+ "@strapi/types": "5.55.0",
72
+ "@strapi/typescript-utils": "5.55.0",
73
+ "@strapi/utils": "5.55.0",
74
74
  "@vercel/stega": "0.1.2",
75
75
  bcryptjs: "2.4.3",
76
76
  boxen: "5.1.2",
@@ -136,12 +136,12 @@ var devDependencies = {
136
136
  "@types/node": "20.19.41",
137
137
  ajv: "8.20.0",
138
138
  "ajv-formats": "3.0.1",
139
- "eslint-config-custom": "5.54.0",
139
+ "eslint-config-custom": "5.55.0",
140
140
  jest: "29.6.0",
141
141
  supertest: "7.2.2",
142
- tsconfig: "5.54.0",
142
+ tsconfig: "5.55.0",
143
143
  vitest: "catalog:",
144
- "vitest-config": "5.54.0"
144
+ "vitest-config": "5.55.0"
145
145
  };
146
146
  var engines = {
147
147
  node: ">=20.0.0 <=26.x.x",
@@ -0,0 +1,3 @@
1
+ declare const _default: import("./provider").Provider;
2
+ export default _default;
3
+ //# sourceMappingURL=content-structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-structure.d.ts","sourceRoot":"","sources":["../../src/providers/content-structure.ts"],"names":[],"mappings":";AAMA,wBAeG"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var provider = require('./provider.js');
4
+ var index = require('../services/content-structure/index.js');
5
+
6
+ var contentStructure = provider.defineProvider({
7
+ init (strapi) {
8
+ strapi.add('content-structure', ()=>index.createContentStructureService(strapi));
9
+ },
10
+ async bootstrap (strapi) {
11
+ const contentStructure = strapi.get('content-structure');
12
+ // Executes tolerant validation during bootstrap, logs validation warnings
13
+ const cleaned = await contentStructure.getCleanedFile();
14
+ if (cleaned) {
15
+ const count = await contentStructure.countGroups();
16
+ strapi.log.info(`[content-structure] Loaded groups.json with ${count} folder group(s)`);
17
+ }
18
+ }
19
+ });
20
+
21
+ module.exports = contentStructure;
22
+ //# sourceMappingURL=content-structure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-structure.js","sources":["../../src/providers/content-structure.ts"],"sourcesContent":["import { defineProvider } from './provider';\nimport {\n createContentStructureService,\n type ContentStructureService,\n} from '../services/content-structure';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('content-structure', () => createContentStructureService(strapi));\n },\n async bootstrap(strapi) {\n const contentStructure = strapi.get('content-structure') as ContentStructureService;\n\n // Executes tolerant validation during bootstrap, logs validation warnings\n const cleaned = await contentStructure.getCleanedFile();\n\n if (cleaned) {\n const count = await contentStructure.countGroups();\n strapi.log.info(`[content-structure] Loaded groups.json with ${count} folder group(s)`);\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createContentStructureService","bootstrap","contentStructure","get","cleaned","getCleanedFile","count","countGroups","log","info"],"mappings":";;;;;AAMA,uBAAeA,uBAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,mBAAA,EAAqB,IAAMC,mCAAAA,CAA8BF,MAAAA,CAAAA,CAAAA;AACtE,IAAA,CAAA;AACA,IAAA,MAAMG,WAAUH,MAAM,EAAA;QACpB,MAAMI,gBAAAA,GAAmBJ,MAAAA,CAAOK,GAAG,CAAC,mBAAA,CAAA;;QAGpC,MAAMC,OAAAA,GAAU,MAAMF,gBAAAA,CAAiBG,cAAc,EAAA;AAErD,QAAA,IAAID,OAAAA,EAAS;YACX,MAAME,KAAAA,GAAQ,MAAMJ,gBAAAA,CAAiBK,WAAW,EAAA;YAChDT,MAAAA,CAAOU,GAAG,CAACC,IAAI,CAAC,CAAC,4CAA4C,EAAEH,KAAAA,CAAM,gBAAgB,CAAC,CAAA;AACxF,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
@@ -0,0 +1,20 @@
1
+ import { defineProvider } from './provider.mjs';
2
+ import { createContentStructureService } from '../services/content-structure/index.mjs';
3
+
4
+ var contentStructure = defineProvider({
5
+ init (strapi) {
6
+ strapi.add('content-structure', ()=>createContentStructureService(strapi));
7
+ },
8
+ async bootstrap (strapi) {
9
+ const contentStructure = strapi.get('content-structure');
10
+ // Executes tolerant validation during bootstrap, logs validation warnings
11
+ const cleaned = await contentStructure.getCleanedFile();
12
+ if (cleaned) {
13
+ const count = await contentStructure.countGroups();
14
+ strapi.log.info(`[content-structure] Loaded groups.json with ${count} folder group(s)`);
15
+ }
16
+ }
17
+ });
18
+
19
+ export { contentStructure as default };
20
+ //# sourceMappingURL=content-structure.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-structure.mjs","sources":["../../src/providers/content-structure.ts"],"sourcesContent":["import { defineProvider } from './provider';\nimport {\n createContentStructureService,\n type ContentStructureService,\n} from '../services/content-structure';\n\nexport default defineProvider({\n init(strapi) {\n strapi.add('content-structure', () => createContentStructureService(strapi));\n },\n async bootstrap(strapi) {\n const contentStructure = strapi.get('content-structure') as ContentStructureService;\n\n // Executes tolerant validation during bootstrap, logs validation warnings\n const cleaned = await contentStructure.getCleanedFile();\n\n if (cleaned) {\n const count = await contentStructure.countGroups();\n strapi.log.info(`[content-structure] Loaded groups.json with ${count} folder group(s)`);\n }\n },\n});\n"],"names":["defineProvider","init","strapi","add","createContentStructureService","bootstrap","contentStructure","get","cleaned","getCleanedFile","count","countGroups","log","info"],"mappings":";;;AAMA,uBAAeA,cAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;AACTA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,mBAAA,EAAqB,IAAMC,6BAAAA,CAA8BF,MAAAA,CAAAA,CAAAA;AACtE,IAAA,CAAA;AACA,IAAA,MAAMG,WAAUH,MAAM,EAAA;QACpB,MAAMI,gBAAAA,GAAmBJ,MAAAA,CAAOK,GAAG,CAAC,mBAAA,CAAA;;QAGpC,MAAMC,OAAAA,GAAU,MAAMF,gBAAAA,CAAiBG,cAAc,EAAA;AAErD,QAAA,IAAID,OAAAA,EAAS;YACX,MAAME,KAAAA,GAAQ,MAAMJ,gBAAAA,CAAiBK,WAAW,EAAA;YAChDT,MAAAA,CAAOU,GAAG,CAACC,IAAI,CAAC,CAAC,4CAA4C,EAAEH,KAAAA,CAAM,gBAAgB,CAAC,CAAA;AACxF,QAAA;AACF,IAAA;AACF,CAAA,CAAA;;;;"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,SAAS,EAAE,QAAQ,EAW/B,CAAC"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  var admin = require('./admin.js');
4
4
  var ai = require('./ai.js');
5
+ var contentStructure = require('./content-structure.js');
5
6
  var coreStore = require('./coreStore.js');
6
7
  var cron = require('./cron.js');
7
8
  var mcp = require('./mcp.js');
@@ -14,6 +15,7 @@ const providers = [
14
15
  registries,
15
16
  admin,
16
17
  ai,
18
+ contentStructure,
17
19
  coreStore,
18
20
  sessionManager,
19
21
  webhooks,
@@ -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 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;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/providers/index.ts"],"sourcesContent":["import admin from './admin';\nimport ai from './ai';\nimport contentStructure from './content-structure';\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 contentStructure,\n coreStore,\n sessionManager,\n webhooks,\n telemetry,\n cron,\n mcp,\n];\n"],"names":["providers","registries","admin","ai","contentStructure","coreStore","sessionManager","webhooks","telemetry","cron","mcp"],"mappings":";;;;;;;;;;;;;MAaaA,SAAAA,GAAwB;AACnCC,IAAAA,UAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,EAAAA;AACAC,IAAAA,gBAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import admin from './admin.mjs';
2
2
  import ai from './ai.mjs';
3
+ import contentStructure from './content-structure.mjs';
3
4
  import coreStore from './coreStore.mjs';
4
5
  import cron from './cron.mjs';
5
6
  import mcp from './mcp.mjs';
@@ -12,6 +13,7 @@ const providers = [
12
13
  registries,
13
14
  admin,
14
15
  ai,
16
+ contentStructure,
15
17
  coreStore,
16
18
  sessionManager,
17
19
  webhooks,
@@ -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 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;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/providers/index.ts"],"sourcesContent":["import admin from './admin';\nimport ai from './ai';\nimport contentStructure from './content-structure';\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 contentStructure,\n coreStore,\n sessionManager,\n webhooks,\n telemetry,\n cron,\n mcp,\n];\n"],"names":["providers","registries","admin","ai","contentStructure","coreStore","sessionManager","webhooks","telemetry","cron","mcp"],"mappings":";;;;;;;;;;;MAaaA,SAAAA,GAAwB;AACnCC,IAAAA,UAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,EAAAA;AACAC,IAAAA,gBAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA;;;;;"}
@@ -0,0 +1,37 @@
1
+ import type { Core, Modules } from '@strapi/types';
2
+ export declare const CONTENT_STRUCTURE_FILE_NAME = "groups.json";
3
+ export declare const MAX_FOLDER_DEPTH = 3;
4
+ export interface ContentStructureService {
5
+ /**
6
+ * Reads the contents of groups.json directly with minimal sanitization.
7
+ */
8
+ read(): Promise<Modules.ContentStructure.ContentStructureFile | null>;
9
+ /**
10
+ * Yields an extremely tolerant version of the groups configuration file. Invalid references are repaired or ignored. Warnings fire for each repair/omission.
11
+ */
12
+ getCleanedFile(): Promise<Modules.ContentStructure.ContentStructureFile | null>;
13
+ /**
14
+ * Returns the groups configuration transformed into nested trees.
15
+ */
16
+ resolve(): Promise<Modules.ContentStructure.ResolvedContentStructure>;
17
+ /**
18
+ * Writes a new config and invalidates the cache. Does NOT perform validation - this is
19
+ * left to the caller. The Save that triggers the write restarts the server via the
20
+ * standard update-schema flow, which reloads the file; this method only persists it.
21
+ */
22
+ write(structure: Modules.ContentStructure.ContentStructureFile): Promise<void>;
23
+ /**
24
+ * Strictly validates an unknown value against the canonical groups.json schema; throws if invalid.
25
+ */
26
+ validate(value: unknown): Modules.ContentStructure.ContentStructureFile;
27
+ /**
28
+ * Invalidates the cached parsed groups.json file.
29
+ */
30
+ invalidate(): void;
31
+ /**
32
+ * Total number of groups across both sections of the cleaned file.
33
+ */
34
+ countGroups(): Promise<number>;
35
+ }
36
+ export declare function createContentStructureService(strapi: Core.Strapi): ContentStructureService;
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/content-structure/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAO,MAAM,eAAe,CAAC;AAIxD,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AAEzD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAEtE;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAEhF;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;IAEtE;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IAExE;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC;AAWD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAyV1F"}