@strapi/upload 5.25.0 → 5.27.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 (123) hide show
  1. package/dist/admin/ai/components/AIAssetCard.js +589 -0
  2. package/dist/admin/ai/components/AIAssetCard.js.map +1 -0
  3. package/dist/admin/ai/components/AIAssetCard.mjs +567 -0
  4. package/dist/admin/ai/components/AIAssetCard.mjs.map +1 -0
  5. package/dist/admin/ai/components/AIUploadModal.js +355 -0
  6. package/dist/admin/ai/components/AIUploadModal.js.map +1 -0
  7. package/dist/admin/ai/components/AIUploadModal.mjs +333 -0
  8. package/dist/admin/ai/components/AIUploadModal.mjs.map +1 -0
  9. package/dist/admin/components/AssetDialog/AssetDialog.js +1 -1
  10. package/dist/admin/components/AssetDialog/AssetDialog.js.map +1 -1
  11. package/dist/admin/components/AssetDialog/AssetDialog.mjs +1 -1
  12. package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +1 -1
  13. package/dist/admin/components/EditAssetDialog/EditAssetContent.js +5 -5
  14. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
  15. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +5 -5
  16. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
  17. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +0 -15
  18. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -1
  19. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +1 -16
  20. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -1
  21. package/dist/admin/hooks/useAiAvailability.js +22 -0
  22. package/dist/admin/hooks/useAiAvailability.js.map +1 -0
  23. package/dist/admin/hooks/useAiAvailability.mjs +20 -0
  24. package/dist/admin/hooks/useAiAvailability.mjs.map +1 -0
  25. package/dist/admin/hooks/useBulkEdit.js +66 -0
  26. package/dist/admin/hooks/useBulkEdit.js.map +1 -0
  27. package/dist/admin/hooks/useBulkEdit.mjs +64 -0
  28. package/dist/admin/hooks/useBulkEdit.mjs.map +1 -0
  29. package/dist/admin/hooks/useSettings.js +22 -0
  30. package/dist/admin/hooks/useSettings.js.map +1 -0
  31. package/dist/admin/hooks/useSettings.mjs +20 -0
  32. package/dist/admin/hooks/useSettings.mjs.map +1 -0
  33. package/dist/admin/hooks/useUpload.js +25 -14
  34. package/dist/admin/hooks/useUpload.js.map +1 -1
  35. package/dist/admin/hooks/useUpload.mjs +25 -14
  36. package/dist/admin/hooks/useUpload.mjs.map +1 -1
  37. package/dist/admin/package.json.js +5 -5
  38. package/dist/admin/package.json.mjs +5 -5
  39. package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js +11 -4
  40. package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js.map +1 -1
  41. package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs +11 -4
  42. package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs.map +1 -1
  43. package/dist/admin/pages/SettingsPage/SettingsPage.js +222 -144
  44. package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
  45. package/dist/admin/pages/SettingsPage/SettingsPage.mjs +225 -147
  46. package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
  47. package/dist/admin/pages/SettingsPage/reducer.js +9 -10
  48. package/dist/admin/pages/SettingsPage/reducer.js.map +1 -1
  49. package/dist/admin/pages/SettingsPage/reducer.mjs +9 -10
  50. package/dist/admin/pages/SettingsPage/reducer.mjs.map +1 -1
  51. package/dist/admin/src/ai/components/AIAssetCard.d.ts +13 -0
  52. package/dist/admin/src/ai/components/AIUploadModal.d.ts +55 -0
  53. package/dist/admin/src/components/EditAssetDialog/EditAssetContent.d.ts +3 -1
  54. package/dist/admin/src/hooks/useAiAvailability.d.ts +4 -0
  55. package/dist/admin/src/hooks/useBulkEdit.d.ts +91 -0
  56. package/dist/admin/src/hooks/useSettings.d.ts +7 -0
  57. package/dist/admin/src/hooks/useUpload.d.ts +1 -1
  58. package/dist/admin/src/pages/SettingsPage/reducer.d.ts +3 -12
  59. package/dist/admin/translations/en.json.js +7 -1
  60. package/dist/admin/translations/en.json.js.map +1 -1
  61. package/dist/admin/translations/en.json.mjs +7 -1
  62. package/dist/admin/translations/en.json.mjs.map +1 -1
  63. package/dist/server/bootstrap.js +2 -1
  64. package/dist/server/bootstrap.js.map +1 -1
  65. package/dist/server/bootstrap.mjs +2 -1
  66. package/dist/server/bootstrap.mjs.map +1 -1
  67. package/dist/server/controllers/admin-upload.js +54 -2
  68. package/dist/server/controllers/admin-upload.js.map +1 -1
  69. package/dist/server/controllers/admin-upload.mjs +56 -4
  70. package/dist/server/controllers/admin-upload.mjs.map +1 -1
  71. package/dist/server/controllers/content-api.js +3 -1
  72. package/dist/server/controllers/content-api.js.map +1 -1
  73. package/dist/server/controllers/content-api.mjs +3 -1
  74. package/dist/server/controllers/content-api.mjs.map +1 -1
  75. package/dist/server/controllers/validation/admin/settings.js +2 -1
  76. package/dist/server/controllers/validation/admin/settings.js.map +1 -1
  77. package/dist/server/controllers/validation/admin/settings.mjs +2 -1
  78. package/dist/server/controllers/validation/admin/settings.mjs.map +1 -1
  79. package/dist/server/controllers/validation/admin/upload.js +8 -0
  80. package/dist/server/controllers/validation/admin/upload.js.map +1 -1
  81. package/dist/server/controllers/validation/admin/upload.mjs +8 -1
  82. package/dist/server/controllers/validation/admin/upload.mjs.map +1 -1
  83. package/dist/server/routes/admin.js +18 -0
  84. package/dist/server/routes/admin.js.map +1 -1
  85. package/dist/server/routes/admin.mjs +18 -0
  86. package/dist/server/routes/admin.mjs.map +1 -1
  87. package/dist/server/services/ai-metadata.js +97 -0
  88. package/dist/server/services/ai-metadata.js.map +1 -0
  89. package/dist/server/services/ai-metadata.mjs +95 -0
  90. package/dist/server/services/ai-metadata.mjs.map +1 -0
  91. package/dist/server/services/index.js +3 -1
  92. package/dist/server/services/index.js.map +1 -1
  93. package/dist/server/services/index.mjs +3 -1
  94. package/dist/server/services/index.mjs.map +1 -1
  95. package/dist/server/services/upload.js.map +1 -1
  96. package/dist/server/services/upload.mjs.map +1 -1
  97. package/dist/server/src/bootstrap.d.ts.map +1 -1
  98. package/dist/server/src/controllers/admin-upload.d.ts +1 -0
  99. package/dist/server/src/controllers/admin-upload.d.ts.map +1 -1
  100. package/dist/server/src/controllers/index.d.ts +1 -0
  101. package/dist/server/src/controllers/index.d.ts.map +1 -1
  102. package/dist/server/src/controllers/validation/admin/settings.d.ts +3 -0
  103. package/dist/server/src/controllers/validation/admin/settings.d.ts.map +1 -1
  104. package/dist/server/src/controllers/validation/admin/upload.d.ts +42 -0
  105. package/dist/server/src/controllers/validation/admin/upload.d.ts.map +1 -1
  106. package/dist/server/src/index.d.ts +13 -1
  107. package/dist/server/src/index.d.ts.map +1 -1
  108. package/dist/server/src/routes/admin.d.ts.map +1 -1
  109. package/dist/server/src/services/ai-metadata.d.ts +13 -0
  110. package/dist/server/src/services/ai-metadata.d.ts.map +1 -0
  111. package/dist/server/src/services/index.d.ts +12 -1
  112. package/dist/server/src/services/index.d.ts.map +1 -1
  113. package/dist/server/src/services/upload.d.ts +2 -1
  114. package/dist/server/src/services/upload.d.ts.map +1 -1
  115. package/dist/server/src/types.d.ts +1 -0
  116. package/dist/server/src/types.d.ts.map +1 -1
  117. package/dist/server/src/utils/index.d.ts +2 -0
  118. package/dist/server/src/utils/index.d.ts.map +1 -1
  119. package/dist/server/utils/index.js.map +1 -1
  120. package/dist/server/utils/index.mjs.map +1 -1
  121. package/dist/shared/contracts/files.d.ts +22 -0
  122. package/dist/shared/contracts/settings.d.ts +2 -0
  123. package/package.json +5 -5
