From eef2f004b83d593c4be9f8c01a25dbe5e14ef6d1 Mon Sep 17 00:00:00 2001 From: Saul-Mirone Date: Sun, 23 Feb 2025 09:26:00 +0000 Subject: [PATCH] refactor(editor): reorg blocksuite ai code (#10372) ### TL;DR Relocated AI-related code from `presets` directory to a dedicated `ai` directory for better organization and maintainability. ### What changed? - Moved AI-related code from `blocksuite/presets/ai` to `blocksuite/ai` - Relocated AI chat block code from `blocksuite/blocks` to `blocksuite/ai/blocks` - Updated imports across files to reflect new directory structure - Renamed `registerBlocksuitePresetsCustomComponents` to `registerAIEffects` - Fixed path references in GitHub workflow file ### How to test? 1. Build and run the application 2. Verify AI functionality works as expected: - Test AI chat blocks - Check AI panel functionality - Verify AI copilot features - Ensure AI-related UI components render correctly ### Why make this change? This restructuring improves code organization by: - Giving AI features a dedicated directory that better reflects their importance - Making the codebase more maintainable by grouping related AI functionality - Reducing confusion by removing AI code from the more general `presets` directory - Creating clearer boundaries between AI and non-AI related code --- .github/workflows/build-test.yml | 3 +- .../ai/_common/chat-actions-handle.ts | 4 +- .../{presets => }/ai/_common/config.ts | 6 +- .../{presets => }/ai/_common/icons.ts | 0 .../ai/actions/answer-renderer.ts | 2 +- .../{presets => }/ai/actions/consts.ts | 0 .../{presets => }/ai/actions/doc-handler.ts | 5 +- .../ai/actions/edgeless-handler.ts | 6 +- .../ai/actions/edgeless-response.ts | 4 +- .../{presets => }/ai/actions/index.ts | 0 .../{presets => }/ai/actions/page-response.ts | 0 .../{presets => }/ai/actions/types.ts | 0 .../blocksuite/{presets => }/ai/ai-panel.ts | 5 +- .../blocksuite/{presets => }/ai/ai-spec.ts | 0 .../blocks/ai-chat-block/ai-chat-block.ts | 0 .../ai-chat-block/ai-chat-edgeless-block.ts | 0 .../blocks/ai-chat-block/ai-chat-spec.ts | 0 .../components/ai-chat-messages.ts | 4 +- .../ai-chat-block/components/chat-images.ts | 0 .../blocks/ai-chat-block/components/icon.ts | 0 .../components/image-placeholder.ts | 0 .../ai-chat-block/components/user-info.ts | 0 .../{ => ai}/blocks/ai-chat-block/index.ts | 0 .../ai-chat-block/model/ai-chat-model.ts | 0 .../blocks/ai-chat-block/model/consts.ts | 0 .../blocks/ai-chat-block/model/index.ts | 0 .../blocks/ai-chat-block/model/types.ts | 0 .../{ => ai}/blocks/ai-chat-block/styles.ts | 0 .../src/blocksuite/{ => ai}/blocks/index.ts | 0 .../ai/chat-panel/actions/action-wrapper.ts | 2 +- .../ai/chat-panel/actions/chat-text.ts | 2 +- .../ai/chat-panel/actions/image-to-text.ts | 0 .../ai/chat-panel/actions/image.ts | 0 .../ai/chat-panel/actions/make-real.ts | 0 .../ai/chat-panel/actions/mindmap.ts | 0 .../ai/chat-panel/actions/slides.ts | 0 .../ai/chat-panel/actions/text.ts | 2 +- .../{presets => }/ai/chat-panel/ai-loading.ts | 0 .../ai/chat-panel/chat-config.ts | 0 .../ai/chat-panel/chat-context.ts | 2 +- .../ai/chat-panel/chat-panel-chips.ts | 0 .../ai/chat-panel/chat-panel-input.ts | 2 +- .../ai/chat-panel/chat-panel-messages.ts | 4 +- .../ai/chat-panel/components/add-popover.ts | 0 .../ai/chat-panel/components/chip.ts | 0 .../ai/chat-panel/components/doc-chip.ts | 0 .../ai/chat-panel/components/file-chip.ts | 0 .../ai/chat-panel/components/images.ts | 0 .../ai/chat-panel/components/utils.ts | 0 .../{presets => }/ai/chat-panel/const.ts | 0 .../{presets => }/ai/chat-panel/index.ts | 0 .../ai/chat-panel/preload-config.ts | 2 +- .../ai/chat-panel/templates/TidyMindMapV3.zip | Bin .../templates/completeWritingWithAI.zip | Bin .../templates/freelyCommunicateWithAI.zip | Bin .../ai/chat-panel/templates/readAforeign.zip | Bin .../ai/chat-panel/templates/redHat.zip | Bin .../components/ai-item/ai-item-list.ts | 0 .../components/ai-item/ai-item.ts | 0 .../components/ai-item/ai-sub-item-list.ts | 0 .../components/ai-item/const.ts | 0 .../components/ai-item/index.ts | 0 .../components/ai-item/styles.ts | 0 .../components/ai-item/types.ts | 0 .../components/ask-ai-button.ts | 0 .../_common => ai}/components/ask-ai-icon.ts | 0 .../_common => ai}/components/ask-ai-panel.ts | 0 .../components/ask-ai-toolbar.ts | 8 +- .../components/chat-action-list.ts | 4 +- .../ai/_common => ai}/components/copy-more.ts | 4 +- .../components/image-preview-grid.ts | 0 .../components/text-renderer.ts | 20 +++- .../src/blocksuite/{presets => ai}/effects.ts | 95 +++++++++--------- .../code-toolbar/setup-code-toolbar.ts | 4 +- .../ai/entries/edgeless/actions-config.ts | 2 +- .../ai/entries/edgeless/index.ts | 2 +- .../ai/entries/format-bar/setup-format-bar.ts | 2 +- .../image-toolbar/setup-image-toolbar.ts | 4 +- .../{presets => }/ai/entries/index.ts | 0 .../ai/entries/slash-menu/setup-slash-menu.ts | 2 +- .../ai/entries/space/setup-space.ts | 0 .../src/blocksuite/{presets => }/ai/index.ts | 0 .../{presets => }/ai/messages/error.ts | 4 +- .../{presets => }/ai/messages/index.ts | 0 .../{presets => }/ai/messages/mindmap.ts | 0 .../ai/messages/slides-renderer.ts | 0 .../{presets => }/ai/messages/wrapper.ts | 0 .../__tests__/mindmap-preview.unit.spec.ts | 0 .../{presets => }/ai/mini-mindmap/index.ts | 0 .../ai/mini-mindmap/mindmap-preview.ts | 0 .../ai/mini-mindmap/mindmap-root-block.ts | 0 .../ai/mini-mindmap/mindmap-service.ts | 0 .../{presets => }/ai/mini-mindmap/spec.ts | 0 .../ai/mini-mindmap/surface-block.ts | 0 .../ai/mini-mindmap/surface-service.ts | 0 .../ai/peek-view/chat-block-input.ts | 4 +- .../ai/peek-view/chat-block-peek-view.ts | 14 +-- .../{presets => }/ai/peek-view/date-time.ts | 0 .../{presets => }/ai/peek-view/styles.ts | 0 .../{presets => }/ai/peek-view/types.ts | 4 +- .../{presets => }/ai/peek-view/utils.ts | 2 +- .../provider/ai-provider.ts} | 4 +- .../ai/provider}/copilot-client.ts | 2 +- .../ai/provider}/event-source.ts | 0 .../core/src/blocksuite/ai/provider/index.ts | 3 + .../ai => blocksuite/ai/provider}/prompt.ts | 0 .../ai => blocksuite/ai/provider}/request.ts | 2 +- .../ai/provider}/setup-provider.tsx | 2 +- .../ai => blocksuite/ai/provider}/tracker.ts | 3 +- .../{presets => }/ai/slides/index.ts | 12 ++- .../{presets => }/ai/slides/template.ts | 0 .../ai/slides/templates/cover.json | 0 .../ai/slides/templates/four.json | 0 .../ai/slides/templates/one.json | 0 .../ai/slides/templates/three.json | 0 .../ai/slides/templates/two.json | 0 .../{presets => }/ai/tool/copilot-tool.ts | 0 .../{presets => }/ai/utils/action-reporter.ts | 0 .../{presets => }/ai/utils/ai-widgets.ts | 0 .../{presets => }/ai/utils/connector.ts | 0 .../{presets => }/ai/utils/context.ts | 0 .../{presets => }/ai/utils/edgeless.ts | 0 .../{presets => }/ai/utils/editor-actions.ts | 16 +-- .../{presets => }/ai/utils/extract.ts | 0 .../blocksuite/{presets => }/ai/utils/html.ts | 0 .../{presets => }/ai/utils/image.ts | 0 .../{presets => }/ai/utils/selection-utils.ts | 2 +- .../{presets => }/ai/utils/template-job.ts | 0 .../ai/widgets/ai-panel/ai-panel.ts | 2 +- .../ai/widgets/ai-panel/components/divider.ts | 0 .../widgets/ai-panel/components/finish-tip.ts | 0 .../components/generating-placeholder.ts | 0 .../ai/widgets/ai-panel/components/index.ts | 0 .../ai-panel/components/state/answer.ts | 0 .../ai-panel/components/state/error.ts | 2 +- .../ai-panel/components/state/generating.ts | 0 .../ai-panel/components/state/index.ts | 0 .../ai-panel/components/state/input.ts | 0 .../{presets => }/ai/widgets/ai-panel/type.ts | 2 +- .../ai/widgets/ai-panel/utils.ts | 2 +- .../widgets/edgeless-copilot-panel/index.ts | 2 +- .../edgeless-copilot-panel/toolbar-entry.ts | 2 +- .../ai/widgets/edgeless-copilot/index.ts | 2 +- .../bi-directional-link-panel.css.ts | 0 .../bi-directional-link-panel.tsx | 4 +- .../blocksuite-editor-container.tsx | 2 +- .../block-suite-editor/blocksuite-editor.tsx | 2 +- .../blocksuite/block-suite-editor/index.ts | 4 +- .../block-suite-editor/journal-doc-title.tsx | 0 .../block-suite-editor/lit-adaper.tsx | 4 +- .../block-suite-editor/no-page-error.ts | 0 .../block-suite-editor/specs/common.ts | 4 +- .../specs/custom/database-block.ts | 0 .../specs/custom/root-block.ts | 4 +- .../specs/custom/spec-patchers.tsx | 8 +- .../specs/custom/widgets/copy-as-image.ts | 2 +- .../widgets/edgeless-note-header.css.ts | 0 .../custom/widgets/edgeless-note-header.tsx | 0 .../specs/custom/widgets/keyboard-toolbar.ts | 0 .../specs/custom/widgets/linked.ts | 0 .../specs/custom/widgets/toolbar.ts | 0 .../block-suite-editor/specs/edgeless.ts | 2 +- .../specs/font-extension.ts | 0 .../block-suite-editor/specs/page.ts | 2 +- .../block-suite-editor/specs/preview.ts | 2 +- .../block-suite-editor/starter-bar.css.ts | 0 .../block-suite-editor/starter-bar.tsx | 4 +- .../block-suite-editor/styles.css.ts | 0 .../block-suite-header/favorite/index.tsx | 0 .../block-suite-header/info/index.tsx | 0 .../journal/date-picker.tsx | 0 .../journal/today-button.tsx | 0 .../menu/history-tips-modal/index.tsx | 0 .../menu/history-tips-modal/top-svg.tsx | 0 .../block-suite-header/menu/index.tsx | 2 +- .../present/detail-header-present-button.tsx | 0 .../block-suite-header/title/index.tsx | 0 .../block-suite-header/title/style.css.ts | 0 .../animation-data/edgeless-hover.json | 0 .../animation-data/page-hover.json | 0 .../block-suite-mode-switch/index.tsx | 0 .../block-suite-mode-switch/style.css.ts | 0 .../block-suite-mode-switch/switch-items.tsx | 0 .../block-suite-page-list/index.css.ts | 0 .../block-suite-page-list/utils.tsx | 0 .../blocksuite/outline-viewer/index.tsx | 0 .../outline-viewer/outline-viewer.css.ts | 0 .../src/blocksuite/presets/_common/index.ts | 2 - .../presets/_common/utils/custom-specs.ts | 16 --- .../core/src/blocksuite/presets/index.ts | 2 - .../core/src/blocksuite/utils/index.ts | 1 + .../_common => }/utils/markdown-utils.ts | 43 +------- .../core/src/commands/affine-creation.tsx | 2 +- .../error-fallbacks/no-page-root-fallback.tsx | 2 +- .../core/src/components/affine/empty/docs.tsx | 2 +- .../page-history-modal/history-modal.tsx | 4 +- .../hooks/affine/use-export-page.ts | 2 +- .../hooks/use-block-suite-editor.ts | 2 +- .../hooks/use-register-workspace-commands.ts | 4 +- .../src/components/page-detail-editor.tsx | 4 +- .../page-list/docs/page-list-header.tsx | 2 +- .../components/page-list/operation-cell.tsx | 2 +- .../providers/workspace-side-effects.tsx | 9 +- .../src/desktop/dialogs/doc-info/index.tsx | 2 +- .../desktop/dialogs/doc-info/info-modal.tsx | 2 +- .../workspace/all-page/all-page-header.tsx | 2 +- .../detail-page/detail-page-header.tsx | 16 +-- .../workspace/detail-page/detail-page.tsx | 8 +- .../pages/workspace/detail-page/tabs/chat.tsx | 6 +- .../pages/workspace/share/share-header.tsx | 4 +- .../pages/workspace/share/share-page.tsx | 4 +- .../src/mobile/components/app-tabs/create.tsx | 2 +- .../explorer/nodes/collection/operations.tsx | 2 +- .../explorer/nodes/doc/operations.tsx | 2 +- .../explorer/nodes/folder/index.tsx | 2 +- .../explorer/nodes/tag/operations.tsx | 2 +- .../explorer/sections/favorites/index.tsx | 2 +- .../workspace/detail/mobile-detail-page.tsx | 2 +- .../detail/page-header-more-button.tsx | 2 +- .../views/add-page-button/index.tsx | 2 +- .../core/src/modules/cloud/services/auth.ts | 2 +- .../core/src/modules/dnd/services/index.ts | 2 +- .../src/modules/editor/entities/editor.ts | 2 +- .../views/nodes/collection/operations.tsx | 2 +- .../explorer/views/nodes/doc/operations.tsx | 2 +- .../explorer/views/nodes/folder/index.tsx | 2 +- .../explorer/views/nodes/tag/operations.tsx | 2 +- .../views/sections/favorites/index.tsx | 2 +- .../modules/peek-view/entities/peek-view.ts | 2 +- .../view/ai-chat-block-peek-view/index.tsx | 7 +- .../view/doc-preview/doc-peek-view.tsx | 14 ++- .../src/modules/workspace/global-schema.ts | 2 +- .../frontend/core/src/utils/first-app-data.ts | 2 +- 233 files changed, 254 insertions(+), 286 deletions(-) rename packages/frontend/core/src/blocksuite/{presets => }/ai/_common/chat-actions-handle.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/_common/config.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/_common/icons.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/answer-renderer.ts (96%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/consts.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/doc-handler.ts (98%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/edgeless-handler.ts (98%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/edgeless-response.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/page-response.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/actions/types.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/ai-panel.ts (97%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/ai-spec.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/ai-chat-block.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/ai-chat-edgeless-block.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/ai-chat-spec.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/components/ai-chat-messages.ts (98%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/components/chat-images.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/components/icon.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/components/image-placeholder.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/components/user-info.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/index.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/model/ai-chat-model.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/model/consts.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/model/index.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/model/types.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/ai-chat-block/styles.ts (100%) rename packages/frontend/core/src/blocksuite/{ => ai}/blocks/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/action-wrapper.ts (98%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/chat-text.ts (94%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/image-to-text.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/image.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/make-real.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/mindmap.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/slides.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/actions/text.ts (95%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/ai-loading.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/chat-config.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/chat-context.ts (96%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/chat-panel-chips.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/chat-panel-input.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/chat-panel-messages.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/components/add-popover.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/components/chip.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/components/doc-chip.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/components/file-chip.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/components/images.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/components/utils.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/const.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/preload-config.ts (96%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/templates/TidyMindMapV3.zip (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/templates/completeWritingWithAI.zip (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/templates/freelyCommunicateWithAI.zip (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/templates/readAforeign.zip (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/chat-panel/templates/redHat.zip (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ai-item/ai-item-list.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ai-item/ai-item.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ai-item/ai-sub-item-list.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ai-item/const.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ai-item/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ai-item/styles.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ai-item/types.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ask-ai-button.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ask-ai-icon.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ask-ai-panel.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/ask-ai-toolbar.ts (93%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/chat-action-list.ts (97%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/copy-more.ts (98%) rename packages/frontend/core/src/blocksuite/{presets/ai/_common => ai}/components/image-preview-grid.ts (100%) rename packages/frontend/core/src/blocksuite/{presets/_common => ai}/components/text-renderer.ts (95%) rename packages/frontend/core/src/blocksuite/{presets => ai}/effects.ts (52%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/code-toolbar/setup-code-toolbar.ts (90%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/edgeless/actions-config.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/edgeless/index.ts (97%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/format-bar/setup-format-bar.ts (96%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/image-toolbar/setup-image-toolbar.ts (91%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/slash-menu/setup-slash-menu.ts (98%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/entries/space/setup-space.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/messages/error.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/messages/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/messages/mindmap.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/messages/slides-renderer.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/messages/wrapper.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/__tests__/mindmap-preview.unit.spec.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/mindmap-preview.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/mindmap-root-block.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/mindmap-service.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/spec.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/surface-block.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/mini-mindmap/surface-service.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/peek-view/chat-block-input.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/peek-view/chat-block-peek-view.ts (98%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/peek-view/date-time.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/peek-view/styles.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/peek-view/types.ts (73%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/peek-view/utils.ts (99%) rename packages/frontend/core/src/blocksuite/{presets/ai/provider.ts => ai/provider/ai-provider.ts} (98%) rename packages/frontend/core/src/{components/blocksuite/block-suite-editor/ai => blocksuite/ai/provider}/copilot-client.ts (99%) rename packages/frontend/core/src/{components/blocksuite/block-suite-editor/ai => blocksuite/ai/provider}/event-source.ts (100%) create mode 100644 packages/frontend/core/src/blocksuite/ai/provider/index.ts rename packages/frontend/core/src/{components/blocksuite/block-suite-editor/ai => blocksuite/ai/provider}/prompt.ts (100%) rename packages/frontend/core/src/{components/blocksuite/block-suite-editor/ai => blocksuite/ai/provider}/request.ts (99%) rename packages/frontend/core/src/{components/blocksuite/block-suite-editor/ai => blocksuite/ai/provider}/setup-provider.tsx (99%) rename packages/frontend/core/src/{components/blocksuite/block-suite-editor/ai => blocksuite/ai/provider}/tracker.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/slides/index.ts (89%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/slides/template.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/slides/templates/cover.json (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/slides/templates/four.json (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/slides/templates/one.json (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/slides/templates/three.json (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/slides/templates/two.json (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/tool/copilot-tool.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/action-reporter.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/ai-widgets.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/connector.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/context.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/edgeless.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/editor-actions.ts (95%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/extract.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/html.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/image.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/selection-utils.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/utils/template-job.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/ai-panel.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/divider.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/finish-tip.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/generating-placeholder.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/state/answer.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/state/error.ts (99%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/state/generating.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/state/index.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/components/state/input.ts (100%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/type.ts (97%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/ai-panel/utils.ts (87%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/edgeless-copilot-panel/index.ts (96%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/edgeless-copilot-panel/toolbar-entry.ts (96%) rename packages/frontend/core/src/blocksuite/{presets => }/ai/widgets/edgeless-copilot/index.ts (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/bi-directional-link-panel.css.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/bi-directional-link-panel.tsx (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/blocksuite-editor-container.tsx (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/blocksuite-editor.tsx (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/index.ts (74%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/journal-doc-title.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/lit-adaper.tsx (99%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/no-page-error.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/common.ts (91%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/database-block.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/root-block.ts (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/widgets/copy-as-image.ts (99%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.css.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/widgets/keyboard-toolbar.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/widgets/linked.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/custom/widgets/toolbar.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/edgeless.ts (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/font-extension.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/page.ts (98%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/specs/preview.ts (97%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/starter-bar.css.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/starter-bar.tsx (97%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-editor/styles.css.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/favorite/index.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/info/index.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/journal/date-picker.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/journal/today-button.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/menu/history-tips-modal/index.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/menu/history-tips-modal/top-svg.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/menu/index.tsx (99%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/present/detail-header-present-button.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/title/index.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-header/title/style.css.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-mode-switch/animation-data/edgeless-hover.json (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-mode-switch/animation-data/page-hover.json (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-mode-switch/index.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-mode-switch/style.css.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-mode-switch/switch-items.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-page-list/index.css.ts (100%) rename packages/frontend/core/src/{components => }/blocksuite/block-suite-page-list/utils.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/outline-viewer/index.tsx (100%) rename packages/frontend/core/src/{components => }/blocksuite/outline-viewer/outline-viewer.css.ts (100%) delete mode 100644 packages/frontend/core/src/blocksuite/presets/_common/index.ts delete mode 100644 packages/frontend/core/src/blocksuite/presets/_common/utils/custom-specs.ts delete mode 100644 packages/frontend/core/src/blocksuite/presets/index.ts create mode 100644 packages/frontend/core/src/blocksuite/utils/index.ts rename packages/frontend/core/src/blocksuite/{presets/_common => }/utils/markdown-utils.ts (78%) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index c134d0661..f4e5db331 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -624,8 +624,7 @@ jobs: with: filters: | changed: - - 'packages/frontend/core/src/blocksuite/presets/ai/**' - - 'packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/**' + - 'packages/frontend/core/src/blocksuite/ai/**' - 'tests/affine-cloud-copilot/**' - name: Setup Node.js diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/chat-actions-handle.ts b/packages/frontend/core/src/blocksuite/ai/_common/chat-actions-handle.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/chat-actions-handle.ts rename to packages/frontend/core/src/blocksuite/ai/_common/chat-actions-handle.ts index 1b3c39f72..249733118 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/_common/chat-actions-handle.ts +++ b/packages/frontend/core/src/blocksuite/ai/_common/chat-actions-handle.ts @@ -27,8 +27,8 @@ import { import type { Store } from '@blocksuite/affine/store'; import type { TemplateResult } from 'lit'; -import type { ChatMessage } from '../../../blocks'; -import { insertFromMarkdown } from '../../_common'; +import { insertFromMarkdown } from '../../utils'; +import type { ChatMessage } from '../blocks'; import { AIProvider, type AIUserInfo } from '../provider'; import { reportResponse } from '../utils/action-reporter'; import { insertBelow, replace } from '../utils/editor-actions'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/config.ts b/packages/frontend/core/src/blocksuite/ai/_common/config.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/config.ts rename to packages/frontend/core/src/blocksuite/ai/_common/config.ts index f718299fb..dee8ab670 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/_common/config.ts +++ b/packages/frontend/core/src/blocksuite/ai/_common/config.ts @@ -15,12 +15,12 @@ import { textTones, translateLangs, } from '../actions/types'; -import { AIProvider } from '../provider'; -import { getAIPanelWidget } from '../utils/ai-widgets'; import type { AIItemGroupConfig, AISubItemConfig, -} from './components/ai-item/types'; +} from '../components/ai-item/types'; +import { AIProvider } from '../provider'; +import { getAIPanelWidget } from '../utils/ai-widgets'; import { AIDoneIcon, AIImageIcon, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/icons.ts b/packages/frontend/core/src/blocksuite/ai/_common/icons.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/icons.ts rename to packages/frontend/core/src/blocksuite/ai/_common/icons.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/answer-renderer.ts b/packages/frontend/core/src/blocksuite/ai/actions/answer-renderer.ts similarity index 96% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/answer-renderer.ts rename to packages/frontend/core/src/blocksuite/ai/actions/answer-renderer.ts index 311a2073a..eee74853b 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/actions/answer-renderer.ts +++ b/packages/frontend/core/src/blocksuite/ai/actions/answer-renderer.ts @@ -1,7 +1,7 @@ import type { EditorHost } from '@blocksuite/affine/block-std'; import type { MindmapElementModel } from '@blocksuite/affine/blocks'; -import { createTextRenderer } from '../../_common'; +import { createTextRenderer } from '../components/text-renderer'; import { createMindmapExecuteRenderer, createMindmapRenderer, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/consts.ts b/packages/frontend/core/src/blocksuite/ai/actions/consts.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/consts.ts rename to packages/frontend/core/src/blocksuite/ai/actions/consts.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/doc-handler.ts b/packages/frontend/core/src/blocksuite/ai/actions/doc-handler.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/doc-handler.ts rename to packages/frontend/core/src/blocksuite/ai/actions/doc-handler.ts index e9e8a5097..0c8addbd4 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/actions/doc-handler.ts +++ b/packages/frontend/core/src/blocksuite/ai/actions/doc-handler.ts @@ -7,16 +7,13 @@ import { assertExists } from '@blocksuite/affine/global/utils'; import { flip, offset } from '@floating-ui/dom'; import { html, type TemplateResult } from 'lit'; -import type { - AIError, - AIItemGroupConfig, -} from '../_common/components/ai-item/types'; import { buildCopyConfig, buildErrorConfig, buildFinishConfig, buildGeneratingConfig, } from '../ai-panel'; +import type { AIError, AIItemGroupConfig } from '../components/ai-item/types'; import { AIProvider } from '../provider'; import { reportResponse } from '../utils/action-reporter'; import { getAIPanelWidget } from '../utils/ai-widgets'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-handler.ts b/packages/frontend/core/src/blocksuite/ai/actions/edgeless-handler.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-handler.ts rename to packages/frontend/core/src/blocksuite/ai/actions/edgeless-handler.ts index 79fbd450b..4bde9c62d 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-handler.ts +++ b/packages/frontend/core/src/blocksuite/ai/actions/edgeless-handler.ts @@ -18,9 +18,9 @@ import { assertExists } from '@blocksuite/affine/global/utils'; import { Slice } from '@blocksuite/affine/store'; import type { TemplateResult } from 'lit'; -import { AIChatBlockModel } from '../../../blocks'; -import { getContentFromSlice } from '../../_common'; -import type { AIError } from '../_common/components/ai-item/types'; +import { getContentFromSlice } from '../../utils'; +import { AIChatBlockModel } from '../blocks'; +import type { AIError } from '../components/ai-item/types'; import { AIProvider } from '../provider'; import { reportResponse } from '../utils/action-reporter'; import { getAIPanelWidget } from '../utils/ai-widgets'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-response.ts b/packages/frontend/core/src/blocksuite/ai/actions/edgeless-response.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-response.ts rename to packages/frontend/core/src/blocksuite/ai/actions/edgeless-response.ts index f6ea82646..97a8c5f8d 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-response.ts +++ b/packages/frontend/core/src/blocksuite/ai/actions/edgeless-response.ts @@ -26,9 +26,9 @@ import { assertExists, Bound } from '@blocksuite/affine/global/utils'; import { html, type TemplateResult } from 'lit'; import { styleMap } from 'lit/directives/style-map.js'; -import { insertFromMarkdown } from '../../_common'; -import type { AIItemConfig } from '../_common/components/ai-item/types'; +import { insertFromMarkdown } from '../../utils'; import { AIPenIcon, ChatWithAIIcon } from '../_common/icons'; +import type { AIItemConfig } from '../components/ai-item/types'; import { AIProvider } from '../provider'; import { reportResponse } from '../utils/action-reporter'; import { getAIPanelWidget } from '../utils/ai-widgets'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/index.ts b/packages/frontend/core/src/blocksuite/ai/actions/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/index.ts rename to packages/frontend/core/src/blocksuite/ai/actions/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/page-response.ts b/packages/frontend/core/src/blocksuite/ai/actions/page-response.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/page-response.ts rename to packages/frontend/core/src/blocksuite/ai/actions/page-response.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/types.ts b/packages/frontend/core/src/blocksuite/ai/actions/types.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/actions/types.ts rename to packages/frontend/core/src/blocksuite/ai/actions/types.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/ai-panel.ts b/packages/frontend/core/src/blocksuite/ai/ai-panel.ts similarity index 97% rename from packages/frontend/core/src/blocksuite/presets/ai/ai-panel.ts rename to packages/frontend/core/src/blocksuite/ai/ai-panel.ts index c7ef5a61f..3cb656028 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/ai-panel.ts +++ b/packages/frontend/core/src/blocksuite/ai/ai-panel.ts @@ -12,8 +12,7 @@ import { assertExists, Bound } from '@blocksuite/affine/global/utils'; import type { FrameworkProvider } from '@toeverything/infra'; import type { TemplateResult } from 'lit'; -import { createTextRenderer, insertFromMarkdown } from '../_common'; -import type { AIItemConfig } from './_common/components/ai-item/types'; +import { insertFromMarkdown } from '../utils'; import { AIPenIcon, AIStarIconWithAnimation, @@ -33,6 +32,8 @@ import { pageResponseHandler, replaceWithMarkdown, } from './actions/page-response'; +import type { AIItemConfig } from './components/ai-item/types'; +import { createTextRenderer } from './components/text-renderer'; import { AIProvider } from './provider'; import { reportResponse } from './utils/action-reporter'; import { getAIPanelWidget } from './utils/ai-widgets'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/ai-spec.ts b/packages/frontend/core/src/blocksuite/ai/ai-spec.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/ai-spec.ts rename to packages/frontend/core/src/blocksuite/ai/ai-spec.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-block.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/ai-chat-block.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-block.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/ai-chat-block.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-edgeless-block.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/ai-chat-edgeless-block.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-edgeless-block.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/ai-chat-edgeless-block.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-spec.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/ai-chat-spec.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-spec.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/ai-chat-spec.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/ai-chat-messages.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/ai-chat-messages.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/ai-chat-messages.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/ai-chat-messages.ts index e4206bae5..5a621b474 100644 --- a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/ai-chat-messages.ts +++ b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/ai-chat-messages.ts @@ -1,5 +1,5 @@ -import type { TextRendererOptions } from '@affine/core/blocksuite/presets'; -import type { AffineAIPanelState } from '@affine/core/blocksuite/presets/ai/widgets/ai-panel/type'; +import type { TextRendererOptions } from '@affine/core/blocksuite/ai/components/text-renderer'; +import type { AffineAIPanelState } from '@affine/core/blocksuite/ai/widgets/ai-panel/type'; import type { EditorHost } from '@blocksuite/affine/block-std'; import { css, html, LitElement } from 'lit'; import { property } from 'lit/decorators.js'; diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/chat-images.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/chat-images.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/chat-images.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/chat-images.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/icon.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/icon.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/icon.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/icon.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/image-placeholder.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/image-placeholder.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/image-placeholder.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/image-placeholder.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/user-info.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/user-info.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/components/user-info.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/components/user-info.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/index.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/index.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/index.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/ai-chat-model.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/ai-chat-model.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/ai-chat-model.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/ai-chat-model.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/consts.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/consts.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/consts.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/consts.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/index.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/index.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/index.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/types.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/types.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/model/types.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/model/types.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/styles.ts b/packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/styles.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/ai-chat-block/styles.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/ai-chat-block/styles.ts diff --git a/packages/frontend/core/src/blocksuite/blocks/index.ts b/packages/frontend/core/src/blocksuite/ai/blocks/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/blocks/index.ts rename to packages/frontend/core/src/blocksuite/ai/blocks/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/action-wrapper.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/action-wrapper.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/action-wrapper.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/action-wrapper.ts index f402a5c54..6cbd1daff 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/action-wrapper.ts +++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/action-wrapper.ts @@ -3,7 +3,6 @@ import { WithDisposable } from '@blocksuite/affine/global/utils'; import { css, html, LitElement, nothing, type TemplateResult } from 'lit'; import { property, state } from 'lit/decorators.js'; -import { createTextRenderer } from '../../../_common'; import { ActionIcon, AIChangeToneIcon, @@ -23,6 +22,7 @@ import { ArrowDownIcon, ArrowUpIcon, } from '../../_common/icons'; +import { createTextRenderer } from '../../components/text-renderer'; import type { ChatAction } from '../chat-context'; import { renderImages } from '../components/images'; import { HISTORY_IMAGE_ACTIONS } from '../const'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/chat-text.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/chat-text.ts similarity index 94% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/chat-text.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/chat-text.ts index 96a110f30..613fe8fd8 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/chat-text.ts +++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/chat-text.ts @@ -7,7 +7,7 @@ import { WithDisposable } from '@blocksuite/affine/global/utils'; import { html, nothing } from 'lit'; import { property } from 'lit/decorators.js'; -import { createTextRenderer } from '../../../_common'; +import { createTextRenderer } from '../../components/text-renderer'; import { renderImages } from '../components/images'; export class ChatText extends WithDisposable(ShadowlessElement) { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/image-to-text.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/image-to-text.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/image-to-text.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/image-to-text.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/image.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/image.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/image.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/image.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/make-real.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/make-real.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/make-real.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/make-real.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/mindmap.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/mindmap.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/mindmap.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/mindmap.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/slides.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/slides.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/slides.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/slides.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/text.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/text.ts similarity index 95% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/text.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/actions/text.ts index d927a5a60..e53854757 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/actions/text.ts +++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/actions/text.ts @@ -6,7 +6,7 @@ import { css, html, LitElement } from 'lit'; import { property } from 'lit/decorators.js'; import { styleMap } from 'lit/directives/style-map.js'; -import { createTextRenderer } from '../../../_common'; +import { createTextRenderer } from '../../components/text-renderer'; import type { ChatAction } from '../chat-context'; export class ActionText extends WithDisposable(LitElement) { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/ai-loading.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/ai-loading.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/ai-loading.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/ai-loading.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-config.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-config.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-config.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/chat-config.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-context.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-context.ts similarity index 96% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-context.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/chat-context.ts index 449990dfc..59fc903d0 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-context.ts +++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-context.ts @@ -1,6 +1,6 @@ import type { Signal } from '@preact/signals-core'; -import type { AIError } from '../_common/components/ai-item/types'; +import type { AIError } from '../components/ai-item/types'; export type ChatMessage = { id: string; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-chips.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-chips.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-chips.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-chips.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-input.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-input.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-input.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-input.ts index d8256ae41..6a250f203 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-input.ts +++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-input.ts @@ -7,13 +7,13 @@ import { css, html, LitElement, nothing } from 'lit'; import { property, query, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; -import type { AIError } from '../_common/components/ai-item/types'; import { ChatAbortIcon, ChatClearIcon, ChatSendIcon, CloseIcon, } from '../_common/icons'; +import type { AIError } from '../components/ai-item/types'; import { AIProvider } from '../provider'; import { reportResponse } from '../utils/action-reporter'; import { readBlobAsURL } from '../utils/image'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-messages.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-messages.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-messages.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-messages.ts index 9690206de..32ace3aab 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-messages.ts +++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-messages.ts @@ -18,12 +18,12 @@ import { EdgelessEditorActions, PageEditorActions, } from '../_common/chat-actions-handle'; +import { AffineAvatarIcon, AffineIcon, DownArrowIcon } from '../_common/icons'; import { type AIError, PaymentRequiredError, UnauthorizedError, -} from '../_common/components/ai-item/types'; -import { AffineAvatarIcon, AffineIcon, DownArrowIcon } from '../_common/icons'; +} from '../components/ai-item/types'; import { AIChatErrorRenderer } from '../messages/error'; import { AIProvider } from '../provider'; import { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/add-popover.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/add-popover.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/add-popover.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/components/add-popover.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/chip.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/chip.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/chip.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/components/chip.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/doc-chip.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/doc-chip.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/doc-chip.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/components/doc-chip.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/file-chip.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/file-chip.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/file-chip.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/components/file-chip.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/images.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/images.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/images.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/components/images.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/utils.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/utils.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/components/utils.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/components/utils.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/const.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/const.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/const.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/const.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/index.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/index.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/preload-config.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/preload-config.ts similarity index 96% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/preload-config.ts rename to packages/frontend/core/src/blocksuite/ai/chat-panel/preload-config.ts index 2ce2b79c6..c6ec85f29 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/preload-config.ts +++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/preload-config.ts @@ -5,7 +5,7 @@ import { PreloadImageIcon, PreloadPenIcon, } from '../_common/icons.js'; -import { AIProvider } from '../provider.js'; +import { AIProvider } from '../provider/ai-provider.js'; import completeWritingWithAI from './templates/completeWritingWithAI.zip'; import freelyCommunicateWithAI from './templates/freelyCommunicateWithAI.zip'; import readAforeign from './templates/readAforeign.zip'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/TidyMindMapV3.zip b/packages/frontend/core/src/blocksuite/ai/chat-panel/templates/TidyMindMapV3.zip similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/TidyMindMapV3.zip rename to packages/frontend/core/src/blocksuite/ai/chat-panel/templates/TidyMindMapV3.zip diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/completeWritingWithAI.zip b/packages/frontend/core/src/blocksuite/ai/chat-panel/templates/completeWritingWithAI.zip similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/completeWritingWithAI.zip rename to packages/frontend/core/src/blocksuite/ai/chat-panel/templates/completeWritingWithAI.zip diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/freelyCommunicateWithAI.zip b/packages/frontend/core/src/blocksuite/ai/chat-panel/templates/freelyCommunicateWithAI.zip similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/freelyCommunicateWithAI.zip rename to packages/frontend/core/src/blocksuite/ai/chat-panel/templates/freelyCommunicateWithAI.zip diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/readAforeign.zip b/packages/frontend/core/src/blocksuite/ai/chat-panel/templates/readAforeign.zip similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/readAforeign.zip rename to packages/frontend/core/src/blocksuite/ai/chat-panel/templates/readAforeign.zip diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/redHat.zip b/packages/frontend/core/src/blocksuite/ai/chat-panel/templates/redHat.zip similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/chat-panel/templates/redHat.zip rename to packages/frontend/core/src/blocksuite/ai/chat-panel/templates/redHat.zip diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/ai-item-list.ts b/packages/frontend/core/src/blocksuite/ai/components/ai-item/ai-item-list.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/ai-item-list.ts rename to packages/frontend/core/src/blocksuite/ai/components/ai-item/ai-item-list.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/ai-item.ts b/packages/frontend/core/src/blocksuite/ai/components/ai-item/ai-item.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/ai-item.ts rename to packages/frontend/core/src/blocksuite/ai/components/ai-item/ai-item.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/ai-sub-item-list.ts b/packages/frontend/core/src/blocksuite/ai/components/ai-item/ai-sub-item-list.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/ai-sub-item-list.ts rename to packages/frontend/core/src/blocksuite/ai/components/ai-item/ai-sub-item-list.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/const.ts b/packages/frontend/core/src/blocksuite/ai/components/ai-item/const.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/const.ts rename to packages/frontend/core/src/blocksuite/ai/components/ai-item/const.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/index.ts b/packages/frontend/core/src/blocksuite/ai/components/ai-item/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/index.ts rename to packages/frontend/core/src/blocksuite/ai/components/ai-item/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/styles.ts b/packages/frontend/core/src/blocksuite/ai/components/ai-item/styles.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/styles.ts rename to packages/frontend/core/src/blocksuite/ai/components/ai-item/styles.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/types.ts b/packages/frontend/core/src/blocksuite/ai/components/ai-item/types.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item/types.ts rename to packages/frontend/core/src/blocksuite/ai/components/ai-item/types.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-button.ts b/packages/frontend/core/src/blocksuite/ai/components/ask-ai-button.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-button.ts rename to packages/frontend/core/src/blocksuite/ai/components/ask-ai-button.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-icon.ts b/packages/frontend/core/src/blocksuite/ai/components/ask-ai-icon.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-icon.ts rename to packages/frontend/core/src/blocksuite/ai/components/ask-ai-icon.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-panel.ts b/packages/frontend/core/src/blocksuite/ai/components/ask-ai-panel.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-panel.ts rename to packages/frontend/core/src/blocksuite/ai/components/ask-ai-panel.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-toolbar.ts b/packages/frontend/core/src/blocksuite/ai/components/ask-ai-toolbar.ts similarity index 93% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-toolbar.ts rename to packages/frontend/core/src/blocksuite/ai/components/ask-ai-toolbar.ts index b535dc929..dcb5c9776 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-toolbar.ts +++ b/packages/frontend/core/src/blocksuite/ai/components/ask-ai-toolbar.ts @@ -9,10 +9,10 @@ import { flip, offset } from '@floating-ui/dom'; import { css, html, LitElement } from 'lit'; import { property } from 'lit/decorators.js'; -import { AIProvider } from '../../provider'; -import { getAIPanelWidget } from '../../utils/ai-widgets'; -import { extractSelectedContent } from '../../utils/extract'; -import type { AffineAIPanelWidgetConfig } from '../../widgets/ai-panel/type'; +import { AIProvider } from '../provider'; +import { getAIPanelWidget } from '../utils/ai-widgets'; +import { extractSelectedContent } from '../utils/extract'; +import type { AffineAIPanelWidgetConfig } from '../widgets/ai-panel/type'; import type { AIItemGroupConfig } from './ai-item/types'; export class AskAIToolbarButton extends WithDisposable(LitElement) { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/chat-action-list.ts b/packages/frontend/core/src/blocksuite/ai/components/chat-action-list.ts similarity index 97% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/chat-action-list.ts rename to packages/frontend/core/src/blocksuite/ai/components/chat-action-list.ts index fe713c8d6..7c19d938f 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/chat-action-list.ts +++ b/packages/frontend/core/src/blocksuite/ai/components/chat-action-list.ts @@ -12,8 +12,8 @@ import { property } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { repeat } from 'lit/directives/repeat.js'; -import { insertBelow } from '../../utils/editor-actions'; -import type { ChatAction } from '../chat-actions-handle'; +import type { ChatAction } from '../_common/chat-actions-handle'; +import { insertBelow } from '../utils/editor-actions'; export class ChatActionList extends LitElement { static override styles = css` diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/copy-more.ts b/packages/frontend/core/src/blocksuite/ai/components/copy-more.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/copy-more.ts rename to packages/frontend/core/src/blocksuite/ai/components/copy-more.ts index 9bd7a047e..6250386b6 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/copy-more.ts +++ b/packages/frontend/core/src/blocksuite/ai/components/copy-more.ts @@ -15,8 +15,8 @@ import { css, html, LitElement, nothing, type PropertyValues } from 'lit'; import { property, query, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; -import { type ChatAction } from '../../_common/chat-actions-handle'; -import { copyText } from '../../utils/editor-actions'; +import type { ChatAction } from '../_common/chat-actions-handle'; +import { copyText } from '../utils/editor-actions'; noop(Tooltip); diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/image-preview-grid.ts b/packages/frontend/core/src/blocksuite/ai/components/image-preview-grid.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/_common/components/image-preview-grid.ts rename to packages/frontend/core/src/blocksuite/ai/components/image-preview-grid.ts diff --git a/packages/frontend/core/src/blocksuite/presets/_common/components/text-renderer.ts b/packages/frontend/core/src/blocksuite/ai/components/text-renderer.ts similarity index 95% rename from packages/frontend/core/src/blocksuite/presets/_common/components/text-renderer.ts rename to packages/frontend/core/src/blocksuite/ai/components/text-renderer.ts index 82b26b2c6..f5039e55e 100644 --- a/packages/frontend/core/src/blocksuite/presets/_common/components/text-renderer.ts +++ b/packages/frontend/core/src/blocksuite/ai/components/text-renderer.ts @@ -1,5 +1,6 @@ import { BlockStdScope, + BlockViewIdentifier, type EditorHost, ShadowlessElement, } from '@blocksuite/affine/block-std'; @@ -12,6 +13,7 @@ import { InlineDeltaToMarkdownAdapterExtensions, ListBlockComponent, MarkdownInlineToDeltaAdapterExtensions, + PageEditorBlockSpecs, ParagraphBlockComponent, } from '@blocksuite/affine/blocks'; import { Container, type ServiceProvider } from '@blocksuite/affine/global/di'; @@ -27,13 +29,13 @@ import { css, html, nothing, type PropertyValues } from 'lit'; import { property, query } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { keyed } from 'lit/directives/keyed.js'; +import { literal } from 'lit/static-html.js'; +import { markDownToDoc } from '../../utils'; import type { AffineAIPanelState, AffineAIPanelWidgetConfig, -} from '../../ai/widgets/ai-panel/type'; -import { CustomPageEditorBlockSpecs } from '../utils/custom-specs'; -import { markDownToDoc } from '../utils/markdown-utils'; +} from '../widgets/ai-panel/type'; const textBlockStyles = css` ${ParagraphBlockComponent.styles} @@ -90,6 +92,18 @@ export type TextRendererOptions = { additionalMiddlewares?: TransformerMiddleware[]; }; +export const CustomPageEditorBlockSpecs: ExtensionType[] = [ + ...PageEditorBlockSpecs, + { + setup: di => { + di.override( + BlockViewIdentifier('affine:page'), + () => literal`affine-page-root` + ); + }, + }, +]; + // todo: refactor it for more general purpose usage instead of AI only? export class TextRenderer extends WithDisposable(ShadowlessElement) { static override styles = css` diff --git a/packages/frontend/core/src/blocksuite/presets/effects.ts b/packages/frontend/core/src/blocksuite/ai/effects.ts similarity index 52% rename from packages/frontend/core/src/blocksuite/presets/effects.ts rename to packages/frontend/core/src/blocksuite/ai/effects.ts index fe5fa87e6..337b518d0 100644 --- a/packages/frontend/core/src/blocksuite/presets/effects.ts +++ b/packages/frontend/core/src/blocksuite/ai/effects.ts @@ -1,68 +1,69 @@ -import { AIChatBlockComponent } from '../blocks/ai-chat-block/ai-chat-block'; -import { EdgelessAIChatBlockComponent } from '../blocks/ai-chat-block/ai-chat-edgeless-block'; +import { AIChatBlockComponent } from './blocks/ai-chat-block/ai-chat-block'; +import { EdgelessAIChatBlockComponent } from './blocks/ai-chat-block/ai-chat-edgeless-block'; import { AIChatMessage, AIChatMessages, -} from '../blocks/ai-chat-block/components/ai-chat-messages'; +} from './blocks/ai-chat-block/components/ai-chat-messages'; import { ChatImage, ChatImages, -} from '../blocks/ai-chat-block/components/chat-images'; -import { ImagePlaceholder } from '../blocks/ai-chat-block/components/image-placeholder'; -import { UserInfo } from '../blocks/ai-chat-block/components/user-info'; -import { TextRenderer } from './_common/components/text-renderer'; -import { effects as componentAiItemEffects } from './ai/_common/components/ai-item'; -import { AskAIButton } from './ai/_common/components/ask-ai-button'; -import { AskAIIcon } from './ai/_common/components/ask-ai-icon'; -import { AskAIPanel } from './ai/_common/components/ask-ai-panel'; -import { AskAIToolbarButton } from './ai/_common/components/ask-ai-toolbar'; -import { ChatActionList } from './ai/_common/components/chat-action-list'; -import { ChatCopyMore } from './ai/_common/components/copy-more'; -import { ImagePreviewGrid } from './ai/_common/components/image-preview-grid'; -import { ChatPanel } from './ai/chat-panel'; -import { ActionWrapper } from './ai/chat-panel/actions/action-wrapper'; -import { ChatText } from './ai/chat-panel/actions/chat-text'; -import { ActionImage } from './ai/chat-panel/actions/image'; -import { ActionImageToText } from './ai/chat-panel/actions/image-to-text'; -import { ActionMakeReal } from './ai/chat-panel/actions/make-real'; -import { ActionMindmap } from './ai/chat-panel/actions/mindmap'; -import { ActionSlides } from './ai/chat-panel/actions/slides'; -import { ActionText } from './ai/chat-panel/actions/text'; -import { AILoading } from './ai/chat-panel/ai-loading'; -import { ChatPanelChips } from './ai/chat-panel/chat-panel-chips'; -import { ChatPanelInput } from './ai/chat-panel/chat-panel-input'; -import { ChatPanelMessages } from './ai/chat-panel/chat-panel-messages'; -import { ChatPanelAddPopover } from './ai/chat-panel/components/add-popover'; -import { ChatPanelChip } from './ai/chat-panel/components/chip'; -import { ChatPanelDocChip } from './ai/chat-panel/components/doc-chip'; -import { ChatPanelFileChip } from './ai/chat-panel/components/file-chip'; -import { AIErrorWrapper } from './ai/messages/error'; -import { AISlidesRenderer } from './ai/messages/slides-renderer'; -import { AIAnswerWrapper } from './ai/messages/wrapper'; -import { registerMiniMindmapBlocks } from './ai/mini-mindmap'; -import { ChatBlockInput } from './ai/peek-view/chat-block-input'; -import { AIChatBlockPeekView } from './ai/peek-view/chat-block-peek-view'; -import { DateTime } from './ai/peek-view/date-time'; +} from './blocks/ai-chat-block/components/chat-images'; +import { ImagePlaceholder } from './blocks/ai-chat-block/components/image-placeholder'; +import { UserInfo } from './blocks/ai-chat-block/components/user-info'; +import { ChatPanel } from './chat-panel'; +import { ActionWrapper } from './chat-panel/actions/action-wrapper'; +import { ChatText } from './chat-panel/actions/chat-text'; +import { ActionImage } from './chat-panel/actions/image'; +import { ActionImageToText } from './chat-panel/actions/image-to-text'; +import { ActionMakeReal } from './chat-panel/actions/make-real'; +import { ActionMindmap } from './chat-panel/actions/mindmap'; +import { ActionSlides } from './chat-panel/actions/slides'; +import { ActionText } from './chat-panel/actions/text'; +import { AILoading } from './chat-panel/ai-loading'; +import { ChatPanelChips } from './chat-panel/chat-panel-chips'; +import { ChatPanelInput } from './chat-panel/chat-panel-input'; +import { ChatPanelMessages } from './chat-panel/chat-panel-messages'; +import { ChatPanelAddPopover } from './chat-panel/components/add-popover'; +import { ChatPanelChip } from './chat-panel/components/chip'; +import { ChatPanelDocChip } from './chat-panel/components/doc-chip'; +import { ChatPanelFileChip } from './chat-panel/components/file-chip'; +import { effects as componentAiItemEffects } from './components/ai-item'; +import { AskAIButton } from './components/ask-ai-button'; +import { AskAIIcon } from './components/ask-ai-icon'; +import { AskAIPanel } from './components/ask-ai-panel'; +import { AskAIToolbarButton } from './components/ask-ai-toolbar'; +import { ChatActionList } from './components/chat-action-list'; +import { ChatCopyMore } from './components/copy-more'; +import { ImagePreviewGrid } from './components/image-preview-grid'; +import { TextRenderer } from './components/text-renderer'; +import { AIErrorWrapper } from './messages/error'; +import { AISlidesRenderer } from './messages/slides-renderer'; +import { AIAnswerWrapper } from './messages/wrapper'; +import { registerMiniMindmapBlocks } from './mini-mindmap'; +import { ChatBlockInput } from './peek-view/chat-block-input'; +import { AIChatBlockPeekView } from './peek-view/chat-block-peek-view'; +import { DateTime } from './peek-view/date-time'; import { AFFINE_AI_PANEL_WIDGET, AffineAIPanelWidget, -} from './ai/widgets/ai-panel/ai-panel'; +} from './widgets/ai-panel/ai-panel'; import { AIPanelAnswer, AIPanelDivider, AIPanelError, AIPanelGenerating, AIPanelInput, -} from './ai/widgets/ai-panel/components'; -import { AIFinishTip } from './ai/widgets/ai-panel/components/finish-tip'; -import { GeneratingPlaceholder } from './ai/widgets/ai-panel/components/generating-placeholder'; +} from './widgets/ai-panel/components'; +import { AIFinishTip } from './widgets/ai-panel/components/finish-tip'; +import { GeneratingPlaceholder } from './widgets/ai-panel/components/generating-placeholder'; import { AFFINE_EDGELESS_COPILOT_WIDGET, EdgelessCopilotWidget, -} from './ai/widgets/edgeless-copilot'; -import { EdgelessCopilotPanel } from './ai/widgets/edgeless-copilot-panel'; -import { EdgelessCopilotToolbarEntry } from './ai/widgets/edgeless-copilot-panel/toolbar-entry'; -export function registerBlocksuitePresetsCustomComponents() { +} from './widgets/edgeless-copilot'; +import { EdgelessCopilotPanel } from './widgets/edgeless-copilot-panel'; +import { EdgelessCopilotToolbarEntry } from './widgets/edgeless-copilot-panel/toolbar-entry'; + +export function registerAIEffects() { registerMiniMindmapBlocks(); componentAiItemEffects(); diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/code-toolbar/setup-code-toolbar.ts b/packages/frontend/core/src/blocksuite/ai/entries/code-toolbar/setup-code-toolbar.ts similarity index 90% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/code-toolbar/setup-code-toolbar.ts rename to packages/frontend/core/src/blocksuite/ai/entries/code-toolbar/setup-code-toolbar.ts index 3428f6dfc..2420ceb54 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/code-toolbar/setup-code-toolbar.ts +++ b/packages/frontend/core/src/blocksuite/ai/entries/code-toolbar/setup-code-toolbar.ts @@ -1,4 +1,4 @@ -import '../../_common/components/ask-ai-button'; +import '../../components/ask-ai-button'; import type { AffineCodeToolbarWidget } from '@blocksuite/affine/blocks'; import { html } from 'lit'; @@ -11,8 +11,8 @@ const buttonOptions: AskAIButtonOptions = { import { BlockSelection } from '@blocksuite/affine/block-std'; -import type { AskAIButtonOptions } from '../../_common/components/ask-ai-button'; import { buildAICodeItemGroups } from '../../_common/config'; +import type { AskAIButtonOptions } from '../../components/ask-ai-button'; export function setupCodeToolbarAIEntry(codeToolbar: AffineCodeToolbarWidget) { codeToolbar.addPrimaryItems([ diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/edgeless/actions-config.ts b/packages/frontend/core/src/blocksuite/ai/entries/edgeless/actions-config.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/edgeless/actions-config.ts rename to packages/frontend/core/src/blocksuite/ai/entries/edgeless/actions-config.ts index 38e6fa140..cf65625b1 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/edgeless/actions-config.ts +++ b/packages/frontend/core/src/blocksuite/ai/entries/edgeless/actions-config.ts @@ -6,7 +6,6 @@ import { TextElementModel, } from '@blocksuite/affine/blocks'; -import type { AIItemGroupConfig } from '../../_common/components/ai-item/types'; import { AIExpandMindMapIcon, AIImageIcon, @@ -44,6 +43,7 @@ import { textTones, translateLangs, } from '../../actions/types'; +import type { AIItemGroupConfig } from '../../components/ai-item/types'; import { AIProvider } from '../../provider'; import { getAIPanelWidget } from '../../utils/ai-widgets'; import { mindMapToMarkdown } from '../../utils/edgeless'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/edgeless/index.ts b/packages/frontend/core/src/blocksuite/ai/entries/edgeless/index.ts similarity index 97% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/edgeless/index.ts rename to packages/frontend/core/src/blocksuite/ai/entries/edgeless/index.ts index d4ccc9953..10e12308e 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/edgeless/index.ts +++ b/packages/frontend/core/src/blocksuite/ai/entries/edgeless/index.ts @@ -6,7 +6,7 @@ import type { import { noop } from '@blocksuite/affine/global/utils'; import { html } from 'lit'; -import type { AIItemGroupConfig } from '../../_common/components/ai-item/types'; +import type { AIItemGroupConfig } from '../../components/ai-item/types'; import { AIProvider } from '../../provider'; import { getAIPanelWidget } from '../../utils/ai-widgets'; import { getEdgelessCopilotWidget } from '../../utils/edgeless'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/format-bar/setup-format-bar.ts b/packages/frontend/core/src/blocksuite/ai/entries/format-bar/setup-format-bar.ts similarity index 96% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/format-bar/setup-format-bar.ts rename to packages/frontend/core/src/blocksuite/ai/entries/format-bar/setup-format-bar.ts index 25052bb48..425b8a93c 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/format-bar/setup-format-bar.ts +++ b/packages/frontend/core/src/blocksuite/ai/entries/format-bar/setup-format-bar.ts @@ -1,4 +1,4 @@ -import '../../_common/components/ask-ai-button'; +import '../../components/ask-ai-button'; import { type AffineFormatBarWidget, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/image-toolbar/setup-image-toolbar.ts b/packages/frontend/core/src/blocksuite/ai/entries/image-toolbar/setup-image-toolbar.ts similarity index 91% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/image-toolbar/setup-image-toolbar.ts rename to packages/frontend/core/src/blocksuite/ai/entries/image-toolbar/setup-image-toolbar.ts index 407e97767..72dc76828 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/image-toolbar/setup-image-toolbar.ts +++ b/packages/frontend/core/src/blocksuite/ai/entries/image-toolbar/setup-image-toolbar.ts @@ -1,4 +1,4 @@ -import '../../_common/components/ask-ai-button'; +import '../../components/ask-ai-button'; import { type AffineImageToolbarWidget, @@ -6,8 +6,8 @@ import { } from '@blocksuite/affine/blocks'; import { html } from 'lit'; -import type { AskAIButtonOptions } from '../../_common/components/ask-ai-button'; import { buildAIImageItemGroups } from '../../_common/config'; +import type { AskAIButtonOptions } from '../../components/ask-ai-button'; const AIImageItemGroups = buildAIImageItemGroups(); const buttonOptions: AskAIButtonOptions = { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/index.ts b/packages/frontend/core/src/blocksuite/ai/entries/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/index.ts rename to packages/frontend/core/src/blocksuite/ai/entries/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts b/packages/frontend/core/src/blocksuite/ai/entries/slash-menu/setup-slash-menu.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts rename to packages/frontend/core/src/blocksuite/ai/entries/slash-menu/setup-slash-menu.ts index 078896929..794d73160 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts +++ b/packages/frontend/core/src/blocksuite/ai/entries/slash-menu/setup-slash-menu.ts @@ -11,9 +11,9 @@ import { assertExists } from '@blocksuite/affine/global/utils'; import { MoreHorizontalIcon } from '@blocksuite/icons/lit'; import { html } from 'lit'; -import type { AIItemConfig } from '../../_common/components/ai-item/types'; import { pageAIGroups } from '../../_common/config'; import { handleInlineAskAIAction } from '../../actions/doc-handler'; +import type { AIItemConfig } from '../../components/ai-item/types'; import { AIProvider } from '../../provider'; import { AFFINE_AI_PANEL_WIDGET, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/space/setup-space.ts b/packages/frontend/core/src/blocksuite/ai/entries/space/setup-space.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/entries/space/setup-space.ts rename to packages/frontend/core/src/blocksuite/ai/entries/space/setup-space.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/index.ts b/packages/frontend/core/src/blocksuite/ai/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/index.ts rename to packages/frontend/core/src/blocksuite/ai/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/messages/error.ts b/packages/frontend/core/src/blocksuite/ai/messages/error.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/messages/error.ts rename to packages/frontend/core/src/blocksuite/ai/messages/error.ts index 3f5753fa6..de910b56e 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/messages/error.ts +++ b/packages/frontend/core/src/blocksuite/ai/messages/error.ts @@ -7,12 +7,12 @@ import { baseTheme } from '@toeverything/theme'; import { css, html, LitElement, nothing, unsafeCSS } from 'lit'; import { property } from 'lit/decorators.js'; +import { ErrorTipIcon } from '../_common/icons'; import { type AIError, PaymentRequiredError, UnauthorizedError, -} from '../_common/components/ai-item/types'; -import { ErrorTipIcon } from '../_common/icons'; +} from '../components/ai-item/types'; import { AIProvider } from '../provider'; export class AIErrorWrapper extends SignalWatcher(WithDisposable(LitElement)) { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/messages/index.ts b/packages/frontend/core/src/blocksuite/ai/messages/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/messages/index.ts rename to packages/frontend/core/src/blocksuite/ai/messages/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/messages/mindmap.ts b/packages/frontend/core/src/blocksuite/ai/messages/mindmap.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/messages/mindmap.ts rename to packages/frontend/core/src/blocksuite/ai/messages/mindmap.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/messages/slides-renderer.ts b/packages/frontend/core/src/blocksuite/ai/messages/slides-renderer.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/messages/slides-renderer.ts rename to packages/frontend/core/src/blocksuite/ai/messages/slides-renderer.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/messages/wrapper.ts b/packages/frontend/core/src/blocksuite/ai/messages/wrapper.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/messages/wrapper.ts rename to packages/frontend/core/src/blocksuite/ai/messages/wrapper.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/__tests__/mindmap-preview.unit.spec.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/__tests__/mindmap-preview.unit.spec.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/__tests__/mindmap-preview.unit.spec.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/__tests__/mindmap-preview.unit.spec.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/index.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/index.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/mindmap-preview.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-preview.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/mindmap-preview.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-preview.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/mindmap-root-block.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-root-block.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/mindmap-root-block.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-root-block.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/mindmap-service.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-service.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/mindmap-service.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-service.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/spec.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/spec.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/spec.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/spec.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/surface-block.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-block.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/surface-block.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-block.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/surface-service.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-service.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/mini-mindmap/surface-service.ts rename to packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-service.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-input.ts b/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-input.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-input.ts rename to packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-input.ts index 2869604f8..e34e4635e 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-input.ts +++ b/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-input.ts @@ -6,14 +6,14 @@ import { css, html, LitElement, nothing } from 'lit'; import { property, query, state } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; -import type { ChatMessage } from '../../../blocks'; -import type { AIError } from '../_common/components/ai-item/types'; import { ChatAbortIcon, ChatClearIcon, ChatSendIcon } from '../_common/icons'; +import type { ChatMessage } from '../blocks'; import type { AINetworkSearchConfig } from '../chat-panel/chat-config'; import { PROMPT_NAME_AFFINE_AI, PROMPT_NAME_NETWORK_SEARCH, } from '../chat-panel/const'; +import type { AIError } from '../components/ai-item/types'; import { AIProvider } from '../provider'; import { reportResponse } from '../utils/action-reporter'; import { readBlobAsURL } from '../utils/image'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts b/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-peek-view.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts rename to packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-peek-view.ts index b8981b3d6..cb23ff1cb 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts +++ b/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-peek-view.ts @@ -14,20 +14,20 @@ import { property, query, state } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { repeat } from 'lit/directives/repeat.js'; -import { - type AIChatBlockModel, - type ChatMessage, - ChatMessagesSchema, -} from '../../../blocks'; -import type { TextRendererOptions } from '../../_common/components/text-renderer'; import { ChatBlockPeekViewActions, constructUserInfoWithMessages, queryHistoryMessages, } from '../_common/chat-actions-handle'; -import type { AIError } from '../_common/components/ai-item/types'; import { SmallHintIcon } from '../_common/icons'; +import { + type AIChatBlockModel, + type ChatMessage, + ChatMessagesSchema, +} from '../blocks'; import type { AINetworkSearchConfig } from '../chat-panel/chat-config'; +import type { AIError } from '../components/ai-item/types'; +import type { TextRendererOptions } from '../components/text-renderer'; import { AIChatErrorRenderer } from '../messages/error'; import { AIProvider } from '../provider'; import { PeekViewStyles } from './styles'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/date-time.ts b/packages/frontend/core/src/blocksuite/ai/peek-view/date-time.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/peek-view/date-time.ts rename to packages/frontend/core/src/blocksuite/ai/peek-view/date-time.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/styles.ts b/packages/frontend/core/src/blocksuite/ai/peek-view/styles.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/peek-view/styles.ts rename to packages/frontend/core/src/blocksuite/ai/peek-view/styles.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/types.ts b/packages/frontend/core/src/blocksuite/ai/peek-view/types.ts similarity index 73% rename from packages/frontend/core/src/blocksuite/presets/ai/peek-view/types.ts rename to packages/frontend/core/src/blocksuite/ai/peek-view/types.ts index 46ff6f019..8f6b5c17b 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/types.ts +++ b/packages/frontend/core/src/blocksuite/ai/peek-view/types.ts @@ -1,5 +1,5 @@ -import type { ChatMessage } from '../../../blocks'; -import type { AIError } from '../_common/components/ai-item/types'; +import type { ChatMessage } from '../blocks'; +import type { AIError } from '../components/ai-item/types'; export type ChatStatus = | 'success' diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/utils.ts b/packages/frontend/core/src/blocksuite/ai/peek-view/utils.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/peek-view/utils.ts rename to packages/frontend/core/src/blocksuite/ai/peek-view/utils.ts index da9dea5d4..dd4ce71ee 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/utils.ts +++ b/packages/frontend/core/src/blocksuite/ai/peek-view/utils.ts @@ -9,7 +9,7 @@ import { type AIChatBlockModel, CHAT_BLOCK_HEIGHT, CHAT_BLOCK_WIDTH, -} from '../../../blocks'; +} from '../blocks'; /** * Calculates the bounding box for a child block diff --git a/packages/frontend/core/src/blocksuite/presets/ai/provider.ts b/packages/frontend/core/src/blocksuite/ai/provider/ai-provider.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/provider.ts rename to packages/frontend/core/src/blocksuite/ai/provider/ai-provider.ts index 10be2cbb4..a051f2b48 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/provider.ts +++ b/packages/frontend/core/src/blocksuite/ai/provider/ai-provider.ts @@ -2,11 +2,11 @@ import type { EditorHost } from '@blocksuite/affine/block-std'; import { Slot } from '@blocksuite/affine/global/utils'; import { captureException } from '@sentry/react'; +import type { ChatContextValue } from '../chat-panel/chat-context'; import { PaymentRequiredError, UnauthorizedError, -} from './_common/components/ai-item/types'; -import type { ChatContextValue } from './chat-panel/chat-context'; +} from '../components/ai-item/types'; export interface AIUserInfo { id: string; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/copilot-client.ts b/packages/frontend/core/src/blocksuite/ai/provider/copilot-client.ts similarity index 99% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/copilot-client.ts rename to packages/frontend/core/src/blocksuite/ai/provider/copilot-client.ts index 6eda8caa4..c0b6f0d8c 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/copilot-client.ts +++ b/packages/frontend/core/src/blocksuite/ai/provider/copilot-client.ts @@ -2,7 +2,7 @@ import { GeneralNetworkError, PaymentRequiredError, UnauthorizedError, -} from '@affine/core/blocksuite/presets/ai/_common/components/ai-item/types'; +} from '@affine/core/blocksuite/ai/components/ai-item/types'; import { showAILoginRequiredAtom } from '@affine/core/components/affine/auth/ai-login-required'; import { addContextDocMutation, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/event-source.ts b/packages/frontend/core/src/blocksuite/ai/provider/event-source.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/event-source.ts rename to packages/frontend/core/src/blocksuite/ai/provider/event-source.ts diff --git a/packages/frontend/core/src/blocksuite/ai/provider/index.ts b/packages/frontend/core/src/blocksuite/ai/provider/index.ts new file mode 100644 index 000000000..2b882bd25 --- /dev/null +++ b/packages/frontend/core/src/blocksuite/ai/provider/index.ts @@ -0,0 +1,3 @@ +export * from './ai-provider'; +export * from './copilot-client'; +export * from './setup-provider'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts b/packages/frontend/core/src/blocksuite/ai/provider/prompt.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts rename to packages/frontend/core/src/blocksuite/ai/provider/prompt.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/request.ts b/packages/frontend/core/src/blocksuite/ai/provider/request.ts similarity index 99% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/request.ts rename to packages/frontend/core/src/blocksuite/ai/provider/request.ts index b19a23001..ce5946f8e 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/request.ts +++ b/packages/frontend/core/src/blocksuite/ai/provider/request.ts @@ -1,7 +1,7 @@ -import { AIProvider } from '@affine/core/blocksuite/presets'; import { assertExists } from '@blocksuite/affine/global/utils'; import { partition } from 'lodash-es'; +import { AIProvider } from './ai-provider'; import type { CopilotClient } from './copilot-client'; import { delay, toTextStream } from './event-source'; import type { PromptKey } from './prompt'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/setup-provider.tsx b/packages/frontend/core/src/blocksuite/ai/provider/setup-provider.tsx similarity index 99% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/setup-provider.tsx rename to packages/frontend/core/src/blocksuite/ai/provider/setup-provider.tsx index b55259990..96c50592a 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/setup-provider.tsx +++ b/packages/frontend/core/src/blocksuite/ai/provider/setup-provider.tsx @@ -1,4 +1,3 @@ -import { AIProvider } from '@affine/core/blocksuite/presets'; import { toggleGeneralAIOnboarding } from '@affine/core/components/affine/ai-onboarding/apis'; import type { GlobalDialogService } from '@affine/core/modules/dialogs'; import { @@ -9,6 +8,7 @@ import { import { assertExists } from '@blocksuite/affine/global/utils'; import { z } from 'zod'; +import { AIProvider } from './ai-provider'; import type { CopilotClient } from './copilot-client'; import type { PromptKey } from './prompt'; import { textToText, toImage } from './request'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/tracker.ts b/packages/frontend/core/src/blocksuite/ai/provider/tracker.ts similarity index 99% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/tracker.ts rename to packages/frontend/core/src/blocksuite/ai/provider/tracker.ts index a03dbd8c2..8037e9815 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/tracker.ts +++ b/packages/frontend/core/src/blocksuite/ai/provider/tracker.ts @@ -1,10 +1,11 @@ -import { AIProvider } from '@affine/core/blocksuite/presets'; import { mixpanel, track } from '@affine/track'; import type { EditorHost } from '@blocksuite/affine/block-std'; import type { GfxPrimitiveElementModel } from '@blocksuite/affine/block-std/gfx'; import type { BlockModel } from '@blocksuite/affine/store'; import { lowerCase, omit } from 'lodash-es'; +import { AIProvider } from './ai-provider'; + type ElementModel = GfxPrimitiveElementModel; type AIActionEventName = diff --git a/packages/frontend/core/src/blocksuite/presets/ai/slides/index.ts b/packages/frontend/core/src/blocksuite/ai/slides/index.ts similarity index 89% rename from packages/frontend/core/src/blocksuite/presets/ai/slides/index.ts rename to packages/frontend/core/src/blocksuite/ai/slides/index.ts index 8081b46b3..7517a6532 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/slides/index.ts +++ b/packages/frontend/core/src/blocksuite/ai/slides/index.ts @@ -2,7 +2,7 @@ import type { EditorHost } from '@blocksuite/affine/block-std'; import { GfxControllerIdentifier } from '@blocksuite/affine/block-std/gfx'; import type { BlockSnapshot } from '@blocksuite/affine/store'; -import { markdownToSnapshot } from '../../_common'; +import { markdownToSnapshot } from '../../utils'; import { getSurfaceElementFromEditor } from '../utils/selection-utils'; import { createTemplateJob } from '../utils/template-job'; import { @@ -58,7 +58,10 @@ export const PPTBuilder = (host: EditorHost) => { try { const snapshot = await markdownToSnapshot(text, host); - const block = snapshot.snapshot.content[0]; + const block = snapshot.snapshot?.content[0]; + if (!block) { + return; + } for (const child of block.children) { await addDoc(child); gfx.fitToScreen(); @@ -71,7 +74,10 @@ export const PPTBuilder = (host: EditorHost) => { }, done: async (text: string) => { const snapshot = await markdownToSnapshot(text, host); - const block = snapshot.snapshot.content[0]; + const block = snapshot.snapshot?.content[0]; + if (!block) { + return; + } await addDoc(block.children[block.children.length - 1]); }, }; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/slides/template.ts b/packages/frontend/core/src/blocksuite/ai/slides/template.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/slides/template.ts rename to packages/frontend/core/src/blocksuite/ai/slides/template.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/slides/templates/cover.json b/packages/frontend/core/src/blocksuite/ai/slides/templates/cover.json similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/slides/templates/cover.json rename to packages/frontend/core/src/blocksuite/ai/slides/templates/cover.json diff --git a/packages/frontend/core/src/blocksuite/presets/ai/slides/templates/four.json b/packages/frontend/core/src/blocksuite/ai/slides/templates/four.json similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/slides/templates/four.json rename to packages/frontend/core/src/blocksuite/ai/slides/templates/four.json diff --git a/packages/frontend/core/src/blocksuite/presets/ai/slides/templates/one.json b/packages/frontend/core/src/blocksuite/ai/slides/templates/one.json similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/slides/templates/one.json rename to packages/frontend/core/src/blocksuite/ai/slides/templates/one.json diff --git a/packages/frontend/core/src/blocksuite/presets/ai/slides/templates/three.json b/packages/frontend/core/src/blocksuite/ai/slides/templates/three.json similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/slides/templates/three.json rename to packages/frontend/core/src/blocksuite/ai/slides/templates/three.json diff --git a/packages/frontend/core/src/blocksuite/presets/ai/slides/templates/two.json b/packages/frontend/core/src/blocksuite/ai/slides/templates/two.json similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/slides/templates/two.json rename to packages/frontend/core/src/blocksuite/ai/slides/templates/two.json diff --git a/packages/frontend/core/src/blocksuite/presets/ai/tool/copilot-tool.ts b/packages/frontend/core/src/blocksuite/ai/tool/copilot-tool.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/tool/copilot-tool.ts rename to packages/frontend/core/src/blocksuite/ai/tool/copilot-tool.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/action-reporter.ts b/packages/frontend/core/src/blocksuite/ai/utils/action-reporter.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/action-reporter.ts rename to packages/frontend/core/src/blocksuite/ai/utils/action-reporter.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/ai-widgets.ts b/packages/frontend/core/src/blocksuite/ai/utils/ai-widgets.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/ai-widgets.ts rename to packages/frontend/core/src/blocksuite/ai/utils/ai-widgets.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/connector.ts b/packages/frontend/core/src/blocksuite/ai/utils/connector.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/connector.ts rename to packages/frontend/core/src/blocksuite/ai/utils/connector.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/context.ts b/packages/frontend/core/src/blocksuite/ai/utils/context.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/context.ts rename to packages/frontend/core/src/blocksuite/ai/utils/context.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/edgeless.ts b/packages/frontend/core/src/blocksuite/ai/utils/edgeless.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/edgeless.ts rename to packages/frontend/core/src/blocksuite/ai/utils/edgeless.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/editor-actions.ts b/packages/frontend/core/src/blocksuite/ai/utils/editor-actions.ts similarity index 95% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/editor-actions.ts rename to packages/frontend/core/src/blocksuite/ai/utils/editor-actions.ts index 1681b6d98..160c17890 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/utils/editor-actions.ts +++ b/packages/frontend/core/src/blocksuite/ai/utils/editor-actions.ts @@ -16,7 +16,7 @@ import { insertFromMarkdown, markDownToDoc, markdownToSnapshot, -} from '../../_common'; +} from '../../utils'; import type { AffineAIPanelWidget } from '../widgets/ai-panel/ai-panel'; const getNoteId = (blockElement: BlockComponent) => { @@ -113,12 +113,14 @@ export const replace = async ( if (textSelection) { host.std.command.exec(deleteTextCommand, { textSelection }); const { snapshot, transformer } = await markdownToSnapshot(content, host); - await transformer.snapshotToSlice( - snapshot, - host.doc, - firstBlockParent.model.id, - firstIndex + 1 - ); + if (snapshot) { + await transformer.snapshotToSlice( + snapshot, + host.doc, + firstBlockParent.model.id, + firstIndex + 1 + ); + } } else { selectedModels.forEach(model => { host.doc.deleteBlock(model); diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/extract.ts b/packages/frontend/core/src/blocksuite/ai/utils/extract.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/extract.ts rename to packages/frontend/core/src/blocksuite/ai/utils/extract.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/html.ts b/packages/frontend/core/src/blocksuite/ai/utils/html.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/html.ts rename to packages/frontend/core/src/blocksuite/ai/utils/html.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/image.ts b/packages/frontend/core/src/blocksuite/ai/utils/image.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/image.ts rename to packages/frontend/core/src/blocksuite/ai/utils/image.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/selection-utils.ts b/packages/frontend/core/src/blocksuite/ai/utils/selection-utils.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/selection-utils.ts rename to packages/frontend/core/src/blocksuite/ai/utils/selection-utils.ts index 30e3b2634..d628ed2ae 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/utils/selection-utils.ts +++ b/packages/frontend/core/src/blocksuite/ai/utils/selection-utils.ts @@ -24,7 +24,7 @@ import { toDraftModel, } from '@blocksuite/affine/store'; -import { getContentFromSlice } from '../../_common'; +import { getContentFromSlice } from '../../utils'; import type { CopilotTool } from '../tool/copilot-tool'; import { getEdgelessCopilotWidget } from './edgeless'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/template-job.ts b/packages/frontend/core/src/blocksuite/ai/utils/template-job.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/utils/template-job.ts rename to packages/frontend/core/src/blocksuite/ai/utils/template-job.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/ai-panel.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/ai-panel.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/ai-panel.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/ai-panel.ts index b6c0e8500..943808604 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/ai-panel.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/ai-panel.ts @@ -26,7 +26,7 @@ import { css, html, nothing, type PropertyValues } from 'lit'; import { property, query } from 'lit/decorators.js'; import { choose } from 'lit/directives/choose.js'; -import type { AIError } from '../../_common/components/ai-item/types.js'; +import type { AIError } from '../../components/ai-item/types.js'; import type { AIPanelGenerating } from './components/index.js'; import type { AffineAIPanelState, AffineAIPanelWidgetConfig } from './type.js'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/divider.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/divider.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/divider.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/divider.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/finish-tip.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/finish-tip.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/finish-tip.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/finish-tip.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/generating-placeholder.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/generating-placeholder.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/generating-placeholder.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/generating-placeholder.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/index.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/index.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/answer.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/answer.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/answer.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/answer.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/error.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/error.ts similarity index 99% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/error.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/error.ts index 21130eeab..2f13d900d 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/error.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/error.ts @@ -8,7 +8,7 @@ import { choose } from 'lit/directives/choose.js'; import { AIErrorType, type AIItemGroupConfig, -} from '../../../../_common/components/ai-item/types.js'; +} from '../../../../components/ai-item/types.js'; import type { AIPanelErrorConfig, CopyConfig } from '../../type.js'; import { filterAIItemGroup } from '../../utils.js'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/generating.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/generating.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/generating.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/generating.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/index.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/index.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/index.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/input.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/input.ts similarity index 100% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/components/state/input.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/input.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/type.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/type.ts similarity index 97% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/type.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/type.ts index a954fd4ea..0076a663c 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/type.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/type.ts @@ -4,7 +4,7 @@ import type { nothing, TemplateResult } from 'lit'; import type { AIError, AIItemGroupConfig, -} from '../../_common/components/ai-item/types'; +} from '../../components/ai-item/types'; export interface CopyConfig { allowed: boolean; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/utils.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/utils.ts similarity index 87% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/utils.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/utils.ts index 99b343136..d26160950 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/widgets/ai-panel/utils.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/utils.ts @@ -1,7 +1,7 @@ import type { EditorHost } from '@blocksuite/affine/block-std'; import { isInsidePageEditor } from '@blocksuite/affine/blocks'; -import type { AIItemGroupConfig } from '../../_common/components/ai-item/types'; +import type { AIItemGroupConfig } from '../../components/ai-item/types'; export function filterAIItemGroup( host: EditorHost, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot-panel/index.ts b/packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot-panel/index.ts similarity index 96% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot-panel/index.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot-panel/index.ts index 756c92ee3..099483bd2 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot-panel/index.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot-panel/index.ts @@ -4,7 +4,7 @@ import { WithDisposable } from '@blocksuite/affine/global/utils'; import { css, html, LitElement, nothing } from 'lit'; import { property } from 'lit/decorators.js'; -import type { AIItemGroupConfig } from '../../_common/components/ai-item/types'; +import type { AIItemGroupConfig } from '../../components/ai-item/types'; export class EdgelessCopilotPanel extends WithDisposable(LitElement) { static override styles = css` diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot-panel/toolbar-entry.ts b/packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot-panel/toolbar-entry.ts similarity index 96% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot-panel/toolbar-entry.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot-panel/toolbar-entry.ts index b80323a7b..2e9d5a9a1 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot-panel/toolbar-entry.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot-panel/toolbar-entry.ts @@ -8,7 +8,7 @@ import { WithDisposable } from '@blocksuite/affine/global/utils'; import { css, html, LitElement } from 'lit'; import { property } from 'lit/decorators.js'; -import type { AIItemGroupConfig } from '../../_common/components/ai-item/types'; +import type { AIItemGroupConfig } from '../../components/ai-item/types'; import type { CopilotTool } from '../../tool/copilot-tool'; export class EdgelessCopilotToolbarEntry extends WithDisposable(LitElement) { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot/index.ts b/packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot/index.ts similarity index 98% rename from packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot/index.ts rename to packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot/index.ts index b1e2d11fc..2c74a6ccd 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/widgets/edgeless-copilot/index.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/edgeless-copilot/index.ts @@ -23,7 +23,7 @@ import { css, html, nothing } from 'lit'; import { query, state } from 'lit/decorators.js'; import { styleMap } from 'lit/directives/style-map.js'; -import type { AIItemGroupConfig } from '../../_common/components/ai-item/types.js'; +import type { AIItemGroupConfig } from '../../components/ai-item/types.js'; import { AFFINE_AI_PANEL_WIDGET, AffineAIPanelWidget, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/bi-directional-link-panel.css.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/bi-directional-link-panel.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/bi-directional-link-panel.css.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/bi-directional-link-panel.css.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/bi-directional-link-panel.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/bi-directional-link-panel.tsx similarity index 98% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/bi-directional-link-panel.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/bi-directional-link-panel.tsx index 1af38aa8a..0752f7574 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/bi-directional-link-panel.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/bi-directional-link-panel.tsx @@ -4,7 +4,6 @@ import { Divider, useLitPortalFactory, } from '@affine/component'; -import { TextRenderer } from '@affine/core/blocksuite/presets'; import { DocService } from '@affine/core/modules/doc'; import { type Backlink, @@ -40,7 +39,8 @@ import React, { import { AffinePageReference, AffineSharedPageReference, -} from '../../affine/reference-link'; +} from '../../components/affine/reference-link'; +import { TextRenderer } from '../ai/components/text-renderer'; import * as styles from './bi-directional-link-panel.css'; import { patchReferenceRenderer, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor-container.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor-container.tsx similarity index 98% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor-container.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor-container.tsx index db9df44a5..2eacc05a4 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor-container.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor-container.tsx @@ -24,7 +24,7 @@ import { useRef, } from 'react'; -import type { DefaultOpenProperty } from '../../doc-properties'; +import type { DefaultOpenProperty } from '../../components/doc-properties'; import { BlocksuiteDocEditor, BlocksuiteEdgelessEditor } from './lit-adaper'; import * as styles from './styles.css'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor.tsx similarity index 98% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor.tsx index 4bf489083..029a39cf1 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor.tsx @@ -19,7 +19,7 @@ import { cssVar } from '@toeverything/theme'; import type { CSSProperties } from 'react'; import { useEffect, useMemo, useState } from 'react'; -import type { DefaultOpenProperty } from '../../doc-properties'; +import type { DefaultOpenProperty } from '../../components/doc-properties'; import { type AffineEditorContainer, BlocksuiteEditorContainer, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/index.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/index.ts similarity index 74% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/index.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/index.ts index 8f91c5fec..b878a7d61 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/index.ts +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/index.ts @@ -1,5 +1,5 @@ +import { registerAIEffects } from '@affine/core/blocksuite/ai/effects'; import { effects as editorEffects } from '@affine/core/blocksuite/editors'; -import { registerBlocksuitePresetsCustomComponents } from '@affine/core/blocksuite/presets/effects'; import { effects as bsEffects } from '@blocksuite/affine/effects'; import { effects as edgelessEffects } from './specs/edgeless'; @@ -9,7 +9,7 @@ bsEffects(); patchEffects(); editorEffects(); edgelessEffects(); -registerBlocksuitePresetsCustomComponents(); +registerAIEffects(); export * from './blocksuite-editor'; export * from './blocksuite-editor-container'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/journal-doc-title.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/journal-doc-title.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/journal-doc-title.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/journal-doc-title.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/lit-adaper.tsx similarity index 99% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/lit-adaper.tsx index c657b4a3d..0f5e1b66d 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/lit-adaper.tsx @@ -47,11 +47,11 @@ import React, { import { AffinePageReference, AffineSharedPageReference, -} from '../../affine/reference-link'; +} from '../../components/affine/reference-link'; import { type DefaultOpenProperty, DocPropertiesTable, -} from '../../doc-properties'; +} from '../../components/doc-properties'; import { BiDirectionalLinkPanel } from './bi-directional-link-panel'; import { BlocksuiteEditorJournalDocTitle } from './journal-doc-title'; import { extendEdgelessPreviewSpec } from './specs/custom/root-block'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/no-page-error.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/no-page-error.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/no-page-error.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/no-page-error.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/common.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/common.ts similarity index 91% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/common.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/common.ts index ee64a8fd9..39042e5e4 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/common.ts +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/common.ts @@ -1,9 +1,9 @@ -import { AIChatBlockSpec } from '@affine/core/blocksuite/blocks'; import { AICodeBlockSpec, AIImageBlockSpec, AIParagraphBlockSpec, -} from '@affine/core/blocksuite/presets'; +} from '@affine/core/blocksuite/ai'; +import { AIChatBlockSpec } from '@affine/core/blocksuite/ai/blocks'; import { AdapterFactoryExtensions, AttachmentBlockSpec, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/database-block.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/database-block.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/database-block.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/database-block.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/root-block.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/root-block.ts similarity index 98% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/root-block.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/root-block.ts index fde584a3f..234a2ee26 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/root-block.ts +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/root-block.ts @@ -1,9 +1,9 @@ -import { AIChatBlockSpec } from '@affine/core/blocksuite/blocks'; import { AICodeBlockSpec, AIImageBlockSpec, AIParagraphBlockSpec, -} from '@affine/core/blocksuite/presets'; +} from '@affine/core/blocksuite/ai'; +import { AIChatBlockSpec } from '@affine/core/blocksuite/ai/blocks'; import { DocService, DocsService } from '@affine/core/modules/doc'; import { DocDisplayMetaService } from '@affine/core/modules/doc-display-meta'; import { EditorSettingService } from '@affine/core/modules/editor-setting'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx similarity index 98% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx index d083b4ce6..3481d93e4 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx @@ -7,7 +7,7 @@ import { toReactNode, type useConfirmModal, } from '@affine/component'; -import { AIChatBlockSchema } from '@affine/core/blocksuite/blocks'; +import { AIChatBlockSchema } from '@affine/core/blocksuite/ai/blocks'; import { WorkspaceServerService } from '@affine/core/modules/cloud'; import { DesktopApiService } from '@affine/core/modules/desktop-api'; import { type DocService, DocsService } from '@affine/core/modules/doc'; @@ -93,9 +93,9 @@ import { customElement } from 'lit/decorators.js'; import { literal } from 'lit/static-html.js'; import { pick } from 'lodash-es'; -import type { DocProps } from '../../../../../blocksuite/initialization'; -import { AttachmentEmbedPreview } from '../../../../attachment-viewer/pdf-viewer-embedded'; -import { generateUrl } from '../../../../hooks/affine/use-share-url'; +import { AttachmentEmbedPreview } from '../../../../components/attachment-viewer/pdf-viewer-embedded'; +import { generateUrl } from '../../../../components/hooks/affine/use-share-url'; +import type { DocProps } from '../../../initialization'; import { BlocksuiteEditorJournalDocTitle } from '../../journal-doc-title'; import { EdgelessNoteHeader } from './widgets/edgeless-note-header'; import { createKeyboardToolbarConfig } from './widgets/keyboard-toolbar'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/copy-as-image.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/copy-as-image.ts similarity index 99% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/copy-as-image.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/copy-as-image.ts index cdf1229e6..77f270975 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/copy-as-image.ts +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/copy-as-image.ts @@ -1,5 +1,5 @@ import { notify } from '@affine/component'; -import { isMindmapChild, isMindMapRoot } from '@affine/core/blocksuite/presets'; +import { isMindmapChild, isMindMapRoot } from '@affine/core/blocksuite/ai'; import { EditorService } from '@affine/core/modules/editor'; import { apis } from '@affine/electron-api'; import { I18n } from '@affine/i18n'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.css.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.css.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.css.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/edgeless-note-header.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/keyboard-toolbar.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/keyboard-toolbar.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/keyboard-toolbar.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/keyboard-toolbar.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/linked.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/linked.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/linked.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/linked.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/toolbar.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/toolbar.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/widgets/toolbar.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/custom/widgets/toolbar.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/edgeless.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/edgeless.ts similarity index 98% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/edgeless.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/edgeless.ts index 5cb518d8b..c6819f175 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/edgeless.ts +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/edgeless.ts @@ -1,4 +1,4 @@ -import { createAIEdgelessRootBlockSpec } from '@affine/core/blocksuite/presets'; +import { createAIEdgelessRootBlockSpec } from '@affine/core/blocksuite/ai'; import { FeatureFlagService } from '@affine/core/modules/feature-flag'; import { builtInTemplates as builtInEdgelessTemplates } from '@affine/templates/edgeless'; import { builtInTemplates as builtInStickersTemplates } from '@affine/templates/stickers'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/font-extension.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/font-extension.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/font-extension.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/font-extension.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/page.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/page.ts similarity index 98% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/page.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/page.ts index dc8db33f6..24287809a 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/page.ts +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/page.ts @@ -1,4 +1,4 @@ -import { createAIPageRootBlockSpec } from '@affine/core/blocksuite/presets'; +import { createAIPageRootBlockSpec } from '@affine/core/blocksuite/ai'; import { FeatureFlagService } from '@affine/core/modules/feature-flag'; import { PageRootBlockSpec, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/preview.ts similarity index 97% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/specs/preview.ts index 4818d705a..ef9a5dbcc 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/specs/preview.ts @@ -1,4 +1,4 @@ -import { AIChatBlockSpec } from '@affine/core/blocksuite/blocks'; +import { AIChatBlockSpec } from '@affine/core/blocksuite/ai/blocks'; import { PeekViewService } from '@affine/core/modules/peek-view/services/peek-view'; import { AppThemeService } from '@affine/core/modules/theme'; import { diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.css.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/starter-bar.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.css.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/starter-bar.css.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/starter-bar.tsx similarity index 97% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.tsx rename to packages/frontend/core/src/blocksuite/block-suite-editor/starter-bar.tsx index 8109fe5b6..260b6332c 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/starter-bar.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/starter-bar.tsx @@ -1,7 +1,7 @@ import { handleInlineAskAIAction, pageAIGroups, -} from '@affine/core/blocksuite/presets'; +} from '@affine/core/blocksuite/ai'; import { DocsService } from '@affine/core/modules/doc'; import { EditorService } from '@affine/core/modules/editor'; import { FeatureFlagService } from '@affine/core/modules/feature-flag'; @@ -27,7 +27,7 @@ import { useState, } from 'react'; -import { useAsyncCallback } from '../../hooks/affine-async-hooks'; +import { useAsyncCallback } from '../../components/hooks/affine-async-hooks'; import * as styles from './starter-bar.css'; const Badge = forwardRef< diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/styles.css.ts b/packages/frontend/core/src/blocksuite/block-suite-editor/styles.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-editor/styles.css.ts rename to packages/frontend/core/src/blocksuite/block-suite-editor/styles.css.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/favorite/index.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/favorite/index.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/favorite/index.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/favorite/index.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/info/index.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/info/index.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/info/index.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/info/index.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/journal/date-picker.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/journal/date-picker.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/journal/date-picker.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/journal/date-picker.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/journal/today-button.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/journal/today-button.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/journal/today-button.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/journal/today-button.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/history-tips-modal/index.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/menu/history-tips-modal/index.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/menu/history-tips-modal/index.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/menu/history-tips-modal/index.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/history-tips-modal/top-svg.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/menu/history-tips-modal/top-svg.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/menu/history-tips-modal/top-svg.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/menu/history-tips-modal/top-svg.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/menu/index.tsx similarity index 99% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/menu/index.tsx index e30888fe6..092914748 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-header/menu/index.tsx @@ -45,7 +45,7 @@ import { } from '@toeverything/infra'; import { useCallback, useState } from 'react'; -import { HeaderDropDownButton } from '../../../pure/header-drop-down-button'; +import { HeaderDropDownButton } from '../../../components/pure/header-drop-down-button'; import { useFavorite } from '../favorite'; import { HistoryTipsModal } from './history-tips-modal'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/present/detail-header-present-button.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/present/detail-header-present-button.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/present/detail-header-present-button.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/present/detail-header-present-button.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/title/index.tsx b/packages/frontend/core/src/blocksuite/block-suite-header/title/index.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/title/index.tsx rename to packages/frontend/core/src/blocksuite/block-suite-header/title/index.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/title/style.css.ts b/packages/frontend/core/src/blocksuite/block-suite-header/title/style.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-header/title/style.css.ts rename to packages/frontend/core/src/blocksuite/block-suite-header/title/style.css.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/animation-data/edgeless-hover.json b/packages/frontend/core/src/blocksuite/block-suite-mode-switch/animation-data/edgeless-hover.json similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/animation-data/edgeless-hover.json rename to packages/frontend/core/src/blocksuite/block-suite-mode-switch/animation-data/edgeless-hover.json diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/animation-data/page-hover.json b/packages/frontend/core/src/blocksuite/block-suite-mode-switch/animation-data/page-hover.json similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/animation-data/page-hover.json rename to packages/frontend/core/src/blocksuite/block-suite-mode-switch/animation-data/page-hover.json diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/index.tsx b/packages/frontend/core/src/blocksuite/block-suite-mode-switch/index.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/index.tsx rename to packages/frontend/core/src/blocksuite/block-suite-mode-switch/index.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/style.css.ts b/packages/frontend/core/src/blocksuite/block-suite-mode-switch/style.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/style.css.ts rename to packages/frontend/core/src/blocksuite/block-suite-mode-switch/style.css.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/switch-items.tsx b/packages/frontend/core/src/blocksuite/block-suite-mode-switch/switch-items.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/switch-items.tsx rename to packages/frontend/core/src/blocksuite/block-suite-mode-switch/switch-items.tsx diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-page-list/index.css.ts b/packages/frontend/core/src/blocksuite/block-suite-page-list/index.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-page-list/index.css.ts rename to packages/frontend/core/src/blocksuite/block-suite-page-list/index.css.ts diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-page-list/utils.tsx b/packages/frontend/core/src/blocksuite/block-suite-page-list/utils.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/block-suite-page-list/utils.tsx rename to packages/frontend/core/src/blocksuite/block-suite-page-list/utils.tsx diff --git a/packages/frontend/core/src/components/blocksuite/outline-viewer/index.tsx b/packages/frontend/core/src/blocksuite/outline-viewer/index.tsx similarity index 100% rename from packages/frontend/core/src/components/blocksuite/outline-viewer/index.tsx rename to packages/frontend/core/src/blocksuite/outline-viewer/index.tsx diff --git a/packages/frontend/core/src/components/blocksuite/outline-viewer/outline-viewer.css.ts b/packages/frontend/core/src/blocksuite/outline-viewer/outline-viewer.css.ts similarity index 100% rename from packages/frontend/core/src/components/blocksuite/outline-viewer/outline-viewer.css.ts rename to packages/frontend/core/src/blocksuite/outline-viewer/outline-viewer.css.ts diff --git a/packages/frontend/core/src/blocksuite/presets/_common/index.ts b/packages/frontend/core/src/blocksuite/presets/_common/index.ts deleted file mode 100644 index 34710ae22..000000000 --- a/packages/frontend/core/src/blocksuite/presets/_common/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './components/text-renderer'; -export * from './utils/markdown-utils'; diff --git a/packages/frontend/core/src/blocksuite/presets/_common/utils/custom-specs.ts b/packages/frontend/core/src/blocksuite/presets/_common/utils/custom-specs.ts deleted file mode 100644 index 62df9beaa..000000000 --- a/packages/frontend/core/src/blocksuite/presets/_common/utils/custom-specs.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BlockViewIdentifier } from '@blocksuite/affine/block-std'; -import { PageEditorBlockSpecs } from '@blocksuite/affine/blocks'; -import type { ExtensionType } from '@blocksuite/affine/store'; -import { literal } from 'lit/static-html.js'; - -export const CustomPageEditorBlockSpecs: ExtensionType[] = [ - ...PageEditorBlockSpecs, - { - setup: di => { - di.override( - BlockViewIdentifier('affine:page'), - () => literal`affine-page-root` - ); - }, - }, -]; diff --git a/packages/frontend/core/src/blocksuite/presets/index.ts b/packages/frontend/core/src/blocksuite/presets/index.ts deleted file mode 100644 index 8e604b90e..000000000 --- a/packages/frontend/core/src/blocksuite/presets/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './_common'; -export * from './ai'; diff --git a/packages/frontend/core/src/blocksuite/utils/index.ts b/packages/frontend/core/src/blocksuite/utils/index.ts new file mode 100644 index 000000000..dbec8a895 --- /dev/null +++ b/packages/frontend/core/src/blocksuite/utils/index.ts @@ -0,0 +1 @@ +export * from './markdown-utils'; diff --git a/packages/frontend/core/src/blocksuite/presets/_common/utils/markdown-utils.ts b/packages/frontend/core/src/blocksuite/utils/markdown-utils.ts similarity index 78% rename from packages/frontend/core/src/blocksuite/presets/_common/utils/markdown-utils.ts rename to packages/frontend/core/src/blocksuite/utils/markdown-utils.ts index 85c9d8d7f..6edfc76ce 100644 --- a/packages/frontend/core/src/blocksuite/presets/_common/utils/markdown-utils.ts +++ b/packages/frontend/core/src/blocksuite/utils/markdown-utils.ts @@ -14,7 +14,6 @@ import { titleMiddleware, } from '@blocksuite/affine/blocks'; import type { ServiceProvider } from '@blocksuite/affine/global/di'; -import { assertExists } from '@blocksuite/affine/global/utils'; import type { BlockModel, BlockSnapshot, @@ -46,7 +45,9 @@ function processSnapshot( host: EditorHost ) { const model = host.doc.getBlockById(snapshot.id); - assertExists(model); + if (!model) { + return; + } const modelId = model.id; if (text.from.blockId === modelId) { @@ -108,30 +109,6 @@ export async function getContentFromSlice( return content.file; } -export async function getPlainTextFromSlice(host: EditorHost, slice: Slice) { - const transformer = new Transformer({ - schema: host.std.store.workspace.schema, - blobCRUD: host.std.store.workspace.blobSync, - docCRUD: { - create: (id: string) => host.std.store.workspace.createDoc({ id }), - get: (id: string) => host.std.store.workspace.getDoc(id), - delete: (id: string) => host.std.store.workspace.removeDoc(id), - }, - middlewares: [titleMiddleware(host.std.store.workspace.meta.docMetas)], - }); - const snapshot = transformer.sliceToSnapshot(slice); - if (!snapshot) { - return ''; - } - processTextInSnapshot(snapshot, host); - const plainTextAdapter = new PlainTextAdapter(transformer, host.std.provider); - const plainText = await plainTextAdapter.fromSliceSnapshot({ - snapshot, - assets: transformer.assetsManager, - }); - return plainText.file; -} - export const markdownToSnapshot = async ( markdown: string, host: EditorHost @@ -155,7 +132,6 @@ export const markdownToSnapshot = async ( }; const snapshot = await markdownAdapter.toSliceSnapshot(payload); - assertExists(snapshot, 'import markdown failed, expected to get a snapshot'); return { snapshot, @@ -172,7 +148,7 @@ export async function insertFromMarkdown( ) { const { snapshot, transformer } = await markdownToSnapshot(markdown, host); - const snapshots = snapshot.content.flatMap(x => x.children); + const snapshots = snapshot?.content.flatMap(x => x.children) ?? []; const models: BlockModel[] = []; for (let i = 0; i < snapshots.length; i++) { @@ -191,17 +167,6 @@ export async function insertFromMarkdown( return models; } -// FIXME: replace when selection is block is buggy right not -export async function replaceFromMarkdown( - host: EditorHost, - markdown: string, - parent?: string, - index?: number -) { - const { snapshot, transformer } = await markdownToSnapshot(markdown, host); - await transformer.snapshotToSlice(snapshot, host.doc, parent, index); -} - export async function markDownToDoc( provider: ServiceProvider, schema: Schema, diff --git a/packages/frontend/core/src/commands/affine-creation.tsx b/packages/frontend/core/src/commands/affine-creation.tsx index be82ab557..4ae6d9d77 100644 --- a/packages/frontend/core/src/commands/affine-creation.tsx +++ b/packages/frontend/core/src/commands/affine-creation.tsx @@ -3,7 +3,7 @@ import { track } from '@affine/track'; import type { DocMode } from '@blocksuite/affine/blocks'; import { ImportIcon, PlusIcon } from '@blocksuite/icons/rc'; -import type { usePageHelper } from '../components/blocksuite/block-suite-page-list/utils'; +import type { usePageHelper } from '../blocksuite/block-suite-page-list/utils'; import type { GlobalDialogService } from '../modules/dialogs'; import { registerAffineCommand } from './registry'; diff --git a/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/no-page-root-fallback.tsx b/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/no-page-root-fallback.tsx index aa44b260e..4051bf5b6 100644 --- a/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/no-page-root-fallback.tsx +++ b/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/no-page-root-fallback.tsx @@ -1,4 +1,4 @@ -import { NoPageRootError } from '@affine/core/components/blocksuite/block-suite-editor/no-page-error'; +import { NoPageRootError } from '@affine/core/blocksuite/block-suite-editor/no-page-error'; import { useI18n } from '@affine/i18n'; import { ContactUS, ErrorDetail } from '../error-basic/error-detail'; diff --git a/packages/frontend/core/src/components/affine/empty/docs.tsx b/packages/frontend/core/src/components/affine/empty/docs.tsx index 1e3d3ebb3..16eae2110 100644 --- a/packages/frontend/core/src/components/affine/empty/docs.tsx +++ b/packages/frontend/core/src/components/affine/empty/docs.tsx @@ -6,7 +6,7 @@ import { AllDocsIcon } from '@blocksuite/icons/rc'; import { useLiveData, useService } from '@toeverything/infra'; import { type MouseEvent, useCallback } from 'react'; -import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '../../../blocksuite/block-suite-page-list/utils'; import { ActionButton } from './action-button'; import docsIllustrationDark from './assets/docs.dark.png'; import docsIllustrationLight from './assets/docs.light.png'; diff --git a/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx b/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx index 945603672..5e35ac1dd 100644 --- a/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx +++ b/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx @@ -32,9 +32,9 @@ import { } from 'react'; import { encodeStateAsUpdate } from 'yjs'; +import { BlockSuiteEditor } from '../../../blocksuite/block-suite-editor'; +import { PureEditorModeSwitch } from '../../../blocksuite/block-suite-mode-switch'; import { pageHistoryModalAtom } from '../../atoms/page-history'; -import { BlockSuiteEditor } from '../../blocksuite/block-suite-editor'; -import { PureEditorModeSwitch } from '../../blocksuite/block-suite-mode-switch'; import { AffineErrorBoundary } from '../affine-error-boundary'; import { historyListGroupByDay, diff --git a/packages/frontend/core/src/components/hooks/affine/use-export-page.ts b/packages/frontend/core/src/components/hooks/affine/use-export-page.ts index 506fe823a..8452302f4 100644 --- a/packages/frontend/core/src/components/hooks/affine/use-export-page.ts +++ b/packages/frontend/core/src/components/hooks/affine/use-export-page.ts @@ -26,7 +26,7 @@ import { useLiveData, useService } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { nanoid } from 'nanoid'; -import type { AffineEditorContainer } from '../../blocksuite/block-suite-editor/blocksuite-editor-container'; +import type { AffineEditorContainer } from '../../../blocksuite/block-suite-editor/blocksuite-editor-container'; import { useAsyncCallback } from '../affine-async-hooks'; type ExportType = 'pdf' | 'html' | 'png' | 'markdown' | 'snapshot'; diff --git a/packages/frontend/core/src/components/hooks/use-block-suite-editor.ts b/packages/frontend/core/src/components/hooks/use-block-suite-editor.ts index d45498440..bd5c1fb37 100644 --- a/packages/frontend/core/src/components/hooks/use-block-suite-editor.ts +++ b/packages/frontend/core/src/components/hooks/use-block-suite-editor.ts @@ -1,7 +1,7 @@ import type { SetStateAction } from 'jotai'; import { atom, useAtom } from 'jotai'; -import type { AffineEditorContainer } from '../blocksuite/block-suite-editor'; +import type { AffineEditorContainer } from '../../blocksuite/block-suite-editor'; const activeEditorContainerAtom = atom(null); diff --git a/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts b/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts index 9b3c57133..8e64f9c09 100644 --- a/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts +++ b/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts @@ -14,6 +14,8 @@ import { useStore } from 'jotai'; import { useTheme } from 'next-themes'; import { useEffect } from 'react'; +import type { AffineEditorContainer } from '../../blocksuite/block-suite-editor'; +import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils'; import { PreconditionStrategy, registerAffineCommand, @@ -25,10 +27,8 @@ import { registerAffineSettingsCommands, registerAffineUpdatesCommands, } from '../../commands'; -import { usePageHelper } from '../../components/blocksuite/block-suite-page-list/utils'; import { EditorSettingService } from '../../modules/editor-setting'; import { CMDKQuickSearchService } from '../../modules/quicksearch/services/cmdk'; -import type { AffineEditorContainer } from '../blocksuite/block-suite-editor'; import { useActiveBlocksuiteEditor } from './use-block-suite-editor'; import { useNavigateHelper } from './use-navigate-helper'; diff --git a/packages/frontend/core/src/components/page-detail-editor.tsx b/packages/frontend/core/src/components/page-detail-editor.tsx index ac7fa5d15..47b14f13b 100644 --- a/packages/frontend/core/src/components/page-detail-editor.tsx +++ b/packages/frontend/core/src/components/page-detail-editor.tsx @@ -4,11 +4,11 @@ import { useLiveData, useService } from '@toeverything/infra'; import clsx from 'clsx'; import { useEffect } from 'react'; +import type { AffineEditorContainer } from '../blocksuite/block-suite-editor'; +import { BlockSuiteEditor } from '../blocksuite/block-suite-editor'; import { DocService } from '../modules/doc'; import { EditorService } from '../modules/editor'; import { EditorSettingService } from '../modules/editor-setting'; -import type { AffineEditorContainer } from './blocksuite/block-suite-editor'; -import { BlockSuiteEditor } from './blocksuite/block-suite-editor'; import * as styles from './page-detail-editor.css'; declare global { diff --git a/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx b/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx index d77b22530..fc048c44d 100644 --- a/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx +++ b/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx @@ -28,8 +28,8 @@ import clsx from 'clsx'; import { useCallback, useMemo, useState } from 'react'; import { Link } from 'react-router-dom'; +import { usePageHelper } from '../../../blocksuite/block-suite-page-list/utils'; import { CollectionService } from '../../../modules/collection'; -import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils'; import { createTagFilter } from '../filter/utils'; import { SaveAsCollectionButton } from '../view'; import * as styles from './page-list-header.css'; diff --git a/packages/frontend/core/src/components/page-list/operation-cell.tsx b/packages/frontend/core/src/components/page-list/operation-cell.tsx index 6a4bb3812..083ce5e28 100644 --- a/packages/frontend/core/src/components/page-list/operation-cell.tsx +++ b/packages/frontend/core/src/components/page-list/operation-cell.tsx @@ -39,8 +39,8 @@ import { useLiveData, useService, useServices } from '@toeverything/infra'; import type { MouseEvent } from 'react'; import { useCallback, useState } from 'react'; +import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils'; import type { CollectionService } from '../../modules/collection'; -import { usePageHelper } from '../blocksuite/block-suite-page-list/utils'; import { IsFavoriteIcon } from '../pure/icons'; import { FavoriteTag } from './components/favorite-tag'; import * as styles from './list.css'; diff --git a/packages/frontend/core/src/components/providers/workspace-side-effects.tsx b/packages/frontend/core/src/components/providers/workspace-side-effects.tsx index a415b7ea9..b451681e6 100644 --- a/packages/frontend/core/src/components/providers/workspace-side-effects.tsx +++ b/packages/frontend/core/src/components/providers/workspace-side-effects.tsx @@ -3,7 +3,11 @@ import { pushGlobalLoadingEventAtom, resolveGlobalLoadingEventAtom, } from '@affine/component/global-loading'; -import { AIProvider } from '@affine/core/blocksuite/presets'; +import { + AIProvider, + CopilotClient, + setupAIProvider, +} from '@affine/core/blocksuite/ai'; import { SyncAwareness } from '@affine/core/components/affine/awareness'; import { useRegisterFindInPageCommands } from '@affine/core/components/hooks/affine/use-register-find-in-page-commands'; import { useRegisterWorkspaceCommands } from '@affine/core/components/hooks/use-register-workspace-commands'; @@ -45,9 +49,6 @@ import { timeout, } from 'rxjs'; -import { CopilotClient } from '../blocksuite/block-suite-editor/ai/copilot-client'; -import { setupAIProvider } from '../blocksuite/block-suite-editor/ai/setup-provider'; - /** * @deprecated just for legacy code, will be removed in the future */ diff --git a/packages/frontend/core/src/desktop/dialogs/doc-info/index.tsx b/packages/frontend/core/src/desktop/dialogs/doc-info/index.tsx index 3f584ae97..5fded6e03 100644 --- a/packages/frontend/core/src/desktop/dialogs/doc-info/index.tsx +++ b/packages/frontend/core/src/desktop/dialogs/doc-info/index.tsx @@ -1,5 +1,5 @@ import { Modal, Scrollable } from '@affine/component'; -import { BlocksuiteHeaderTitle } from '@affine/core/components/blocksuite/block-suite-header/title'; +import { BlocksuiteHeaderTitle } from '@affine/core/blocksuite/block-suite-header/title'; import type { DialogComponentProps } from '@affine/core/modules/dialogs'; import type { WORKSPACE_DIALOG_SCHEMA } from '@affine/core/modules/dialogs/constant'; import { type Doc, DocsService } from '@affine/core/modules/doc'; diff --git a/packages/frontend/core/src/desktop/dialogs/doc-info/info-modal.tsx b/packages/frontend/core/src/desktop/dialogs/doc-info/info-modal.tsx index 5096536ff..d0af4c5a4 100644 --- a/packages/frontend/core/src/desktop/dialogs/doc-info/info-modal.tsx +++ b/packages/frontend/core/src/desktop/dialogs/doc-info/info-modal.tsx @@ -5,7 +5,7 @@ import { PropertyCollapsibleContent, PropertyCollapsibleSection, } from '@affine/component'; -import { BacklinkGroups } from '@affine/core/components/blocksuite/block-suite-editor/bi-directional-link-panel'; +import { BacklinkGroups } from '@affine/core/blocksuite/block-suite-editor/bi-directional-link-panel'; import { CreatePropertyMenuItems } from '@affine/core/components/doc-properties/menu/create-doc-property'; import { DocPropertyRow } from '@affine/core/components/doc-properties/table'; import type { DocCustomPropertyInfo } from '@affine/core/modules/db'; diff --git a/packages/frontend/core/src/desktop/pages/workspace/all-page/all-page-header.tsx b/packages/frontend/core/src/desktop/pages/workspace/all-page/all-page-header.tsx index f18e1fb8e..17ef58a54 100644 --- a/packages/frontend/core/src/desktop/pages/workspace/all-page/all-page-header.tsx +++ b/packages/frontend/core/src/desktop/pages/workspace/all-page/all-page-header.tsx @@ -1,4 +1,4 @@ -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { AllPageListOperationsMenu, PageDisplayMenu, diff --git a/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page-header.tsx b/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page-header.tsx index 9191f7c66..d8f2834c3 100644 --- a/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page-header.tsx +++ b/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page-header.tsx @@ -5,14 +5,14 @@ import { observeResize, useDraggable, } from '@affine/component'; -import { FavoriteButton } from '@affine/core/components/blocksuite/block-suite-header/favorite'; -import { InfoButton } from '@affine/core/components/blocksuite/block-suite-header/info'; -import { JournalWeekDatePicker } from '@affine/core/components/blocksuite/block-suite-header/journal/date-picker'; -import { JournalTodayButton } from '@affine/core/components/blocksuite/block-suite-header/journal/today-button'; -import { PageHeaderMenuButton } from '@affine/core/components/blocksuite/block-suite-header/menu'; -import { DetailPageHeaderPresentButton } from '@affine/core/components/blocksuite/block-suite-header/present/detail-header-present-button'; -import { BlocksuiteHeaderTitle } from '@affine/core/components/blocksuite/block-suite-header/title'; -import { EditorModeSwitch } from '@affine/core/components/blocksuite/block-suite-mode-switch'; +import { FavoriteButton } from '@affine/core/blocksuite/block-suite-header/favorite'; +import { InfoButton } from '@affine/core/blocksuite/block-suite-header/info'; +import { JournalWeekDatePicker } from '@affine/core/blocksuite/block-suite-header/journal/date-picker'; +import { JournalTodayButton } from '@affine/core/blocksuite/block-suite-header/journal/today-button'; +import { PageHeaderMenuButton } from '@affine/core/blocksuite/block-suite-header/menu'; +import { DetailPageHeaderPresentButton } from '@affine/core/blocksuite/block-suite-header/present/detail-header-present-button'; +import { BlocksuiteHeaderTitle } from '@affine/core/blocksuite/block-suite-header/title'; +import { EditorModeSwitch } from '@affine/core/blocksuite/block-suite-mode-switch'; import { useRegisterCopyLinkCommands } from '@affine/core/components/hooks/affine/use-register-copy-link-commands'; import { HeaderDivider } from '@affine/core/components/pure/header'; import { DocService } from '@affine/core/modules/doc'; diff --git a/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page.tsx b/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page.tsx index 00ee9fd7e..2ffa6ed9b 100644 --- a/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page.tsx +++ b/packages/frontend/core/src/desktop/pages/workspace/detail-page/detail-page.tsx @@ -1,10 +1,10 @@ import { Scrollable } from '@affine/component'; import { PageDetailSkeleton } from '@affine/component/page-detail-skeleton'; -import type { ChatPanel } from '@affine/core/blocksuite/presets'; -import { AIProvider } from '@affine/core/blocksuite/presets'; +import type { ChatPanel } from '@affine/core/blocksuite/ai'; +import { AIProvider } from '@affine/core/blocksuite/ai'; +import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor'; +import { EditorOutlineViewer } from '@affine/core/blocksuite/outline-viewer'; import { PageAIOnboarding } from '@affine/core/components/affine/ai-onboarding'; -import type { AffineEditorContainer } from '@affine/core/components/blocksuite/block-suite-editor'; -import { EditorOutlineViewer } from '@affine/core/components/blocksuite/outline-viewer'; import { DocPropertySidebar } from '@affine/core/components/doc-properties/sidebar'; import { useAppSettingHelper } from '@affine/core/components/hooks/affine/use-app-setting-helper'; import { DocService } from '@affine/core/modules/doc'; diff --git a/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/chat.tsx b/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/chat.tsx index 0359e195b..9cd1937b5 100644 --- a/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/chat.tsx +++ b/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/chat.tsx @@ -1,6 +1,6 @@ -import { ChatPanel } from '@affine/core/blocksuite/presets'; -import type { AffineEditorContainer } from '@affine/core/components/blocksuite/block-suite-editor'; -import { createPageModePreviewSpecs } from '@affine/core/components/blocksuite/block-suite-editor/specs/preview'; +import { ChatPanel } from '@affine/core/blocksuite/ai'; +import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor'; +import { createPageModePreviewSpecs } from '@affine/core/blocksuite/block-suite-editor/specs/preview'; import { AINetworkSearchService } from '@affine/core/modules/ai-button/services/network-search'; import { DocDisplayMetaService } from '@affine/core/modules/doc-display-meta'; import { DocSearchMenuService } from '@affine/core/modules/doc-search-menu/services'; diff --git a/packages/frontend/core/src/desktop/pages/workspace/share/share-header.tsx b/packages/frontend/core/src/desktop/pages/workspace/share/share-header.tsx index 6fa9124b8..51c03011e 100644 --- a/packages/frontend/core/src/desktop/pages/workspace/share/share-header.tsx +++ b/packages/frontend/core/src/desktop/pages/workspace/share/share-header.tsx @@ -1,5 +1,5 @@ -import { BlocksuiteHeaderTitle } from '@affine/core/components/blocksuite/block-suite-header/title'; -import { EditorModeSwitch } from '@affine/core/components/blocksuite/block-suite-mode-switch'; +import { BlocksuiteHeaderTitle } from '@affine/core/blocksuite/block-suite-header/title'; +import { EditorModeSwitch } from '@affine/core/blocksuite/block-suite-mode-switch'; import ShareHeaderRightItem from '@affine/core/components/cloud/share-header-right-item'; import type { DocMode } from '@blocksuite/affine/blocks'; diff --git a/packages/frontend/core/src/desktop/pages/workspace/share/share-page.tsx b/packages/frontend/core/src/desktop/pages/workspace/share/share-page.tsx index 2abec5aae..fc4962ebf 100644 --- a/packages/frontend/core/src/desktop/pages/workspace/share/share-page.tsx +++ b/packages/frontend/core/src/desktop/pages/workspace/share/share-page.tsx @@ -1,6 +1,6 @@ import { Scrollable } from '@affine/component'; -import type { AffineEditorContainer } from '@affine/core/components/blocksuite/block-suite-editor'; -import { EditorOutlineViewer } from '@affine/core/components/blocksuite/outline-viewer'; +import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor'; +import { EditorOutlineViewer } from '@affine/core/blocksuite/outline-viewer'; import { useActiveBlocksuiteEditor } from '@affine/core/components/hooks/use-block-suite-editor'; import { usePageDocumentTitle } from '@affine/core/components/hooks/use-global-state'; import { useNavigateHelper } from '@affine/core/components/hooks/use-navigate-helper'; diff --git a/packages/frontend/core/src/mobile/components/app-tabs/create.tsx b/packages/frontend/core/src/mobile/components/app-tabs/create.tsx index 4acc59749..568d4e4e9 100644 --- a/packages/frontend/core/src/mobile/components/app-tabs/create.tsx +++ b/packages/frontend/core/src/mobile/components/app-tabs/create.tsx @@ -1,4 +1,4 @@ -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks'; import { DocsService } from '@affine/core/modules/doc'; import { TemplateDocService } from '@affine/core/modules/template-doc'; diff --git a/packages/frontend/core/src/mobile/components/explorer/nodes/collection/operations.tsx b/packages/frontend/core/src/mobile/components/explorer/nodes/collection/operations.tsx index 46919d55a..97584be89 100644 --- a/packages/frontend/core/src/mobile/components/explorer/nodes/collection/operations.tsx +++ b/packages/frontend/core/src/mobile/components/explorer/nodes/collection/operations.tsx @@ -5,7 +5,7 @@ import { notify, useConfirmModal, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { useDeleteCollectionInfo } from '@affine/core/components/hooks/affine/use-delete-collection-info'; import { IsFavoriteIcon } from '@affine/core/components/pure/icons'; import { CollectionService } from '@affine/core/modules/collection'; diff --git a/packages/frontend/core/src/mobile/components/explorer/nodes/doc/operations.tsx b/packages/frontend/core/src/mobile/components/explorer/nodes/doc/operations.tsx index ad58f55ac..688b3812b 100644 --- a/packages/frontend/core/src/mobile/components/explorer/nodes/doc/operations.tsx +++ b/packages/frontend/core/src/mobile/components/explorer/nodes/doc/operations.tsx @@ -5,7 +5,7 @@ import { toast, useConfirmModal, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { DocPermissionGuard } from '@affine/core/components/guard/doc-guard'; import { useBlockSuiteMetaHelper } from '@affine/core/components/hooks/affine/use-block-suite-meta-helper'; import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks'; diff --git a/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx b/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx index 2e8a6b1ac..968b84d12 100644 --- a/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx +++ b/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx @@ -6,7 +6,7 @@ import { MenuSub, notify, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { WorkspaceDialogService } from '@affine/core/modules/dialogs'; import type { ExplorerTreeNodeIcon, diff --git a/packages/frontend/core/src/mobile/components/explorer/nodes/tag/operations.tsx b/packages/frontend/core/src/mobile/components/explorer/nodes/tag/operations.tsx index 0a3e91dfa..3bb335358 100644 --- a/packages/frontend/core/src/mobile/components/explorer/nodes/tag/operations.tsx +++ b/packages/frontend/core/src/mobile/components/explorer/nodes/tag/operations.tsx @@ -5,7 +5,7 @@ import { toast, useConfirmModal, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { IsFavoriteIcon } from '@affine/core/components/pure/icons'; import { WorkspaceDialogService } from '@affine/core/modules/dialogs'; import { DocsService } from '@affine/core/modules/doc'; diff --git a/packages/frontend/core/src/mobile/components/explorer/sections/favorites/index.tsx b/packages/frontend/core/src/mobile/components/explorer/sections/favorites/index.tsx index 1c0aebb47..18e3a84a7 100644 --- a/packages/frontend/core/src/mobile/components/explorer/sections/favorites/index.tsx +++ b/packages/frontend/core/src/mobile/components/explorer/sections/favorites/index.tsx @@ -1,4 +1,4 @@ -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { ExplorerService, ExplorerTreeRoot, diff --git a/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx b/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx index 10979b3de..016f78282 100644 --- a/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx +++ b/packages/frontend/core/src/mobile/pages/workspace/detail/mobile-detail-page.tsx @@ -1,7 +1,7 @@ import { useThemeColorV2 } from '@affine/component'; import { PageDetailSkeleton } from '@affine/component/page-detail-skeleton'; +import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor'; import { AffineErrorBoundary } from '@affine/core/components/affine/affine-error-boundary'; -import type { AffineEditorContainer } from '@affine/core/components/blocksuite/block-suite-editor'; import { useActiveBlocksuiteEditor } from '@affine/core/components/hooks/use-block-suite-editor'; import { usePageDocumentTitle } from '@affine/core/components/hooks/use-global-state'; import { useNavigateHelper } from '@affine/core/components/hooks/use-navigate-helper'; diff --git a/packages/frontend/core/src/mobile/pages/workspace/detail/page-header-more-button.tsx b/packages/frontend/core/src/mobile/pages/workspace/detail/page-header-more-button.tsx index 9833caf16..075c07b6a 100644 --- a/packages/frontend/core/src/mobile/pages/workspace/detail/page-header-more-button.tsx +++ b/packages/frontend/core/src/mobile/pages/workspace/detail/page-header-more-button.tsx @@ -5,7 +5,7 @@ import { MobileMenu, MobileMenuItem, } from '@affine/component/ui/menu'; -import { useFavorite } from '@affine/core/components/blocksuite/block-suite-header/favorite'; +import { useFavorite } from '@affine/core/blocksuite/block-suite-header/favorite'; import { IsFavoriteIcon } from '@affine/core/components/pure/icons'; import { DocInfoSheet } from '@affine/core/mobile/components'; import { MobileTocMenu } from '@affine/core/mobile/components/toc-menu'; diff --git a/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx b/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx index e71492d82..78f0080cd 100644 --- a/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx +++ b/packages/frontend/core/src/modules/app-sidebar/views/add-page-button/index.tsx @@ -1,5 +1,5 @@ import { Button, IconButton, Menu, MenuItem, MenuSub } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks'; import { DocsService } from '@affine/core/modules/doc'; import { EditorSettingService } from '@affine/core/modules/editor-setting'; diff --git a/packages/frontend/core/src/modules/cloud/services/auth.ts b/packages/frontend/core/src/modules/cloud/services/auth.ts index ee777e8f2..b59ba2c58 100644 --- a/packages/frontend/core/src/modules/cloud/services/auth.ts +++ b/packages/frontend/core/src/modules/cloud/services/auth.ts @@ -1,4 +1,4 @@ -import { AIProvider } from '@affine/core/blocksuite/presets'; +import { AIProvider } from '@affine/core/blocksuite/ai'; import type { OAuthProviderType } from '@affine/graphql'; import { track } from '@affine/track'; import { OnEvent, Service } from '@toeverything/infra'; diff --git a/packages/frontend/core/src/modules/dnd/services/index.ts b/packages/frontend/core/src/modules/dnd/services/index.ts index 4efe56420..bc01ab911 100644 --- a/packages/frontend/core/src/modules/dnd/services/index.ts +++ b/packages/frontend/core/src/modules/dnd/services/index.ts @@ -5,7 +5,7 @@ import { type MonitorGetFeedback, type toExternalData, } from '@affine/component'; -import { createPageModeSpecs } from '@affine/core/components/blocksuite/block-suite-editor/specs/page'; +import { createPageModeSpecs } from '@affine/core/blocksuite/block-suite-editor/specs/page'; import type { AffineDNDData } from '@affine/core/types/dnd'; import { BlockStdScope } from '@blocksuite/affine/block-std'; import { diff --git a/packages/frontend/core/src/modules/editor/entities/editor.ts b/packages/frontend/core/src/modules/editor/entities/editor.ts index 950f46d04..700a72372 100644 --- a/packages/frontend/core/src/modules/editor/entities/editor.ts +++ b/packages/frontend/core/src/modules/editor/entities/editor.ts @@ -1,4 +1,4 @@ -import type { AffineEditorContainer } from '@affine/core/components/blocksuite/block-suite-editor'; +import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor'; import type { DefaultOpenProperty } from '@affine/core/components/doc-properties'; import { GfxControllerIdentifier } from '@blocksuite/affine/block-std/gfx'; import { diff --git a/packages/frontend/core/src/modules/explorer/views/nodes/collection/operations.tsx b/packages/frontend/core/src/modules/explorer/views/nodes/collection/operations.tsx index 6160641ce..9bad42e4a 100644 --- a/packages/frontend/core/src/modules/explorer/views/nodes/collection/operations.tsx +++ b/packages/frontend/core/src/modules/explorer/views/nodes/collection/operations.tsx @@ -4,7 +4,7 @@ import { MenuSeparator, useConfirmModal, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { useDeleteCollectionInfo } from '@affine/core/components/hooks/affine/use-delete-collection-info'; import { IsFavoriteIcon } from '@affine/core/components/pure/icons'; import { CollectionService } from '@affine/core/modules/collection'; diff --git a/packages/frontend/core/src/modules/explorer/views/nodes/doc/operations.tsx b/packages/frontend/core/src/modules/explorer/views/nodes/doc/operations.tsx index debfabb68..def0d0439 100644 --- a/packages/frontend/core/src/modules/explorer/views/nodes/doc/operations.tsx +++ b/packages/frontend/core/src/modules/explorer/views/nodes/doc/operations.tsx @@ -4,7 +4,7 @@ import { toast, useConfirmModal, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { DocPermissionGuard } from '@affine/core/components/guard/doc-guard'; import { useBlockSuiteMetaHelper } from '@affine/core/components/hooks/affine/use-block-suite-meta-helper'; import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks'; diff --git a/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx b/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx index 3d154d6ac..1d5fc4bdb 100644 --- a/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx +++ b/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx @@ -9,7 +9,7 @@ import { MenuSub, notify, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { WorkspaceDialogService } from '@affine/core/modules/dialogs'; import { CompatibleFavoriteItemsAdapter } from '@affine/core/modules/favorite'; import { FeatureFlagService } from '@affine/core/modules/feature-flag'; diff --git a/packages/frontend/core/src/modules/explorer/views/nodes/tag/operations.tsx b/packages/frontend/core/src/modules/explorer/views/nodes/tag/operations.tsx index eb48b8c66..a5bc51a65 100644 --- a/packages/frontend/core/src/modules/explorer/views/nodes/tag/operations.tsx +++ b/packages/frontend/core/src/modules/explorer/views/nodes/tag/operations.tsx @@ -1,5 +1,5 @@ import { IconButton, MenuItem, MenuSeparator, toast } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { IsFavoriteIcon } from '@affine/core/components/pure/icons'; import { DocsService } from '@affine/core/modules/doc'; import { FavoriteService } from '@affine/core/modules/favorite'; diff --git a/packages/frontend/core/src/modules/explorer/views/sections/favorites/index.tsx b/packages/frontend/core/src/modules/explorer/views/sections/favorites/index.tsx index b20d4663c..5a8086f23 100644 --- a/packages/frontend/core/src/modules/explorer/views/sections/favorites/index.tsx +++ b/packages/frontend/core/src/modules/explorer/views/sections/favorites/index.tsx @@ -3,7 +3,7 @@ import { IconButton, useDropTarget, } from '@affine/component'; -import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import { usePageHelper } from '@affine/core/blocksuite/block-suite-page-list/utils'; import { DropEffect, ExplorerTreeRoot, diff --git a/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts b/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts index 466704381..fc7d6a3e6 100644 --- a/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts +++ b/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts @@ -14,7 +14,7 @@ import { Entity, LiveData } from '@toeverything/infra'; import type { TemplateResult } from 'lit'; import { firstValueFrom, map, race } from 'rxjs'; -import type { AIChatBlockModel } from '../../../blocksuite/blocks'; +import type { AIChatBlockModel } from '../../../blocksuite/ai/blocks'; import { resolveLinkToDoc } from '../../navigation'; import type { WorkbenchService } from '../../workbench'; diff --git a/packages/frontend/core/src/modules/peek-view/view/ai-chat-block-peek-view/index.tsx b/packages/frontend/core/src/modules/peek-view/view/ai-chat-block-peek-view/index.tsx index a142a1366..b5167e045 100644 --- a/packages/frontend/core/src/modules/peek-view/view/ai-chat-block-peek-view/index.tsx +++ b/packages/frontend/core/src/modules/peek-view/view/ai-chat-block-peek-view/index.tsx @@ -1,13 +1,12 @@ import { toReactNode } from '@affine/component'; -import { AIChatBlockPeekViewTemplate } from '@affine/core/blocksuite/presets'; +import { AIChatBlockPeekViewTemplate } from '@affine/core/blocksuite/ai'; +import type { AIChatBlockModel } from '@affine/core/blocksuite/ai/blocks/ai-chat-block/model/ai-chat-model'; +import { createPageModePreviewSpecs } from '@affine/core/blocksuite/block-suite-editor/specs/preview'; import { AINetworkSearchService } from '@affine/core/modules/ai-button/services/network-search'; import type { EditorHost } from '@blocksuite/affine/block-std'; import { useFramework } from '@toeverything/infra'; import { useMemo } from 'react'; -import type { AIChatBlockModel } from '../../../../blocksuite/blocks/ai-chat-block/model/ai-chat-model'; -import { createPageModePreviewSpecs } from '../../../../components/blocksuite/block-suite-editor/specs/preview'; - export type AIChatBlockPeekViewProps = { model: AIChatBlockModel; host: EditorHost; diff --git a/packages/frontend/core/src/modules/peek-view/view/doc-preview/doc-peek-view.tsx b/packages/frontend/core/src/modules/peek-view/view/doc-preview/doc-peek-view.tsx index 9ae14c520..442ae7364 100644 --- a/packages/frontend/core/src/modules/peek-view/view/doc-preview/doc-peek-view.tsx +++ b/packages/frontend/core/src/modules/peek-view/view/doc-preview/doc-peek-view.tsx @@ -1,9 +1,9 @@ import { Scrollable } from '@affine/component'; import { PageDetailSkeleton } from '@affine/component/page-detail-skeleton'; -import { AIProvider } from '@affine/core/blocksuite/presets'; +import { AIProvider } from '@affine/core/blocksuite/ai'; +import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor'; +import { EditorOutlineViewer } from '@affine/core/blocksuite/outline-viewer'; import { AffineErrorBoundary } from '@affine/core/components/affine/affine-error-boundary'; -import type { AffineEditorContainer } from '@affine/core/components/blocksuite/block-suite-editor'; -import { EditorOutlineViewer } from '@affine/core/components/blocksuite/outline-viewer'; import { PageNotFound } from '@affine/core/desktop/pages/404'; import { EditorService } from '@affine/core/modules/editor'; import { GuardService } from '@affine/core/modules/permissions'; @@ -34,11 +34,9 @@ const logger = new DebugLogger('doc-peek-view'); // Lazy load BlockSuiteEditor to break circular dependency const BlockSuiteEditor = lazy(() => - import('@affine/core/components/blocksuite/block-suite-editor').then( - module => ({ - default: module.BlockSuiteEditor, - }) - ) + import('@affine/core/blocksuite/block-suite-editor').then(module => ({ + default: module.BlockSuiteEditor, + })) ); function fitViewport( diff --git a/packages/frontend/core/src/modules/workspace/global-schema.ts b/packages/frontend/core/src/modules/workspace/global-schema.ts index 9808baa41..66a663224 100644 --- a/packages/frontend/core/src/modules/workspace/global-schema.ts +++ b/packages/frontend/core/src/modules/workspace/global-schema.ts @@ -1,4 +1,4 @@ -import { AIChatBlockSchema } from '@affine/core/blocksuite/blocks/ai-chat-block/model'; +import { AIChatBlockSchema } from '@affine/core/blocksuite/ai/blocks/ai-chat-block/model'; import { AffineSchemas } from '@blocksuite/affine/blocks/schemas'; import { Schema } from '@blocksuite/affine/store'; diff --git a/packages/frontend/core/src/utils/first-app-data.ts b/packages/frontend/core/src/utils/first-app-data.ts index b7323afa5..110bb9e3d 100644 --- a/packages/frontend/core/src/utils/first-app-data.ts +++ b/packages/frontend/core/src/utils/first-app-data.ts @@ -1,5 +1,5 @@ // the following import is used to ensure the block suite editor effects are run -import '../components/blocksuite/block-suite-editor'; +import '../blocksuite/block-suite-editor'; import { DebugLogger } from '@affine/debug'; import { DEFAULT_WORKSPACE_NAME } from '@affine/env/constant';