payload-ai 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/access/admins.js +8 -9
  2. package/dist/access/admins.js.map +1 -1
  3. package/dist/access/adminsOrPublished.js +8 -10
  4. package/dist/access/adminsOrPublished.js.map +1 -1
  5. package/dist/access/anyone.js +2 -5
  6. package/dist/access/anyone.js.map +1 -1
  7. package/dist/access/checkRole.js +5 -10
  8. package/dist/access/checkRole.js.map +1 -1
  9. package/dist/access/validateAccess.js +18 -25
  10. package/dist/access/validateAccess.js.map +1 -1
  11. package/dist/aiCaption.js +61 -137
  12. package/dist/aiCaption.js.map +1 -1
  13. package/dist/aiTranslate.d.ts +3 -3
  14. package/dist/aiTranslate.js +107 -228
  15. package/dist/aiTranslate.js.map +1 -1
  16. package/dist/components/AfterDashboard/index.js +22 -14
  17. package/dist/components/AfterDashboard/index.js.map +1 -1
  18. package/dist/components/Metadata/index.js +54 -93
  19. package/dist/components/Metadata/index.js.map +1 -1
  20. package/dist/components/Translator/Translator.css +194 -0
  21. package/dist/components/Translator/index.d.ts +2 -2
  22. package/dist/components/Translator/index.js +367 -335
  23. package/dist/components/Translator/index.js.map +1 -1
  24. package/dist/deepCompareAndMerge.js +32 -99
  25. package/dist/deepCompareAndMerge.js.map +1 -1
  26. package/dist/exports/client.d.ts +1 -0
  27. package/dist/exports/client.js +3 -0
  28. package/dist/exports/client.js.map +1 -0
  29. package/dist/exports/rsc.d.ts +1 -0
  30. package/dist/exports/rsc.js +3 -0
  31. package/dist/exports/rsc.js.map +1 -0
  32. package/dist/exports/types.d.ts +1 -0
  33. package/dist/exports/types.js +3 -0
  34. package/dist/exports/types.js.map +1 -0
  35. package/dist/fsMock.js +6 -2
  36. package/dist/fsMock.js.map +1 -1
  37. package/dist/generateImage.js +24 -75
  38. package/dist/generateImage.js.map +1 -1
  39. package/dist/generateText.d.ts +2 -2
  40. package/dist/generateText.js +28 -112
  41. package/dist/generateText.js.map +1 -1
  42. package/dist/handleMissingTranslate.d.ts +1 -1
  43. package/dist/handleMissingTranslate.js +60 -144
  44. package/dist/handleMissingTranslate.js.map +1 -1
  45. package/dist/handleTranslate.d.ts +2 -2
  46. package/dist/handleTranslate.js +121 -199
  47. package/dist/handleTranslate.js.map +1 -1
  48. package/dist/index.d.ts +3 -3
  49. package/dist/index.js +3 -8
  50. package/dist/index.js.map +1 -1
  51. package/dist/mocks/mockFile.js +1 -1
  52. package/dist/mocks/mockFile.js.map +1 -1
  53. package/dist/onInitExtension.d.ts +1 -1
  54. package/dist/onInitExtension.js +4 -8
  55. package/dist/onInitExtension.js.map +1 -1
  56. package/dist/plugin.d.ts +1 -1
  57. package/dist/plugin.js +124 -188
  58. package/dist/plugin.js.map +1 -1
  59. package/dist/seoTools.js +64 -128
  60. package/dist/seoTools.js.map +1 -1
  61. package/dist/stringTranslations.d.ts +1 -1
  62. package/dist/stringTranslations.js +124 -163
  63. package/dist/stringTranslations.js.map +1 -1
  64. package/dist/translateTextAndObjects.js +136 -207
  65. package/dist/translateTextAndObjects.js.map +1 -1
  66. package/dist/types.js +2 -2
  67. package/dist/types.js.map +1 -1
  68. package/dist/webpack.d.ts +1 -1
  69. package/dist/webpack.js +2 -9
  70. package/dist/webpack.js.map +1 -1
  71. package/package.json +119 -39
  72. package/.editorconfig +0 -10
  73. package/.eslintrc.js +0 -17
  74. package/.prettierrc.js +0 -8
  75. package/dev/.env.example +0 -3
  76. package/dev/Dockerfile +0 -27
  77. package/dev/docker-compose.yml +0 -31
  78. package/dev/jest.config.js +0 -12
  79. package/dev/nodemon.json +0 -6
  80. package/dev/package.json +0 -34
  81. package/dev/plugin.spec.ts +0 -30
  82. package/dev/src/blocks/TextBlock/index.ts +0 -33
  83. package/dev/src/collections/Examples.ts +0 -38
  84. package/dev/src/collections/ExamplesWithVersions.ts +0 -31
  85. package/dev/src/collections/Media.ts +0 -43
  86. package/dev/src/collections/Users.ts +0 -15
  87. package/dev/src/media/IMG_3624-1024x768.jpg +0 -0
  88. package/dev/src/media/IMG_3624.jpeg +0 -0
  89. package/dev/src/mocks/fileStub.js +0 -1
  90. package/dev/src/payload.config.ts +0 -71
  91. package/dev/src/server.ts +0 -18
  92. package/dev/tsconfig.json +0 -34
  93. package/dev-v3/.cursor/rules/access-control-advanced.md +0 -519
  94. package/dev-v3/.cursor/rules/access-control.md +0 -225
  95. package/dev-v3/.cursor/rules/adapters.md +0 -209
  96. package/dev-v3/.cursor/rules/collections.md +0 -171
  97. package/dev-v3/.cursor/rules/components.md +0 -794
  98. package/dev-v3/.cursor/rules/endpoints.md +0 -236
  99. package/dev-v3/.cursor/rules/field-type-guards.md +0 -230
  100. package/dev-v3/.cursor/rules/fields.md +0 -317
  101. package/dev-v3/.cursor/rules/hooks.md +0 -175
  102. package/dev-v3/.cursor/rules/payload-overview.md +0 -126
  103. package/dev-v3/.cursor/rules/plugin-development.md +0 -323
  104. package/dev-v3/.cursor/rules/queries.md +0 -223
  105. package/dev-v3/.cursor/rules/security-critical.mdc +0 -122
  106. package/dev-v3/.env.example +0 -2
  107. package/dev-v3/.prettierrc.json +0 -6
  108. package/dev-v3/.vscode/extensions.json +0 -3
  109. package/dev-v3/.vscode/launch.json +0 -24
  110. package/dev-v3/.vscode/settings.json +0 -40
  111. package/dev-v3/.yarnrc +0 -1
  112. package/dev-v3/AGENTS.md +0 -1141
  113. package/dev-v3/Dockerfile +0 -71
  114. package/dev-v3/README.md +0 -67
  115. package/dev-v3/docker-compose.yml +0 -43
  116. package/dev-v3/eslint.config.mjs +0 -38
  117. package/dev-v3/next.config.mjs +0 -17
  118. package/dev-v3/package.json +0 -61
  119. package/dev-v3/playwright.config.ts +0 -41
  120. package/dev-v3/src/app/(frontend)/layout.tsx +0 -19
  121. package/dev-v3/src/app/(frontend)/page.tsx +0 -59
  122. package/dev-v3/src/app/(frontend)/styles.css +0 -164
  123. package/dev-v3/src/app/(payload)/admin/[[...segments]]/not-found.tsx +0 -24
  124. package/dev-v3/src/app/(payload)/admin/[[...segments]]/page.tsx +0 -24
  125. package/dev-v3/src/app/(payload)/admin/importMap.js +0 -7
  126. package/dev-v3/src/app/(payload)/api/[...slug]/route.ts +0 -19
  127. package/dev-v3/src/app/(payload)/api/graphql/route.ts +0 -8
  128. package/dev-v3/src/app/(payload)/api/graphql-playground/route.ts +0 -7
  129. package/dev-v3/src/app/(payload)/custom.scss +0 -0
  130. package/dev-v3/src/app/(payload)/layout.tsx +0 -31
  131. package/dev-v3/src/app/my-route/route.ts +0 -12
  132. package/dev-v3/src/collections/Media.ts +0 -17
  133. package/dev-v3/src/collections/Random.ts +0 -16
  134. package/dev-v3/src/collections/Users.ts +0 -13
  135. package/dev-v3/src/payload-types.ts +0 -401
  136. package/dev-v3/src/payload.config.ts +0 -61
  137. package/dev-v3/test.env +0 -1
  138. package/dev-v3/tests/e2e/admin.e2e.spec.ts +0 -41
  139. package/dev-v3/tests/e2e/frontend.e2e.spec.ts +0 -20
  140. package/dev-v3/tests/helpers/login.ts +0 -31
  141. package/dev-v3/tests/helpers/seedUser.ts +0 -46
  142. package/dev-v3/tests/int/api.int.spec.ts +0 -20
  143. package/dev-v3/tsconfig.json +0 -44
  144. package/dev-v3/vitest.config.mts +0 -12
  145. package/dev-v3/vitest.setup.ts +0 -4
  146. package/dev-v3/yarn.lock +0 -6102
  147. package/eslint-config/index.js +0 -15
  148. package/eslint-config/rules/import.js +0 -38
  149. package/eslint-config/rules/prettier.js +0 -7
  150. package/eslint-config/rules/style.js +0 -21
  151. package/eslint-config/rules/typescript.js +0 -628
  152. package/src/access/admins.ts +0 -11
  153. package/src/access/adminsOrPublished.ts +0 -16
  154. package/src/access/anyone.ts +0 -3
  155. package/src/access/checkRole.ts +0 -16
  156. package/src/access/validateAccess.ts +0 -28
  157. package/src/aiCaption.ts +0 -90
  158. package/src/aiTranslate.ts +0 -172
  159. package/src/components/AfterDashboard/index.scss +0 -10
  160. package/src/components/AfterDashboard/index.tsx +0 -18
  161. package/src/components/Metadata/index.scss +0 -10
  162. package/src/components/Metadata/index.tsx +0 -55
  163. package/src/components/Translator/Translator.scss +0 -196
  164. package/src/components/Translator/index.tsx +0 -452
  165. package/src/deepCompareAndMerge.ts +0 -83
  166. package/src/fsMock.js +0 -1
  167. package/src/generateImage.ts +0 -37
  168. package/src/generateText.ts +0 -40
  169. package/src/handleMissingTranslate.ts +0 -77
  170. package/src/handleTranslate.ts +0 -140
  171. package/src/index.ts +0 -4
  172. package/src/mocks/mockFile.js +0 -1
  173. package/src/onInitExtension.ts +0 -12
  174. package/src/plugin.ts +0 -207
  175. package/src/seoTools.ts +0 -75
  176. package/src/stringTranslations.ts +0 -183
  177. package/src/translateTextAndObjects.ts +0 -347
  178. package/src/types.ts +0 -22
  179. package/src/webpack.ts +0 -8
  180. package/tsconfig.json +0 -23
  181. /package/{src → dist}/countries.json +0 -0
