cozy-search 0.15.0 → 0.16.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 (52) hide show
  1. package/dist/assets/anthropic.svg +7 -0
  2. package/dist/assets/gemini.svg +109 -0
  3. package/dist/assets/meta.svg +22 -0
  4. package/dist/assets/mistral.svg +19 -0
  5. package/dist/assets/open_ai.svg +10 -0
  6. package/dist/assets/openrag.png +0 -0
  7. package/dist/components/AssistantProvider.js +39 -2
  8. package/dist/components/Conversations/AssistantAvatar.d.ts +4 -0
  9. package/dist/components/Conversations/AssistantAvatar.js +67 -0
  10. package/dist/components/Conversations/AssistantSelection.d.ts +4 -0
  11. package/dist/components/Conversations/AssistantSelection.js +164 -0
  12. package/dist/components/Conversations/AssistantSelectionItem.d.ts +11 -0
  13. package/dist/components/Conversations/AssistantSelectionItem.js +119 -0
  14. package/dist/components/Conversations/ConversationBar.js +21 -1
  15. package/dist/components/Conversations/styles.styl +88 -0
  16. package/dist/components/CreateAssistantSteps/ApiKeyStep.d.ts +7 -0
  17. package/dist/components/CreateAssistantSteps/ApiKeyStep.js +151 -0
  18. package/dist/components/CreateAssistantSteps/AssistantDialogContent.d.ts +10 -0
  19. package/dist/components/CreateAssistantSteps/AssistantDialogContent.js +59 -0
  20. package/dist/components/CreateAssistantSteps/BasicInfoStep.d.ts +8 -0
  21. package/dist/components/CreateAssistantSteps/BasicInfoStep.js +136 -0
  22. package/dist/components/CreateAssistantSteps/Provider.d.ts +6 -0
  23. package/dist/components/CreateAssistantSteps/Provider.js +517 -0
  24. package/dist/components/CreateAssistantSteps/ProviderSelectionStep.d.ts +5 -0
  25. package/dist/components/CreateAssistantSteps/ProviderSelectionStep.js +122 -0
  26. package/dist/components/CreateAssistantSteps/helpers.d.ts +1 -0
  27. package/dist/components/CreateAssistantSteps/helpers.js +90 -0
  28. package/dist/components/CreateAssistantSteps/providers.json +63 -0
  29. package/dist/components/CreateAssistantSteps/styles.styl +62 -0
  30. package/dist/components/CreateAssistantSteps/useAssistantDialog.d.ts +53 -0
  31. package/dist/components/CreateAssistantSteps/useAssistantDialog.js +224 -0
  32. package/dist/components/Search/SearchBarMobile.js +21 -1
  33. package/dist/components/Views/AssistantDialog.js +38 -3
  34. package/dist/components/Views/CreateAssistantDialog.d.ts +5 -0
  35. package/dist/components/Views/CreateAssistantDialog.js +170 -0
  36. package/dist/components/Views/DeleteAssistantDialog.d.ts +5 -0
  37. package/dist/components/Views/DeleteAssistantDialog.js +176 -0
  38. package/dist/components/Views/EditAssistantDialog.d.ts +5 -0
  39. package/dist/components/Views/EditAssistantDialog.js +235 -0
  40. package/dist/components/constants.d.ts +4 -0
  41. package/dist/components/constants.js +11 -0
  42. package/dist/components/queries.d.ts +16 -0
  43. package/dist/components/queries.js +34 -2
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.js +8 -0
  46. package/dist/locales/en.json +103 -0
  47. package/dist/locales/fr.json +103 -0
  48. package/dist/locales/index.js +412 -0
  49. package/dist/locales/ru.json +104 -1
  50. package/dist/locales/vi.json +104 -1
  51. package/dist/stylesheet.css +147 -0
  52. package/package.json +13 -13
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _twakeI18n = require("twake-i18n");
17
+
18
+ var _cozyClient = require("cozy-client");
19
+
20
+ var _assistant = require("cozy-client/dist/models/assistant");
21
+
22
+ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
23
+
24
+ var _Dialog = _interopRequireWildcard(require("cozy-ui/transpiled/react/Dialog"));
25
+
26
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
27
+
28
+ var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
29
+
30
+ var _Cross = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Cross"));
31
+
32
+ var _Alert = require("cozy-ui/transpiled/react/providers/Alert");
33
+
34
+ var _locales = require("../../locales");
35
+
36
+ var _AssistantDialogContent = _interopRequireDefault(require("../CreateAssistantSteps/AssistantDialogContent"));
37
+
38
+ var _useAssistantDialog2 = require("../CreateAssistantSteps/useAssistantDialog");
39
+
40
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
+
42
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
+
44
+ var styles = {
45
+ "BasicInfoStep": "styles__BasicInfoStep___2r0eM",
46
+ "avatar-container": "styles__avatar-container___kJ_64",
47
+ "avatar-image": "styles__avatar-image___2Mkxj",
48
+ "file-input": "styles__file-input___2fB5n",
49
+ "ModelSelectionStep": "styles__ModelSelectionStep___1auXB",
50
+ "grid-container": "styles__grid-container___3wOus",
51
+ "model-card": "styles__model-card___fbAqF",
52
+ "selected": "styles__selected___2KyhU",
53
+ "openrag": "styles__openrag___3wGb4",
54
+ "icon-container": "styles__icon-container___1vaTp",
55
+ "icon-container--google": "styles__icon-container--google___3gtC7",
56
+ "icon-container--custom": "styles__icon-container--custom___1_EFK",
57
+ "icon-container--openai": "styles__icon-container--openai___3DsoO",
58
+ "check-icon": "styles__check-icon___3uPUk",
59
+ "CreateAssistantDialog": "styles__CreateAssistantDialog___1dSe_",
60
+ "close-button": "styles__close-button___3jc_w"
61
+ };
62
+
63
+ var CreateAssistantDialog = function CreateAssistantDialog(_ref) {
64
+ var open = _ref.open,
65
+ onClose = _ref.onClose;
66
+ (0, _twakeI18n.useExtendI18n)(_locales.locales);
67
+
68
+ var _useI18n = (0, _twakeI18n.useI18n)(),
69
+ t = _useI18n.t;
70
+
71
+ var client = (0, _cozyClient.useClient)();
72
+
73
+ var _useAlert = (0, _Alert.useAlert)(),
74
+ showAlert = _useAlert.showAlert;
75
+
76
+ var _useAssistantDialog = (0, _useAssistantDialog2.useAssistantDialog)({
77
+ onClose: onClose
78
+ }),
79
+ step = _useAssistantDialog.step,
80
+ formData = _useAssistantDialog.formData,
81
+ selectedProvider = _useAssistantDialog.selectedProvider,
82
+ handleBack = _useAssistantDialog.handleBack,
83
+ handleNext = _useAssistantDialog.handleNext,
84
+ handleChange = _useAssistantDialog.handleChange,
85
+ handleProviderSelection = _useAssistantDialog.handleProviderSelection,
86
+ handleAvatarChange = _useAssistantDialog.handleAvatarChange,
87
+ isNextDisabled = _useAssistantDialog.isNextDisabled,
88
+ handleChangeModel = _useAssistantDialog.handleChangeModel;
89
+
90
+ var getTitle = function getTitle() {
91
+ if (step === _useAssistantDialog2.STEPS.API_KEY) {
92
+ return t('assistant_create.configure_api_key_title');
93
+ }
94
+
95
+ return t('assistant_create.title');
96
+ };
97
+
98
+ var onSubmit = /*#__PURE__*/function () {
99
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
100
+ return _regenerator.default.wrap(function _callee$(_context) {
101
+ while (1) {
102
+ switch (_context.prev = _context.next) {
103
+ case 0:
104
+ _context.next = 2;
105
+ return (0, _assistant.createAssistant)(client, {
106
+ name: formData.name,
107
+ prompt: formData.description,
108
+ icon: formData.icon,
109
+ model: formData.model,
110
+ apiKey: formData.apiKey,
111
+ baseUrl: formData.baseUrl,
112
+ isCustomModel: formData.isCustomModel
113
+ });
114
+
115
+ case 2:
116
+ showAlert({
117
+ message: t('assistant_create.success'),
118
+ severity: 'success'
119
+ });
120
+
121
+ case 3:
122
+ case "end":
123
+ return _context.stop();
124
+ }
125
+ }
126
+ }, _callee);
127
+ }));
128
+
129
+ return function onSubmit() {
130
+ return _ref2.apply(this, arguments);
131
+ };
132
+ }();
133
+
134
+ return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
135
+ open: open,
136
+ onClose: onClose,
137
+ maxWidth: "lg",
138
+ className: styles.CreateAssistantDialog
139
+ }, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, {
140
+ disableTypography: true
141
+ }, getTitle()), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
142
+ "aria-label": t('assistant.dialog.close'),
143
+ onClick: onClose,
144
+ className: styles['close-button']
145
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
146
+ icon: _Cross.default
147
+ })), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, /*#__PURE__*/_react.default.createElement(_AssistantDialogContent.default, {
148
+ step: step,
149
+ formData: formData,
150
+ selectedProvider: selectedProvider,
151
+ onChange: handleChange,
152
+ onAvatarChange: handleAvatarChange,
153
+ onProviderSelect: handleProviderSelection,
154
+ onModelSelect: handleChangeModel
155
+ })), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Buttons.default, {
156
+ variant: "secondary",
157
+ onClick: handleBack,
158
+ label: t('assistant_create.buttons.cancel')
159
+ }), /*#__PURE__*/_react.default.createElement(_Buttons.default, {
160
+ variant: "primary",
161
+ onClick: function onClick() {
162
+ return handleNext(onSubmit);
163
+ },
164
+ disabled: isNextDisabled(),
165
+ label: step === _useAssistantDialog2.STEPS.API_KEY ? t('assistant_create.buttons.create') : t('assistant_create.buttons.next')
166
+ })));
167
+ };
168
+
169
+ var _default = CreateAssistantDialog;
170
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ export default DeleteAssistantDialog;
2
+ declare function DeleteAssistantDialog({ open, onClose }: {
3
+ open: any;
4
+ onClose: any;
5
+ }): JSX.Element;
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _twakeI18n = require("twake-i18n");
19
+
20
+ var _cozyClient = require("cozy-client");
21
+
22
+ var _assistant = require("cozy-client/dist/models/assistant");
23
+
24
+ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
25
+
26
+ var _Dialog = _interopRequireWildcard(require("cozy-ui/transpiled/react/Dialog"));
27
+
28
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
29
+
30
+ var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
31
+
32
+ var _Cross = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Cross"));
33
+
34
+ var _Alert = require("cozy-ui/transpiled/react/providers/Alert");
35
+
36
+ var _locales = require("../../locales");
37
+
38
+ var _AssistantProvider = require("../AssistantProvider");
39
+
40
+ var _queries = require("../queries");
41
+
42
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
+
44
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
+
46
+ var styles = {
47
+ "BasicInfoStep": "styles__BasicInfoStep___2r0eM",
48
+ "avatar-container": "styles__avatar-container___kJ_64",
49
+ "avatar-image": "styles__avatar-image___2Mkxj",
50
+ "file-input": "styles__file-input___2fB5n",
51
+ "ModelSelectionStep": "styles__ModelSelectionStep___1auXB",
52
+ "grid-container": "styles__grid-container___3wOus",
53
+ "model-card": "styles__model-card___fbAqF",
54
+ "selected": "styles__selected___2KyhU",
55
+ "openrag": "styles__openrag___3wGb4",
56
+ "icon-container": "styles__icon-container___1vaTp",
57
+ "icon-container--google": "styles__icon-container--google___3gtC7",
58
+ "icon-container--custom": "styles__icon-container--custom___1_EFK",
59
+ "icon-container--openai": "styles__icon-container--openai___3DsoO",
60
+ "check-icon": "styles__check-icon___3uPUk",
61
+ "CreateAssistantDialog": "styles__CreateAssistantDialog___1dSe_",
62
+ "close-button": "styles__close-button___3jc_w"
63
+ };
64
+
65
+ var DeleteAssistantDialog = function DeleteAssistantDialog(_ref) {
66
+ var open = _ref.open,
67
+ onClose = _ref.onClose;
68
+ (0, _twakeI18n.useExtendI18n)(_locales.locales);
69
+
70
+ var _useI18n = (0, _twakeI18n.useI18n)(),
71
+ t = _useI18n.t;
72
+
73
+ var client = (0, _cozyClient.useClient)();
74
+
75
+ var _useAssistant = (0, _AssistantProvider.useAssistant)(),
76
+ assistantIdInAction = _useAssistant.assistantIdInAction,
77
+ setAssistantIdInAction = _useAssistant.setAssistantIdInAction;
78
+
79
+ var _useAlert = (0, _Alert.useAlert)(),
80
+ showAlert = _useAlert.showAlert;
81
+
82
+ var _useState = (0, _react.useState)(false),
83
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
84
+ isDeleting = _useState2[0],
85
+ setIsDeleting = _useState2[1];
86
+
87
+ var assistantQuery = (0, _queries.buildAssistantByIdQuery)(assistantIdInAction);
88
+
89
+ var _ref2 = (0, _cozyClient.useQuery)(assistantQuery.definition, assistantQuery.options) || {},
90
+ assistant = _ref2.data,
91
+ fetchStatus = _ref2.fetchStatus;
92
+
93
+ var isLoading = fetchStatus === 'loading' || fetchStatus === 'pending';
94
+ var displayName = (assistant === null || assistant === void 0 ? void 0 : assistant.name) || assistantIdInAction || '...';
95
+
96
+ var handleDeleteAssistant = /*#__PURE__*/function () {
97
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
98
+ return _regenerator.default.wrap(function _callee$(_context) {
99
+ while (1) {
100
+ switch (_context.prev = _context.next) {
101
+ case 0:
102
+ if (assistantIdInAction) {
103
+ _context.next = 2;
104
+ break;
105
+ }
106
+
107
+ return _context.abrupt("return");
108
+
109
+ case 2:
110
+ _context.prev = 2;
111
+ setIsDeleting(true);
112
+ _context.next = 6;
113
+ return (0, _assistant.deleteAssistant)(client, assistantIdInAction);
114
+
115
+ case 6:
116
+ setAssistantIdInAction(null);
117
+ onClose();
118
+ _context.next = 13;
119
+ break;
120
+
121
+ case 10:
122
+ _context.prev = 10;
123
+ _context.t0 = _context["catch"](2);
124
+ showAlert({
125
+ message: t('assistant.default_error'),
126
+ severity: 'error'
127
+ });
128
+
129
+ case 13:
130
+ _context.prev = 13;
131
+ setIsDeleting(false);
132
+ return _context.finish(13);
133
+
134
+ case 16:
135
+ case "end":
136
+ return _context.stop();
137
+ }
138
+ }
139
+ }, _callee, null, [[2, 10, 13, 16]]);
140
+ }));
141
+
142
+ return function handleDeleteAssistant() {
143
+ return _ref3.apply(this, arguments);
144
+ };
145
+ }();
146
+
147
+ return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
148
+ open: open,
149
+ onClose: onClose,
150
+ maxWidth: "sm",
151
+ className: styles.CreateAssistantDialog
152
+ }, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, {
153
+ disableTypography: true
154
+ }, t('assistant_delete.title')), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
155
+ "aria-label": t('assistant.dialog.close'),
156
+ onClick: onClose,
157
+ className: styles['close-button']
158
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
159
+ icon: _Cross.default
160
+ })), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, t('assistant_delete.content', {
161
+ name: displayName
162
+ })), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Buttons.default, {
163
+ variant: "text",
164
+ onClick: onClose,
165
+ label: t('assistant_delete.buttons.cancel')
166
+ }), /*#__PURE__*/_react.default.createElement(_Buttons.default, {
167
+ variant: "contained",
168
+ color: "error",
169
+ onClick: handleDeleteAssistant,
170
+ disabled: isLoading || isDeleting || !assistantIdInAction,
171
+ label: t('assistant_delete.buttons.confirm')
172
+ })));
173
+ };
174
+
175
+ var _default = DeleteAssistantDialog;
176
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ export default EditAssistantDialog;
2
+ declare function EditAssistantDialog({ open, onClose }: {
3
+ open: any;
4
+ onClose: any;
5
+ }): JSX.Element;
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _twakeI18n = require("twake-i18n");
19
+
20
+ var _cozyClient = require("cozy-client");
21
+
22
+ var _assistant = require("cozy-client/dist/models/assistant");
23
+
24
+ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
25
+
26
+ var _Dialog = _interopRequireWildcard(require("cozy-ui/transpiled/react/Dialog"));
27
+
28
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
29
+
30
+ var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
31
+
32
+ var _Cross = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Cross"));
33
+
34
+ var _Alert = require("cozy-ui/transpiled/react/providers/Alert");
35
+
36
+ var _locales = require("../../locales");
37
+
38
+ var _AssistantProvider = require("../AssistantProvider");
39
+
40
+ var _AssistantDialogContent = _interopRequireDefault(require("../CreateAssistantSteps/AssistantDialogContent"));
41
+
42
+ var _helpers = require("../CreateAssistantSteps/helpers");
43
+
44
+ var _useAssistantDialog2 = require("../CreateAssistantSteps/useAssistantDialog");
45
+
46
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
+
48
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
49
+
50
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
51
+
52
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
53
+
54
+ var styles = {
55
+ "BasicInfoStep": "styles__BasicInfoStep___2r0eM",
56
+ "avatar-container": "styles__avatar-container___kJ_64",
57
+ "avatar-image": "styles__avatar-image___2Mkxj",
58
+ "file-input": "styles__file-input___2fB5n",
59
+ "ModelSelectionStep": "styles__ModelSelectionStep___1auXB",
60
+ "grid-container": "styles__grid-container___3wOus",
61
+ "model-card": "styles__model-card___fbAqF",
62
+ "selected": "styles__selected___2KyhU",
63
+ "openrag": "styles__openrag___3wGb4",
64
+ "icon-container": "styles__icon-container___1vaTp",
65
+ "icon-container--google": "styles__icon-container--google___3gtC7",
66
+ "icon-container--custom": "styles__icon-container--custom___1_EFK",
67
+ "icon-container--openai": "styles__icon-container--openai___3DsoO",
68
+ "check-icon": "styles__check-icon___3uPUk",
69
+ "CreateAssistantDialog": "styles__CreateAssistantDialog___1dSe_",
70
+ "close-button": "styles__close-button___3jc_w"
71
+ };
72
+
73
+ var EditAssistantDialog = function EditAssistantDialog(_ref) {
74
+ var open = _ref.open,
75
+ onClose = _ref.onClose;
76
+ (0, _twakeI18n.useExtendI18n)(_locales.locales);
77
+
78
+ var _useI18n = (0, _twakeI18n.useI18n)(),
79
+ t = _useI18n.t;
80
+
81
+ var client = (0, _cozyClient.useClient)();
82
+
83
+ var _useAssistant = (0, _AssistantProvider.useAssistant)(),
84
+ assistantIdInAction = _useAssistant.assistantIdInAction;
85
+
86
+ var _useAlert = (0, _Alert.useAlert)(),
87
+ showAlert = _useAlert.showAlert;
88
+
89
+ var _useAssistantDialog = (0, _useAssistantDialog2.useAssistantDialog)({
90
+ onClose: onClose
91
+ }),
92
+ step = _useAssistantDialog.step,
93
+ formData = _useAssistantDialog.formData,
94
+ selectedProvider = _useAssistantDialog.selectedProvider,
95
+ setFormData = _useAssistantDialog.setFormData,
96
+ setSelectedProvider = _useAssistantDialog.setSelectedProvider,
97
+ handleBack = _useAssistantDialog.handleBack,
98
+ handleNext = _useAssistantDialog.handleNext,
99
+ handleChange = _useAssistantDialog.handleChange,
100
+ handleProviderSelection = _useAssistantDialog.handleProviderSelection,
101
+ handleAvatarChange = _useAssistantDialog.handleAvatarChange,
102
+ isNextDisabled = _useAssistantDialog.isNextDisabled,
103
+ handleChangeModel = _useAssistantDialog.handleChangeModel;
104
+
105
+ (0, _react.useEffect)(function () {
106
+ if (!open || !assistantIdInAction) return;
107
+
108
+ var fetchAssistant = /*#__PURE__*/function () {
109
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
110
+ var _provider$auth, _provider$data, _provider$auth2, _provider$auth3, _provider$auth4, _provider$data2;
111
+
112
+ var response, assistant, provider, selectProviderDefault;
113
+ return _regenerator.default.wrap(function _callee$(_context) {
114
+ while (1) {
115
+ switch (_context.prev = _context.next) {
116
+ case 0:
117
+ _context.next = 2;
118
+ return client.query((0, _cozyClient.Q)('io.cozy.ai.chat.assistants').getById(assistantIdInAction).include(['provider']));
119
+
120
+ case 2:
121
+ response = _context.sent;
122
+ assistant = response.data;
123
+ provider = response.included[0];
124
+ setFormData({
125
+ name: assistant.name || '',
126
+ description: assistant.prompt || '',
127
+ icon: assistant.icon || '',
128
+ isCustomModel: assistant.isCustomModel || false,
129
+ model: (provider === null || provider === void 0 ? void 0 : (_provider$auth = provider.auth) === null || _provider$auth === void 0 ? void 0 : _provider$auth.login) || '',
130
+ baseUrl: (provider === null || provider === void 0 ? void 0 : (_provider$data = provider.data) === null || _provider$data === void 0 ? void 0 : _provider$data.baseUrl) || '',
131
+ apiKey: (provider === null || provider === void 0 ? void 0 : (_provider$auth2 = provider.auth) === null || _provider$auth2 === void 0 ? void 0 : _provider$auth2.apiKey) || ''
132
+ });
133
+ selectProviderDefault = (0, _helpers.getSelectedProviderByModel)(provider === null || provider === void 0 ? void 0 : (_provider$auth3 = provider.auth) === null || _provider$auth3 === void 0 ? void 0 : _provider$auth3.login);
134
+ setSelectedProvider(_objectSpread(_objectSpread({}, selectProviderDefault), {}, {
135
+ model: provider === null || provider === void 0 ? void 0 : (_provider$auth4 = provider.auth) === null || _provider$auth4 === void 0 ? void 0 : _provider$auth4.login,
136
+ baseUrl: provider === null || provider === void 0 ? void 0 : (_provider$data2 = provider.data) === null || _provider$data2 === void 0 ? void 0 : _provider$data2.baseUrl
137
+ }));
138
+
139
+ case 8:
140
+ case "end":
141
+ return _context.stop();
142
+ }
143
+ }
144
+ }, _callee);
145
+ }));
146
+
147
+ return function fetchAssistant() {
148
+ return _ref2.apply(this, arguments);
149
+ };
150
+ }();
151
+
152
+ fetchAssistant();
153
+ }, [client, assistantIdInAction, open, setFormData, setSelectedProvider]);
154
+
155
+ var getTitle = function getTitle() {
156
+ if (step === _useAssistantDialog2.STEPS.API_KEY) {
157
+ return t('assistant_edit.configure_api_key_title');
158
+ }
159
+
160
+ return t('assistant_edit.title');
161
+ };
162
+
163
+ var onSubmit = /*#__PURE__*/function () {
164
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
165
+ return _regenerator.default.wrap(function _callee2$(_context2) {
166
+ while (1) {
167
+ switch (_context2.prev = _context2.next) {
168
+ case 0:
169
+ _context2.next = 2;
170
+ return (0, _assistant.editAssistant)(client, assistantIdInAction, {
171
+ name: formData.name,
172
+ prompt: formData.description,
173
+ icon: formData.icon,
174
+ model: formData.model,
175
+ apiKey: formData.apiKey,
176
+ baseUrl: formData.baseUrl,
177
+ isCustomModel: formData.isCustomModel
178
+ });
179
+
180
+ case 2:
181
+ showAlert({
182
+ message: t('assistant_edit.success'),
183
+ severity: 'success'
184
+ });
185
+
186
+ case 3:
187
+ case "end":
188
+ return _context2.stop();
189
+ }
190
+ }
191
+ }, _callee2);
192
+ }));
193
+
194
+ return function onSubmit() {
195
+ return _ref3.apply(this, arguments);
196
+ };
197
+ }();
198
+
199
+ return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
200
+ open: open,
201
+ onClose: onClose,
202
+ maxWidth: "lg",
203
+ className: styles.CreateAssistantDialog
204
+ }, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, {
205
+ disableTypography: true
206
+ }, getTitle()), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
207
+ "aria-label": t('assistant.dialog.close'),
208
+ onClick: onClose,
209
+ className: styles['close-button']
210
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
211
+ icon: _Cross.default
212
+ })), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, /*#__PURE__*/_react.default.createElement(_AssistantDialogContent.default, {
213
+ step: step,
214
+ formData: formData,
215
+ selectedProvider: selectedProvider,
216
+ onChange: handleChange,
217
+ onAvatarChange: handleAvatarChange,
218
+ onProviderSelect: handleProviderSelection,
219
+ onModelSelect: handleChangeModel
220
+ })), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Buttons.default, {
221
+ variant: "secondary",
222
+ onClick: handleBack,
223
+ label: t('assistant_edit.buttons.cancel')
224
+ }), /*#__PURE__*/_react.default.createElement(_Buttons.default, {
225
+ variant: "primary",
226
+ onClick: function onClick() {
227
+ return handleNext(onSubmit);
228
+ },
229
+ disabled: isNextDisabled(true),
230
+ label: step === _useAssistantDialog2.STEPS.API_KEY ? t('assistant_edit.buttons.edit') : t('assistant_edit.buttons.next')
231
+ })));
232
+ };
233
+
234
+ var _default = EditAssistantDialog;
235
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ export namespace DEFAULT_ASSISTANT {
2
+ let id: string;
3
+ let name: string;
4
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_ASSISTANT = void 0;
7
+ var DEFAULT_ASSISTANT = {
8
+ id: 'ai_assistant',
9
+ name: 'AI Assistant'
10
+ };
11
+ exports.DEFAULT_ASSISTANT = DEFAULT_ASSISTANT;
@@ -25,3 +25,19 @@ export function buildMyselfQuery(): {
25
25
  fetchPolicy: Function;
26
26
  };
27
27
  };
28
+ export function buildAssistantsQuery(): {
29
+ definition: () => import("cozy-client").QueryDefinition;
30
+ options: {
31
+ as: string;
32
+ fetchPolicy: Function;
33
+ };
34
+ };
35
+ export function buildAssistantByIdQuery(id: any): {
36
+ definition: () => import("cozy-client").QueryDefinition;
37
+ options: {
38
+ as: string;
39
+ fetchPolicy: Function;
40
+ singleDocData: boolean;
41
+ enabled: boolean;
42
+ };
43
+ };