@@ -106,4 +106,46 @@ declare const validateUploadBody: (data?: {}, isMulti?: boolean) => Promise<impo
106
106
  }>>;
107
107
  export { validateUploadBody };
108
108
  export type UploadBody = yup.InferType<typeof uploadSchema> | yup.InferType<typeof multiUploadSchema>;
109
+ export declare const validateBulkUpdateBody: (body: unknown, errorMessage?: string | undefined) => Promise<import("yup/lib/object").AssertsShape<{
110
+ updates: import("yup/lib/array").RequiredArraySchema<import("yup/lib/object").OptionalObjectSchema<{
111
+ id: import("yup/lib/number").RequiredNumberSchema<number | undefined, Record<string, any>>;
112
+ fileInfo: import("yup/lib/object").RequiredObjectSchema<{
113
+ name: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
114
+ alternativeText: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
115
+ caption: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
116
+ folder: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
117
+ }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
118
+ name: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
119
+ alternativeText: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
120
+ caption: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
121
+ folder: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
122
+ }>>;
123
+ }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
124
+ id: import("yup/lib/number").RequiredNumberSchema<number | undefined, Record<string, any>>;
125
+ fileInfo: import("yup/lib/object").RequiredObjectSchema<{
126
+ name: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
127
+ alternativeText: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
128
+ caption: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
129
+ folder: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
130
+ }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
131
+ name: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
132
+ alternativeText: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
133
+ caption: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
134
+ folder: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
135
+ }>>;
136
+ }>>, import("yup/lib/types").AnyObject, import("yup/lib/object").TypeOfShape<{
137
+ id: import("yup/lib/number").RequiredNumberSchema<number | undefined, Record<string, any>>;
138
+ fileInfo: import("yup/lib/object").RequiredObjectSchema<{
139
+ name: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
140
+ alternativeText: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
141
+ caption: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
142
+ folder: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
143
+ }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
144
+ name: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
145
+ alternativeText: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
146
+ caption: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
147
+ folder: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
148
+ }>>;
149
+ }>[] | undefined>;
150
+ }>>;
109
151
  //# sourceMappingURL=upload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../../../server/src/controllers/validation/admin/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,eAAe,CAAC;AAsBvD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;GAEhB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAErB,CAAC;AAEH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIvB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,MAAM,UAAU,GAClB,GAAG,CAAC,SAAS,CAAC,OAAO,YAAY,CAAC,GAClC,GAAG,CAAC,SAAS,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../../../server/src/controllers/validation/admin/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,eAAe,CAAC;AAsBvD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;GAEhB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAErB,CAAC;AAEH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIvB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,MAAM,UAAU,GAClB,GAAG,CAAC,SAAS,CAAC,OAAO,YAAY,CAAC,GAClC,GAAG,CAAC,SAAS,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAe5C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuC,CAAC"}