@@ -1,12 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.admins = void 0;
4
- var checkRole_1 = require("./checkRole");
5
- var admins = function (_a) {
6
- var user = _a.req.user;
7
- if (!user)
1
+ import { checkRole } from './checkRole.js';
2
+ export const admins = ({ req: { user } })=>{
3
+ if (!user) {
8
4
  return false;
9
- return (0, checkRole_1.checkRole)(['admin'], user);
5
+ }
6
+ return checkRole([
7
+ 'admin'
8
+ ], user);
10
9
  };
11
- exports.admins = admins;
10
+
12
11
  //# sourceMappingURL=admins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admins.js","sourceRoot":"","sources":["../../src/access/admins.ts"],"names":[],"mappings":";;;AAEA,yCAAuC;AAKhC,IAAM,MAAM,GAAY,UAAC,EAAiB;QAAR,IAAI,cAAA;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IACvB,OAAO,IAAA,qBAAS,EAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC,CAAA;AAHY,QAAA,MAAM,UAGlB"}
1
+ {"version":3,"sources":["../../src/access/admins.ts"],"sourcesContent":["import type { AccessArgs } from 'payload'\n\nimport { checkRole } from './checkRole.js'\n//import type { User } from '../payload-types'\n\ntype isAdmin = (args: AccessArgs<unknown>) => boolean\n\nexport const admins: isAdmin = ({ req: { user } }) => {\n if (!user) {return false}\n return checkRole(['admin'], user)\n}\n"],"names":["checkRole","admins","req","user"],"mappings":"AAEA,SAASA,SAAS,QAAQ,iBAAgB;AAK1C,OAAO,MAAMC,SAAkB,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAE;IAC/C,IAAI,CAACA,MAAM;QAAC,OAAO;IAAK;IACxB,OAAOH,UAAU;QAAC;KAAQ,EAAEG;AAC9B,EAAC"}
@@ -1,18 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.adminsOrPublished = void 0;
4
- var checkRole_1 = require("./checkRole");
5
- var adminsOrPublished = function (_a) {
6
- var user = _a.req.user;
7
- if (user && (0, checkRole_1.checkRole)(['admin'], user)) {
1
+ import { checkRole } from './checkRole.js';
2
+ export const adminsOrPublished = ({ req: { user } })=>{
3
+ if (user && checkRole([
4
+ 'admin'
5
+ ], user)) {
8
6
  return true;
9
7
  }
10
8
  return true;
11
9
  return {
12
10
  _status: {
13
- equals: 'published',
14
- },
11
+ equals: 'published'
12
+ }
15
13
  };
16
14
  };
17
- exports.adminsOrPublished = adminsOrPublished;
15
+
18
16
  //# sourceMappingURL=adminsOrPublished.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adminsOrPublished.js","sourceRoot":"","sources":["../../src/access/adminsOrPublished.ts"],"names":[],"mappings":";;;AAEA,yCAAuC;AAEhC,IAAM,iBAAiB,GAAW,UAAC,EAAiB;QAAR,IAAI,cAAA;IACrD,IAAI,IAAI,IAAI,IAAA,qBAAS,EAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;QACtC,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,IAAI,CAAA;IACX,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,WAAW;SACpB;KACF,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,iBAAiB,qBAW7B"}
1
+ {"version":3,"sources":["../../src/access/adminsOrPublished.ts"],"sourcesContent":["import type { Access } from 'payload'\n\nimport { checkRole } from './checkRole.js'\n\nexport const adminsOrPublished: Access = ({ req: { user } }) => {\n if (user && checkRole(['admin'], user)) {\n return true\n }\n\n return true\n return {\n _status: {\n equals: 'published',\n },\n }\n}\n"],"names":["checkRole","adminsOrPublished","req","user","_status","equals"],"mappings":"AAEA,SAASA,SAAS,QAAQ,iBAAgB;AAE1C,OAAO,MAAMC,oBAA4B,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAE;IACzD,IAAIA,QAAQH,UAAU;QAAC;KAAQ,EAAEG,OAAO;QACtC,OAAO;IACT;IAEA,OAAO;IACP,OAAO;QACLC,SAAS;YACPC,QAAQ;QACV;IACF;AACF,EAAC"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.anyone = void 0;
4
- var anyone = function () { return true; };
5
- exports.anyone = anyone;
1
+ export const anyone = ()=>true;
2
+
6
3
  //# sourceMappingURL=anyone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anyone.js","sourceRoot":"","sources":["../../src/access/anyone.ts"],"names":[],"mappings":";;;AAEO,IAAM,MAAM,GAAW,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAA;AAA3B,QAAA,MAAM,UAAqB"}
1
+ {"version":3,"sources":["../../src/access/anyone.ts"],"sourcesContent":["import type { Access } from 'payload'\n\nexport const anyone: Access = () => true\n"],"names":["anyone"],"mappings":"AAEA,OAAO,MAAMA,SAAiB,IAAM,KAAI"}
@@ -1,18 +1,13 @@
1
- "use strict";
2
1
  //import type { User } from '../../payload-types'
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.checkRole = void 0;
5
- var checkRole = function (allRoles /* User['roles'] = [] */, user) {
2
+ export const checkRole = (allRoles /* User['roles'] = [] */ , user)=>{
6
3
  if (user) {
7
- if (allRoles.some(function (role) {
8
- var _a;
9
- return (_a = user === null || user === void 0 ? void 0 : user.roles) === null || _a === void 0 ? void 0 : _a.some(function (individualRole) {
4
+ if (allRoles.some((role)=>{
5
+ return user?.roles?.some((individualRole)=>{
10
6
  return individualRole === role;
11
7
  });
12
- }))
13
- return true;
8
+ })) return true;
14
9
  }
15
10
  return false;
16
11
  };
17
- exports.checkRole = checkRole;
12
+
18
13
  //# sourceMappingURL=checkRole.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkRole.js","sourceRoot":"","sources":["../../src/access/checkRole.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AAE1C,IAAM,SAAS,GAAG,UAAC,QAAa,CAAC,wBAAwB,EAAE,IAAU;IAC1E,IAAI,IAAI,EAAE;QACR,IACE,QAAQ,CAAC,IAAI,CAAC,UAAC,IAAS;;YACtB,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAAC,UAAC,cAAmB;gBAC3C,OAAO,cAAc,KAAK,IAAI,CAAA;YAChC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;YAEF,OAAO,IAAI,CAAA;KACd;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAbY,QAAA,SAAS,aAarB"}
1
+ {"version":3,"sources":["../../src/access/checkRole.ts"],"sourcesContent":["//import type { User } from '../../payload-types'\n\nexport const checkRole = (allRoles: any /* User['roles'] = [] */, user?: any): boolean => {\n if (user) {\n if (\n allRoles.some((role: any) => {\n return user?.roles?.some((individualRole: any) => {\n return individualRole === role\n })\n })\n )\n return true\n }\n\n return false\n}\n"],"names":["checkRole","allRoles","user","some","role","roles","individualRole"],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,MAAMA,YAAY,CAACC,SAAc,sBAAsB,KAAIC;IAChE,IAAIA,MAAM;QACR,IACED,SAASE,IAAI,CAAC,CAACC;YACb,OAAOF,MAAMG,OAAOF,KAAK,CAACG;gBACxB,OAAOA,mBAAmBF;YAC5B;QACF,IAEA,OAAO;IACX;IAEA,OAAO;AACT,EAAC"}
@@ -1,28 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateAccess = void 0;
4
- var getCollectionSlug = function (req) {
5
- var _a, _b, _c;
6
- var fromCollection = (_b = (_a = req === null || req === void 0 ? void 0 : req.collection) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.slug;
7
- var fromRouteParams = (_c = req === null || req === void 0 ? void 0 : req.routeParams) === null || _c === void 0 ? void 0 : _c.collection;
8
- if (typeof fromCollection === 'string')
9
- return fromCollection;
10
- if (typeof fromRouteParams === 'string')
11
- return fromRouteParams;
12
- var pathname = (req === null || req === void 0 ? void 0 : req.pathname) || (req === null || req === void 0 ? void 0 : req.url) || '';
13
- var pathnameMatch = typeof pathname === 'string' ? pathname.match(/\/api\/([^/]+)\//) : null;
14
- return pathnameMatch === null || pathnameMatch === void 0 ? void 0 : pathnameMatch[1];
1
+ const getCollectionSlug = (req)=>{
2
+ const fromCollection = req?.collection?.config?.slug;
3
+ const fromRouteParams = req?.routeParams?.collection;
4
+ if (typeof fromCollection === 'string') return fromCollection;
5
+ if (typeof fromRouteParams === 'string') return fromRouteParams;
6
+ const pathname = req?.pathname || req?.url || '';
7
+ const pathnameMatch = typeof pathname === 'string' ? pathname.match(/\/api\/([^/]+)\//) : null;
8
+ return pathnameMatch?.[1];
15
9
  };
16
- var validateAccess = function (req, pluginOptions) {
17
- var _a, _b, _c, _d, _e, _f;
18
- var collectionSlug = getCollectionSlug(req);
19
- var collectionOptions = (collectionSlug && ((_a = pluginOptions.collections) === null || _a === void 0 ? void 0 : _a[collectionSlug])) || {};
20
- var collectionConfig = ((_b = req === null || req === void 0 ? void 0 : req.collection) === null || _b === void 0 ? void 0 : _b.config) ||
21
- ((_e = (_d = (_c = req === null || req === void 0 ? void 0 : req.payload) === null || _c === void 0 ? void 0 : _c.config) === null || _d === void 0 ? void 0 : _d.collections) === null || _e === void 0 ? void 0 : _e.find(function (collection) { return collection.slug === collectionSlug; }));
22
- var accessControl = collectionOptions.access || ((_f = collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.access) === null || _f === void 0 ? void 0 : _f.update);
23
- if (typeof accessControl !== 'function')
24
- return true;
25
- return accessControl({ req: req });
10
+ export const validateAccess = (req, pluginOptions)=>{
11
+ const collectionSlug = getCollectionSlug(req);
12
+ const collectionOptions = collectionSlug && pluginOptions.collections?.[collectionSlug] || {};
13
+ const collectionConfig = req?.collection?.config || req?.payload?.config?.collections?.find((collection)=>collection.slug === collectionSlug);
14
+ const accessControl = collectionOptions.access || collectionConfig?.access?.update;
15
+ if (typeof accessControl !== 'function') return true;
16
+ return accessControl({
17
+ req
18
+ });
26
19
  };
27
- exports.validateAccess = validateAccess;
20
+
28
21
  //# sourceMappingURL=validateAccess.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateAccess.js","sourceRoot":"","sources":["../../src/access/validateAccess.ts"],"names":[],"mappings":";;;AAEA,IAAM,iBAAiB,GAAG,UAAC,GAAQ;;IACjC,IAAM,cAAc,GAAG,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,0CAAE,MAAM,0CAAE,IAAI,CAAA;IACpD,IAAM,eAAe,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,0CAAE,UAAU,CAAA;IAEpD,IAAI,OAAO,cAAc,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAA;IAC7D,IAAI,OAAO,eAAe,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAA;IAE/D,IAAM,QAAQ,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,MAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAA,IAAI,EAAE,CAAA;IAChD,IAAM,aAAa,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE9F,OAAO,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,CAAC,CAAC,CAAA;AAC3B,CAAC,CAAA;AAEM,IAAM,cAAc,GAAG,UAAC,GAAQ,EAAE,aAAkB;;IACzD,IAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAM,iBAAiB,GAAG,CAAC,cAAc,KAAI,MAAA,aAAa,CAAC,WAAW,0CAAG,cAAc,CAAC,CAAA,CAAC,IAAI,EAAE,CAAA;IAC/F,IAAM,gBAAgB,GACpB,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,0CAAE,MAAM;SACvB,MAAA,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,MAAM,0CAAE,WAAW,0CAAE,IAAI,CAAC,UAAC,UAAe,IAAK,OAAA,UAAU,CAAC,IAAI,KAAK,cAAc,EAAlC,CAAkC,CAAC,CAAA,CAAA;IAElG,IAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,KAAI,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,0CAAE,MAAM,CAAA,CAAA;IAElF,IAAI,OAAO,aAAa,KAAK,UAAU;QAAE,OAAO,IAAI,CAAA;IAEpD,OAAO,aAAa,CAAC,EAAE,GAAG,KAAA,EAAE,CAAC,CAAA;AAC/B,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B"}
1
+ {"version":3,"sources":["../../src/access/validateAccess.ts"],"sourcesContent":["import type { Access } from 'payload'\n\nconst getCollectionSlug = (req: any): string | undefined => {\n const fromCollection = req?.collection?.config?.slug\n const fromRouteParams = req?.routeParams?.collection\n\n if (typeof fromCollection === 'string') return fromCollection\n if (typeof fromRouteParams === 'string') return fromRouteParams\n\n const pathname = req?.pathname || req?.url || ''\n const pathnameMatch = typeof pathname === 'string' ? pathname.match(/\\/api\\/([^/]+)\\//) : null\n\n return pathnameMatch?.[1]\n}\n\nexport const validateAccess = (req: any, pluginOptions: any) => {\n const collectionSlug = getCollectionSlug(req)\n const collectionOptions = (collectionSlug && pluginOptions.collections?.[collectionSlug]) || {}\n const collectionConfig =\n req?.collection?.config ||\n req?.payload?.config?.collections?.find((collection: any) => collection.slug === collectionSlug)\n\n const accessControl = collectionOptions.access || collectionConfig?.access?.update\n\n if (typeof accessControl !== 'function') return true\n\n return accessControl({ req })\n}\n"],"names":["getCollectionSlug","req","fromCollection","collection","config","slug","fromRouteParams","routeParams","pathname","url","pathnameMatch","match","validateAccess","pluginOptions","collectionSlug","collectionOptions","collections","collectionConfig","payload","find","accessControl","access","update"],"mappings":"AAEA,MAAMA,oBAAoB,CAACC;IACzB,MAAMC,iBAAiBD,KAAKE,YAAYC,QAAQC;IAChD,MAAMC,kBAAkBL,KAAKM,aAAaJ;IAE1C,IAAI,OAAOD,mBAAmB,UAAU,OAAOA;IAC/C,IAAI,OAAOI,oBAAoB,UAAU,OAAOA;IAEhD,MAAME,WAAWP,KAAKO,YAAYP,KAAKQ,OAAO;IAC9C,MAAMC,gBAAgB,OAAOF,aAAa,WAAWA,SAASG,KAAK,CAAC,sBAAsB;IAE1F,OAAOD,eAAe,CAAC,EAAE;AAC3B;AAEA,OAAO,MAAME,iBAAiB,CAACX,KAAUY;IACvC,MAAMC,iBAAiBd,kBAAkBC;IACzC,MAAMc,oBAAoB,AAACD,kBAAkBD,cAAcG,WAAW,EAAE,CAACF,eAAe,IAAK,CAAC;IAC9F,MAAMG,mBACJhB,KAAKE,YAAYC,UACjBH,KAAKiB,SAASd,QAAQY,aAAaG,KAAK,CAAChB,aAAoBA,WAAWE,IAAI,KAAKS;IAEnF,MAAMM,gBAAgBL,kBAAkBM,MAAM,IAAIJ,kBAAkBI,QAAQC;IAE5E,IAAI,OAAOF,kBAAkB,YAAY,OAAO;IAEhD,OAAOA,cAAc;QAAEnB;IAAI;AAC7B,EAAC"}
package/dist/aiCaption.js CHANGED
@@ -1,145 +1,69 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.translateCollection = void 0;
43
- var axios_1 = __importDefault(require("axios"));
44
- var openai_1 = __importDefault(require("openai"));
45
- var aiCaptionHook = function (_a, fallback) {
46
- var collectionOptions = _a.collectionOptions, collection = _a.collection, pluginOptions = _a.pluginOptions;
47
- return function (_a) {
48
- var doc = _a.doc, req = _a.req, previousDoc = _a.previousDoc, context = _a.context, collection = _a.collection;
49
- return __awaiter(void 0, void 0, void 0, function () {
50
- var settings;
51
- var _b, _c;
52
- return __generator(this, function (_d) {
53
- switch (_d.label) {
54
- case 0:
55
- settings = (_c = (_b = pluginOptions.collections) === null || _b === void 0 ? void 0 : _b[collection.slug]) === null || _c === void 0 ? void 0 : _c.settings;
56
- return [4 /*yield*/, translateCollection({
57
- doc: doc,
58
- req: req,
59
- previousDoc: previousDoc,
60
- context: context,
61
- collection: collection,
62
- collectionOptions: collectionOptions,
63
- settings: settings,
64
- })];
65
- case 1: return [2 /*return*/, _d.sent()];
66
- }
67
- });
1
+ import axios from 'axios';
2
+ import OpenAI from 'openai';
3
+ const aiCaptionHook = ({ collectionOptions, collection, pluginOptions }, fallback)=>async ({ doc, req, previousDoc, context, collection })=>{
4
+ const settings = pluginOptions.collections?.[collection.slug]?.settings;
5
+ return await translateCollection({
6
+ doc,
7
+ req,
8
+ previousDoc,
9
+ context,
10
+ collection,
11
+ collectionOptions,
12
+ settings
68
13
  });
69
14
  };
70
- };
71
- exports.default = aiCaptionHook;
72
- function processImageRequest(url) {
73
- return __awaiter(this, void 0, void 0, function () {
74
- var response, imageBuffer, base64Image, mimeType, encodedImage, openai, responseGpt;
75
- return __generator(this, function (_a) {
76
- switch (_a.label) {
77
- case 0: return [4 /*yield*/, axios_1.default.get(url, { responseType: 'arraybuffer' })];
78
- case 1:
79
- response = _a.sent();
80
- imageBuffer = Buffer.from(response.data, 'binary');
81
- base64Image = imageBuffer.toString('base64');
82
- mimeType = response.headers['content-type'];
83
- encodedImage = "data:".concat(mimeType, ";base64,").concat(base64Image);
84
- openai = new openai_1.default({
85
- apiKey: process.env.OPENAI_API_KEY,
86
- });
87
- return [4 /*yield*/, openai.chat.completions.create({
88
- model: 'gpt-4o',
89
- messages: [
90
- {
91
- role: 'user',
92
- content: [
93
- { type: 'text', text: 'Create an image alt text' },
94
- { type: 'image_url', image_url: { url: encodedImage } },
95
- ],
96
- },
97
- ],
98
- max_tokens: 1024,
99
- })];
100
- case 2:
101
- responseGpt = _a.sent();
102
- console.log('GPT Response:', responseGpt.choices[0].message.content);
103
- return [2 /*return*/, responseGpt];
15
+ export default aiCaptionHook;
16
+ async function processImageRequest(url) {
17
+ const response = await axios.get(url, {
18
+ responseType: 'arraybuffer'
19
+ });
20
+ const imageBuffer = Buffer.from(response.data, 'binary');
21
+ const base64Image = imageBuffer.toString('base64');
22
+ const mimeType = response.headers['content-type'];
23
+ const encodedImage = `data:${mimeType};base64,${base64Image}`;
24
+ const openai = new OpenAI({
25
+ apiKey: process.env.OPENAI_API_KEY
26
+ });
27
+ const responseGpt = await openai.chat.completions.create({
28
+ model: 'gpt-4o',
29
+ messages: [
30
+ {
31
+ role: 'user',
32
+ content: [
33
+ {
34
+ type: 'text',
35
+ text: 'Create an image alt text'
36
+ },
37
+ {
38
+ type: 'image_url',
39
+ image_url: {
40
+ url: encodedImage
41
+ }
42
+ }
43
+ ]
104
44
  }
105
- });
45
+ ],
46
+ max_tokens: 1024
106
47
  });
48
+ return responseGpt;
107
49
  }
108
- function translateCollection(_a) {
109
- var _b, _c;
110
- var req = _a.req, doc = _a.doc, collection = _a.collection, previousDoc = _a.previousDoc, context = _a.context, collectionOptions = _a.collectionOptions, onlyMissing = _a.onlyMissing, codes = _a.codes, settings = _a.settings, sourceLanguage = _a.sourceLanguage;
111
- return __awaiter(this, void 0, void 0, function () {
112
- var responseGpt, docData, updatedLanguage;
113
- return __generator(this, function (_d) {
114
- switch (_d.label) {
115
- case 0:
116
- if (context.triggerAfterChange === false /* || req.locale !== sourceLanguageI */)
117
- return [2 /*return*/];
118
- console.log('upload doc', doc);
119
- if (!((_c = (_b = doc === null || doc === void 0 ? void 0 : doc.sizes) === null || _b === void 0 ? void 0 : _b.tablet) === null || _c === void 0 ? void 0 : _c.url))
120
- return [2 /*return*/];
121
- return [4 /*yield*/, processImageRequest("http://localhost:3000".concat(doc.sizes.tablet.url))];
122
- case 1:
123
- responseGpt = _d.sent();
124
- docData = doc;
125
- docData.alt = responseGpt.choices[0].message.content;
126
- return [4 /*yield*/, req.payload.update({
127
- //req,
128
- collection: collection.slug,
129
- id: doc.id,
130
- data: docData,
131
- limit: 1,
132
- depth: 0,
133
- context: {
134
- triggerAfterChange: false,
135
- },
136
- })];
137
- case 2:
138
- updatedLanguage = _d.sent();
139
- return [2 /*return*/];
140
- }
141
- });
50
+ export async function translateCollection({ req, doc, collection, previousDoc, context, collectionOptions, onlyMissing, codes, settings, sourceLanguage }) {
51
+ if (context.triggerAfterChange === false) return;
52
+ if (!doc?.sizes?.tablet?.url) return;
53
+ const responseGpt = await processImageRequest(`http://localhost:3000${doc.sizes.tablet.url}`);
54
+ const docData = doc;
55
+ docData.alt = responseGpt.choices[0].message.content;
56
+ const updatedLanguage = await req.payload.update({
57
+ //req,
58
+ collection: collection.slug,
59
+ id: doc.id,
60
+ data: docData,
61
+ limit: 1,
62
+ depth: 0,
63
+ context: {
64
+ triggerAfterChange: false
65
+ }
142
66
  });
143
67
  }
144
- exports.translateCollection = translateCollection;
68
+
145
69
  //# sourceMappingURL=aiCaption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aiCaption.js","sourceRoot":"","sources":["../src/aiCaption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/aiCaption.ts"],"sourcesContent":["import axios from 'axios'\nimport OpenAI from 'openai'\nimport type { CollectionAfterChangeHook, FieldHook } from 'payload'\n\nconst aiCaptionHook =\n (\n {\n collectionOptions,\n collection,\n pluginOptions,\n }: { collectionOptions: any; collection: object; pluginOptions: any },\n fallback?: string,\n ): CollectionAfterChangeHook =>\n async ({ doc, req, previousDoc, context, collection }) => {\n const settings = pluginOptions.collections?.[collection.slug]?.settings\n\n return await translateCollection({\n doc,\n req,\n previousDoc,\n context,\n collection,\n collectionOptions,\n settings,\n })\n }\n\nexport default aiCaptionHook\n\nasync function processImageRequest(url: string) {\n const response = await axios.get(url, { responseType: 'arraybuffer' })\n const imageBuffer = Buffer.from(response.data, 'binary')\n const base64Image = imageBuffer.toString('base64')\n const mimeType = response.headers['content-type']\n const encodedImage = `data:${mimeType};base64,${base64Image}`\n\n const openai = new OpenAI({\n apiKey: process.env.OPENAI_API_KEY,\n })\n\n const responseGpt = await openai.chat.completions.create({\n model: 'gpt-4o',\n messages: [\n {\n role: 'user',\n content: [\n { type: 'text', text: 'Create an image alt text' },\n { type: 'image_url', image_url: { url: encodedImage } },\n ],\n },\n ],\n max_tokens: 1024,\n })\n\n return responseGpt\n}\n\nexport async function translateCollection({\n req,\n doc,\n collection,\n previousDoc,\n context,\n collectionOptions,\n onlyMissing,\n codes,\n settings,\n sourceLanguage,\n}: any) {\n if (context.triggerAfterChange === false /* || req.locale !== sourceLanguageI */) return\n\n if (!doc?.sizes?.tablet?.url) return\n const responseGpt = await processImageRequest(`http://localhost:3000${doc.sizes.tablet.url}`)\n\n const docData = doc\n\n docData.alt = responseGpt.choices[0].message.content\n const updatedLanguage = await req.payload.update({\n //req,\n collection: collection.slug,\n id: doc.id,\n data: docData,\n limit: 1,\n depth: 0,\n context: {\n triggerAfterChange: false,\n },\n })\n}\n"],"names":["axios","OpenAI","aiCaptionHook","collectionOptions","collection","pluginOptions","fallback","doc","req","previousDoc","context","settings","collections","slug","translateCollection","processImageRequest","url","response","get","responseType","imageBuffer","Buffer","from","data","base64Image","toString","mimeType","headers","encodedImage","openai","apiKey","process","env","OPENAI_API_KEY","responseGpt","chat","completions","create","model","messages","role","content","type","text","image_url","max_tokens","onlyMissing","codes","sourceLanguage","triggerAfterChange","sizes","tablet","docData","alt","choices","message","updatedLanguage","payload","update","id","limit","depth"],"mappings":"AAAA,OAAOA,WAAW,QAAO;AACzB,OAAOC,YAAY,SAAQ;AAG3B,MAAMC,gBACJ,CACE,EACEC,iBAAiB,EACjBC,UAAU,EACVC,aAAa,EACsD,EACrEC,WAEF,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,WAAW,EAAEC,OAAO,EAAEN,UAAU,EAAE;QACnD,MAAMO,WAAWN,cAAcO,WAAW,EAAE,CAACR,WAAWS,IAAI,CAAC,EAAEF;QAE/D,OAAO,MAAMG,oBAAoB;YAC/BP;YACAC;YACAC;YACAC;YACAN;YACAD;YACAQ;QACF;IACF;AAEF,eAAeT,cAAa;AAE5B,eAAea,oBAAoBC,GAAW;IAC5C,MAAMC,WAAW,MAAMjB,MAAMkB,GAAG,CAACF,KAAK;QAAEG,cAAc;IAAc;IACpE,MAAMC,cAAcC,OAAOC,IAAI,CAACL,SAASM,IAAI,EAAE;IAC/C,MAAMC,cAAcJ,YAAYK,QAAQ,CAAC;IACzC,MAAMC,WAAWT,SAASU,OAAO,CAAC,eAAe;IACjD,MAAMC,eAAe,CAAC,KAAK,EAAEF,SAAS,QAAQ,EAAEF,aAAa;IAE7D,MAAMK,SAAS,IAAI5B,OAAO;QACxB6B,QAAQC,QAAQC,GAAG,CAACC,cAAc;IACpC;IAEA,MAAMC,cAAc,MAAML,OAAOM,IAAI,CAACC,WAAW,CAACC,MAAM,CAAC;QACvDC,OAAO;QACPC,UAAU;YACR;gBACEC,MAAM;gBACNC,SAAS;oBACP;wBAAEC,MAAM;wBAAQC,MAAM;oBAA2B;oBACjD;wBAAED,MAAM;wBAAaE,WAAW;4BAAE5B,KAAKY;wBAAa;oBAAE;iBACvD;YACH;SACD;QACDiB,YAAY;IACd;IAEA,OAAOX;AACT;AAEA,OAAO,eAAepB,oBAAoB,EACxCN,GAAG,EACHD,GAAG,EACHH,UAAU,EACVK,WAAW,EACXC,OAAO,EACPP,iBAAiB,EACjB2C,WAAW,EACXC,KAAK,EACLpC,QAAQ,EACRqC,cAAc,EACV;IACJ,IAAItC,QAAQuC,kBAAkB,KAAK,OAA+C;IAElF,IAAI,CAAC1C,KAAK2C,OAAOC,QAAQnC,KAAK;IAC9B,MAAMkB,cAAc,MAAMnB,oBAAoB,CAAC,qBAAqB,EAAER,IAAI2C,KAAK,CAACC,MAAM,CAACnC,GAAG,EAAE;IAE5F,MAAMoC,UAAU7C;IAEhB6C,QAAQC,GAAG,GAAGnB,YAAYoB,OAAO,CAAC,EAAE,CAACC,OAAO,CAACd,OAAO;IACpD,MAAMe,kBAAkB,MAAMhD,IAAIiD,OAAO,CAACC,MAAM,CAAC;QAC/C,MAAM;QACNtD,YAAYA,WAAWS,IAAI;QAC3B8C,IAAIpD,IAAIoD,EAAE;QACVpC,MAAM6B;QACNQ,OAAO;QACPC,OAAO;QACPnD,SAAS;YACPuC,oBAAoB;QACtB;IACF;AACF"}
@@ -1,8 +1,8 @@
1
1
  import type { CollectionAfterChangeHook } from 'payload';
2
- declare const aiTranslateHook: ({ collectionOptions, collection, pluginOptions, }: {
3
- collectionOptions: any;
2
+ declare const aiTranslateHook: ({ collection, collectionOptions, pluginOptions, }: {
4
3
  collection: object;
4
+ collectionOptions: any;
5
5
  pluginOptions: any;
6
6
  }, fallback?: string) => CollectionAfterChangeHook;
7
7
  export default aiTranslateHook;
8
- export declare function translateCollection({ req, doc, collection, previousDoc, context, collectionOptions, onlyMissing, codes, settings, sourceLanguage, onProgress, }: any): Promise<void>;
8
+ export declare function translateCollection({ codes, collection, collectionOptions, context, doc, onlyMissing, onProgress, previousDoc, req, settings, sourceLanguage, }: any): Promise<void>;