payload-ai 0.0.52 → 0.0.53

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.
package/README.md CHANGED
@@ -133,6 +133,7 @@ plugins: [
133
133
  - custom access control
134
134
  - custom overrides for translation
135
135
  - generate images based on input
136
+ - generate Open Graph based on content
136
137
 
137
138
  Payload is built with a robust infrastructure intended to support Plugins with ease. This provides a simple, modular, and reusable way for developers to extend the core capabilities of Payload.
138
139
 
@@ -4,4 +4,4 @@ declare const aiTranslateHook: ({ collectionOptions, collection }: {
4
4
  collection: object;
5
5
  }, fallback?: string) => CollectionAfterChangeHook;
6
6
  export default aiTranslateHook;
7
- export declare function translateCollection({ req, doc, collection, previousDoc, context, collectionOptions, onlyMissing, codes, }: any): Promise<void>;
7
+ export declare function translateCollection({ req, doc, collection, previousDoc, context, collectionOptions, onlyMissing, codes, settings, }: any): Promise<void>;
@@ -72,7 +72,7 @@ var aiTranslateHook = function (_a, fallback) {
72
72
  };
73
73
  exports.default = aiTranslateHook;
74
74
  function translateCollection(_a) {
75
- 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;
75
+ 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;
76
76
  return __awaiter(this, void 0, void 0, function () {
77
77
  var localCodes, translationPromises, translationResults, _i, translationResults_1, translatedContent, updatedLanguage;
78
78
  var _this = this;
@@ -83,10 +83,6 @@ function translateCollection(_a) {
83
83
  req.locale !== req.payload.config.localization.defaultLocale)
84
84
  return [2 /*return*/];
85
85
  localCodes = req.payload.config.localization.localeCodes;
86
- console.log('filter codes', localCodes.filter(function (targetLanguage) {
87
- return targetLanguage !== req.payload.config.localization.defaultLocale &&
88
- (!codes || codes.includes(targetLanguage));
89
- }));
90
86
  translationPromises = localCodes
91
87
  .filter(function (targetLanguage) {
92
88
  return targetLanguage !== req.payload.config.localization.defaultLocale &&
@@ -106,7 +102,7 @@ function translateCollection(_a) {
106
102
  })];
107
103
  case 1:
108
104
  targetDoc = _a.sent();
109
- return [4 /*yield*/, (0, deepCompareAndMerge_1.deepCompareTranslateAndMerge)(doc, previousDoc, targetDoc, collectionOptions.fields, tL, previousDoc.id ? 'update' : 'create', onlyMissing, req.payload.config.localization.defaultLocale)];
105
+ return [4 /*yield*/, (0, deepCompareAndMerge_1.deepCompareTranslateAndMerge)(doc, previousDoc, targetDoc, collectionOptions.fields, tL, previousDoc.id ? 'update' : 'create', onlyMissing, req.payload.config.localization.defaultLocale, settings)];
110
106
  case 2:
111
107
  targetDocWithTranslation = _a.sent();
112
108
  id = targetDocWithTranslation.id, _status = targetDocWithTranslation._status, updatedAt = targetDocWithTranslation.updatedAt, createdAt = targetDocWithTranslation.createdAt, publishedDate = targetDocWithTranslation.publishedDate, dataNew = __rest(targetDocWithTranslation, ["id", "_status", "updatedAt", "createdAt", "publishedDate"]);
@@ -1 +1 @@
1
- {"version":3,"file":"aiTranslate.js","sourceRoot":"","sources":["../src/aiTranslate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aiTranslate.js","sourceRoot":"","sources":["../src/aiTranslate.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,7 @@ var elements_1 = require("payload/components/elements");
87
87
  var utilities_1 = require("payload/components/utilities");
88
88
  var modal_1 = require("@faceless-ui/modal");
89
89
  require("./Translator.scss");
90
+ var forms_1 = require("payload/components/forms");
90
91
  var baseClass = 'after-dashboard';
91
92
  // React.FC<TogglerProps>
92
93
  /*
@@ -111,16 +112,21 @@ var DrawerTogglerAlt = function (_a) {
111
112
  exports.DrawerTogglerAlt = DrawerTogglerAlt;
112
113
  var Translator = function () {
113
114
  var baseClass = 'ai-translator';
115
+ //const { fields, getDataByPath } = useForm()
114
116
  var _a = react_1.default.useState(false), isLoading = _a[0], setIsLoading = _a[1];
117
+ var _b = react_1.default.useState('default'), selectedModel = _b[0], setSelectedModel = _b[1];
115
118
  var locale = (0, utilities_1.useLocale)();
116
119
  var documentInfo = (0, utilities_1.useDocumentInfo)();
117
120
  var translate = function (_a) {
118
121
  var codes = _a.codes;
119
122
  return __awaiter(void 0, void 0, void 0, function () {
120
- var response, translatedValues, error_1;
123
+ var settings, response, translatedValues, error_1;
121
124
  return __generator(this, function (_b) {
122
125
  switch (_b.label) {
123
126
  case 0:
127
+ settings = {
128
+ model: selectedModel === 'default' ? undefined : selectedModel,
129
+ };
124
130
  setIsLoading(true);
125
131
  _b.label = 1;
126
132
  case 1:
@@ -133,6 +139,7 @@ var Translator = function () {
133
139
  body: JSON.stringify({
134
140
  id: documentInfo.id,
135
141
  codes: codes,
142
+ settings: settings,
136
143
  }),
137
144
  })];
138
145
  case 2:
@@ -162,15 +169,34 @@ var Translator = function () {
162
169
  /*
163
170
  <Button onClick={handleClick}>Results are loading...</Button>
164
171
  */
172
+ var options = [
173
+ {
174
+ label: 'Default',
175
+ value: 'default',
176
+ },
177
+ {
178
+ label: 'GPT-3.5 Turbo (1106)',
179
+ value: 'gpt-3.5-turbo-1106',
180
+ },
181
+ {
182
+ label: 'GPT-4',
183
+ value: 'gpt-4',
184
+ },
185
+ ];
165
186
  return (react_1.default.createElement("div", { className: baseClass },
166
187
  react_1.default.createElement(elements_1.DrawerToggler, { slug: "ai-translator", className: "".concat(baseClass, "__drawer__toggler") }, "Translator"),
167
- react_1.default.createElement(elements_1.Drawer, { title: "Translator", slug: "ai-translator" }, isLoading ? (react_1.default.createElement(elements_1.Button, { disabled: true }, "Results are loading...")) : (react_1.default.createElement("div", { className: "".concat(baseClass, "__translation-buttons") },
168
- react_1.default.createElement(elements_1.Button, { disabled: isLoading, onClick: function () { return translate({}); } },
169
- react_1.default.createElement("span", null, "Translate content to all languages")),
170
- react_1.default.createElement(elements_1.Button, { disabled: isLoading, onClick: function () { return translate({ codes: [locale.code] }); } },
171
- react_1.default.createElement("span", null,
172
- "Translate only ",
173
- locale.label)))))));
188
+ react_1.default.createElement(elements_1.Drawer, { title: "Translator", slug: "ai-translator" }, isLoading ? (react_1.default.createElement(elements_1.Button, { disabled: true }, "Results are loading...")) : (react_1.default.createElement(react_1.default.Fragment, null,
189
+ react_1.default.createElement("div", null,
190
+ react_1.default.createElement(forms_1.SelectInput, { onChange: function (e) {
191
+ setSelectedModel(e.value);
192
+ }, name: "selectedModel", value: selectedModel, path: "model", options: options })),
193
+ react_1.default.createElement("div", { className: "".concat(baseClass, "__translation-buttons") },
194
+ react_1.default.createElement(elements_1.Button, { disabled: isLoading, onClick: function () { return translate({}); } },
195
+ react_1.default.createElement("span", null, "Translate content to all languages")),
196
+ react_1.default.createElement(elements_1.Button, { disabled: isLoading, onClick: function () { return translate({ codes: [locale.code] }); } },
197
+ react_1.default.createElement("span", null,
198
+ "Translate only ",
199
+ locale.label))))))));
174
200
  };
175
201
  exports.Translator = Translator;
176
202
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Translator/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Translator/index.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  interface CollectionObjType {
2
2
  [prop: string]: any;
3
3
  }
4
- export declare function deepCompareTranslateAndMerge(newOriginalObj: CollectionObjType, originalObj: CollectionObjType, targetObj: CollectionObjType, fields: string[], language: string, action?: 'create' | 'update', onlyMissing?: boolean, sourceLanguage?: string): Promise<CollectionObjType>;
4
+ export declare function deepCompareTranslateAndMerge(newOriginalObj: CollectionObjType, originalObj: CollectionObjType, targetObj: CollectionObjType, fields: string[], language: string, action?: 'create' | 'update', onlyMissing?: boolean, sourceLanguage?: string, settings?: any): Promise<CollectionObjType>;
5
5
  export {};
@@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.deepCompareTranslateAndMerge = void 0;
40
40
  var translateTextAndObjects_1 = require("./translateTextAndObjects");
41
41
  var colllectionObj = {}; // Assuming targetObj is initialized somewhere
42
- function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fields, language, action, onlyMissing, sourceLanguage) {
42
+ function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fields, language, action, onlyMissing, sourceLanguage, settings) {
43
43
  return __awaiter(this, void 0, void 0, function () {
44
44
  var promises;
45
45
  var _this = this;
@@ -48,7 +48,7 @@ function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fi
48
48
  case 0:
49
49
  if (!Array.isArray(newOriginalObj)) return [3 /*break*/, 1];
50
50
  return [2 /*return*/, Promise.all(newOriginalObj.map(function (item, index) {
51
- return deepCompareTranslateAndMerge(item, originalObj === null || originalObj === void 0 ? void 0 : originalObj[index], targetObj === null || targetObj === void 0 ? void 0 : targetObj[index], fields, language, action, onlyMissing, sourceLanguage);
51
+ return deepCompareTranslateAndMerge(item, originalObj === null || originalObj === void 0 ? void 0 : originalObj[index], targetObj === null || targetObj === void 0 ? void 0 : targetObj[index], fields, language, action, onlyMissing, sourceLanguage, settings);
52
52
  }))];
53
53
  case 1:
54
54
  if (!(typeof newOriginalObj === 'object' && newOriginalObj !== null)) return [3 /*break*/, 3];
@@ -65,7 +65,12 @@ function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fi
65
65
  if (!(!onlyMissing || targetObj[prop] === undefined || targetObj[prop] === '')) return [3 /*break*/, 2];
66
66
  _a = targetObj;
67
67
  _b = prop;
68
- return [4 /*yield*/, (0, translateTextAndObjects_1.translateTextOrObject)(newOriginalObj[prop], language, sourceLanguage)];
68
+ return [4 /*yield*/, (0, translateTextAndObjects_1.translateTextOrObject)({
69
+ text: newOriginalObj[prop],
70
+ language: language,
71
+ sourceLanguage: sourceLanguage,
72
+ settings: settings,
73
+ })];
69
74
  case 1:
70
75
  _a[_b] = _e.sent();
71
76
  return [3 /*break*/, 2];
@@ -75,7 +80,7 @@ function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fi
75
80
  typeof targetObj[prop] === 'object')) return [3 /*break*/, 5];
76
81
  _c = targetObj;
77
82
  _d = prop;
78
- return [4 /*yield*/, deepCompareTranslateAndMerge(newOriginalObj[prop], (originalObj === null || originalObj === void 0 ? void 0 : originalObj[prop]) || null, targetObj[prop] || null, fields, language, action, onlyMissing, sourceLanguage)];
83
+ return [4 /*yield*/, deepCompareTranslateAndMerge(newOriginalObj[prop], (originalObj === null || originalObj === void 0 ? void 0 : originalObj[prop]) || null, targetObj[prop] || null, fields, language, action, onlyMissing, sourceLanguage, settings)];
79
84
  case 4:
80
85
  _c[_d] = _e.sent();
81
86
  _e.label = 5;
@@ -1 +1 @@
1
- {"version":3,"file":"deepCompareAndMerge.js","sourceRoot":"","sources":["../src/deepCompareAndMerge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAiE;AAMjE,IAAI,cAAc,GAAsB,EAAE,CAAA,CAAC,8CAA8C;AAIzF,SAAsB,4BAA4B,CAChD,cAAiC,EACjC,WAA8B,EAC9B,SAA4B,EAC5B,MAAgB,EAChB,QAAgB,EAChB,MAA4B,EAC5B,WAAqB,EACrB,cAAuB;;;;;;;yBAEnB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAA7B,wBAA6B;oBAC/B,sBAAO,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;4BAC7B,OAAA,4BAA4B,CAC1B,IAAI,EACJ,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,KAAK,CAAC,EACpB,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,CAAC,EAClB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,CACf;wBATD,CASC,CACF,CACF,EAAA;;yBACQ,CAAA,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,CAAA,EAA7D,wBAA6D;oBAChE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAM,IAAI;;;;;yCACrD,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAnC,wBAAmC;yCACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,+CAA+C,EAArE,wBAAqB,CAAC,+CAA+C;yCAErE,CAAA,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,MAAK,SAAS;wCACjC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wCAC1E,MAAM,KAAK,QAAQ,CAAA,EAFnB,wBAEmB;yCAIf,CAAA,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA,EAAvE,wBAAuE;oCACzE,KAAA,SAAS,CAAA;oCAAC,KAAA,IAAI,CAAA;oCAAI,qBAAM,IAAA,+CAAqB,EAC3C,cAAc,CAAC,IAAI,CAAC,EACpB,QAAQ,EACR,cAAc,CACf,EAAA;;oCAJD,MAAe,GAAG,SAIjB,CAAA;;;;yCAML,CAAA,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,QAAQ;wCACxC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAA,EADnC,wBACmC;oCAEnC,KAAA,SAAS,CAAA;oCAAC,KAAA,IAAI,CAAA;oCAAI,qBAAM,4BAA4B,CAClD,cAAc,CAAC,IAAI,CAAC,EACpB,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,KAAI,IAAI,EAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EACvB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,CACf,EAAA;;oCATD,MAAe,GAAG,SASjB,CAAA;;;;;yBAGN,CAAC,CAAA;oBACF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;oBAA3B,SAA2B,CAAA;;wBAE7B,sBAAO,SAAS,EAAA;;;;CACjB;AAlED,oEAkEC"}
1
+ {"version":3,"file":"deepCompareAndMerge.js","sourceRoot":"","sources":["../src/deepCompareAndMerge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAiE;AAMjE,IAAI,cAAc,GAAsB,EAAE,CAAA,CAAC,8CAA8C;AAIzF,SAAsB,4BAA4B,CAChD,cAAiC,EACjC,WAA8B,EAC9B,SAA4B,EAC5B,MAAgB,EAChB,QAAgB,EAChB,MAA4B,EAC5B,WAAqB,EACrB,cAAuB,EACvB,QAAc;;;;;;;yBAEV,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAA7B,wBAA6B;oBAC/B,sBAAO,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;4BAC7B,OAAA,4BAA4B,CAC1B,IAAI,EACJ,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,KAAK,CAAC,EACpB,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,CAAC,EAClB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,CACT;wBAVD,CAUC,CACF,CACF,EAAA;;yBACQ,CAAA,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,CAAA,EAA7D,wBAA6D;oBAChE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAM,IAAI;;;;;yCACrD,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAnC,wBAAmC;yCACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,+CAA+C,EAArE,wBAAqB,CAAC,+CAA+C;yCAErE,CAAA,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,MAAK,SAAS;wCACjC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wCAC1E,MAAM,KAAK,QAAQ,CAAA,EAFnB,wBAEmB;yCAIf,CAAA,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA,EAAvE,wBAAuE;oCACzE,KAAA,SAAS,CAAA;oCAAC,KAAA,IAAI,CAAA;oCAAI,qBAAM,IAAA,+CAAqB,EAAC;4CAC5C,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;4CAC1B,QAAQ,UAAA;4CACR,cAAc,gBAAA;4CACd,QAAQ,UAAA;yCACT,CAAC,EAAA;;oCALF,MAAe,GAAG,SAKhB,CAAA;;;;yCAMN,CAAA,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,QAAQ;wCACxC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAA,EADnC,wBACmC;oCAEnC,KAAA,SAAS,CAAA;oCAAC,KAAA,IAAI,CAAA;oCAAI,qBAAM,4BAA4B,CAClD,cAAc,CAAC,IAAI,CAAC,EACpB,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,KAAI,IAAI,EAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EACvB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,CACT,EAAA;;oCAVD,MAAe,GAAG,SAUjB,CAAA;;;;;yBAGN,CAAC,CAAA;oBACF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;oBAA3B,SAA2B,CAAA;;wBAE7B,sBAAO,SAAS,EAAA;;;;CACjB;AAtED,oEAsEC"}
@@ -40,7 +40,7 @@ exports.createTranslatorHandler = void 0;
40
40
  var aiTranslate_1 = require("./aiTranslate");
41
41
  var createTranslatorHandler = function (translatorConfig) {
42
42
  return function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
43
- var doc, collectionOptions, result, translated;
43
+ var doc, collectionOptions, settings, result, translated;
44
44
  return __generator(this, function (_a) {
45
45
  switch (_a.label) {
46
46
  case 0: return [4 /*yield*/, req.payload.findByID({
@@ -52,6 +52,7 @@ var createTranslatorHandler = function (translatorConfig) {
52
52
  if (!doc)
53
53
  return [2 /*return*/, res.status(404).send()];
54
54
  collectionOptions = translatorConfig.collections[req.collection.config.slug];
55
+ settings = req.body.settings || {};
55
56
  return [4 /*yield*/, (0, aiTranslate_1.translateCollection)({
56
57
  doc: doc,
57
58
  req: req,
@@ -61,6 +62,7 @@ var createTranslatorHandler = function (translatorConfig) {
61
62
  collection: req.collection.config,
62
63
  onlyMissing: req.body.onlyMissing,
63
64
  codes: req.body.codes,
65
+ settings: settings,
64
66
  })
65
67
  /*if (translatorConfig.access) {
66
68
  const hasAccesses = await translatorConfig.access(req)
@@ -1 +1 @@
1
- {"version":3,"file":"handleTranslate.js","sourceRoot":"","sources":["../src/handleTranslate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAgE;AAIzD,IAAM,uBAAuB,GAAG,UAAC,gBAA6B;IACnE,OAAO,UAAO,GAAG,EAAE,GAAG;;;;wBACR,qBAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACrC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;wBACtC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;qBAChB,CAAC,EAAA;;oBAHI,GAAG,GAAG,SAGV;oBAEF,IAAI,CAAC,GAAG;wBAAE,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAA;oBAEjC,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAInE,qBAAM,IAAA,iCAAmB,EAAC;4BACvC,GAAG,KAAA;4BACH,GAAG,KAAA;4BACH,WAAW,EAAE,EAAE;4BACf,OAAO,EAAE,EAAE;4BACX,iBAAiB,mBAAA;4BACjB,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM;4BACjC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW;4BACjC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;yBACtB,CAAC;wBACF;;;;;;sBAMF;sBAPI;;oBATI,MAAM,GAAG,SASb;oBAQI,UAAU,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;oBAC3C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;;;;SACrB,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,uBAAuB,2BAiCnC"}
1
+ {"version":3,"file":"handleTranslate.js","sourceRoot":"","sources":["../src/handleTranslate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAgE;AAIzD,IAAM,uBAAuB,GAAG,UAAC,gBAA6B;IACnE,OAAO,UAAO,GAAG,EAAE,GAAG;;;;wBACR,qBAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACrC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;wBACtC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;qBAChB,CAAC,EAAA;;oBAHI,GAAG,GAAG,SAGV;oBAEF,IAAI,CAAC,GAAG;wBAAE,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAA;oBAEjC,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAE5E,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;oBAIzB,qBAAM,IAAA,iCAAmB,EAAC;4BACvC,GAAG,KAAA;4BACH,GAAG,KAAA;4BACH,WAAW,EAAE,EAAE;4BACf,OAAO,EAAE,EAAE;4BACX,iBAAiB,mBAAA;4BACjB,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM;4BACjC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW;4BACjC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;4BACrB,QAAQ,UAAA;yBACT,CAAC;wBACF;;;;;;sBAMF;sBAPI;;oBAVI,MAAM,GAAG,SAUb;oBAQI,UAAU,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;oBAC3C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;;;;SACrB,CAAA;AACH,CAAC,CAAA;AApCY,QAAA,uBAAuB,2BAoCnC"}
@@ -1 +1 @@
1
- export declare function translateTextOrObject(text: any, language: string, sourceLanguage?: string, retryCount?: number): Promise<any>;
1
+ export declare function translateTextOrObject({ text, language, sourceLanguage, retryCount, settings, }: any): Promise<any>;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -124,48 +135,39 @@ function reapplyText(node, path, textMap, isTargetProperty) {
124
135
  });
125
136
  }
126
137
  }
127
- function translateTextOrObject(text, language, sourceLanguage, retryCount) {
128
- var _a, _b, _c;
129
- if (retryCount === void 0) { retryCount = 0; }
138
+ function translateTextOrObject(_a) {
139
+ var _b, _c, _d;
140
+ var text = _a.text, language = _a.language, sourceLanguage = _a.sourceLanguage, _e = _a.retryCount, retryCount = _e === void 0 ? 0 : _e, settings = _a.settings;
130
141
  return __awaiter(this, void 0, void 0, function () {
131
142
  function isTranslateNode(node, key) {
132
143
  return (key === 'text' && typeof node[key] === 'string') || key === 'name';
133
144
  }
134
145
  var textAsString, openai, textMap, chatCompletion, newText, newItemResult, error_1, newResult;
135
- return __generator(this, function (_d) {
136
- switch (_d.label) {
146
+ return __generator(this, function (_f) {
147
+ switch (_f.label) {
137
148
  case 0:
138
149
  textAsString = typeof text === 'string' ? text : JSON.stringify(text, null, 2);
139
150
  openai = new openai_1.default({
140
151
  apiKey: process.env.OPENAI_API_KEY,
141
152
  });
142
- _d.label = 1;
153
+ _f.label = 1;
143
154
  case 1:
144
- _d.trys.push([1, 3, , 8]);
155
+ _f.trys.push([1, 3, , 8]);
145
156
  textMap = {};
146
- if ((_a = text === null || text === void 0 ? void 0 : text.root) === null || _a === void 0 ? void 0 : _a.children) {
157
+ if ((_b = text === null || text === void 0 ? void 0 : text.root) === null || _b === void 0 ? void 0 : _b.children) {
147
158
  extractAndCapitalizeText(text.root, ['root'], textMap, isTranslateNode);
148
159
  }
149
- console.log('textMap', JSON.stringify(text, null, 2));
150
- return [4 /*yield*/, openai.chat.completions.create({
151
- model: /* textAsString.length > 2000 ? 'gpt-3.5-turbo-16k' :*/ 'gpt-3.5-turbo-1106',
152
- messages: typeof text === 'string' && text.length < 400
160
+ return [4 /*yield*/, openai.chat.completions.create(__assign({ model: /* textAsString.length > 2000 ? 'gpt-3.5-turbo-16k' :*/ 'gpt-3.5-turbo-1106', messages: typeof text === 'string' && text.length < 400
153
161
  ? messagesString({ sourceLanguage: sourceLanguage, text: text, language: language })
154
162
  : typeof text === 'string'
155
163
  ? messagesMarkdown({ sourceLanguage: sourceLanguage, text: text, language: language })
156
- : ((_b = text === null || text === void 0 ? void 0 : text.root) === null || _b === void 0 ? void 0 : _b.children)
164
+ : ((_c = text === null || text === void 0 ? void 0 : text.root) === null || _c === void 0 ? void 0 : _c.children)
157
165
  ? messagesWithJsonLexical({ sourceLanguage: sourceLanguage, text: textMap, language: language })
158
- : messagesWithJson({ sourceLanguage: sourceLanguage, text: text, language: language }),
159
- temperature: 0,
160
- max_tokens: 4096,
161
- top_p: 1,
162
- frequency_penalty: 0,
163
- presence_penalty: 0,
164
- })];
166
+ : messagesWithJson({ sourceLanguage: sourceLanguage, text: text, language: language }), temperature: 0, max_tokens: 4096, top_p: 1, frequency_penalty: 0, presence_penalty: 0 }, settings))];
165
167
  case 2:
166
- chatCompletion = _d.sent();
168
+ chatCompletion = _f.sent();
167
169
  console.log('chatCompletion.choices[0].message.content', chatCompletion.choices[0].message.content);
168
- if ((_c = text === null || text === void 0 ? void 0 : text.root) === null || _c === void 0 ? void 0 : _c.children) {
170
+ if ((_d = text === null || text === void 0 ? void 0 : text.root) === null || _d === void 0 ? void 0 : _d.children) {
169
171
  newText = JSON.parse(JSON.stringify(text));
170
172
  reapplyText(newText.root, ['root'], JSON.parse(chatCompletion.choices[0].message.content), isTranslateNode);
171
173
  return [2 /*return*/, newText];
@@ -175,19 +177,25 @@ function translateTextOrObject(text, language, sourceLanguage, retryCount) {
175
177
  : chatCompletion.choices[0].message.content;
176
178
  return [2 /*return*/, newItemResult];
177
179
  case 3:
178
- error_1 = _d.sent();
180
+ error_1 = _f.sent();
179
181
  if (!(error_1.status === 429)) return [3 /*break*/, 6];
180
182
  console.log("Too many requests. Retry after ".concat(error_1.headers['retry-after-ms'], "ms. Retry count: ").concat(retryCount));
181
183
  return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, error_1.headers['retry-after-ms']); })];
182
184
  case 4:
183
- _d.sent();
184
- return [4 /*yield*/, translateTextOrObject(text, language, sourceLanguage, retryCount + 1)];
185
+ _f.sent();
186
+ return [4 /*yield*/, translateTextOrObject({
187
+ text: text,
188
+ language: language,
189
+ sourceLanguage: sourceLanguage,
190
+ retryCount: retryCount + 1,
191
+ settings: settings,
192
+ })];
185
193
  case 5:
186
- newResult = _d.sent();
194
+ newResult = _f.sent();
187
195
  return [2 /*return*/, newResult];
188
196
  case 6:
189
197
  console.log('Could not be translated', error_1 /* , chatCompletion.choices[0].message.content */);
190
- _d.label = 7;
198
+ _f.label = 7;
191
199
  case 7: return [3 /*break*/, 8];
192
200
  case 8: return [2 /*return*/];
193
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"translateTextAndObjects.js","sourceRoot":"","sources":["../src/translateTextAndObjects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translateTextAndObjects.js","sourceRoot":"","sources":["../src/translateTextAndObjects.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAE3B,SAAS,gBAAgB,CAAC,EAAuC;QAArC,cAAc,oBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA;IACxD,OAAO;QACL;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gFAAwE,cAAc,uFAA2E,QAAQ,0EAAsE;SACzP;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAG,IAAI,CAAE;SACnB;KACF,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAuC;QAArC,cAAc,oBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA;IACtD,OAAO;QACL;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,4EAAoE,cAAc,uFAA2E,QAAQ,+DAA2D;SAC1O;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAG,IAAI,CAAE;SACnB;KACF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAuC;QAArC,cAAc,oBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA;IACxD,OAAO;QACL;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,8FAAsF,cAAc,uFAA2E,QAAQ,iCAA6B;SAC9N;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAE;SAClD;KACF,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAuC;QAArC,cAAc,oBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA;IAC/D,OAAO;QACL;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,8GAAsG,cAAc,uFAA2E,QAAQ,0EAAsE;SACvR;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAE;SAClD;KACF,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAS;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAS,EACT,IAAS,EACT,OAAY,EACZ,gBAAqD;IAErD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;YAC3B,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;gBAC/B,IAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACrD,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,4CAA4C;aAC1E;iBAAM;gBACL,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;aACnF;QACH,CAAC,CAAC,CAAA;KACH;AACH,CAAC;AAED,SAAS,WAAW,CAClB,IAAS,EACT,IAAS,EACT,OAAY,EACZ,gBAAqD;IAErD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;YAC3B,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;gBAC/B,IAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACrD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBACpB,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;iBAC7B;aACF;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;aACtE;QACH,CAAC,CAAC,CAAA;KACH;AACH,CAAC;AAUD,SAAsB,qBAAqB,CAAC,EAMtC;;QALJ,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,kBAAc,EAAd,UAAU,mBAAG,CAAC,KAAA,EACd,QAAQ,cAAA;;QAER,SAAS,eAAe,CAAC,IAAS,EAAE,GAAW;YAC7C,OAAO,CAAC,GAAG,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,GAAG,KAAK,MAAM,CAAA;QAC5E,CAAC;;;;;oBAEK,YAAY,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;oBAC9E,MAAM,GAAG,IAAI,gBAAM,CAAC;wBACxB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;qBACnC,CAAC,CAAA;;;;oBAEI,OAAO,GAAG,EAAE,CAAA;oBAEhB,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,EAAE;wBACxB,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;qBACxE;oBAEsB,qBAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,YACzD,KAAK,EAAE,uDAAuD,CAAC,oBAAoB,EACnF,QAAQ,EACN,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;gCAC3C,CAAC,CAAE,cAAc,CAAC,EAAE,cAAc,gBAAA,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,EAAE,CAAS;gCAC7D,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;oCAC1B,CAAC,CAAE,gBAAgB,CAAC,EAAE,cAAc,gBAAA,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,EAAE,CAAS;oCAC/D,CAAC,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ;wCACtB,CAAC,CAAE,uBAAuB,CAAC,EAAE,cAAc,gBAAA,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAS;wCAC/E,CAAC,CAAE,gBAAgB,CAAC,EAAE,cAAc,gBAAA,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,EAAE,CAAS,EACnE,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,CAAC,EACR,iBAAiB,EAAE,CAAC,EACpB,gBAAgB,EAAE,CAAC,IAChB,QAAQ,EACX,EAAA;;oBAhBI,cAAc,GAAG,SAgBrB;oBAEF,OAAO,CAAC,GAAG,CACT,2CAA2C,EAC3C,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC1C,CAAA;oBAED,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,EAAE;wBAClB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;wBAChD,WAAW,CACT,OAAO,CAAC,IAAI,EACZ,CAAC,MAAM,CAAC,EACR,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAiB,CAAC,EAC/D,eAAe,CAChB,CAAA;wBACD,sBAAO,OAAO,EAAA;qBACf;oBAEK,aAAa,GACjB,OAAO,IAAI,KAAK,QAAQ;wBACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAiB,CAAC;wBACjE,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;oBAE/C,sBAAO,aAAa,EAAA;;;yBAEhB,CAAA,OAAK,CAAC,MAAM,KAAK,GAAG,CAAA,EAApB,wBAAoB;oBACtB,OAAO,CAAC,GAAG,CACT,yCAAkC,OAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,8BAAoB,UAAU,CAAE,CAClG,CAAA;oBAED,qBAAM,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,OAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAApD,CAAoD,CAAC,EAAA;;oBAAlF,SAAkF,CAAA;oBAC3D,qBAAM,qBAAqB,CAAC;4BACjD,IAAI,MAAA;4BACJ,QAAQ,UAAA;4BACR,cAAc,gBAAA;4BACd,UAAU,EAAE,UAAU,GAAG,CAAC;4BAC1B,QAAQ,UAAA;yBACT,CAAC,EAAA;;oBANI,SAAS,GAAQ,SAMrB;oBAEF,sBAAO,SAAS,EAAA;;oBAEhB,OAAO,CAAC,GAAG,CACT,yBAAyB,EACzB,OAAK,CAAC,iDAAiD,CACxD,CAAA;;;;;;;CAGN;AArFD,sDAqFC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload-ai",
3
- "version": "0.0.52",
3
+ "version": "0.0.53",
4
4
  "homepage:": "https://polyxo.de",
5
5
  "repository": "git@github.com:payloadcms/payload-plugin-template.git",
6
6
  "description": "Payload AI tools",
@@ -29,6 +29,7 @@ export async function translateCollection({
29
29
  collectionOptions,
30
30
  onlyMissing,
31
31
  codes,
32
+ settings,
32
33
  }: any) {
33
34
  if (
34
35
  context.triggerAfterChange === false ||
@@ -38,15 +39,6 @@ export async function translateCollection({
38
39
 
39
40
  const localCodes: string[] = req.payload.config.localization.localeCodes
40
41
 
41
- console.log(
42
- 'filter codes',
43
- localCodes.filter(
44
- targetLanguage =>
45
- targetLanguage !== req.payload.config.localization.defaultLocale &&
46
- (!codes || codes.includes(targetLanguage)),
47
- ),
48
- )
49
-
50
42
  const translationPromises = localCodes
51
43
  .filter(
52
44
  targetLanguage =>
@@ -72,6 +64,7 @@ export async function translateCollection({
72
64
  previousDoc.id ? 'update' : 'create',
73
65
  onlyMissing,
74
66
  req.payload.config.localization.defaultLocale,
67
+ settings,
75
68
  )
76
69
 
77
70
  const { id, _status, updatedAt, createdAt, publishedDate, ...dataNew } =
@@ -4,6 +4,7 @@ import { Button, Drawer, DrawerToggler } from 'payload/components/elements'
4
4
  import { useDocumentInfo, useLocale } from 'payload/components/utilities'
5
5
  import { useModal } from '@faceless-ui/modal'
6
6
  import './Translator.scss'
7
+ import { SelectInput, useForm } from 'payload/components/forms'
7
8
 
8
9
  const baseClass = 'after-dashboard'
9
10
 
@@ -46,11 +47,18 @@ export const DrawerTogglerAlt: any = ({
46
47
 
47
48
  export const Translator: React.FC = () => {
48
49
  const baseClass = 'ai-translator'
50
+
51
+ //const { fields, getDataByPath } = useForm()
52
+
49
53
  const [isLoading, setIsLoading] = React.useState(false)
54
+ const [selectedModel, setSelectedModel] = React.useState<string>('default')
50
55
 
51
56
  const locale = useLocale()
52
57
  const documentInfo: any = useDocumentInfo()
53
58
  const translate = async ({ codes }: any) => {
59
+ const settings = {
60
+ model: selectedModel === 'default' ? undefined : selectedModel,
61
+ }
54
62
  setIsLoading(true)
55
63
  try {
56
64
  const response = await fetch(`/api/${documentInfo.collection.slug}/translate`, {
@@ -61,6 +69,7 @@ export const Translator: React.FC = () => {
61
69
  body: JSON.stringify({
62
70
  id: documentInfo.id,
63
71
  codes,
72
+ settings,
64
73
  }),
65
74
  })
66
75
 
@@ -87,23 +96,52 @@ export const Translator: React.FC = () => {
87
96
  /*
88
97
  <Button onClick={handleClick}>Results are loading...</Button>
89
98
  */
99
+
100
+ const options = [
101
+ {
102
+ label: 'Default',
103
+ value: 'default',
104
+ },
105
+ {
106
+ label: 'GPT-3.5 Turbo (1106)',
107
+ value: 'gpt-3.5-turbo-1106',
108
+ },
109
+ {
110
+ label: 'GPT-4',
111
+ value: 'gpt-4',
112
+ },
113
+ ]
90
114
  return (
91
115
  <div className={baseClass}>
92
116
  <DrawerToggler slug="ai-translator" className={`${baseClass}__drawer__toggler`}>
93
117
  Translator
94
118
  </DrawerToggler>
119
+
95
120
  <Drawer title="Translator" slug="ai-translator">
96
121
  {isLoading ? (
97
122
  <Button disabled={true}>Results are loading...</Button>
98
123
  ) : (
99
- <div className={`${baseClass}__translation-buttons`}>
100
- <Button disabled={isLoading} onClick={() => translate({})}>
101
- <span>Translate content to all languages</span>
102
- </Button>
103
- <Button disabled={isLoading} onClick={() => translate({ codes: [locale.code] })}>
104
- <span>Translate only {locale.label as string}</span>
105
- </Button>
106
- </div>
124
+ <>
125
+ <div>
126
+ <SelectInput
127
+ onChange={(e: any) => {
128
+ setSelectedModel(e.value)
129
+ }}
130
+ name="selectedModel"
131
+ value={selectedModel}
132
+ path="model"
133
+ options={options}
134
+ />
135
+ </div>
136
+ <div className={`${baseClass}__translation-buttons`}>
137
+ <Button disabled={isLoading} onClick={() => translate({})}>
138
+ <span>Translate content to all languages</span>
139
+ </Button>
140
+ <Button disabled={isLoading} onClick={() => translate({ codes: [locale.code] })}>
141
+ <span>Translate only {locale.label as string}</span>
142
+ </Button>
143
+ </div>
144
+ </>
107
145
  )}
108
146
  </Drawer>
109
147
  </div>
@@ -17,6 +17,7 @@ export async function deepCompareTranslateAndMerge(
17
17
  action?: 'create' | 'update',
18
18
  onlyMissing?: boolean,
19
19
  sourceLanguage?: string,
20
+ settings?: any,
20
21
  ): Promise<CollectionObjType> {
21
22
  if (Array.isArray(newOriginalObj)) {
22
23
  return Promise.all(
@@ -30,6 +31,7 @@ export async function deepCompareTranslateAndMerge(
30
31
  action,
31
32
  onlyMissing,
32
33
  sourceLanguage,
34
+ settings,
33
35
  ),
34
36
  ),
35
37
  )
@@ -45,11 +47,12 @@ export async function deepCompareTranslateAndMerge(
45
47
  // Translate the text and merge it into the English object
46
48
 
47
49
  if (!onlyMissing || targetObj[prop] === undefined || targetObj[prop] === '') {
48
- targetObj[prop] = await translateTextOrObject(
49
- newOriginalObj[prop],
50
+ targetObj[prop] = await translateTextOrObject({
51
+ text: newOriginalObj[prop],
50
52
  language,
51
53
  sourceLanguage,
52
- )
54
+ settings,
55
+ })
53
56
  } else {
54
57
  // targetObj[prop] = 'not translated'
55
58
  }
@@ -67,6 +70,7 @@ export async function deepCompareTranslateAndMerge(
67
70
  action,
68
71
  onlyMissing,
69
72
  sourceLanguage,
73
+ settings,
70
74
  )
71
75
  }
72
76
  }
@@ -13,6 +13,8 @@ export const createTranslatorHandler = (translatorConfig: PluginTypes): PayloadH
13
13
 
14
14
  const collectionOptions = translatorConfig.collections[req.collection.config.slug]
15
15
 
16
+ const settings = req.body.settings || {}
17
+
16
18
  // const translator = aiTranslate({ collectionOptions, collection: req.collection }, 'fallback')
17
19
 
18
20
  const result = await translateCollection({
@@ -24,6 +26,7 @@ export const createTranslatorHandler = (translatorConfig: PluginTypes): PayloadH
24
26
  collection: req.collection.config,
25
27
  onlyMissing: req.body.onlyMissing,
26
28
  codes: req.body.codes,
29
+ settings,
27
30
  })
28
31
  /*if (translatorConfig.access) {
29
32
  const hasAccesses = await translatorConfig.access(req)
@@ -94,12 +94,21 @@ function reapplyText(
94
94
  }
95
95
  }
96
96
 
97
- export async function translateTextOrObject(
98
- text: any,
99
- language: string,
100
- sourceLanguage?: string,
101
- retryCount: number = 0,
102
- ) {
97
+ interface TranslateTextOrObject {
98
+ text: any
99
+ language: string
100
+ sourceLanguage?: string
101
+ retryCount?: number
102
+ setting: any
103
+ }
104
+
105
+ export async function translateTextOrObject({
106
+ text,
107
+ language,
108
+ sourceLanguage,
109
+ retryCount = 0,
110
+ settings,
111
+ }: any) {
103
112
  function isTranslateNode(node: any, key: string) {
104
113
  return (key === 'text' && typeof node[key] === 'string') || key === 'name'
105
114
  }
@@ -115,7 +124,6 @@ export async function translateTextOrObject(
115
124
  extractAndCapitalizeText(text.root, ['root'], textMap, isTranslateNode)
116
125
  }
117
126
 
118
- console.log('textMap', JSON.stringify(text, null, 2))
119
127
  const chatCompletion = await openai.chat.completions.create({
120
128
  model: /* textAsString.length > 2000 ? 'gpt-3.5-turbo-16k' :*/ 'gpt-3.5-turbo-1106', /// 'gpt-3.5-turbo', // gpt-3.5-turbo-1106 // gpt-3.5-turbo-16k-0613
121
129
  messages:
@@ -131,6 +139,7 @@ export async function translateTextOrObject(
131
139
  top_p: 1,
132
140
  frequency_penalty: 0,
133
141
  presence_penalty: 0,
142
+ ...settings,
134
143
  })
135
144
 
136
145
  console.log(
@@ -162,12 +171,14 @@ export async function translateTextOrObject(
162
171
  )
163
172
 
164
173
  await new Promise(resolve => setTimeout(resolve, error.headers['retry-after-ms']))
165
- const newResult: any = await translateTextOrObject(
174
+ const newResult: any = await translateTextOrObject({
166
175
  text,
167
176
  language,
168
177
  sourceLanguage,
169
- retryCount + 1,
170
- )
178
+ retryCount: retryCount + 1,
179
+ settings,
180
+ })
181
+
171
182
  return newResult
172
183
  } else {
173
184
  console.log(