jodit-pro 4.11.19 → 4.11.22
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/es2015/jodit.css +2 -2
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +17 -14
- package/es2015/jodit.js +45 -13
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +6 -6
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +239 -168
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +356 -75
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +42 -39
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +10 -4
- package/es2015/plugins/finder/finder.min.js +2 -2
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +17 -14
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +6 -6
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +49 -46
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +2 -2
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +2 -2
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +18 -15
- package/es2021/jodit.js +45 -13
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +6 -6
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +239 -168
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +350 -73
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +24 -21
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +9 -4
- package/es2021/plugins/finder/finder.min.js +2 -2
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +2 -2
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +18 -15
- package/es2021.en/jodit.js +45 -13
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +6 -6
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +239 -168
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +350 -73
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +24 -21
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +9 -4
- package/es2021.en/plugins/finder/finder.min.js +2 -2
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +3 -3
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +45 -13
- package/es5/jodit.min.css +3 -3
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +239 -168
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +526 -111
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +10 -5
- package/es5/plugins/finder/finder.min.js +2 -2
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +10 -0
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.js +2 -2
- package/esm/plugins/ai-assistant-pro/config.js +1 -1
- package/esm/plugins/ai-assistant-pro/core/conversation.d.ts +10 -1
- package/esm/plugins/ai-assistant-pro/core/conversation.js +1 -1
- package/esm/plugins/ai-assistant-pro/icons/chevron-right.svg.js +1 -0
- package/esm/plugins/ai-assistant-pro/icons/shield.svg.js +1 -0
- package/esm/plugins/ai-assistant-pro/icons/tool-bolt.svg.js +1 -0
- package/esm/plugins/ai-assistant-pro/ui/conversation-list/conversation-list-item.d.ts +6 -1
- package/esm/plugins/ai-assistant-pro/ui/conversation-list/conversation-list-item.js +1 -1
- package/esm/plugins/ai-assistant-pro/ui/input-area/input-area.js +1 -1
- package/esm/plugins/ai-assistant-pro/ui/main-panel/main-panel.d.ts +6 -0
- package/esm/plugins/ai-assistant-pro/ui/main-panel/main-panel.js +2 -2
- package/esm/plugins/ai-assistant-pro/ui/message-list/item/message-list-item.js +1 -1
- package/esm/plugins/ai-assistant-pro/ui/permission-request/permission-request.js +7 -4
- package/esm/plugins/finder/helpers/loading-manager.js +1 -1
- package/package.json +1 -1
- package/types/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +10 -0
- package/types/plugins/ai-assistant-pro/core/conversation.d.ts +10 -1
- package/types/plugins/ai-assistant-pro/ui/conversation-list/conversation-list-item.d.ts +6 -1
- package/types/plugins/ai-assistant-pro/ui/main-panel/main-panel.d.ts +6 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.11.
|
|
4
|
+
* Version: v4.11.22
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -39,6 +39,13 @@ module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\
|
|
|
39
39
|
|
|
40
40
|
/***/ }),
|
|
41
41
|
|
|
42
|
+
/***/ 83207:
|
|
43
|
+
/***/ (function(module) {
|
|
44
|
+
|
|
45
|
+
module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M9 18l6-6-6-6\"/> </svg>"
|
|
46
|
+
|
|
47
|
+
/***/ }),
|
|
48
|
+
|
|
42
49
|
/***/ 99219:
|
|
43
50
|
/***/ (function(module) {
|
|
44
51
|
|
|
@@ -46,6 +53,20 @@ module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\
|
|
|
46
53
|
|
|
47
54
|
/***/ }),
|
|
48
55
|
|
|
56
|
+
/***/ 63674:
|
|
57
|
+
/***/ (function(module) {
|
|
58
|
+
|
|
59
|
+
module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"/> </svg>"
|
|
60
|
+
|
|
61
|
+
/***/ }),
|
|
62
|
+
|
|
63
|
+
/***/ 4133:
|
|
64
|
+
/***/ (function(module) {
|
|
65
|
+
|
|
66
|
+
module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M13 2L4 14h6l-1 8 9-12h-6z\"/> </svg>"
|
|
67
|
+
|
|
68
|
+
/***/ }),
|
|
69
|
+
|
|
49
70
|
/***/ 62357:
|
|
50
71
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
51
72
|
|
|
@@ -304,6 +325,25 @@ class aiAssistantPro extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_15__
|
|
|
304
325
|
// Just for init getter
|
|
305
326
|
this.mainPanel.setMod('ready', true);
|
|
306
327
|
await (0,_core__WEBPACK_IMPORTED_MODULE_9__.loadInitialData)(this.j, this.storage, this.stateManager);
|
|
328
|
+
// Restore pending tool calls from stored conversation
|
|
329
|
+
await this.restorePendingToolCalls();
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Restore pending tool calls after loading a conversation from storage.
|
|
333
|
+
* Scans messages for tool calls with non-terminal status and
|
|
334
|
+
* re-runs handleToolCalls to show the permission dialog.
|
|
335
|
+
*/ async restorePendingToolCalls() {
|
|
336
|
+
const conversation = this.stateManager.getCurrentConversation();
|
|
337
|
+
if (!conversation) {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
const messagesWithPending = (0,_core__WEBPACK_IMPORTED_MODULE_9__.findMessagesWithPendingToolCalls)(conversation);
|
|
341
|
+
if (messagesWithPending.length === 0) {
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
for (const message of messagesWithPending){
|
|
345
|
+
await this.handleToolCalls(message.id);
|
|
346
|
+
}
|
|
307
347
|
}
|
|
308
348
|
/**
|
|
309
349
|
* Setup event listeners
|
|
@@ -331,6 +371,11 @@ class aiAssistantPro extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_15__
|
|
|
331
371
|
await this.__loadData();
|
|
332
372
|
await this.deleteConversation(id);
|
|
333
373
|
});
|
|
374
|
+
// Rename conversation
|
|
375
|
+
this.j.e.on('renameConversation.ai-assistant-pro', async (id, newTitle)=>{
|
|
376
|
+
await this.__loadData();
|
|
377
|
+
await this.renameConversation(id, newTitle);
|
|
378
|
+
});
|
|
334
379
|
// Back to list
|
|
335
380
|
this.j.e.on('backToList.ai-assistant-pro', async ()=>{
|
|
336
381
|
await this.__loadData();
|
|
@@ -730,6 +775,27 @@ ${selectedText}`.trim();
|
|
|
730
775
|
await this.__loadData();
|
|
731
776
|
await (0,_core__WEBPACK_IMPORTED_MODULE_9__.deleteConversationWithCleanup)(this.j, conversationId, this.storage, this.stateManager, this.permissionManager);
|
|
732
777
|
}
|
|
778
|
+
/**
|
|
779
|
+
* Rename conversation
|
|
780
|
+
*/ async renameConversation(conversationId, newTitle) {
|
|
781
|
+
const conversation = await this.storage.get(conversationId);
|
|
782
|
+
if (!conversation) {
|
|
783
|
+
return;
|
|
784
|
+
}
|
|
785
|
+
const updated = {
|
|
786
|
+
...conversation,
|
|
787
|
+
title: newTitle,
|
|
788
|
+
updated: Date.now()
|
|
789
|
+
};
|
|
790
|
+
await this.storage.save(updated);
|
|
791
|
+
// Update current conversation if it's the one being renamed
|
|
792
|
+
if (this.state.currentConversation?.id === conversationId) {
|
|
793
|
+
this.stateManager.setCurrentConversation(updated);
|
|
794
|
+
}
|
|
795
|
+
// Refresh conversation list
|
|
796
|
+
const conversations = await this.storage.list();
|
|
797
|
+
this.stateManager.setConversations(conversations);
|
|
798
|
+
}
|
|
733
799
|
/**
|
|
734
800
|
* Search conversations
|
|
735
801
|
*/ async searchConversations(query) {
|
|
@@ -751,8 +817,13 @@ ${selectedText}`.trim();
|
|
|
751
817
|
if (!toolCalls || toolCalls.length === 0) {
|
|
752
818
|
return;
|
|
753
819
|
}
|
|
754
|
-
|
|
755
|
-
|
|
820
|
+
// Filter out tool calls that already have a terminal status
|
|
821
|
+
// This makes handleToolCalls safe to call on restored conversations
|
|
822
|
+
const nonTerminalToolCalls = toolCalls.filter((tc)=>!(0,_core__WEBPACK_IMPORTED_MODULE_9__.isTerminalToolCallStatus)(tc.status));
|
|
823
|
+
if (nonTerminalToolCalls.length === 0) {
|
|
824
|
+
return;
|
|
825
|
+
}
|
|
826
|
+
const { approved, needsPermission } = this.permissionManager.filterToolCalls(nonTerminalToolCalls, conversation.permissions);
|
|
756
827
|
// Set pending tool calls for UI
|
|
757
828
|
this.stateManager.setPendingToolCalls(needsPermission);
|
|
758
829
|
// Execute approved tools (pass depth)
|
|
@@ -763,7 +834,6 @@ ${selectedText}`.trim();
|
|
|
763
834
|
/**
|
|
764
835
|
* Execute a tool call
|
|
765
836
|
*/ async executeToolCall(messageId, toolCall, depth = 0) {
|
|
766
|
-
await this.__loadData();
|
|
767
837
|
let conversation = this.stateManager.getCurrentConversation();
|
|
768
838
|
if (!conversation) {
|
|
769
839
|
return;
|
|
@@ -1007,13 +1077,19 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_16__.JoditPro.plugins.add('aiAssist
|
|
|
1007
1077
|
/* harmony import */ var _icons_ai_assistant_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_icons_ai_assistant_svg__WEBPACK_IMPORTED_MODULE_2__);
|
|
1008
1078
|
/* harmony import */ var _icons_ai_commands_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75966);
|
|
1009
1079
|
/* harmony import */ var _icons_ai_commands_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_icons_ai_commands_svg__WEBPACK_IMPORTED_MODULE_3__);
|
|
1010
|
-
/* harmony import */ var
|
|
1011
|
-
/* harmony import */ var
|
|
1012
|
-
/* harmony import */ var
|
|
1013
|
-
/* harmony import */ var
|
|
1014
|
-
/* harmony import */ var
|
|
1015
|
-
/* harmony import */ var
|
|
1016
|
-
/* harmony import */ var
|
|
1080
|
+
/* harmony import */ var _icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83207);
|
|
1081
|
+
/* harmony import */ var _icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_4__);
|
|
1082
|
+
/* harmony import */ var _icons_send_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(99219);
|
|
1083
|
+
/* harmony import */ var _icons_send_svg__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_icons_send_svg__WEBPACK_IMPORTED_MODULE_5__);
|
|
1084
|
+
/* harmony import */ var _icons_shield_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63674);
|
|
1085
|
+
/* harmony import */ var _icons_shield_svg__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_icons_shield_svg__WEBPACK_IMPORTED_MODULE_6__);
|
|
1086
|
+
/* harmony import */ var _icons_tool_bolt_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4133);
|
|
1087
|
+
/* harmony import */ var _icons_tool_bolt_svg__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_icons_tool_bolt_svg__WEBPACK_IMPORTED_MODULE_7__);
|
|
1088
|
+
/* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(53835);
|
|
1089
|
+
/* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6441);
|
|
1090
|
+
/* harmony import */ var jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(12153);
|
|
1091
|
+
/* harmony import */ var jodit_esm_plugins_ai_assistant_config__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(31974);
|
|
1092
|
+
/* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(72573);
|
|
1017
1093
|
/*!
|
|
1018
1094
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
1019
1095
|
* See LICENSE.md in the project root for license information.
|
|
@@ -1028,10 +1104,13 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_16__.JoditPro.plugins.add('aiAssist
|
|
|
1028
1104
|
|
|
1029
1105
|
|
|
1030
1106
|
|
|
1107
|
+
|
|
1108
|
+
|
|
1109
|
+
|
|
1031
1110
|
// Register icons
|
|
1032
|
-
|
|
1111
|
+
jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_10__.Icon.set('ai-assistant-pro', (_icons_ai_assistant_svg__WEBPACK_IMPORTED_MODULE_2___default())).set('ai-commands-pro', (_icons_ai_commands_svg__WEBPACK_IMPORTED_MODULE_3___default())).set('ai-add-context', (_icons_add_context_svg__WEBPACK_IMPORTED_MODULE_1___default())).set('send', (_icons_send_svg__WEBPACK_IMPORTED_MODULE_5___default())).set('tool-bolt', (_icons_tool_bolt_svg__WEBPACK_IMPORTED_MODULE_7___default())).set('chevron-right', (_icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_4___default())).set('shield', (_icons_shield_svg__WEBPACK_IMPORTED_MODULE_6___default()));
|
|
1033
1112
|
// Default configuration
|
|
1034
|
-
|
|
1113
|
+
jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__.Config.prototype.aiAssistantPro = {
|
|
1035
1114
|
// ===== Display Settings =====
|
|
1036
1115
|
displayMode: 'right',
|
|
1037
1116
|
panelWidth: 400,
|
|
@@ -1047,7 +1126,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.aiAssistantPro =
|
|
|
1047
1126
|
retryDelay: 1000,
|
|
1048
1127
|
maxRecursionToolCallDepth: 1000,
|
|
1049
1128
|
// ===== Tools Configuration =====
|
|
1050
|
-
enabledTools: (0,
|
|
1129
|
+
enabledTools: (0,_tools__WEBPACK_IMPORTED_MODULE_8__.getToolNames)(),
|
|
1051
1130
|
customTools: [],
|
|
1052
1131
|
toolPermissions: {},
|
|
1053
1132
|
// ===== Permission Settings =====
|
|
@@ -1086,7 +1165,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.aiAssistantPro =
|
|
|
1086
1165
|
},
|
|
1087
1166
|
formatMessageContent: (content, role)=>{
|
|
1088
1167
|
// For user and assistant messages, use markdown
|
|
1089
|
-
return
|
|
1168
|
+
return marked__WEBPACK_IMPORTED_MODULE_12__.marked.parse(content, {
|
|
1090
1169
|
breaks: true,
|
|
1091
1170
|
gfm: true
|
|
1092
1171
|
});
|
|
@@ -1155,7 +1234,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.aiAssistantPro =
|
|
|
1155
1234
|
};
|
|
1156
1235
|
/**
|
|
1157
1236
|
* Main AI Assistant Pro control for toolbar
|
|
1158
|
-
*/
|
|
1237
|
+
*/ jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__.Config.prototype.controls.aiAssistantPro = {
|
|
1159
1238
|
icon: 'ai-assistant-pro',
|
|
1160
1239
|
tooltip: 'AI Assistant',
|
|
1161
1240
|
/**
|
|
@@ -1190,7 +1269,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.aiAssistantPro =
|
|
|
1190
1269
|
};
|
|
1191
1270
|
/**
|
|
1192
1271
|
* Add Context control for context menu (adds selection to AI context)
|
|
1193
|
-
*/
|
|
1272
|
+
*/ jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__.Config.prototype.controls.aiAddContext = {
|
|
1194
1273
|
icon: 'ai-add-context',
|
|
1195
1274
|
tooltip: 'Add to AI Context',
|
|
1196
1275
|
/**
|
|
@@ -1212,7 +1291,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.aiAssistantPro =
|
|
|
1212
1291
|
};
|
|
1213
1292
|
/**
|
|
1214
1293
|
* AI Commands control - quick AI commands dropdown
|
|
1215
|
-
*/
|
|
1294
|
+
*/ jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__.Config.prototype.controls.aiCommandsPro = {
|
|
1216
1295
|
icon: 'ai-commands-pro',
|
|
1217
1296
|
tooltip: 'AI Commands',
|
|
1218
1297
|
/**
|
|
@@ -1222,7 +1301,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.aiAssistantPro =
|
|
|
1222
1301
|
},
|
|
1223
1302
|
/**
|
|
1224
1303
|
* Default list of commands (can be overridden via quickCommands config)
|
|
1225
|
-
*/ list:
|
|
1304
|
+
*/ list: jodit_esm_plugins_ai_assistant_config__WEBPACK_IMPORTED_MODULE_11__.aiAssitentCommands,
|
|
1226
1305
|
/**
|
|
1227
1306
|
* Execute handler - fires event with command name
|
|
1228
1307
|
*/ exec (editor, event, { control }) {
|
|
@@ -1231,7 +1310,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.aiAssistantPro =
|
|
|
1231
1310
|
};
|
|
1232
1311
|
/**
|
|
1233
1312
|
* Extend tune-block popup to include "Add to AI Context" option
|
|
1234
|
-
*/ const originalTuneBlockPopup =
|
|
1313
|
+
*/ const originalTuneBlockPopup = jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__.Config.prototype.tuneBlock?.popup || {};
|
|
1235
1314
|
// Add AI context option to all block types
|
|
1236
1315
|
const tuneBlockExtension = {};
|
|
1237
1316
|
// Common block types
|
|
@@ -1272,8 +1351,8 @@ blockTypes.forEach((tag)=>{
|
|
|
1272
1351
|
];
|
|
1273
1352
|
});
|
|
1274
1353
|
// Merge with existing tune-block configuration
|
|
1275
|
-
if (
|
|
1276
|
-
|
|
1354
|
+
if (jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__.Config.prototype.tuneBlock) {
|
|
1355
|
+
jodit_esm_config__WEBPACK_IMPORTED_MODULE_9__.Config.prototype.tuneBlock.popup = {
|
|
1277
1356
|
...originalTuneBlockPopup,
|
|
1278
1357
|
...tuneBlockExtension
|
|
1279
1358
|
};
|
|
@@ -1522,7 +1601,9 @@ if (jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.tuneBlock) {
|
|
|
1522
1601
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1523
1602
|
/* harmony export */ areAllToolCallsExecuted: function() { return /* binding */ areAllToolCallsExecuted; },
|
|
1524
1603
|
/* harmony export */ createNewConversation: function() { return /* binding */ createNewConversation; },
|
|
1525
|
-
/* harmony export */
|
|
1604
|
+
/* harmony export */ findMessagesWithPendingToolCalls: function() { return /* binding */ findMessagesWithPendingToolCalls; },
|
|
1605
|
+
/* harmony export */ findParentMessageId: function() { return /* binding */ findParentMessageId; },
|
|
1606
|
+
/* harmony export */ isTerminalToolCallStatus: function() { return /* binding */ isTerminalToolCallStatus; }
|
|
1526
1607
|
/* harmony export */ });
|
|
1527
1608
|
/* harmony import */ var _helpers_storage_webstorage_storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21064);
|
|
1528
1609
|
/*!
|
|
@@ -1559,6 +1640,16 @@ if (jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.tuneBlock) {
|
|
|
1559
1640
|
}
|
|
1560
1641
|
return null;
|
|
1561
1642
|
}
|
|
1643
|
+
const TERMINAL_STATUSES = new Set([
|
|
1644
|
+
'executed',
|
|
1645
|
+
'denied',
|
|
1646
|
+
'error'
|
|
1647
|
+
]);
|
|
1648
|
+
/**
|
|
1649
|
+
* Check if a tool call status is terminal (no further action needed)
|
|
1650
|
+
*/ function isTerminalToolCallStatus(status) {
|
|
1651
|
+
return TERMINAL_STATUSES.has(status);
|
|
1652
|
+
}
|
|
1562
1653
|
/**
|
|
1563
1654
|
* Check if all tool calls have been executed
|
|
1564
1655
|
*/ function areAllToolCallsExecuted(conversation) {
|
|
@@ -1566,7 +1657,13 @@ if (jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.tuneBlock) {
|
|
|
1566
1657
|
if (!lastMessage?.toolCalls) {
|
|
1567
1658
|
return false;
|
|
1568
1659
|
}
|
|
1569
|
-
return lastMessage.toolCalls.every((tc)=>tc.status
|
|
1660
|
+
return lastMessage.toolCalls.every((tc)=>isTerminalToolCallStatus(tc.status));
|
|
1661
|
+
}
|
|
1662
|
+
/**
|
|
1663
|
+
* Find messages that have tool calls with non-terminal status
|
|
1664
|
+
* Used to restore pending tool call state after page refresh
|
|
1665
|
+
*/ function findMessagesWithPendingToolCalls(conversation) {
|
|
1666
|
+
return conversation.messages.filter((msg)=>msg.toolCalls && msg.toolCalls.length > 0 && msg.toolCalls.some((tc)=>!isTerminalToolCallStatus(tc.status)));
|
|
1570
1667
|
}
|
|
1571
1668
|
|
|
1572
1669
|
|
|
@@ -1723,6 +1820,7 @@ if (jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.tuneBlock) {
|
|
|
1723
1820
|
/* harmony export */ createUserMessage: function() { return /* reexport safe */ _message_builder__WEBPACK_IMPORTED_MODULE_3__.createUserMessage; },
|
|
1724
1821
|
/* harmony export */ deleteConversationWithCleanup: function() { return /* reexport safe */ _storage_helpers__WEBPACK_IMPORTED_MODULE_6__.deleteConversationWithCleanup; },
|
|
1725
1822
|
/* harmony export */ executeToolCall: function() { return /* reexport safe */ _tool_execution__WEBPACK_IMPORTED_MODULE_8__.executeToolCall; },
|
|
1823
|
+
/* harmony export */ findMessagesWithPendingToolCalls: function() { return /* reexport safe */ _conversation__WEBPACK_IMPORTED_MODULE_1__.findMessagesWithPendingToolCalls; },
|
|
1726
1824
|
/* harmony export */ findParentMessageId: function() { return /* reexport safe */ _conversation__WEBPACK_IMPORTED_MODULE_1__.findParentMessageId; },
|
|
1727
1825
|
/* harmony export */ getCurrentSelectionContext: function() { return /* reexport safe */ _selection_context__WEBPACK_IMPORTED_MODULE_5__.getCurrentSelectionContext; },
|
|
1728
1826
|
/* harmony export */ handleBackToList: function() { return /* reexport safe */ _event_handlers__WEBPACK_IMPORTED_MODULE_2__.handleBackToList; },
|
|
@@ -1731,6 +1829,7 @@ if (jodit_esm_config__WEBPACK_IMPORTED_MODULE_6__.Config.prototype.tuneBlock) {
|
|
|
1731
1829
|
/* harmony export */ handleToolApproval: function() { return /* reexport safe */ _event_handlers__WEBPACK_IMPORTED_MODULE_2__.handleToolApproval; },
|
|
1732
1830
|
/* harmony export */ handleToolDenial: function() { return /* reexport safe */ _event_handlers__WEBPACK_IMPORTED_MODULE_2__.handleToolDenial; },
|
|
1733
1831
|
/* harmony export */ invertMode: function() { return /* reexport safe */ _panel_resize__WEBPACK_IMPORTED_MODULE_4__.invertMode; },
|
|
1832
|
+
/* harmony export */ isTerminalToolCallStatus: function() { return /* reexport safe */ _conversation__WEBPACK_IMPORTED_MODULE_1__.isTerminalToolCallStatus; },
|
|
1734
1833
|
/* harmony export */ loadInitialData: function() { return /* reexport safe */ _storage_helpers__WEBPACK_IMPORTED_MODULE_6__.loadInitialData; },
|
|
1735
1834
|
/* harmony export */ processArtifacts: function() { return /* reexport safe */ _ai_response_handler__WEBPACK_IMPORTED_MODULE_0__.processArtifacts; },
|
|
1736
1835
|
/* harmony export */ processFinalResponse: function() { return /* reexport safe */ _ai_response_handler__WEBPACK_IMPORTED_MODULE_0__.processFinalResponse; },
|
|
@@ -2358,7 +2457,7 @@ function updateToolCallInMessage(message, updatedToolCall) {
|
|
|
2358
2457
|
* See LICENSE.md in the project root for license information.
|
|
2359
2458
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
2360
2459
|
*/ function base64ToFile(base64, filename, mimeType = 'image/png') {
|
|
2361
|
-
const binary = atob(base64);
|
|
2460
|
+
const binary = atob(base64);
|
|
2362
2461
|
const len = binary.length;
|
|
2363
2462
|
const bytes = new Uint8Array(len);
|
|
2364
2463
|
for(let i = 0; i < len; i++){
|
|
@@ -4623,7 +4722,7 @@ const requiresPermission = true;
|
|
|
4623
4722
|
/* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65478);
|
|
4624
4723
|
/* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67510);
|
|
4625
4724
|
/* harmony import */ var jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62843);
|
|
4626
|
-
/* harmony import */ var
|
|
4725
|
+
/* harmony import */ var jodit_esm_modules_context_menu_context_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80870);
|
|
4627
4726
|
/*!
|
|
4628
4727
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
4629
4728
|
* See LICENSE.md in the project root for license information.
|
|
@@ -4665,6 +4764,7 @@ class UIConversationListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_
|
|
|
4665
4764
|
const content = this.j.c.div('jodit-ui-conversation-list__item-content');
|
|
4666
4765
|
const title = this.j.c.div('jodit-ui-conversation-list__item-title');
|
|
4667
4766
|
title.textContent = this.conversation.title;
|
|
4767
|
+
this.titleElement = title;
|
|
4668
4768
|
content.appendChild(title);
|
|
4669
4769
|
if (this.opts.showTimestamps) {
|
|
4670
4770
|
const meta = this.j.c.div('jodit-ui-conversation-list__item-meta');
|
|
@@ -4679,48 +4779,121 @@ class UIConversationListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_
|
|
|
4679
4779
|
contentWrapper.appendChild(badge);
|
|
4680
4780
|
}
|
|
4681
4781
|
item.appendChild(contentWrapper);
|
|
4682
|
-
//
|
|
4683
|
-
if (!this.
|
|
4684
|
-
this.
|
|
4782
|
+
// Actions "..." button
|
|
4783
|
+
if (!this.actionsButton) {
|
|
4784
|
+
this.actionsButton = new jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_4__.UIButton(this.j, {
|
|
4685
4785
|
icon: {
|
|
4686
|
-
name: '
|
|
4786
|
+
name: 'dots'
|
|
4687
4787
|
},
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4788
|
+
tooltip: 'Actions',
|
|
4789
|
+
name: 'conversationActions',
|
|
4790
|
+
size: 'tiny'
|
|
4691
4791
|
});
|
|
4692
|
-
this.
|
|
4693
|
-
this.
|
|
4792
|
+
this.actionsButton.container.classList.add('jodit-ui-conversation-list__item-actions');
|
|
4793
|
+
this.actionsButton.onAction((e)=>{
|
|
4694
4794
|
e.stopPropagation();
|
|
4695
|
-
this.
|
|
4795
|
+
this.showActionsMenu(e);
|
|
4696
4796
|
});
|
|
4697
4797
|
}
|
|
4698
|
-
item.appendChild(this.
|
|
4798
|
+
item.appendChild(this.actionsButton.container);
|
|
4699
4799
|
}
|
|
4700
4800
|
onClick() {
|
|
4801
|
+
if (this.isRenaming) {
|
|
4802
|
+
return;
|
|
4803
|
+
}
|
|
4701
4804
|
this.j.e.fire('selectConversation.ai-assistant-pro', this.conversation.id);
|
|
4702
4805
|
}
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4806
|
+
showActionsMenu(event) {
|
|
4807
|
+
if (!this.contextMenu || !this.actionsButton) return;
|
|
4808
|
+
const actions = [
|
|
4809
|
+
{
|
|
4810
|
+
title: 'Rename',
|
|
4811
|
+
icon: 'pencil',
|
|
4812
|
+
exec: ()=>{
|
|
4813
|
+
this.startInlineRename();
|
|
4814
|
+
}
|
|
4815
|
+
},
|
|
4816
|
+
{
|
|
4817
|
+
title: 'Delete',
|
|
4818
|
+
icon: 'bin',
|
|
4819
|
+
exec: ()=>{
|
|
4820
|
+
this.onDelete();
|
|
4821
|
+
}
|
|
4822
|
+
}
|
|
4823
|
+
];
|
|
4824
|
+
const buttonRect = this.actionsButton.container.getBoundingClientRect();
|
|
4825
|
+
this.contextMenu.show(buttonRect.left, buttonRect.bottom, actions);
|
|
4826
|
+
event.stopPropagation();
|
|
4827
|
+
}
|
|
4828
|
+
startInlineRename() {
|
|
4829
|
+
if (this.isRenaming || !this.titleElement) {
|
|
4830
|
+
return;
|
|
4831
|
+
}
|
|
4832
|
+
this.isRenaming = true;
|
|
4833
|
+
const titleEl = this.titleElement;
|
|
4834
|
+
const currentTitle = this.conversation.title;
|
|
4835
|
+
const input = this.j.c.element('input');
|
|
4836
|
+
input.type = 'text';
|
|
4837
|
+
input.value = currentTitle;
|
|
4838
|
+
input.className = 'jodit-ui-conversation-list__item-title-input';
|
|
4839
|
+
titleEl.textContent = '';
|
|
4840
|
+
titleEl.appendChild(input);
|
|
4841
|
+
input.focus();
|
|
4842
|
+
input.select();
|
|
4843
|
+
const commit = ()=>{
|
|
4844
|
+
if (!this.isRenaming) {
|
|
4845
|
+
return;
|
|
4846
|
+
}
|
|
4847
|
+
const newTitle = input.value.trim();
|
|
4848
|
+
this.isRenaming = false;
|
|
4849
|
+
if (newTitle && newTitle !== currentTitle) {
|
|
4850
|
+
titleEl.textContent = newTitle;
|
|
4851
|
+
this.j.e.fire('renameConversation.ai-assistant-pro', this.conversation.id, newTitle);
|
|
4852
|
+
} else {
|
|
4853
|
+
titleEl.textContent = currentTitle;
|
|
4854
|
+
}
|
|
4855
|
+
};
|
|
4856
|
+
this.j.e.on(input, 'blur', commit);
|
|
4857
|
+
this.j.e.on(input, 'keydown', (e)=>{
|
|
4858
|
+
if (e.key === 'Enter') {
|
|
4859
|
+
e.preventDefault();
|
|
4860
|
+
input.blur();
|
|
4861
|
+
}
|
|
4862
|
+
if (e.key === 'Escape') {
|
|
4863
|
+
this.isRenaming = false;
|
|
4864
|
+
titleEl.textContent = currentTitle;
|
|
4707
4865
|
}
|
|
4708
4866
|
});
|
|
4867
|
+
// Prevent click on input from navigating to conversation
|
|
4868
|
+
this.j.e.on(input, 'click', (e)=>{
|
|
4869
|
+
e.stopPropagation();
|
|
4870
|
+
});
|
|
4871
|
+
}
|
|
4872
|
+
onDelete() {
|
|
4873
|
+
this.j.e.fire('deleteConversation.ai-assistant-pro', this.conversation.id);
|
|
4709
4874
|
}
|
|
4710
4875
|
destruct() {
|
|
4711
|
-
this.
|
|
4876
|
+
this.actionsButton?.destruct();
|
|
4877
|
+
this.contextMenu?.destruct();
|
|
4712
4878
|
super.destruct();
|
|
4713
4879
|
}
|
|
4714
4880
|
constructor(view, conversation, isActive = false, opts){
|
|
4715
|
-
super(view), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "opts", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "conversation", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "isActive", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "
|
|
4881
|
+
super(view), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "opts", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "conversation", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "isActive", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "actionsButton", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "contextMenu", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "titleElement", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "isRenaming", void 0), this.opts = opts, this.actionsButton = null, this.contextMenu = null, this.titleElement = null, this.isRenaming = false;
|
|
4716
4882
|
this.conversation = conversation;
|
|
4717
4883
|
this.isActive = isActive;
|
|
4884
|
+
this.contextMenu = new jodit_esm_modules_context_menu_context_menu__WEBPACK_IMPORTED_MODULE_5__.ContextMenu(this.j);
|
|
4718
4885
|
this.updateContent();
|
|
4719
4886
|
}
|
|
4720
4887
|
}
|
|
4721
4888
|
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
4722
4889
|
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('container:click')
|
|
4723
4890
|
], UIConversationListItem.prototype, "onClick", null);
|
|
4891
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
4892
|
+
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
|
|
4893
|
+
], UIConversationListItem.prototype, "showActionsMenu", null);
|
|
4894
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
4895
|
+
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
|
|
4896
|
+
], UIConversationListItem.prototype, "startInlineRename", null);
|
|
4724
4897
|
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
4725
4898
|
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
|
|
4726
4899
|
], UIConversationListItem.prototype, "onDelete", null);
|
|
@@ -4967,7 +5140,7 @@ class UIInputArea extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIEleme
|
|
|
4967
5140
|
icon: {
|
|
4968
5141
|
name: 'send'
|
|
4969
5142
|
},
|
|
4970
|
-
variant: '
|
|
5143
|
+
variant: 'initial',
|
|
4971
5144
|
size: 'middle'
|
|
4972
5145
|
});
|
|
4973
5146
|
// Stop button
|
|
@@ -5153,6 +5326,7 @@ UIInputArea = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorat
|
|
|
5153
5326
|
/* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2748);
|
|
5154
5327
|
/* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67510);
|
|
5155
5328
|
/* harmony import */ var jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(62843);
|
|
5329
|
+
/* harmony import */ var jodit_esm_modules_context_menu_context_menu__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(80870);
|
|
5156
5330
|
/*!
|
|
5157
5331
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
5158
5332
|
* See LICENSE.md in the project root for license information.
|
|
@@ -5169,6 +5343,7 @@ UIInputArea = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorat
|
|
|
5169
5343
|
|
|
5170
5344
|
|
|
5171
5345
|
|
|
5346
|
+
|
|
5172
5347
|
class UIMainPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_10__.UIElement {
|
|
5173
5348
|
className() {
|
|
5174
5349
|
return 'UIMainPanel';
|
|
@@ -5199,8 +5374,10 @@ class UIMainPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_10__.UIElem
|
|
|
5199
5374
|
addResize() {}
|
|
5200
5375
|
afterRender() {
|
|
5201
5376
|
this.content = this.getElm('content');
|
|
5377
|
+
this.headerContextMenu = new jodit_esm_modules_context_menu_context_menu__WEBPACK_IMPORTED_MODULE_12__.ContextMenu(this.j);
|
|
5202
5378
|
this.createComponents();
|
|
5203
5379
|
this.createHeaderButtons();
|
|
5380
|
+
this.setupConversationRenameHandler();
|
|
5204
5381
|
this.__updateView('welcome');
|
|
5205
5382
|
}
|
|
5206
5383
|
async __onChangeView() {
|
|
@@ -5234,6 +5411,18 @@ class UIMainPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_10__.UIElem
|
|
|
5234
5411
|
this.j.e.fire('backToList.ai-assistant-pro');
|
|
5235
5412
|
});
|
|
5236
5413
|
headerLeft.appendChild(backButton.container);
|
|
5414
|
+
// Conversation actions "..." button (visible only in conversation view)
|
|
5415
|
+
this.conversationActionsButton = new jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_11__.UIButton(this.j, {
|
|
5416
|
+
icon: {
|
|
5417
|
+
name: 'dots'
|
|
5418
|
+
},
|
|
5419
|
+
size: 'small',
|
|
5420
|
+
tooltip: 'Conversation actions',
|
|
5421
|
+
variant: 'initial'
|
|
5422
|
+
});
|
|
5423
|
+
this.conversationActionsButton.container.classList.add(this.getFullElName('conversation-actions-button'));
|
|
5424
|
+
this.conversationActionsButton.onAction(this.showConversationActionsMenu);
|
|
5425
|
+
headerRight.appendChild(this.conversationActionsButton.container);
|
|
5237
5426
|
// New conversation button
|
|
5238
5427
|
const newButton = new jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_11__.UIButton(this.j, {
|
|
5239
5428
|
icon: {
|
|
@@ -5277,6 +5466,70 @@ class UIMainPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_10__.UIElem
|
|
|
5277
5466
|
});
|
|
5278
5467
|
headerRight.appendChild(closeButton.container);
|
|
5279
5468
|
}
|
|
5469
|
+
setupConversationRenameHandler() {
|
|
5470
|
+
// no-op: rename is handled inline in conversation list items
|
|
5471
|
+
}
|
|
5472
|
+
showConversationActionsMenu(event) {
|
|
5473
|
+
if (!this.headerContextMenu || !this.state.currentConversation) {
|
|
5474
|
+
return;
|
|
5475
|
+
}
|
|
5476
|
+
const conv = this.state.currentConversation;
|
|
5477
|
+
const actions = [
|
|
5478
|
+
{
|
|
5479
|
+
title: 'Rename',
|
|
5480
|
+
icon: 'pencil',
|
|
5481
|
+
exec: ()=>{
|
|
5482
|
+
this.showRenamePrompt(conv.id, conv.title || this.j.i18n('Conversation'));
|
|
5483
|
+
}
|
|
5484
|
+
},
|
|
5485
|
+
{
|
|
5486
|
+
title: 'Delete',
|
|
5487
|
+
icon: 'bin',
|
|
5488
|
+
exec: ()=>{
|
|
5489
|
+
this.j.e.fire('deleteConversation.ai-assistant-pro', conv.id);
|
|
5490
|
+
}
|
|
5491
|
+
}
|
|
5492
|
+
];
|
|
5493
|
+
const buttonRect = this.conversationActionsButton.container.getBoundingClientRect();
|
|
5494
|
+
this.headerContextMenu.show(buttonRect.left, buttonRect.bottom, actions);
|
|
5495
|
+
event.stopPropagation();
|
|
5496
|
+
}
|
|
5497
|
+
showRenamePrompt(id, currentTitle) {
|
|
5498
|
+
if (this.isEditingTitle) {
|
|
5499
|
+
return;
|
|
5500
|
+
}
|
|
5501
|
+
this.isEditingTitle = true;
|
|
5502
|
+
const headerTitle = this.getElm('header-title');
|
|
5503
|
+
const input = this.j.c.element('input');
|
|
5504
|
+
input.type = 'text';
|
|
5505
|
+
input.value = currentTitle;
|
|
5506
|
+
input.className = this.getFullElName('header-title-input');
|
|
5507
|
+
headerTitle.textContent = '';
|
|
5508
|
+
headerTitle.appendChild(input);
|
|
5509
|
+
input.focus();
|
|
5510
|
+
input.select();
|
|
5511
|
+
const commit = ()=>{
|
|
5512
|
+
const newTitle = input.value.trim();
|
|
5513
|
+
this.isEditingTitle = false;
|
|
5514
|
+
if (newTitle && newTitle !== currentTitle) {
|
|
5515
|
+
this.j.e.fire('renameConversation.ai-assistant-pro', id, newTitle);
|
|
5516
|
+
headerTitle.textContent = newTitle;
|
|
5517
|
+
} else {
|
|
5518
|
+
headerTitle.textContent = currentTitle;
|
|
5519
|
+
}
|
|
5520
|
+
};
|
|
5521
|
+
this.j.e.on(input, 'blur', commit);
|
|
5522
|
+
this.j.e.on(input, 'keydown', (e)=>{
|
|
5523
|
+
if (e.key === 'Enter') {
|
|
5524
|
+
e.preventDefault();
|
|
5525
|
+
input.blur();
|
|
5526
|
+
}
|
|
5527
|
+
if (e.key === 'Escape') {
|
|
5528
|
+
this.isEditingTitle = false;
|
|
5529
|
+
headerTitle.textContent = currentTitle;
|
|
5530
|
+
}
|
|
5531
|
+
});
|
|
5532
|
+
}
|
|
5280
5533
|
/**
|
|
5281
5534
|
* Check if current display mode is flight
|
|
5282
5535
|
*/ isFlightMode() {
|
|
@@ -5374,10 +5627,12 @@ class UIMainPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_10__.UIElem
|
|
|
5374
5627
|
this.inputArea?.destruct();
|
|
5375
5628
|
this.permissionRequest?.destruct();
|
|
5376
5629
|
this.settingsButton?.destruct();
|
|
5630
|
+
this.conversationActionsButton?.destruct();
|
|
5631
|
+
this.headerContextMenu?.destruct();
|
|
5377
5632
|
super.destruct();
|
|
5378
5633
|
}
|
|
5379
5634
|
constructor(view, state, options, updateConversation){
|
|
5380
|
-
super(view), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "updateConversation", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "permissionRequest", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "settingsButton", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "content", void 0), this.state = state, this.options = options, this.updateConversation = updateConversation, this.permissionRequest = null, this.settingsButton = null;
|
|
5635
|
+
super(view), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "updateConversation", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "permissionRequest", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "settingsButton", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "content", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "isEditingTitle", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "conversationActionsButton", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "headerContextMenu", void 0), this.state = state, this.options = options, this.updateConversation = updateConversation, this.permissionRequest = null, this.settingsButton = null, this.isEditingTitle = false, this.conversationActionsButton = null, this.headerContextMenu = null;
|
|
5381
5636
|
}
|
|
5382
5637
|
}
|
|
5383
5638
|
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
@@ -5389,6 +5644,12 @@ class UIMainPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_10__.UIElem
|
|
|
5389
5644
|
'state.currentConversation'
|
|
5390
5645
|
])
|
|
5391
5646
|
], UIMainPanel.prototype, "__onChangeView", null);
|
|
5647
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
5648
|
+
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.autobind
|
|
5649
|
+
], UIMainPanel.prototype, "showConversationActionsMenu", null);
|
|
5650
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
5651
|
+
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.autobind
|
|
5652
|
+
], UIMainPanel.prototype, "showRenamePrompt", null);
|
|
5392
5653
|
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
5393
5654
|
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.watch)('state.currentConversation')
|
|
5394
5655
|
], UIMainPanel.prototype, "onChangeCurrentConversation", null);
|
|
@@ -5706,7 +5967,8 @@ UIArtifact = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate
|
|
|
5706
5967
|
/* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67510);
|
|
5707
5968
|
/* harmony import */ var jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(62843);
|
|
5708
5969
|
/* harmony import */ var jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(62405);
|
|
5709
|
-
/* harmony import */ var
|
|
5970
|
+
/* harmony import */ var jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12153);
|
|
5971
|
+
/* harmony import */ var jodit_esm_modules_context_menu_context_menu__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80870);
|
|
5710
5972
|
/*!
|
|
5711
5973
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
5712
5974
|
* See LICENSE.md in the project root for license information.
|
|
@@ -5719,6 +5981,7 @@ UIArtifact = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate
|
|
|
5719
5981
|
|
|
5720
5982
|
|
|
5721
5983
|
|
|
5984
|
+
|
|
5722
5985
|
class UIMessageListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIElement {
|
|
5723
5986
|
className() {
|
|
5724
5987
|
return 'UIMessageListItem';
|
|
@@ -5728,7 +5991,7 @@ class UIMessageListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.U
|
|
|
5728
5991
|
}
|
|
5729
5992
|
onReady() {
|
|
5730
5993
|
this.updateContent();
|
|
5731
|
-
this.contextMenu = new
|
|
5994
|
+
this.contextMenu = new jodit_esm_modules_context_menu_context_menu__WEBPACK_IMPORTED_MODULE_8__.ContextMenu(this.j);
|
|
5732
5995
|
}
|
|
5733
5996
|
updateContent() {
|
|
5734
5997
|
const container = this.container;
|
|
@@ -5881,7 +6144,7 @@ class UIMessageListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.U
|
|
|
5881
6144
|
const header = this.j.c.div(this.getFullElName('tool-header'));
|
|
5882
6145
|
const icon = this.j.c.div(this.getFullElName('tool-icon'));
|
|
5883
6146
|
icon.classList.add(this.getFullElName('tool-icon', toolCall.status, true));
|
|
5884
|
-
icon.
|
|
6147
|
+
icon.innerHTML = jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_7__.Icon.get('tool-bolt') || '';
|
|
5885
6148
|
const name = this.j.c.div(this.getFullElName('tool-name'));
|
|
5886
6149
|
name.textContent = this.j.i18n(toolCall.name);
|
|
5887
6150
|
const status = this.j.c.div(this.getFullElName('tool-status'));
|
|
@@ -5909,7 +6172,12 @@ class UIMessageListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.U
|
|
|
5909
6172
|
type: 'button',
|
|
5910
6173
|
class: this.getFullElName('tool-expandable-toggle')
|
|
5911
6174
|
});
|
|
5912
|
-
|
|
6175
|
+
const chevronSpan = this.j.c.span(this.getFullElName('tool-expandable-chevron'));
|
|
6176
|
+
chevronSpan.innerHTML = jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_7__.Icon.get('chevron-right') || '';
|
|
6177
|
+
const titleSpan = this.j.c.span();
|
|
6178
|
+
titleSpan.textContent = this.j.i18n(title);
|
|
6179
|
+
toggle.appendChild(chevronSpan);
|
|
6180
|
+
toggle.appendChild(titleSpan);
|
|
5913
6181
|
const contentEl = this.j.c.element('pre', {
|
|
5914
6182
|
class: this.getFullElName('tool-expandable-content')
|
|
5915
6183
|
});
|
|
@@ -5919,10 +6187,10 @@ class UIMessageListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.U
|
|
|
5919
6187
|
const isCurrentlyExpanded = contentEl.style.display !== 'none';
|
|
5920
6188
|
if (isCurrentlyExpanded) {
|
|
5921
6189
|
contentEl.style.display = 'none';
|
|
5922
|
-
toggle.
|
|
6190
|
+
toggle.classList.remove('expanded');
|
|
5923
6191
|
} else {
|
|
5924
6192
|
contentEl.style.display = 'block';
|
|
5925
|
-
toggle.
|
|
6193
|
+
toggle.classList.add('expanded');
|
|
5926
6194
|
}
|
|
5927
6195
|
});
|
|
5928
6196
|
section.appendChild(toggle);
|
|
@@ -5933,14 +6201,14 @@ class UIMessageListItem extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.U
|
|
|
5933
6201
|
* Get tool status text
|
|
5934
6202
|
*/ getToolStatusText(status) {
|
|
5935
6203
|
const statusMap = {
|
|
5936
|
-
pending: '
|
|
5937
|
-
approved: '
|
|
5938
|
-
denied: '
|
|
5939
|
-
executing: '
|
|
5940
|
-
executed: '
|
|
5941
|
-
error: '
|
|
6204
|
+
pending: 'pending',
|
|
6205
|
+
approved: 'approved',
|
|
6206
|
+
denied: 'denied',
|
|
6207
|
+
executing: 'running',
|
|
6208
|
+
executed: 'done',
|
|
6209
|
+
error: 'error'
|
|
5942
6210
|
};
|
|
5943
|
-
return statusMap[status] ||
|
|
6211
|
+
return statusMap[status] || status;
|
|
5944
6212
|
}
|
|
5945
6213
|
/**
|
|
5946
6214
|
* Format message content using custom formatter
|
|
@@ -6135,6 +6403,7 @@ UIMessageList = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decor
|
|
|
6135
6403
|
/* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67510);
|
|
6136
6404
|
/* harmony import */ var jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62843);
|
|
6137
6405
|
/* harmony import */ var jodit_esm_core_ui_form_inputs_select_select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12234);
|
|
6406
|
+
/* harmony import */ var jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12153);
|
|
6138
6407
|
/*!
|
|
6139
6408
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
6140
6409
|
* See LICENSE.md in the project root for license information.
|
|
@@ -6145,6 +6414,7 @@ UIMessageList = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decor
|
|
|
6145
6414
|
|
|
6146
6415
|
|
|
6147
6416
|
|
|
6417
|
+
|
|
6148
6418
|
class UIPermissionRequest extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_3__.UIElement {
|
|
6149
6419
|
className() {
|
|
6150
6420
|
return 'UIPermissionRequest';
|
|
@@ -6166,31 +6436,38 @@ class UIPermissionRequest extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_3__
|
|
|
6166
6436
|
<div class="&__title">~Permission Required~</div>
|
|
6167
6437
|
</div>
|
|
6168
6438
|
<div class="&__tool-info"></div>
|
|
6169
|
-
<div class="&__actions"
|
|
6439
|
+
<div class="&__actions">
|
|
6440
|
+
<div class="&__actions-buttons"></div>
|
|
6441
|
+
<div class="&__actions-scope"></div>
|
|
6442
|
+
</div>
|
|
6170
6443
|
</div>`;
|
|
6171
6444
|
}
|
|
6172
6445
|
afterRender() {
|
|
6446
|
+
// Set icon
|
|
6447
|
+
const iconEl = this.getElm('icon');
|
|
6448
|
+
if (iconEl) {
|
|
6449
|
+
iconEl.innerHTML = jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_6__.Icon.get('shield') || '';
|
|
6450
|
+
}
|
|
6173
6451
|
this.createControls();
|
|
6174
6452
|
this.updateContent();
|
|
6175
6453
|
}
|
|
6176
6454
|
createControls() {
|
|
6177
|
-
const
|
|
6455
|
+
const buttonsContainer = this.getElm('actions-buttons');
|
|
6456
|
+
const scopeContainer = this.getElm('actions-scope');
|
|
6178
6457
|
// Deny button
|
|
6179
6458
|
this.denyButton = new jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_4__.UIButton(this.j, {
|
|
6180
|
-
|
|
6181
|
-
|
|
6182
|
-
|
|
6183
|
-
|
|
6184
|
-
size: 'small'
|
|
6459
|
+
text: this.j.i18n('Deny'),
|
|
6460
|
+
variant: 'initial',
|
|
6461
|
+
size: 'small',
|
|
6462
|
+
name: 'deny-permission'
|
|
6185
6463
|
});
|
|
6186
6464
|
this.j.e.on(this.denyButton, 'click', this.onDeny);
|
|
6187
6465
|
// Approve button
|
|
6188
6466
|
this.approveButton = new jodit_esm_core_ui_button__WEBPACK_IMPORTED_MODULE_4__.UIButton(this.j, {
|
|
6189
|
-
|
|
6190
|
-
|
|
6191
|
-
|
|
6192
|
-
|
|
6193
|
-
size: 'small'
|
|
6467
|
+
text: this.j.i18n('Allow'),
|
|
6468
|
+
variant: 'initial',
|
|
6469
|
+
size: 'small',
|
|
6470
|
+
name: 'approve-permission'
|
|
6194
6471
|
});
|
|
6195
6472
|
this.j.e.on(this.approveButton, 'click', this.onApprove);
|
|
6196
6473
|
// Scope select
|
|
@@ -6212,9 +6489,9 @@ class UIPermissionRequest extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_3__
|
|
|
6212
6489
|
]
|
|
6213
6490
|
});
|
|
6214
6491
|
this.scopeSelect.value = this.state.defaultPermissionScope;
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6492
|
+
buttonsContainer.appendChild(this.denyButton.container);
|
|
6493
|
+
buttonsContainer.appendChild(this.approveButton.container);
|
|
6494
|
+
scopeContainer.appendChild(this.scopeSelect.container);
|
|
6218
6495
|
}
|
|
6219
6496
|
updateContent() {
|
|
6220
6497
|
if (!this.toolCall) return;
|