@@ -81,6 +81,7 @@ declare const _default: () => {
81
81
  getSettings(ctx: import("koa").Context): Promise<import("koa").Context | undefined>;
82
82
  };
83
83
  'admin-upload': {
84
+ bulkUpdateFileInfo(ctx: import("koa").Context): Promise<void>;
84
85
  updateFileInfo(ctx: import("koa").Context): Promise<void>;
85
86
  replaceFile(ctx: import("koa").Context): Promise<void>;
86
87
  uploadFiles(ctx: import("koa").Context): Promise<import("koa").Context | undefined>;
@@ -294,7 +295,7 @@ declare const _default: () => {
294
295
  }) => Promise<Omit<import("./types").UploadableFile, "getStream">>;
295
296
  upload: ({ data, files, }: {
296
297
  data: Record<string, unknown>;
297
- files: import("./types").InputFile | import("./types").InputFile[];
298
+ files: import("./types").InputFile[];
298
299
  }, opts?: {
299
300
  user?: {
300
301
  id: string | number;
@@ -331,11 +332,13 @@ declare const _default: () => {
331
332
  sizeOptimization: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
332
333
  responsiveDimensions: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
333
334
  autoOrientation: import("yup").BooleanSchema<boolean | undefined, Record<string, any>, boolean | undefined>;
335
+ aiMetadata: import("yup").BooleanSchema<boolean, Record<string, any>, boolean>;
334
336
  }> | null>;
335
337
  setSettings: (value: import("yup/lib/object").AssertsShape<{
336
338
  sizeOptimization: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
337
339
  responsiveDimensions: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
338
340
  autoOrientation: import("yup").BooleanSchema<boolean | undefined, Record<string, any>, boolean | undefined>;
341
+ aiMetadata: import("yup").BooleanSchema<boolean, Record<string, any>, boolean>;
339
342
  }>) => Promise<void>;
340
343
  getConfiguration: () => Promise<import("yup/lib/object").AssertsShape<{
341
344
  pageSize: import("yup/lib/number").RequiredNumberSchema<number | undefined, Record<string, any>>;
@@ -422,6 +425,15 @@ declare const _default: () => {
422
425
  extensions: {
423
426
  signFileUrlsOnDocumentService: () => Promise<void>;
424
427
  };
428
+ aiMetadata: ({ strapi }: {
429
+ strapi: import("@strapi/types/dist/core").Strapi;
430
+ }) => {
431
+ isEnabled(): Promise<boolean>;
432
+ processFiles(files: import("./types").InputFile[]): Promise<({
433
+ altText: string;
434
+ caption: string;
435
+ } | null)[]>;
436
+ };
425
437
  };
426
438
  };
427
439
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOxC,wBAQG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOxC,wBAQG"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/admin.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CA4MlB,CAAC"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/admin.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CA4NlB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Core } from '@strapi/types';
2
+ import { InputFile } from '../types';
3
+ declare const createAIMetadataService: ({ strapi }: {
4
+ strapi: Core.Strapi;
5
+ }) => {
6
+ isEnabled(): Promise<boolean>;
7
+ processFiles(files: InputFile[]): Promise<Array<{
8
+ altText: string;
9
+ caption: string;
10
+ } | null>>;
11
+ };
12
+ export { createAIMetadataService };
13
+ //# sourceMappingURL=ai-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-metadata.d.ts","sourceRoot":"","sources":["../../../../server/src/services/ai-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,QAAA,MAAM,uBAAuB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;;wBAyBvD,SAAS,EAAE,GACjB,QAAQ,MAAM;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CA+EjE,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -21,7 +21,7 @@ export declare const services: {
21
21
  }) => Promise<Omit<import("../types").UploadableFile, "getStream">>;
22
22
  upload: ({ data, files, }: {
23
23
  data: Record<string, unknown>;
24
- files: import("../types").InputFile | import("../types").InputFile[];
24
+ files: import("../types").InputFile[];
25
25
  }, opts?: {
26
26
  user?: {
27
27
  id: string | number;
@@ -58,11 +58,13 @@ export declare const services: {
58
58
  sizeOptimization: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
59
59
  responsiveDimensions: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
60
60
  autoOrientation: import("yup").BooleanSchema<boolean | undefined, Record<string, any>, boolean | undefined>;
61
+ aiMetadata: import("yup").BooleanSchema<boolean, Record<string, any>, boolean>;
61
62
  }> | null>;
62
63
  setSettings: (value: import("yup/lib/object").AssertsShape<{
63
64
  sizeOptimization: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
64
65
  responsiveDimensions: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
65
66
  autoOrientation: import("yup").BooleanSchema<boolean | undefined, Record<string, any>, boolean | undefined>;
67
+ aiMetadata: import("yup").BooleanSchema<boolean, Record<string, any>, boolean>;
66
68
  }>) => Promise<void>;
67
69
  getConfiguration: () => Promise<import("yup/lib/object").AssertsShape<{
68
70
  pageSize: import("yup/lib/number").RequiredNumberSchema<number | undefined, Record<string, any>>;
@@ -149,5 +151,14 @@ export declare const services: {
149
151
  extensions: {
150
152
  signFileUrlsOnDocumentService: () => Promise<void>;
151
153
  };
154
+ aiMetadata: ({ strapi }: {
155
+ strapi: import("@strapi/types/dist/core").Strapi;
156
+ }) => {
157
+ isEnabled(): Promise<boolean>;
158
+ processFiles(files: import("../types").InputFile[]): Promise<({
159
+ altText: string;
160
+ caption: string;
161
+ } | null)[]>;
162
+ };
152
163
  };
153
164
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWpB,CAAC"}
@@ -25,7 +25,7 @@ declare const _default: ({ strapi }: {
25
25
  }) => Promise<Omit<UploadableFile, 'getStream'>>;
26
26
  upload: ({ data, files, }: {
27
27
  data: Record<string, unknown>;
28
- files: InputFile | InputFile[];
28
+ files: InputFile[];
29
29
  }, opts?: CommonOptions) => Promise<any[]>;
30
30
  updateFileInfo: (id: ID, { name, alternativeText, caption, folder }: FileInfo, opts?: CommonOptions) => Promise<any>;
31
31
  replace: (id: ID, { data, file }: {
@@ -50,6 +50,7 @@ declare const _default: ({ strapi }: {
50
50
  sizeOptimization: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
51
51
  responsiveDimensions: import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>>;
52
52
  autoOrientation: import("yup").BooleanSchema<boolean | undefined, Record<string, any>, boolean | undefined>;
53
+ aiMetadata: import("yup").BooleanSchema<boolean, Record<string, any>, boolean>;
53
54
  }> | null>;
54
55
  setSettings: (value: Settings) => Promise<void>;
55
56
  getConfiguration: () => Promise<import("yup/lib/object").AssertsShape<{
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../server/src/services/upload.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAK/C,OAAO,KAAK,EAAU,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEzE,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1B,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;qCAgB0B;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;+CAsErB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,aAChE,QAAQ,QAAQ,CAAC,UACpB;QACL,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,KACA,QAAQ,KAAK,cAAc,EAAE,WAAW,CAAC,CAAC;+BAiGxC;QACD,IAAI,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;KAChC,SACM,aAAa;yBAiHhB,EAAE,8CACsC,QAAQ,SAC7C,aAAa;kBAyBhB,EAAE,kBACU;QAAE,IAAI,EAAE;YAAE,QAAQ,EAAE,QAAQ,CAAA;SAAE,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,SAC1D,aAAa;kBAkGK,EAAE;uBAgBE,GAAG,KAAQ,QAAQ,IAAI,EAAE,CAAC;uBAS1B,GAAG;;;;;;;;;mBAgBN,IAAI;;;;;;yBAiCJ,QAAQ;;;;;8BAoBH,iBAAiB;IAoBhD;;;OAGG;6BAjUgC,cAAc;;AAxNrD,wBA4hBE"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../server/src/services/upload.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAK/C,OAAO,KAAK,EAAU,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEzE,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1B,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;qCAgB0B;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;+CAsErB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,aAChE,QAAQ,QAAQ,CAAC,UACpB;QACL,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,KACA,QAAQ,KAAK,cAAc,EAAE,WAAW,CAAC,CAAC;+BAiGxC;QACD,IAAI,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;KACpB,SACM,aAAa;yBAiHhB,EAAE,8CACsC,QAAQ,SAC7C,aAAa;kBAyBhB,EAAE,kBACU;QAAE,IAAI,EAAE;YAAE,QAAQ,EAAE,QAAQ,CAAA;SAAE,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,SAC1D,aAAa;kBAkGK,EAAE;uBAgBE,GAAG,KAAQ,QAAQ,IAAI,EAAE,CAAC;uBAS1B,GAAG;;;;;;;;;mBAgBN,IAAI;;;;;;;yBAiCJ,QAAQ;;;;;8BAoBH,iBAAiB;IAoBhD;;;OAGG;6BAjUgC,cAAc;;AAxNrD,wBA4hBE"}
@@ -4,6 +4,7 @@ import type { File as FormidableFile } from 'formidable';
4
4
  export type InputFile = FormidableFile & {
5
5
  path?: string;
6
6
  tmpWorkingDirectory?: string;
7
+ provider?: string;
7
8
  };
8
9
  export interface File {
9
10
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../server/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../server/src/types.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import type file from '../services/file';
7
7
  import type weeklyMetrics from '../services/weekly-metrics';
8
8
  import type metrics from '../services/metrics';
9
9
  import type extensions from '../services/extensions';
10
+ import type { createAIMetadataService } from '../services/ai-metadata';
10
11
  type Services = {
11
12
  upload: ReturnType<typeof upload>;
12
13
  'image-manipulation': typeof imageManipulation;
@@ -17,6 +18,7 @@ type Services = {
17
18
  metrics: ReturnType<typeof metrics>;
18
19
  'api-upload-folder': typeof apiUploadFolder;
19
20
  extensions: typeof extensions;
21
+ aiMetadata: ReturnType<typeof createAIMetadataService>;
20
22
  };
21
23
  export declare const getService: <TName extends keyof Services>(name: TName) => Services[TName];
22
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,iBAAiB,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,KAAK,QAAQ,GAAG;IACd,MAAM,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;IAClC,oBAAoB,EAAE,OAAO,iBAAiB,CAAC;IAC/C,QAAQ,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACtC,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IAChD,OAAO,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;IACpC,mBAAmB,EAAE,OAAO,eAAe,CAAC;IAC5C,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,UAAU,uCAAwC,KAAK,KAAG,QAAQ,CAAC,KAAK,CAEpF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,iBAAiB,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,KAAK,QAAQ,GAAG;IACd,MAAM,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;IAClC,oBAAoB,EAAE,OAAO,iBAAiB,CAAC;IAC/C,QAAQ,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACtC,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IAChD,OAAO,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;IACpC,mBAAmB,EAAE,OAAO,eAAe,CAAC;IAC5C,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,UAAU,uCAAwC,KAAK,KAAG,QAAQ,CAAC,KAAK,CAEpF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type upload from '../services/upload';\nimport type imageManipulation from '../services/image-manipulation';\nimport type apiUploadFolder from '../services/api-upload-folder';\nimport type provider from '../services/provider';\nimport type folder from '../services/folder';\nimport type file from '../services/file';\nimport type weeklyMetrics from '../services/weekly-metrics';\nimport type metrics from '../services/metrics';\nimport type extensions from '../services/extensions';\n\ntype Services = {\n upload: ReturnType<typeof upload>;\n 'image-manipulation': typeof imageManipulation;\n provider: ReturnType<typeof provider>;\n folder: typeof folder;\n file: typeof file;\n weeklyMetrics: ReturnType<typeof weeklyMetrics>;\n metrics: ReturnType<typeof metrics>;\n 'api-upload-folder': typeof apiUploadFolder;\n extensions: typeof extensions;\n};\n\nexport const getService = <TName extends keyof Services>(name: TName): Services[TName] => {\n return strapi.plugin('upload').service<Services[TName]>(name);\n};\n"],"names":["getService","name","strapi","plugin","service"],"mappings":";;AAsBO,MAAMA,aAAa,CAA+BC,IAAAA,GAAAA;AACvD,IAAA,OAAOC,MAAOC,CAAAA,MAAM,CAAC,QAAA,CAAA,CAAUC,OAAO,CAAkBH,IAAAA,CAAAA;AAC1D;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type upload from '../services/upload';\nimport type imageManipulation from '../services/image-manipulation';\nimport type apiUploadFolder from '../services/api-upload-folder';\nimport type provider from '../services/provider';\nimport type folder from '../services/folder';\nimport type file from '../services/file';\nimport type weeklyMetrics from '../services/weekly-metrics';\nimport type metrics from '../services/metrics';\nimport type extensions from '../services/extensions';\nimport type { createAIMetadataService } from '../services/ai-metadata';\n\ntype Services = {\n upload: ReturnType<typeof upload>;\n 'image-manipulation': typeof imageManipulation;\n provider: ReturnType<typeof provider>;\n folder: typeof folder;\n file: typeof file;\n weeklyMetrics: ReturnType<typeof weeklyMetrics>;\n metrics: ReturnType<typeof metrics>;\n 'api-upload-folder': typeof apiUploadFolder;\n extensions: typeof extensions;\n aiMetadata: ReturnType<typeof createAIMetadataService>;\n};\n\nexport const getService = <TName extends keyof Services>(name: TName): Services[TName] => {\n return strapi.plugin('upload').service<Services[TName]>(name);\n};\n"],"names":["getService","name","strapi","plugin","service"],"mappings":";;AAwBO,MAAMA,aAAa,CAA+BC,IAAAA,GAAAA;AACvD,IAAA,OAAOC,MAAOC,CAAAA,MAAM,CAAC,QAAA,CAAA,CAAUC,OAAO,CAAkBH,IAAAA,CAAAA;AAC1D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type upload from '../services/upload';\nimport type imageManipulation from '../services/image-manipulation';\nimport type apiUploadFolder from '../services/api-upload-folder';\nimport type provider from '../services/provider';\nimport type folder from '../services/folder';\nimport type file from '../services/file';\nimport type weeklyMetrics from '../services/weekly-metrics';\nimport type metrics from '../services/metrics';\nimport type extensions from '../services/extensions';\n\ntype Services = {\n upload: ReturnType<typeof upload>;\n 'image-manipulation': typeof imageManipulation;\n provider: ReturnType<typeof provider>;\n folder: typeof folder;\n file: typeof file;\n weeklyMetrics: ReturnType<typeof weeklyMetrics>;\n metrics: ReturnType<typeof metrics>;\n 'api-upload-folder': typeof apiUploadFolder;\n extensions: typeof extensions;\n};\n\nexport const getService = <TName extends keyof Services>(name: TName): Services[TName] => {\n return strapi.plugin('upload').service<Services[TName]>(name);\n};\n"],"names":["getService","name","strapi","plugin","service"],"mappings":"AAsBO,MAAMA,aAAa,CAA+BC,IAAAA,GAAAA;AACvD,IAAA,OAAOC,MAAOC,CAAAA,MAAM,CAAC,QAAA,CAAA,CAAUC,OAAO,CAAkBH,IAAAA,CAAAA;AAC1D;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type upload from '../services/upload';\nimport type imageManipulation from '../services/image-manipulation';\nimport type apiUploadFolder from '../services/api-upload-folder';\nimport type provider from '../services/provider';\nimport type folder from '../services/folder';\nimport type file from '../services/file';\nimport type weeklyMetrics from '../services/weekly-metrics';\nimport type metrics from '../services/metrics';\nimport type extensions from '../services/extensions';\nimport type { createAIMetadataService } from '../services/ai-metadata';\n\ntype Services = {\n upload: ReturnType<typeof upload>;\n 'image-manipulation': typeof imageManipulation;\n provider: ReturnType<typeof provider>;\n folder: typeof folder;\n file: typeof file;\n weeklyMetrics: ReturnType<typeof weeklyMetrics>;\n metrics: ReturnType<typeof metrics>;\n 'api-upload-folder': typeof apiUploadFolder;\n extensions: typeof extensions;\n aiMetadata: ReturnType<typeof createAIMetadataService>;\n};\n\nexport const getService = <TName extends keyof Services>(name: TName): Services[TName] => {\n return strapi.plugin('upload').service<Services[TName]>(name);\n};\n"],"names":["getService","name","strapi","plugin","service"],"mappings":"AAwBO,MAAMA,aAAa,CAA+BC,IAAAA,GAAAA;AACvD,IAAA,OAAOC,MAAOC,CAAAA,MAAM,CAAC,QAAA,CAAA,CAAUC,OAAO,CAAkBH,IAAAA,CAAAA;AAC1D;;;;"}
@@ -208,4 +208,26 @@ export declare namespace UpdateFile {
208
208
  error?: errors.ApplicationError | errors.ValidationError;
209
209
  }
210
210
  }
211
+ /**
212
+ * POST /upload/actions/bulk-update - Bulk update files
213
+ */
214
+ export declare namespace BulkUpdateFiles {
215
+ interface Request {
216
+ body: {
217
+ updates: Array<{
218
+ id: number;
219
+ fileInfo: {
220
+ name?: string;
221
+ alternativeText?: string | null;
222
+ caption?: string | null;
223
+ folder?: number | null;
224
+ };
225
+ }>;
226
+ };
227
+ }
228
+ interface Response {
229
+ data: File[];
230
+ error?: errors.ApplicationError | errors.ValidationError;
231
+ }
232
+ }
211
233
  export {};
@@ -10,8 +10,10 @@ export interface Settings {
10
10
  responsiveDimensions?: boolean;
11
11
  autoOrientation?: boolean;
12
12
  videoPreview?: boolean;
13
+ aiMetadata?: boolean;
13
14
  };
14
15
  }
16
+ export type SettingsData = Settings['data'];
15
17
  /**
16
18
  * GET /upload/settings
17
19
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/upload",
3
- "version": "5.25.0",
3
+ "version": "5.27.0",
4
4
  "description": "Makes it easy to upload images and files to your Strapi Application.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": {
@@ -64,8 +64,8 @@
64
64
  "@reduxjs/toolkit": "1.9.7",
65
65
  "@strapi/design-system": "2.0.0-rc.30",
66
66
  "@strapi/icons": "2.0.0-rc.30",
67
- "@strapi/provider-upload-local": "5.25.0",
68
- "@strapi/utils": "5.25.0",
67
+ "@strapi/provider-upload-local": "5.27.0",
68
+ "@strapi/utils": "5.27.0",
69
69
  "byte-size": "8.1.1",
70
70
  "cropperjs": "1.6.1",
71
71
  "date-fns": "2.30.0",
@@ -88,8 +88,8 @@
88
88
  "zod": "3.25.67"
89
89
  },
90
90
  "devDependencies": {
91
- "@strapi/admin": "5.25.0",
92
- "@strapi/types": "5.25.0",
91
+ "@strapi/admin": "5.27.0",
92
+ "@strapi/types": "5.27.0",
93
93
  "@testing-library/dom": "10.1.0",
94
94
  "@testing-library/react": "15.0.7",
95
95
  "@testing-library/user-event": "14.5.2",